HTTPS is a protocol for secure communication over a computer network which is widely used on the Internet. More and more WordPress owners are migrating from HTTP to HTTPS, mainly due to the 5 following reasons:
- Google announced that sites using HTTPS will get a slight ranking factor in Google search.
- You can achieve faster performance with the new HTTP/2 protocol which requires HTTPS due to browser support. And yes, Kinsta supports HTTP/2 on all servers.
- HTTPS is more secure and your visitor’s data is entirely encrypted.
- HTTPS can build trust by enabling the green padlock in the visitor’s web browser address bar.
- If someone is visiting a website from HTTPS and going to an HTTP website, the referral data is lost in Google Analytics. It usually ends up lumped together with the “direct traffic.” If someone goes from an HTTPS website to another HTTPS website, the referral data is still passed. So by migrating from HTTP to HTTPS, you can actually have more accurate referral data.
Searched for apache redirect http to https and landed here. This is what i did on ubuntu: 1) Enable modules sudo a2enmod rewrite sudo a2enmod ssl 2) Edit your site config. Edit file /etc/apache2/sites-available/000-default.conf Content should be.
How to Redirect HTTP to HTTPS in WordPress
There are a couple different options you have when choosing to redirect HTTP to HTTPS in WordPress.
The redirect to HTTPS can be enabled in the Virtual Host file for port 80. If you would like to force HTTPS for all web pages, you can use the following set of directives: to redirect everything to ServerName yourdomain.com Redirect permanent / https://yourdomain.com/. I think last time this happened to me it may have been something weird like NameVirtualHost.:80/NameVirtualHost.:443 and/or Listen 80/Listen 443 were somewhere other than ports.conf for apache2. Here is what I have in VirtualHost to redirect to https for all pages except for press (had a video that couldn't be served https so had to redirect back to http otherwise people would get ugly.
If you’re a Kinsta client, the easiest way is to use our force HTTPS tool (recommended). Another way is to do it at the server level, or you can even do it with a free WordPress plugin. Note: Our examples all include a 301 redirect directive which is the correct way to implement it in regards to SEO. Using a different type of redirect could harm your rankings.
Redirect HTTP to HTTPS on MyKinsta
No need to install a plugin or reach out to our support team, you can easily redirect all of your HTTP traffic to HTTPS on MyKinsta. Simply log in to the MyKinsta dashboard, browse to your site, and click on “Tools.” Next, click the “Enable” button under Force HTTPS.
You can choose to use your primary domain as the destination or a requested alternative domain. Then click “Force HTTPS.”
Force HTTPS Options
Note that if you use 3rd party proxies or if you had custom HTTPS rules set up forcing HTTPS may lead to some errors. If you notice any issues simply disable HTTPS forcing and contact support.
Redirect HTTP to HTTPS in Nginx
According to W3Techs, Nginx is the fastest growing web server and holds a 30%+ market share as of 2017. On average, every minute one of the top 10 million websites starts to use Nginx.
We grew our traffic 1,187% with WordPress. We’ll show you how.
Join 20,000+ others who get our weekly newsletter with insider WordPress tips!
If your web server is running Nginx, you can easily redirect all of your HTTP traffic to HTTPS by adding the following code to your Nginx config file. This is the recommended method for redirecting WordPress running on Nginx.
We use Nginx for everyone here at Kinsta. The great news is that you don’t have to worry about this. If you need to add a redirect simply open up a quick support ticket and let us know which domain you need to be redirected. We then add it to the Nginx config for you.
Redirect HTTP to HTTPS in Apache
If your web server is running Apache, you can easily redirect all of your HTTP traffic to HTTPS by adding the following code to your .htaccess
file. This is the recommended method for redirecting WordPress running on Apache.
None of Kinsta’s servers are running Apache.
Redirect HTTP to HTTPS with Really Simple SSL Plugin
The third option you have to redirect from HTTP to HTTPS is to use the free WordPress Really Simple SSL plugin.
The plugin has 2+ million active installs with a 4.9 out of 5-star rating, and is actively kept to date by the developer, Rogier Lankhorst. You can download Really Simple SSL from the WordPress repository or by searching for it within your WordPress dashboard under “Add New” plugins. Here is a list of what the plugin does:
- All incoming HTTPS requests are redirected from HTTP to HTTPS. If possible with
.htaccess
, or else with JavaScript. - The WordPress site URL and home URL are changed to HTTPS.
- Your insecure content is fixed by replacing all HTTP:// URLs with HTTPS://, except links to other external domains. Everything is done dynamically. Other than the WordPress site URL and home URL, no other database changes are made.
There aren’t really any steps to using this plugin, you simply install and click on “Go ahead, activate SSL” and you’re good to go.
If you enjoyed this tutorial, then you’ll love our support. All Kinsta’s hosting plans include 24/7 support from our veteran WordPress developers and engineers. Chat with the same team that backs our Fortune 500 clients. Check out our plans
NOTE: We are in the process of modifying the file structure and configuration for many Bitnami stacks. On account of these changes, the file paths stated in this guide may change depending on whether your Bitnami stack uses native Linux system packages (Approach A), or if it is a self-contained installation (Approach B). To identify your Bitnami installation type and what approach to follow, run the command below:
The output of the command indicates which approach (A or B) is used by the installation, and will allow you to identify the paths, configuration and commands to use in this guide. Refer to the FAQ for more information on these changes.
TIP: To quickly get started with HTTPS and SSL, follow these instructions to auto-configure a Let’s Encrypt SSL certificate.
Approach A: Bitnami installations using system packages
Apache2 Forward Http To Https Settings
Follow these steps:
Ubuntu Apache2 Https Setup
Add the following lines in the default Apache virtual host configuration file at /opt/bitnami/apache2/conf/bitnami/bitnami.conf, inside the default VirtualHost directive, so that it looks like this:
To redirect all HTTP requests to a particular domain, specify the domain name as a static value in the rewrite rule instead of using the SERVER_NAME variable. Here’s an example of redirecting all HTTP requests to https://example.com:
Add the same lines in the file at /opt/bitnami/apache2/conf/bitnami/bitnami-ssl.conf.
Add the same lines in any file ending with the prefix -vhost.conf in the /opt/bitnami/apache2/conf/vhosts/ directory.
Approach B: Self-contained Bitnami installations
Follow these steps:
Add the following lines in the default Apache virtual host configuration file at /opt/bitnami/apache2/conf/bitnami/bitnami.conf, inside the default VirtualHost directive, so that it looks like this:
To redirect all HTTP requests to a particular domain, specify the domain name as a static value in the rewrite rule instead of using the SERVER_NAME variable. Here’s an example of redirecting all HTTP requests to https://example.com:
After modifying the Apache configuration files, open port 443 in the server firewall. Refer to the FAQ for more information.
Restart Apache to apply the changes.