WordPress multisite and Let’s Encrypt SSL

Let’s Encrypt; I’ve never heard of it?  What is it?

Let’s Encrypt is a free, automated, and open certificate authority (CA), run for the public’s benefit.  In short it allows you to generate a free SSL certificate for your website, which once installed will allow you to server your content over an encrypted and secure HTTPS connection.

Let’s Encrypt is now in public beta and is being widely adopted.  Some web hosts such as SiteGround have even gone as far as developing a one-click install for certificates.  Making the install fast, intuitive and available to everyone regardless of your server admin skills.

What is SSL you ask?

SSL (Secure Sockets Layer) is the standard security technology for establishing an encrypted link between a web server and a browser.  This link ensures that all data passed between the web server and browsers remain private and integral.


What’s the problem with WordPress multisite?

There isn’t a problem with WordPress multisite.  The Let’s Encrypt CA does not currently support wildcard SSL certificates.  As mentioned the Let’s Encrypt project is currently in public beta, funded by some of the worlds largest internet companies so there is an expectation for wildcard SSL to be available in the future.  For now there is a workaround if you would like to install an SSL on a subdomain WordPress multisite.

Before we begin, there is no problem install an SSL on independent subdomain WordPress installs.  You will run into problem however when you try to encrypt a subdomain created through a multisite install.

Let’s create the scenario:

You have a subdomain WordPress multisite with the following domains already created:

  • vaservices.co
  • va-enterprise.vaservices.co

You can generate an SSL certificate for the top level domain, successfully creating https://vaservices.co however the subdomain will not be secured.  In order to do this you need to create a matching subdomain which points to the /public_html/ or whichever directory your WordPress install is in.

We will use cPanel in this example.  Login and navigate to Domains -> Subdomains

VA Life - cPanel subdomain
cPanel subdomain

Once here, enter the subdomain that has already been created in your WordPress install.  In this example va-enterprise.  We will make the document root /public_html/ as this is where our WordPress multisite is installed.

VA Life - create subdomain
Create subdomain

Once you have done this you will see the subdomain va-enterprise.vaservices.co now points to the main WordPress install at https://vaservices.co

VA Life - cPanel subdomain root
cPanel subdomain root

Because you now have a dedicated subdomain in your cPanel account you are able to generate and install a Let’s Encrypt SSL certificate.  WordPress is clever enough to redirect the user to the correct site when they now visit https://va-enterprise.vaservices.co