This is the fourth post in our series where we test the on-page SEO of the world’s most popular CMS systems.
So far we’ve focused on hosted CMS systems (namely Wix, Squarespace, and GoDaddy).
This week we’re turning our attention to WordPress.
Read on to discover:
- how well setup for on-page SEO WordPress is out of the box,
- how you can configure your WordPress site to rank higher in Google
Let’s get started with a summary.
Table of Content
In Summary: Is WordPress good for SEO?
WordPress is the world’s most popular CMS system.
It powers everything from small blogs to multi billion dollar conglomerates. Heck, even the White House website runs on WordPress.
So it’s probably no surprise that, yes, WordPress is excellent for SEO.
Or at least it can (or should) be.
Ultimately, WordPress is a tool. And like any tool you have to know how to use it.
For every well-optimized WordPress site, we’d wager there are dozens of poorly optimized sites. But in these cases, it’s very much the tradesman, rather than the tool that’s the issue.
- a few plugins,
- a smart theme choice,
- accurate SEO data,
- and the right knowledge
….there’s nothing you can’t do to fully SEO optimize your WordPress site.
How we tested WordPress for SEO optimization
In many ways, WordPress was more difficult to test in isolation than the other CMS systems in our series.
That’s partly because we’ve been “testing” WordPress pretty much since it first launched in 2003. So we do have some prejudices. We know all the “flaws”, and we know how to get around them.
But it’s also because WordPress is self-hosted, which introduces a greater number of variables to testing.
On a “website building platform” — like Wix or Squarespace — it’s relatively straightforward to test and make blanket inferences based on that testing. Every Wix site is hosted on Wix. Every Wix site has the same server configuration. Every Wix site has the same underlying code.
On the other hand:
With a self-hosted CMS like WordPress, you’ve got full access to the underlying platform and can tinker to your heart’s content. You can also choose where to host your WordPress site, how to configure your server etc, and that’s going to influence speed, reliability, and performance.
But with that being said, here’s what we did:
- We set up a small test site on a Digital Ocean server.
- We added demo content similar to our Wix, Squarespace, and GoDaddy test sites
- We initially installed 1 plugin, YOAST SEO (although there are three other plugins we recommend)
- We tested 3 of the most popular WordPress themes (Twenty Twenty-One, Astra, and GeneratePress)
- We tested 3 popular page builders (Thrive Architect, Elementor, and Oxygen Builder)
- Tests included manual review, running the site through our own SEO audit tool, and testing using third party tools such as Google’s PageSpeed Insights and GTMetrix.
Was it fair to install the YOAST SEO plugin? Doesn’t that mean we’re not testing an “out-the-box” WordPress install?
We would argue yes, it’s fair. YOAST is active on over 5 million WordPress sites. And it’s common knowledge that an SEO plugin (not necessarily YOAST) is required to optimize a WordPress site.
The standard version of YOAST is also free, so there’s no additional cost.
WordPress SEO: The good, the bad, and the ugly
Before reviewing WordPress’s control of on-page SEO factors, let’s run through some of the SEO highlights (and lowlights) of the platform.
We’ll start with the positives.
Good: There’s nothing you can’t do to optimize your WordPress site
It’s difficult to pick out one SEO “highlight” for WordPress. Because the advantage of the platform is that there’s really nothing you can’t do to optimize a WordPress site.
Sure, you’ll need a plugin or two.
But when you know what you need to improve (running an SEO audit with Seobility can help with that) there’s nothing you can’t go in and tweak or fix.
And if you are having trouble optimizing a particular element? With so many sites running on WordPress, it’s highly likely to be a problem that someone else has encountered (and posted about) before. Which means that the bulk of time the solution to your SEO woes will be a Google search away.
So WordPress’s highlight is literally that it has everything you need to optimize your site, with the cherry on top of a huge community of users, and piles of information and guidance online to help you on the way.
Bad: Many themes aren’t built with SEO in mind
Theme choice can make or break a WordPress website.
We’re going to expand on this in our WordPress SEO checklist. But for now, we’ll say that many marketplace themes are not built with SEO optimization in mind.
Themes that look great can be buggy and slow. And in some cases, you’ll be locked in, or at least have difficulty switching at a later date.
So make sure you choose a fast, well-optimized theme. After all, a fancy theme won’t be much use if no one can find your site right?
There’s nothing we could say is “ugly” about WordPress’s SEO.
But if you really want to grumble…
…you could argue some more SEO functionality should be built in, rather than requiring an external plugin.
But we’d probably disagree. As when there’s a perfectly good plugin (or plugins) that do the trick, isn’t their development time better spent on improving the core functionality of the CMS?
We think so.
On-Page SEO Fundamentals: How does WordPress measure up?
Now let’s turn our attention to control of some of the fundamental on-page SEO factors.
Does WordPress cover them all?
You bet! Because with 2-3 plugins, there’s nothing you can’t do to optimize your WordPress site.
Here’s our summary again.
Note: having control of an SEO ranking factor is not equal to its optimization. SEO audit tools like Seobility offer advice on how to properly optimize each element, and find errors in optimization which may be holding back your site. See our SEO audit guide for more information on how to fully optimize your website.
SEO Titles and Meta Descriptions
Control in WordPress: yes
Note: in the examples in this section, we’re using the YOAST SEO plugin. You can find out why we chose YOAST in the checklist that follows our on-page fundamentals review.
A page’s title continues to be one of the most important on-page ranking factors. And a well-written meta description can help you get more click-throughs (although Google won’t always use it).
With YOAST installed, you’ll have full control over the SEO title and meta description of every post and page on your WordPress site.
And you’ll also get a preview of how your snippet will look in both mobile and desktop search.
How about title/description templates?
Yep. YOAST will let you set standard formats for every page, post type, and taxonomy (categories, tags, etc) on your site.
Here’s a template setup for category pages (SEO > Search Appearance > Taxonomies):
As you’d expect, setting a custom title/description for an individual page (or category) will override the default.
Learn more about SEO Titles and Meta Descriptions
Page slug / URL
Control in WordPress: yes
We recommend creating short, descriptive, 2-3 word slugs, including the primary keyword (or phrase) for each page. Use hyphens to separate words.
WordPress lets you set the slug for every page and post on your site.
Note: if you change a URL on your site you should set up a 301 redirect to point the old URL to the new one. To manage redirects, we recommend the free Redirection plugin.
Learn more about URL slugs/permalinks
Control in WordPress: yes
On smaller sites you probably won’t need to worry about this.
But if you have a series of similar pages on your site — i.e. targeting the same keywords, or with very small variations in content — there may be times when you’ll want to set a canonical (master) URL.
This helps to avoid duplicate content issues.
You’ll find a field for setting a custom canonical URL for any post or page on your site under the “Advanced” tab of the YOAST SEO panel.
Learn more about canonical URLs
Index control (robots meta tag)
Control in WordPress:yes
The robots meta tag instructs Google to either index (1), or not to index (2) a page:
- <meta name=”robots” content=”index, follow”> – index this page please Google
- <meta name=”robots” content=”noindex, follow”> – ignore this page please Google (but follow the links on it)
You don’t actually need the first one as (assuming your page meets their quality standards) indexing is Google’s default action. But it doesn’t do any harm to have it in place.
To noindex an individual page or post, set “Allow search engines to show this Post in search results” to “No” in the page’s YOAST SEO panel.
You can also set a post type or taxonomy to noindex by default in YOAST’s settings.
In the example below, we’ve set the custom post type of “Press Releases” to noindex by toggling “Show in search results” to “Off”.
SEO > Search Appearance > Content Types
Learn more about index control
Heading Tags (h1, h2, h3 etc)
Control in WordPress: yes
Heading tags (h1, h2, h3, etc) help Google understand the structure and topic(s) of your page.
They should be properly nested.
For example, an h1 tag would generally be the main topic (level 1), an h2 could be a subtopic (level 2), and an h3 could be a sub-sub topic (level 3) etc:
<h1>Pets</h1> (topic of the page) <h2>Goldfish</h2> (subtopic) <h3>Caring for your goldfish</h3> (subtopic of goldfish) <h4>Clean your fish’s tank regularly</h4> (subtopic of caring for your goldfish) <h2>Cats</h2> (subtopic) <h3>Caring for your cat</h3> (subtopic of cats)
WordPress supports the full range of heading tags, from H1-H6.
Learn more about heading tags
Structured data (aka schema)
Control in WordPress: yes
Structured data (also known as schema) can help Google understand:
- the type of content on a page (i.e. recipe, review, product, article),
- the entity behind the website (i.e. organization),
- and can also be used to show additional search features (rich snippets)
If you’re not familiar with structured data and its impact on SEO, we recommend reading our rich snippets guide.
With YOAST running on your WordPress site, you can set a default schema type for each post and page on your site.
And you can overwrite this default for an individual page or post by changing the “type” in the schema tab of the page’s YOAST panel.
YOAST has created custom blocks for Gutenberg that make it a piece of cake to include FAQ and HowTo schema in your articles.
Just add a block, search “yoast”, then select either “Yoast FAQ” or “Yoast How-to”.
Here’s how the block looks for FAQ schema…
And here’s a YOAST How-to block…
Just fill in the questions/steps and YOAST will generate the correct schema markup for you.
Learn more about structured data and rich snippets
Control in WordPress: yes
The three most important elements of image SEO are:
- Alt text (description of the image for screen readers and search engines)
- File size (smaller = faster = better)
- File name (we recommend using descriptive file names)
Out-the-box WordPress is well set up for alt text and file names.
You can add alt text to any image in its block settings (Gutenberg).
And WordPress won’t mess with your file names when you upload an image. So as long as you save your file with an SEO-friendly file name before you upload, you’re golden.
In terms of file size, we recommend using a third party plugin like Imagify (which we’ll be covering in the checklist below) to make sure your images are fully compressed.
Learn more about image SEO
Do WordPress sites run over HTTPS? yes
HTTPS has been a confirmed Google ranking signal since 2014.
And in 2021 there’s really no excuse for any site to still be running over HTTP. Notwithstanding any SEO benefits, it’s unsecure.
Making sure your WordPress site runs over HTTPS is your (or your hosts) responsibility.
Learn more about HTTPS
Control in WordPress: yes
A robots.txt file allows you to stop search engine bots from accessing certain areas of your site.
For example, you might have a section with user-generated content that you don’t want crawled or indexed by Google.
You can either use FTP to directly edit your robots.txt file, or install a third party plugin (like this one) to manage your robots.txt file in the WordPress admin area.
Learn more about Robots.txt
Generated by WordPress: yes
An XML sitemap helps Google find (and index) all the pages on your site.
YOAST will generate sitemaps for all posts, pages, and taxonomies on your WordPress site.
And when an individual page (or collection of pages) is set to noindex it will automatically be excluded from the site map.
Learn more about XML Sitemaps
Are WordPress sites mobile friendly?
One word answer: yes
When designing your site on WordPress, there’s a good chance you’ll be focusing on how it looks on desktop.
But mobile traffic overtook desktop traffic in 2017. And Google now prioritizes the mobile version of your site for crawling and indexing.
Most WordPress themes are mobile friendly. And if yours is not…
…then it’s time to find a new theme!
If Google does find any issues with the mobile version of your website, they’ll let you know in Search Console.
So keep an eye out.
Bonus: WordPress SEO Optimization Checklist
Looking to boost the SEO of your WordPress site? In this next section, we’re going to run through a checklist of what you’ll need in place, and actions to take to fully optimize your WordPress site.
1. Choose a lean, fast theme
If there’s one factor that affects SEO performance more than any other on a WordPress site, it’s theme choice.
Choose the right theme and you’ve got the foundations set for solid on-page SEO performance.
Choose the wrong theme and you’ll be fighting Google with one hand tied behind your back.
There are literally THOUSANDS to choose from.
And that’s just the free ones.
So what should you look for when choosing a theme?
Our advice is to choose one that’s lightweight and customizable. Which is why we’re big fans of GeneratePress.
It’s well coded, has great support, and most importantly is super fast. So out-the-box it’s going to perform well.
And with a well-configured WordPress site running on GeneratePress you’ll be able to smash Google’s PageSpeed Insights and Core Web Vitals tests.
The core GeneratePress theme is free (and may be sufficient for many). But if you fork out $59 for the premium add on you’ll get loads more options for customizing your layouts.
Looking for other speedy themes? Here’s a list of the fastest WordPress themes, which you’ll note has GeneratePress sitting at the top.
2. Avoid WordPress page builders (or use this one)
Page builders make it super easy to create complex, visually appealing layouts.
Some of the most popular WordPress page builders include…
- Thrive Architect
- Beaver Builder
…and they all make designing cool looking pages a breeze. So what’s the problem?
Well, unfortunately page builders can also add a ton of code bloat to your WordPress site and slow it down considerably. The site will look pretty, but the underlying code will not.
Many WordPress page builders take a “kitchen sink” approach — where the scripts and styles for every single feature are loaded on every single page regardless of whether they are actually needed.
Not using an image carousel on this page? Tough. We’re going to make the user download the JS and CSS for it anyway…
(although we note that Thrive in particular may be taking steps to change that)
So if page builders can slow down your WordPress site, the first question to ask is do you actually need to use one?
In many cases, the answer will be no.
There’s a lot you can do already with WordPress’s built-in Gutenberg editor. And there are various Gutenberg block plugins that will help you fill in the gaps.
We’ve used Ultimate Addons for Gutenberg (free) and Qubely (premium) and would recommend them both.
Still want to use a page builder? We’d point you towards this one…
Technically Oxygen is actually a theme builder, rather than a page builder. Which means it replaces your theme and lets you control your entire site (headers, footers, layouts) from within the builder.
Why do we like it?
Simple. The code is super clean (as good as hand-coded), and pages created in Oxygen are bloat-free. Not using a script on a page? Then Oxygen won’t load it.
The video below gives a good overview of how Oxygen compares with other page builders.
But the bottom line is that Oxygen’s clean, bloat-free code makes for a super fast site.
Here’s an example of a mobile Lighthouse test for a “busy” homepage that was recently converted from Thrive Architect to Oxygen Builder.
The layout remained exactly the same, but load times were significantly improved.
So if you want to use a page builder for your WordPress site, we’d recommend going for Oxygen.
3. Make sure your site is indexable
Probably goes without saying, but we’ll say it anyway.
If Google can’t index your site…
…then you’re never going to rank.
Click on Settings > Reading on the WordPress admin menu, and make sure “Discourage search engines from indexing…” is unchecked.
4. Use SEO friendly permalinks
WordPress’s default permalink structure isn’t ideal for SEO.
Fortunately, it’s a two second job to sort.
Just click over to Settings > Permalinks and change from the default format to something a little more pleasing on the eye.
For many sites, “post name” will be perfect:
But if you have a large site with multiple sections, you might want to include categories in your URLs to keep everything neat and tidy:
Either way, you’ll want to switch from the default.
Note: this is just setting the overall format/structure for permalinks. You’ll still need to optimize individual “slugs” (i.e. “post-name” in the example above) for each page.
5. Install one of these free SEO plugins
To fully optimize a WordPress site, you’ll need to install an SEO plugin.
There are a number of free SEO plugins available for WordPress. But there are two stand-out choices:
2. Rank Math
So which should you choose?
They’re both solid picks that will allow you to control most of the technical SEO factors that you can’t configure in a fresh WordPress install.
…as we’re long-term YOAST users, that’s what we ran with for the examples in the “On-Page SEO Fundamentals” section of this review.
6. Install a caching plugin (and follow our page-speed guide)
If your site is relatively plain (and you’re using a fast theme) then you might be able to skip this step.
Because out-the-box — and when not encumbered by a slow theme or excessive plugins/widgets — WordPress is swift.
For example, we tested a simple page running on GeneratePress (text + one image) and achieved a mobile PageSpeed Insights score of 100/100 without any caching or further tweaking.
And sure, you might expect a simple page like that to load quickly. There’s not much going on.
But for reference, here’s the PageSpeed score of a similar basic page we created when we tested GoDaddy’s Website Builder.
Big difference right?
The bottom line is, WordPress is fast. It’s what we (that’s us site owners!) add on top of it that slows it down.
And let’s be honest:
We’re all suckers for shiny website features and widgets. Which means that even with a fast theme load times can quickly ramp up.
So if your WordPress site is starting to creak at the seams your first step should be to install a caching plugin.
In many ways calling WP Rocket a “caching plugin” is doing it a disservice. Because it’s much more than that. It’s jam packed with features that will help speed up your WordPress site.
This study from aThemes compared the performance of nine leading WordPress caching plugins. And with a 34.67% improvement in page load time, WP Rocket topped the chart.
Here’s a detailed guide to configuring WP Rocket from wpbeginner.
And for a shedload of actionable tips for speeding up your WordPress website, check out our page speed optimization guide.
7. Install an image optimization plugin (we like this one)
Images tend to be the “heaviest” elements on a page. Which is why it’s important to compress them, keeping file sizes as small as possible.
But you’ve probably got better things to do with your time than going through your site and manually optimizing images.
So the good news is, there’s a neat WordPress plugin called Imagify that will handle it for you.
Imagify can also create (and serve) Webp versions of your images — a lightweight image format that’s recommended by Google.
Grab Imagify for your WordPress site here.
8. Crawl your site “like Google” to identify on-page SEO issues/opportunities
Wouldn’t it be great if you could crawl your site like Google to find out the technical SEO issues holding back your site?
It sure would.
And guess what? With Seobility… you can 🙂
Run an audit using our on-page SEO tool…
…and our crawler will wizz through your site and analyze hundreds of on-page ranking factors.
Then we’ll let you know exactly what you need to fix or improve to boost your site’s SEO.
Issues with meta tags, headings, files (i.e. images and scripts), or URLs? You’ll find them in the “Tech & Meta.” report.
Problems with internal linking, sitemaps, or redirects? We’ll let you know in the “Structure” report.
And we’ll give you the lowdown on potential content issues — for example keyword cannibalization, duplicate content, and missing keywords — in the cunningly named “Content” report.
To get started, sign up for a 30 day free trial of our premium plan here.
Then check out our SEO audit guide for a step-by-step walkthrough of how to find on-page SEO issues with Seobility… and fix them!
In conclusion: WordPress is excellent for SEO
We’re sorry if this sounds a little harsh. But if your WordPress website is not well set up for on-page SEO, then the limitation is you, not WordPress.
Because with a clean, fast theme, a few plugins, and a bit of hard work fixing what needs to be fixed, there’s nothing you can’t do to optimize your WordPress site.
Of course on-page SEO is just one part of the pie. And to reach your ranking potential you’ll also need to create high quality content, build your expertise/reputation in your niche, and boost your site’s authority by building high quality links.
But by choosing WordPress as your CMS, you’re well set for future SEO success. And with the right knowledge and a solid SEO strategy, you’ll quickly see an improvement in your rankings and traffic.
So here’s what we recommend:
- run a full SEO audit (you can follow this guide),
- allocate time to fixing issues and optimizing your site (where possible),
- focus in on creating high quality content that helps your users and fully answers their search queries,
- build your site’s authority by earning high quality backlinks (check out our recommended link building tactics here)
In the final part of our on-page SEO series we’ll be reviewing Joomla. And then we’ll be comparing the SEO pros and cons of each CMS in a roundup post, where we’ll also reveal the best CMS for SEO in 2021. Sign up for our email list below to follow this series, and for loads more fresh SEO tips, tutorials, and guides straight to your inbox.
PS: Get blog updates straight to your inbox!