All Serious Website Owners Should Plan For WordPress HTTPS Setup as HTTP 2.0 Will Natively Only Support SSL/TLS and SSL Is Quite Painful For WordPress. You can check, we have not published even a single post in last 4 days after publishing the article WordPress SSL Setup Tips, Tricks and Planning. This HTTP to HTTPS change is very difficult in practical life. From SEO point of view, if there is a single 404 or no proper 301 redirection, the SERP will be lost. From real experience, it is very difficult to convert old WordPress to server HTTPS pages. First and foremost important point is – after converting, make the old part full HTML or use OctoPress to convert. Please read our previous article – WordPress SSL Setup Tips, Tricks and Planning to understand our points.
WordPress HTTPS Setup : Why Problem Happens
There are internal and external issues. Basically, the $PATH
of secured website should be different. On MySQL database, all links are relative urls
but the plugins can give absolute url
as output. Now, we are actually forcing the HTTP to become HTTPS. The Sitemap of HTTP is not or HTTPS. For past few years, you have used the http
url for various syndication services. In API, 301 redirection will not work. Google, thankfully understand that it will be a time consuming work to convert. You can expect that, Apache have to work more to serve either urls of both protocols or only of HTTPS
. This is risky and even if you are using quite high end setup like that of ours’ MySQL database might become unresponsive and will require manual restart.
After you have solved the Pad Lock not appearing issue – it happens due to mixed content, manually add the HTTPS website to Google Webmaster’s tool. HTTP
does not require anything to add before the naked domain but HTTP://
must be added for SSL/TLS website. Best way is to wget
the whole old site to another server (server 1) – it will be a living cached server for serving old pages which has been HTTPS
now. A low power server (server 2) should only handle the redirection. The new website will be installed as SSL/TLS only website (server 3). All are behind a load balancer.
---
Only problem is with the archival pages like /category/cloud-computing
– you should use custom template on the category pages to make them really working like landing pages. You probably should do it on server 1 and catch the new post permalinks, title, description via API.
New server 3 will not have any category page available to the public – their /category/
should be stripped off and rooted out. You can serve only one type of old content from server 3. Most WordPress Plugins are quite pathetic. Use some PHP site map generator.
With really existing posts after wget – like thecustomizewindows.com/2014/08/wordpress-ssl-setup-tips-tricks-planning
, using .htaccess
rules becomes easier.
Yes – quite painful to setup but it is resistant to sudden errors which can happen due to a plugin’s failure to push a static content to CDN with SSL – 404 error or static content’s error by serving from non-secured origin is dangerous.
WordPress HTTPS Setup : Needed Plugins and Snippets
We have not changed the wordpress url
and site url
. We have changed the CDN’s url to HTTPS one on W3 Total Cache Plugin’s settings – as it is Rackspace Cloud files – its quite easy. We are, frankly on step 2 of the plan – i.e. we have tamed WordPress
. Only one WordPress plugin did all the work we needed – WP-HTML-Compression
– not for compression, it is required for converting all the non secure urls to https on demand. For this Plugin, you can dynamically open both https://thecustomizewindows.com
and https://thecustomizewindows.com
at the time of publishing this article. We will pull the https one to another server and do 301 redirection. You can test other WordPress Plugins but this WP-HTML-Compression
almost magically works.
No snippet is usually required other than forcing to serve CSS, JS using WP Enque Script Method – that plugin WP-HTML-Compression
magically changes all the urls to https when it is https – it works by making them relative link. You must manually check or use a 404 detection plugin for outgoing links.