Beginner's Guide for WordPress - Start your WordPress Blog in minutes.
Choosing the Best
WordPress Hosting
How to Easily
Install WordPress
Recommended
WordPress Plugins
View all Guides

How to Secure your WordPress Pages with SSL

Last updated on by
Follow WPBeginner on YouTube
How to Secure your WordPress Pages with SSL

In the past, we have shown a few techniques where you are required to use a SSL certificate to secure your WordPress page(s). The most popular one is creating a donate form for non-profit organizations in WordPress. A lot of the non-profits like to use Authorize.net which requires them to have a secured (https://) page. In this article, we will show you step by step on how to secure your WordPress pages with SSL.

First thing you need to do is acquire and setup a SSL Certificate. You can ask your host if they already have a SSL certificate available for you. Some do provide SSL Certificate with the hosting account (for example HostGator Business Plan use coupon “wpbeginner” to start for $0.01 for the first month). If your host does not have one available by default, ask them if they have that as a paid service (majority do). This can range from $50 – $200 / year. The cheapest one we found was getting it through GoDaddy for $12.99 / year. The downside of this is that you can only use it on 1 domain, and it does not have a wildcard option by default. So you cannot have a subdomain like store.xyz.com and use it there as well. To setup a SSL certificate on the server, you simply give the details to your hosting company, and they will do it for you.

Once the SSL certificate is ready to use on your server, now we need to implement it in WordPress. The easiest way is to install and activate WordPress HTTPs plugin. After you activate it head on over to Settings » WordPress HTTPS menu. Enter the SSL host name which will be your domain name. Then check the box Force SSL Exclusively. This basically means that only few pages on the site will be HTTPS, the others will be redirected to HTTP (normal). You can choose to force SSL on administration if you want, but it is not required.

WordPress HTTPs

Now lets go to the Pages tab in the WordPress admin panel. Select the page you want to have SSL certificate on (most likely your checkout page, donate page etc). Click to edit that page. Right above the publish button, there is a new checkbox that says Force SSL.

Force SSL in WordPress

Simply check the box and click publish/update. Your new page will now be a secured page. Make sure that you get the little green sign in Google Chrome.

Chrome SSL Error

Basically, if the green sign is next to your URL, then you are done. You should stop reading this article now. If you see either yellow or red sign, continue reading the article.

How to Fix Non-SSL Elements on SSL Page

Google chrome shows a yellow or red icon if they see a potential risk on the site. Firefox is worst because it shows an error alert message warning the user. This is NOT good for your website’s reputation (specially the donate page of non-profits). When you see a yellow message or red message, it means that you have insecure content on a secured page. All what that means is that you may have images and scripts that are http:// instead of https://. You might be wondering why that might be the case? Well basically if you inserted an image in your donate page through WordPress, have images in your sidebar (social icons), have any social media scripts (facebook like box), or any other sort of media item, then your page has insecure content. A quick fix for this would be to use iThemes Fix SSL/Non-SSL Links plugin.

This plugin will simply change all http:// requests on the page with https:// requests. This will cause an increase in server load, but it is not significant enough.

It is important to note that this plugin does not alter anything that you add manually (i.e facebook like iFrame in the sidebar etc). You should just have those with https:// anyways. This plugin takes care of all the scripts loaded in the header and such. Plugins that are not coded properly will cause issues. Those fixes are on case by case basis.

We hope that this article has helped you. If you have any questions feel free to leave a comment below.


Editorial Staff at WPBeginner is a team of WordPress lovers led by Syed Balkhi. Page maintained by Syed Balkhi.

WPBeginner's Video Icon
Our HD-Quality tutorial videos for WordPress Beginners will teach you how to use WordPress to create and manage your own website in about an hour. Get started now »
  • Jeff Dworkin

    I am trying to use the bluehost Free Shared SSL Certificate.

    I get a 404 error on any page that I for which I click “Secure Post”

    Does anyone have any idea about what I may have set up incorrectly.

  • Dave

    I have all the pages secure, but the home page is not. How do I secure the home page.
    Thanks!!

  • lbbb2

    what happens if the plugin is causing a redirect loop. I checked all my plug ins and the wordpress https was what is causing it am i using it too much or am I using it wrong I followed all of the instructions and still loops.

    • Tom

      What was the time lapse between you getting your SSL cert and you installing the plugin? I had this same issue when I had purchased the SSL cert the time lapse between me going to sleep and getting up in the morning had rectified the problem.

      I believe this has something to do with your hosting company setting up your domain with an SSL cert.

      TLDR: Allow time for your cert to be correctly set up as it access CNAME records to do this which can cause issues.

  • Allen Resha

    So I used this plugin. It works great, except my blog 404’s when I use any permalink structure other than default. All other pages work fine. If I take the Force SSL off of my home page and blog, it fixes the problem, but I want my homepage and my blog page (that lists my posts) to be secure.

    What do you suggest? Help would be appreciated. I am testing on my site (which is being rebuilt), but I need it on a site for a social good project. This is really holding back my process! Your help would be greatly appreciated. I will show you much Twitter/Facebook/Google + and any kind of love you need! :)

  • Danny

    I added the plugin as well as the Fix Non-SSL plugin and I still get the insecure data warning. Any suggestions?

  • Lami

    Thank you for this… you just saved my site!

  • Ariel Frailich

    Hi! If memory serves (it’s been years), when you install a cert, you specify a folder to be secure. For WP, is this folder in the WP path or outside of it, and if outside, what has to be moved into it? Or should SSL be set up to include the whole site? Thank you for any info (or link to such) !

    • http://www.wpbeginner.com Editorial Staff

      Using this plugin, you can secure specific pages or the entire site.

      • Ariel Frailich

        Ah ha! Thank you!

  • Eric

    I cant get the errors off of my page for some reason. https://hostpuppies.com/blog/contact-us/

    • http://www.wpbeginner.com Editorial Staff

      You are getting this error because your SSL certificate is not trusted. Where did you purchase the SSL from? Are you sure that it is properly installed. Just purchasing the certificate doesn’t do anything. You have to make sure that it is installed on your server as well.

  • Bill Ray

    Having secure pages is very important, especially if you are after donations.

    • http://www.wpbeginner.com Editorial Staff

      Anytime you are collecting payments or confidential information, then it is best to have a secure encrypted page.

  • RichardC

    Excellent post!
    Too bad the plugin author can’t be bothered to write any docs.
    Let’s hope he reads this article and asks permission to use it as the seed for a manual.
    Good Job to Staff on this Article!!

  • Jon Tobey

    I installed the plug in, but when I go to a page, I don’t see the “force SSL” box. However, I do see an HTTPS box below the Page Attributes button. Has the UI changed?

    • http://www.wpbeginner.com Editorial Staff

      Yes the UI has been updated.

  • dalee

    Is there a way to automatically do this? example using wp_insert_post() function then make the added post secure? without manually checking the checkbox?

  • Yogi

    Thank you for the information. I was going to do the old ways by using .htaccess, but this definitely saves me tons of time.

  • Joshua

    Thanks for the article. You really saved my butt. I could not figure the SSL out for the life of me. But after reading this I was able to get it working in 5min. High Five!

  • http://www.wmwebdesign.co.uk/ wmwebdes

    I’ve just started looking at SSL certificates.
    A client asked if I could set them up an eCommerce site, which I understand requires SSL for bank account details etc.
     
    Thanks for a timely article.

  • MarkStanwyck

    Nice

  • http://titank.com/ Titank

    Thanks for sharing! Keep going :D