WordPress multi-sites are a great way to run multiple niche sites without having to install plugins and themes on loads of different individual sites. It makes updating and maintaining a network of sites quick and easy. However, if you are going to be using subdomains for your sites and have an SSL certificate you need to get your server configuration right.
I run a number of niche websites using subdomains on a Plesk server. There are lots of web site tutorials on installing WordPress multisite so I’m not going to cover that. This tutorial is about getting Let’s Encrypt SSL working on those subdomains if you are on a Plesk server.
Ok, so you’ve set up your WordPress multisite network with subdomain option. Now you need to set up your Let’s Encrypt SSL certificate to work across all of those subdomains.
Install Let’s Encrypt SSL on the main domain
The first step you need to do is install an SSL certificate on the main domain name.
In your Plesk dashboard go to websites and click on the Let’s Encrypt option under the domain that your network is based under.
Select wild card option for the SSL certificate. The secure webmail option will also autoselect. All three options need to be ticked.
Let’s Encrypt will provide you with some details to add to your domain DNS record. This is to confirm ownership of the domain.
Go to your domain name registrar to fill in a new txt record so Let’s Encrypt can confirm your ownership. You will need to add the details and the confirmation code that Let’s Encrypt issue.
Under DNS setting you should be given the option to add a record to your domain. You want to add a TXT type record and add the relevant records and value to the TXT form.
Back in Plesk click continue.
You’ve now set up the SSL certificate on your main site.
Set up wildcard subdomain on your main domain
The next step is to set up a wildcard subdomain. Any sites that you set up in your WordPress multisite network will be assigned to this wildcard subdomain.
In Plesk websites and domains section click on add new subdomain.
Add an asterisk (*) to the field and select the main domain name to work under.
In the hosting settings and document root put in your main domain name
Notice that you are unable to select SSL certificate at this stage.
You now have your domain secured with SSL and a wildcard subdomain. But this subdomain is not secured. If you add a site to your multisite at this stage then you will get a security warning from the browser. You may not be permitted to access the site with some browsers.
Assigning main domain SSL to a subdomain in WordPress multisite
Our next stage involves assigning the main SSL to our wildcard subdomain and therefore to all our sites on the network.
Go back to web sites and domains in your Plesk dashboard.
Click on hosting settings for the wildcard subdomain
Under security, you can now set the SSL, redirects and choose the Let’s Encrypt certificate for the main domain to operate on the subdomains.
You can also set other items such as the php version.
You’ve now assigned an SSL certificate to your WordPress multisite. All sites you set up now will be secured by the parent certificate. This means you don’t have to set up individual certificates for every web site you launch under the network as long as it is run on a subdomain basis.
The final step for SSL on WordPress multisite
The final step is to install the plugin Really Simple SSL or something similar to ensure that everything is referred to the https version.
I hope this has made things a little clearer for you if you are trying to secure your WordPress multisite in a Plesk environment.