{"id":112702,"date":"2023-01-19T21:37:54","date_gmt":"2023-01-19T21:37:54","guid":{"rendered":"https:\/\/wpsimplefix.com\/?p=112702"},"modified":"2026-09-24T17:42:04","modified_gmt":"2026-09-24T17:42:04","slug":"how-to-move-your-wordpress-site-from-http-to-https","status":"publish","type":"post","link":"https:\/\/chkserv.com\/blog\/how-to-move-your-wordpress-site-from-http-to-https\/","title":{"rendered":"How to Move Your WordPress Site from HTTP to HTTPS"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">There is no excuse, you should be using HTTPS by default. Most web hosting providers give them out free of charge, via <a href=\"https:\/\/letsencrypt.org\" target=\"_blank\" rel=\"noopener\">Let&#8217;s Encrypt<\/a>. Some hosts still charge for the certificates, but they don&#8217;t need too, they are just money grabbing. Here are some simple steps to manually set up HTTPS instead of using plugins (further slowing down your site) I hate when people use http-to-https plugins, that&#8217;s just pure lazy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">STEP 1 \u2013 Install SSL certificate<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Either you do this on your own from cPanel or get free shared SSL from CloudFlare.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Can\u2019t do it yourself? Ask your web host, or myself here.<\/li>\n\n\n\n<li>SSL\u2019s are free now! \u2013 thanks to LetsEncrypt. Don\u2019t let anyone fool you into thinking you need to pay for it!<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">STEP 2 \u2013 Change WordPress URL to HTTPS<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Go to your WordPress settings and change the website address and site address to HTTPS.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">STEP 3 \u2013 Update your database URL\u2019s<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is the part where most people either get lazy or don\u2019t know how to do it. They\u2019ll use a plugin like some \u201cReally Simple SSL\u201d that forces HTTPS. I HATE THIS &#8211; don\u2019t install another plugin just for this basic function!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The best way is to do it manually from your database so that all your asset URL\u2019s and internal links use native HTTPS instead of wasting server resources to reload the links in HTTPS.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">How to update your database URL\u2019s manually:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Install <a href=\"https:\/\/wordpress.org\/plugins\/better-search-replace\/\" target=\"_blank\" rel=\"noopener noreferrer\">Better Search Replace<\/a><\/li>\n\n\n\n<li>Back up your database, just to be safe.<\/li>\n\n\n\n<li>Enter \u201chttp:\u201d in the search for field and \u201chttps:\u201d in the replace with field. Please write it exactly as I say, otherwise, if you put only \u201chttp\u201d and not \u201chttps:\u201d, you risk cocking up all the entries that already have \u201chttps\u201d.<\/li>\n\n\n\n<li>Select <strong>all the database tables<\/strong>.<\/li>\n\n\n\n<li>Select Replace GUIDs<\/li>\n\n\n\n<li>Then press the <strong>Run Search\/Replace<\/strong> Button<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/chkserv.com\/blog\/wp-content\/uploads\/2023\/01\/bsr-screenshot-911x1024.png\" alt=\"bsr-screenshot\" style=\"aspect-ratio:0.8898776418242491;width:800px;height:auto\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Honestly, editing database URL\u2019s manually is very easy to do, but also very easy to completely F**k up your site if you don\u2019t know what you\u2019re doing. Please be careful and make backups.<\/p>\n\n\n\n<div style=\"height:61px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">STEP 4 \u2013 Update Google Search Console<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Update your website settings in Google Search Console and also Google Analytics to use your new HTTPS address!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">STEP 5 \u2013 Apply redirect in your htaccess file<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is the last step. Put this code below in your htaccess file.&nbsp;Now You&#8217;re done! <br>(This step is only done if you&#8217;re on an Apache Web Server)<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-white-color has-black-background-color has-text-color has-background has-link-color wp-elements-1\"><code readonly=\"true\">RewriteEngine On<br>RewriteCond %{HTTPS} off<br>RewriteRule (.*) https:\/\/%{HTTP_HOST}%{REQUEST_URI}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Resolve any problems (if needed)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Everything should be working. But just in case, here are a few diagnostic steps you can do if not.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.whynopadlock.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">whynopadlock.com<\/a> \u2013 Check here, and it will tell why you\u2019re not getting a full HTTPS status.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>There is no excuse, you should be using HTTPS by default. Most web hosting providers give them out free of charge, via Let&#8217;s Encrypt. Some hosts still charge for the certificates, but they don&#8217;t need too, they are just money grabbing. Here are some simple steps to manually set up HTTPS instead of using plugins [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":123530,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[26,27,28,29,4,30,7],"class_list":["post-112702","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-security","tag-connection","tag-http","tag-https","tag-redirect","tag-secure","tag-website","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/chkserv.com\/blog\/wp-json\/wp\/v2\/posts\/112702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/chkserv.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chkserv.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chkserv.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/chkserv.com\/blog\/wp-json\/wp\/v2\/comments?post=112702"}],"version-history":[{"count":1,"href":"https:\/\/chkserv.com\/blog\/wp-json\/wp\/v2\/posts\/112702\/revisions"}],"predecessor-version":[{"id":136714,"href":"https:\/\/chkserv.com\/blog\/wp-json\/wp\/v2\/posts\/112702\/revisions\/136714"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/chkserv.com\/blog\/wp-json\/wp\/v2\/media\/123530"}],"wp:attachment":[{"href":"https:\/\/chkserv.com\/blog\/wp-json\/wp\/v2\/media?parent=112702"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chkserv.com\/blog\/wp-json\/wp\/v2\/categories?post=112702"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chkserv.com\/blog\/wp-json\/wp\/v2\/tags?post=112702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}