Here are the required MySQL queries to change WordPress HTTP to HTTPS – including post images and all other contents. This is the right fix. Your site has many small matters like the links in the posts which required to be made HTTPS
from HTTP
. Changing the setting from Settings > General
at WordPress backend expected to change the post, category etc URLs. Working with MySQL will make a fine-tune to make all the old URLs (of the images, links) to HTTPs. If you leave the old non-HTTPS address, that will require 301 redirect to HTTPS. 301 redirect will suck page loading time, you will not get the proper refer in analytic software, SEO will not be optimum.
The reader should read our previous guides – Changing Old WordPress to HTTPS From HTTP, Needed Plugins and Snippets for WordPress HTTPS Setup, Solution for WordPress HTTPS and Feedburner 404, XCache and W3 Total Cache WordPress on High End Setup and How to Export WordPress MySQL Database on Rackspace Deployment.
MySQL Queries to Change WordPress HTTP to HTTPS : Why Hardcoding?
If you do not change the old posts’ URLs from relative path using some plugin to genuine HTTPS, W3TC Plugin’s Page Enhanced Disk Cache will not work – it will pull the HTTP image URLs from Post content and your SSL/HTTPS will break. SEO expert and public speaker True Tamplin says, “For the sake of SEO, it is better to use Post Images from your own URL instead of a CDN.” Even if you use CDN for Post Images, this the right fix. The reason the W3TC Plugin fails because it pulls the Post data from Database, it ignores any Plugin’s filter function. So, with SSL, these commands are mandatory to know, plus; using this commands, you can change the URLs of any non-SSL content – like a signature at the end of the post which is not inserted by any Plugin.
---
MySQL Queries to Change WordPress HTTP to HTTPS
So, we will be using WordPress MySQL database from Command Line, like the guide How to Export WordPress MySQL Database on Rackspace Deployment. SSH to your Database server as root and login to MySQL as Root :
1 2 3 4 5 6 7 8 9 10 11 12 | ssh root@112.153.29.178 # change the IP mysql -u root -p # provide mysql root admin's password # mysql interactive mode # mysql > # if you commit error, it will become # mysql > -> # this is asking values due to your error # type \c and hit enter to get back to # mysql > |
First, take a backup. This is important. Then,
1 | show databases; |
Output :
1 2 3 4 5 6 7 | +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | your-wordpress | +--------------------+ |
Select your database :
1 2 | use your-wordpress; # database changed will be the output |
Optionally, see the tables :
1 | show tables; |
This command changes all http to https in wp_options
:
1 | UPDATE wp_options SET option_value = replace(option_value, 'http://thecustomizewindows.com', 'https://thecustomizewindows.com') WHERE option_name = 'home' OR option_name = 'site url'; |
Change http://thecustomizewindows.com
, https://thecustomizewindows.com
. You only need to see for Errors in output. Other two parameters are not needed to observe.
We are changing the POST GUID :
1 | UPDATE wp_posts SET guid = replace(guid, 'http://thecustomizewindows.com','https://thecustomizewindows.com'); |
Now, this is for Post Content (including images)
1 | UPDATE wp_posts SET post_content = replace(post_content, 'http://thecustomizewindows.com', 'https://thecustomizewindows.com'); |
You should change the Post Meta Too :
1 | UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://thecustomizewindows.com','https://thecustomizewindows.com'); |
Clear Page Cache, Deactivate Page Cache; deactivate any WordPress Plugin which changes URLs to HTTPS or makes relative. On Chrome Browser’s developer tool’s console, you will see the Post Images are HTTPS now. This method is better than the Search and Replace Plugin. PHPMyAdmin is usually not used in high-end setup for better security. Why you will need PHPMyAdmin, you can see things from Command-Line.
Update on Changing WordPress HTTP to HTTPS
There are several other things which required to be mentioned as an update. You can update your WordPress site address and admin address from the option under Settings > General
.
Open wp-config.php
and add the following lines somewhere before where it says “That’s all, stop editing!” :
1 | define('FORCE_SSL_ADMIN', true); |
The above will force wp-login
to be over SSL. If you are using some reverse proxy infront, then should add this logic on wp-config.php
file below the above directive :
1 2 | if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) $_SERVER['HTTPS']='on'; |
We have guide to install Apache on Ubuntu 18.04 LTS with HTTPS, HSTS, HTTP/2. Also, you may read the optimization tips such as Cache Aware HTTP/2 Server Push, TLS false start for a faster WordPress with HTTPS.
Tagged With mysql replace https:// http:// wordpress , mysql replace http https all base , mysql change to https references , local wordpress installation mysql replace https with http , http to https mysql wordpress , database wordpress change http to https , changer http https wordpress database , change to https wordpress mysql , change http to https wordpress database , change http protocol in phpMyAdmin