If you’re hosting sites with WP Engine then the following article might ruffle your feathers a bit. From the amount of indexed Google results you’ll see in a moment, we estimate that at least a few hundred thousand websites are currently running with potential SEO flaws. Plus, to make matters worse, there are countless development sites fully-exposed to the public via a simple Google search.
Aside from the SEO implications, there is a fundamental privacy problem with the way WP Engine’s system is set up. This problem is partially the fault of the developers who use the system, but WP Engine really needs to fix this or educate their customers on how to set up a site properly.
At first we were pretty shocked that something so simple could be overlooked, but at the same time we definitely understand how something like this could happen. Rather than worry too much about the how and why, this post will serve as a guide for WP Engine customers to fix the problem and hopefully encourage WP Engine to change the way their system works. Since our primary focus around here is SEO, let’s jump into the SEO problems first.
Two SEO Problems Lurking in the Darkness
Although it’s one of the best content management systems on the market, WordPress still has quite a few SEO problems out of the box. This post isn’t about those problems. This is about some pretty serious SEO issues that are directly tied to the way WP Engine’s servers are set up. Let’s dive in.
Problem #1 – Improper Subdomain Redirection
Can You Say Duplicate Content? If you know anything about SEO, then you know duplicate content is something you want to avoid. Now… a duplicate version of your entire site? That makes an SEO cringe. Unfortunately, this is exactly the issue affecting a massive amount of WP Engine users. In fact, it’s even present on their own publication Torque as well as WooThemes, one of the largest WordPress theme shops on the web, as you can see here:
Note: In these examples there is a canonical tag implemented, but keep in mind this will ONLY be present on sites running an SEO plugin or when the tag has been manually added to the theme. The canonical tag can help with this problem, but really it’s best to avoid it entirely. On another note, the canonical tag on WooThemes is pointing to https which redirects to http on their site… but that’s another post for another day. ;)
We don’t want to single anyone out here, but it’s pretty obvious that if their own publication and one of the most well-known theme shops are suffering from this issue, it’s pretty wide-spread on the WP Engine network. Surprisingly, we discovered this with a simple, yet revealing, Google query – site:.wpengine.com
Yup, you read that right, 1,650,000 results. By simply scanning through the results, you’ll see the insane amount of duplicate sites currently indexed in Google. Hopefully Google is smart enough to determine which is the correct site and not let this issue hurt organic ranking positions.
With that said, in our experience, it is never smart to let Google decide which is the correct site and which is a duplicate. We love you Google, but let’s face it, you’re far from perfect.
Luckily, the fix for this is pretty easy. You just need to implement a 301 redirect in your control panel. Don’t worry, we’ll explain exactly how to fix this step-by-step so you can get it taken care of. Hopefully once you see how easy this is to fix, you’ll never make the mistake again on a new WP Engine install.
How To Fix Problem #1 – Set Some Redirects
Now upon creating a new WordPress install in WP Engine, there will be a subdomain created with your user name.
Once you’ve got your site running on your actual domain, you should see something like this in your dashboard:
Highlighted is the initial subdomain and the button to edit/delete the domain. Click this and delete it, but before you do make sure you copy it to have it handy for the next step.
Now click “Add Domain Redirect to this Domain“, the link under your main domain.
Now paste in the subdomain and click the Add Domain Redirect button to save.
Ok, we’re almost there, now the next step depends on how you set up your domain initially. You need to pick a permanent location for your domain if you haven’t already, either the www. or without.
You can see here on Auditwp.com we have gone without it.
So, if your setup is the same, you will need to redirect the www. back at the root of the domain. If you’re wanting to keep the www., you’ll need to do the opposite and redirect the root domain at the www. version instead. This part is somewhat trivial as WordPress will handle this redirect for you, but just to be extra safe we recommend that people do this redirect at the server level whenever possible.
Alright, so now we have successfully configured our domain with the proper redirects to avoid any duplicate content or indexation issues! If you have your site set up like this, there’s little to no chance that your site is listed in the query we mentioned earlier, which is exactly what you want.
It should also be noted that some time ago WP Engine started making the default WordPress installs set to use the “Discourage search engines from indexation” option in the WordPress admin reading settings. This is certainly helping the problem, but it’s not a real fix. With over 1.5 million results currently indexed in Google, it’s pretty obvious that the additional steps we outlined above need to be taken.
SEO Problem #2 – Improper CDN Configuration
The second problem area has to do with the content delivery network configuration. When you enable the CDN that WP Engine offers, you’ll usually see decreased load times, which is great. Unfortunately, turning on the CDN without properly configuring a CNAME record in your DNS hosts file will create yet another SEO issue. If you use the default settings when enabling your CDN, you will essentially be offloading your images to a domain which is being shared by thousands of other users.
To Google, these images aren’t on your site, they are on - wpengine.netdna-cdn.com
You may notice that this is not even the wpengine.com domain but netdna-cdn.com. NetDNA is Wpengine’s CDN provider so don’t panic. The problem is you have effectively orphaned all of your images to a worthless subdomain on NetDNA-CDN.com, no bueno if you’re trying to get some image traffic from Google.
Similar to the duplicate site problem query, we use this query – site:wpengine.netdna-cdn.com to estimate the effected sites.
98,500 results… now that’s a lot of site under performing in Google image search! Especially since it’s only because they haven’t modified a few settings that anyone can change. So, if you’re in this boat and you like Google traffic as much as we do, the next section will help you get things buttoned up for good.
How to Fix Problem #2 – Edit Your DNS Zone
Both of these fixes are pretty simple, but like many things they can be easily overlooked when setting up a new blog or website. In order to fix this problem, you’re going to need to log into your domain registrar’s control panel and create what’s called a CNAME. This lets you create an alias so that it appears as though your images are being served from your site’s domain even though they’re being served from NetDNA’s network.
Assuming you’ve already got your CDN enabled, the first thing you need to do is find your raw CDN URL. You can find this by inspecting a media file, such as an image, on your site. Here’s how to do it:
First, right click on the image, and choose to either “Open Image in New Tab,” or “View Image Info.” The choice you see depends on what browser you’re working in.
With the CDN turned on, the image path in your browser address bar should look something like http://username.wpengine.netdna-cdn.com/wp-content/uploads/2014/02/some-picture.jpg.
In order to set up your CNAME, you’re only going to need the CDN URL without the image information like this: http://username.wpengine.netdna-cdn.com. Keep this tab open for now because you’re going to need to reference this URL during the next step.
Create a CNAME record
To create a custom CDN URL, you need to setup a CNAME record for cdn.your-domain.com to point at username.wpengine.netdna-cdn.com. You’ll need to do this within your domain registrar’s control panel. Here are some resources that will explain exactly how to do this on some of the most popular domain registrars:
How to Set a CNAME at Popular Registrars
- How to set up a CNAME at Namecheap
- How to set up a CNAME at GoDaddy
- How to set up a CNAME at Network Solutions
- How to set up a CNAME at Hover
- How to set up a CNAME at 1 and 1
Once you’ve got your CNAME set up, there’s one final step that you need to take. You need to log back into your WP Engine control panel and submit a support ticket asking them to enable a custom CNAME for your CDN. It’s a little ridiculous that they make you submit a support request for this, but as of right now this is the only way to get it done.
Once their techs respond to the ticket and set up your custom CNAME, you should be all set. No more outside domain images!
But Wait, There’s More
At the risk of causing more of a ruckus than necessary, we wanted to point out the fact that the first SEO problem we fixed is also a major privacy issue. When developers are building a website, they typically work on a staging server of some kind. Ideally, this server would always be completely hidden from Google’s view.
Unfortunately, if they’re working on WP Engine, that’s probably not the case. In the past, even WP Engine’s staging environment was being indexed, but thankfully they have cleaned up most of that. Still, many developers are using standard sites rather than staging areas, or both in some cases.
Your Developer Probably Knows How to Keep Google Out of Their Staging Environment
With that said, the data seems to suggest that a large amount of developers don’t. As of right now, there are tons of development sites indexed and many of them haven’t been launched yet. This might not sound like a huge deal, but having an unfinished site indexed could open a real can of worms. To illustrate this point, how would you like to see what the new version of The Harvard Law Review is probably going to look like? Here you go:
Although this site is looking really nice, we’re going to assume they probably don’t want this being viewed while it’s still under construction. Yet, here it is, publicly available to anyone who runs a Google search: http://upstatement.wpengine.com
Talk about a potential PR nightmare!
Update: It looks like Upstatement has made their development site private after seeing this post. Much better! If anyone else is suffering from this problem, that’s a quick way to add some protection.
This isn’t an isolated case. We found dozens of sites like this by just looking through the first pages of results. If you dig through the queries we posted you’ll find all kinds of interesting things that probably shouldn’t be public. Again, some of the responsibility here is on the developers of these sites, but it really wouldn’t be that hard for WP Engine to prevent this from happening in the first place.
Man, That’s a Lot of Information
Well there you have it, two ridiculously easy fixes that will improve your SEO. As an added bonus, following these instructions will also reduce your visibility to hackers and anyone who might want to snoop on your projects. Enjoy the increased search traffic and if you have friends running WP Engine, be sure to share this post with them!