WordPress SEO: A Practical (and EASY) Guide
Do you want to know how to get more traffic to your WordPress website through SEO?

I’ve got some good news and some bad news.

The bad news is that WordPress alone isn’t going to help you rank in Google. It’s just a tool.

The good news is that WordPress makes it dead simple to use SEO best practices. So even if you’re a beginner to SEO, you can optimize your website for higher Google rankings with ease.

How do we know? This very blog runs on WordPress and gets over 170K organic visits every single month.

Estimated monthly organic traffic to the Ahrefs Blog via Ahrefs’ Site Explorer.

It also ranks on the first page of Google for nearly 14K keywords:

Estimated # of first‐page organic keyword rankings for the Ahrefs Blog via Ahrefs Site Explorer.

In this guide, you’ll learn exactly how to optimize your WordPress website from start to finish.

Prefer video? Here you go:

What is WordPress? (WP ≠ SEO panacea)

WordPress is an open‐source Content Management System (CMS). It provides a way to structure, manage and publish websites even if you don’t know HTML.

Blogging tends to be what springs to mind when most people think of WordPress. But it’s not only used for blogs. WordPress powers 32% of the internet.

Here are a few well‐known companies that run their websites on WordPress:

  • TechCrunch;
  • BBC America;
  • The Walt Disney Company;
  • Mercedes Benz

Use isitwp.com to check whether WordPress powers any website.

bbc america isitwp

Do you think those companies would use WordPress if it were bad for SEO? I doubt it.

That’s likely why WordPress states that their CMS is SEO‐friendly on their homepage

wp homepage

… but what does that actually mean?

It does mean that WordPress takes care of the most basic SEO best practices out of the box. Its popularity means there are tons of SEO plugins available—many of them for free.

It doesn’t mean that installing WordPress equates to a perfectly‐optimized website and that no other SEO tweaks are required.

WordPress is a tool that makes using traditional SEO techniques and strategies easy. Nothing more, nothing less.

For that reason, WordPress SEO is no different from regular search engine optimization. So the focus of this guide is to teach you how to employ traditional on‐page and technical SEO best practices within WordPress.

Off‐page SEO strategies like link building are the same whether you use WordPress or not.

Everything below is only useful for those with self‐hosted WordPress installations. If you’re using the hosted version at WordPress.com, this guide isn’t for you.

Getting started…

You’ve installed WordPress. Your website is live. Now what?

Start by installing these three free plugins:

  1. Yoast SEO;
  2. W3 Total Cache;
  3. Smush Image Compression and Optimisation

Not sure how to do that?

Log into your WP backend. On the sidebar, hit Plugins > Add new.

wp sidebar plugin add new

Search for the plugin you want. Hit “Install now.”

install wp plugin

IMPORTANT. Don’t activate the plugins yet. We’ll do that as we go through this guide.

If you’re an Ahrefs user, I also recommend starting a site crawl with Ahrefs’ Site Audit tool.

Watch this video to learn how to get that going in a couple of minutes:


This isn’t required. You’ll still get a lot from this guide without doing so. But it will help with some of the stuff mentioned later on.

All set? Let’s do it!

1. Install an SEO‐friendly theme

WordPress usually defaults to an ugly theme when first installed.

The good news is that there’s no shortage of better‐looking WordPress themes. The bad news is that many of them are about as SEO‐friendly as a waiter having a bad day at work.

So what makes for an SEO‐friendly WordPress theme?

  1. Responsive design: Mobile‐friendly content may perform better for those who are searching on mobile. Those are Google’s words, not mine.
  2. Lightweight: Avoid themes bloated with third‐party plugins and scripts that you don’t need. They’ll slow your website down.

Most theme descriptions will tell you whether they’re responsive and mobile‐friendly. But to be sure, run the theme demo through Google’s Mobile‐friendly Test tool.

mobile friendly test

It’s a similar story with third‐party plugins and scripts. Most theme sellers like to brag about these in their theme description. But it’s still worth running the live demo through Google’s PageSpeed Insights tool to check that it loads fast.

pagespeed insights theme


Do keep in mind that there are other factors (e.g., hosting, server location, etc.) that have an effect on page speed. Take these numbers with a pinch of salt.

2. Choose www vs. non‐www

Have you ever noticed that some websites live at www.domain.com (www) whereas others live at domain.com? (non‐www)

For example, the URL for the Ahrefs Blog is https://ahrefs.com/blog.

But the URL for Search Engine Journal is https://www.searchenginejournal.com/.

Google views the www and non‐www versions of the same URL as separate references to separate pages.

search console www non www

So choose a preferred version and set it as the WordPress Address URL and Site Address URL in your WP backend.

You can find those options under Settings > General.

wordpress www non www preferred

WordPress will automatically redirect the other version to your preferred one.

Does it make any difference which version you choose? For new websites, not at all. It comes down to personal preference.

But if your site is currently accessible at both the www and non‐www URLs (type them into your browser to check for redirects), then you should choose the version that Google seems to prefer already.

You can check this in Google.

Search for site:www.yourdomain.com. Look at the number of results.

www version google

Then do the same for the version without the www. That’s site:yourdomain.com -inurl:www.

non www version google

Whichever version returns the most results should be set as the preferred version.

This time, the www version is a clear winner.


Does your website have HTTPs or HTTP in the URL?

If it’s the latter, you should consider installing an SSL certificate. Google confirmed SSL as a ranking factor in 2014.

Here’s a useful guide on how to switch your WordPress website to HTTPs.

3. Set up permalinks

Take a look at these two URLs:


Both take you to our long‐tail keywords guide(Go ahead, try them and see!)

But it’s the second, more readable URL that’s our preferred (canonical) version. In other words, that’s the permanent URL we want visitors to see.

You can choose the type of URLs WordPress uses in Settings > Permalinks.


Permalink = permanent link. Smart.

You’ll see a few options such as PlainPost nameNumeric, etc.


Post name is the most SEO‐friendly option for most websites because:

  1. It gives people a sense of what the page is about from the URL alone. That may increase your click‐through rate in the SERPs which leads to more organic traffic.
  2. It increases the likeliness of you getting keyword‐rich backlinks. That’s links with your target keywords in the anchor text. You’ll need to use your keywords in the URL for this to happen.

IMPORTANT. If you already have content using a different permalink structure, then think twice before changing it. Doing so may cause broken pages. That’s a bad thing, particularly if you have backlinks pointing to said pages. If you want to set up your URL structure this way, then you may need to add redirects. For that, you can use the Redirection WordPress plugin.

4. Enable breadcrumbs

Breadcrumbs give visitors (and search engines) a clear trail to follow around your site. They look like this:

debenhams breadcrumbs

You don’t have to use them. But the benefits of doing so are as follows:

  1. They help search engines understand the structure and hierarchy of your site;
  2. They create a good internal linking structure;
  3. They’re helpful to users;
  4. They appear in Google search results.

Here’s what I mean by that last point: Your pages will look like this in Google…

breadcrumbs google appearance

… instead of this:

no breadcrumbs serp

Whether that’s useful is debatable. I’d argue that they look a bit nicer and provide more context. So they may increase your click‐through rate, which is never a bad thing.

Yoast makes it easy to enable breadcrumbs in WordPress. What is Yoast? It’s an SEO plugin that handles a lot of basic WordPress SEO stuff automatically. But it does require some customization—the enabling of breadcrumbs, for one.

So activate the plugin (Plugins > Yoast > Activate) and hit the SEO menu item on the left sidebar. Then go to:

Search appearance > Breadcrumbs > Enable breadcrumbs

yoast breadcrumbs

That’s it. Done.

It’s worth noting that your WordPress theme must support breadcrumbs for this to work. Not all do. If you want to use breadcrumbs and your theme doesn’t support them, use your loaf and hire a freelancer to fix it for you.

5. Enable manual approval of comments

Most blog comments are innocent enough. Usually, it’ll be people asking legitimate questions or saying how much they enjoyed your post.

But be aware: Blog comment spam is a thing. A big thing.

This is what it looks like:

blog comment spam

Confused? Here’s the deal:

Spammers use automated software to post comments to hundreds or thousands of blogs. They do this to build backlinks to their website at scale.

You see, when someone submits a blog comment, WordPress also asks for their name and website. Then, when the comment goes live, their name gets linked to their site. comment link

Google introduced the “nofollow” tag in early‐2005 to combat this issue. Now, WordPress comments are “nofollowed” by default, so they don’t transfer PageRank.

But according to Google, spammy comments can still have an adverse effect on SEO because:

  • Low‐quality content on some parts of a website can impact the whole site’s rankings.
  • Spam can distract and annoy your users and lower the reputation of your site.
  • They might remove or demote pages overrun with user‐generated spam to protect the quality of their search results.

In WordPress, automatic approval of comments is on by default. So you should turn it off and vet all comments by hand.

To do this, go to Settings > Discussion. Tick the “Comment must be manually approved” checkbox.

manual comment approval wordpress


You can use plugins like Akismet to help with comment spam. Still, unless you have a huge site, manual vetting and approval is the way to go.


The next six tips are content‐related. You should keep them in mind when adding posts and pages to your WordPress website.

Learn more about the differences between posts and pages here.

Tim Soulo
Tim Soulo
Head of Market and Product Strategy

6. Set custom URLs (for posts & pages)

Pop quiz.

You publish a post on your WordPress blog entitled: “The 20 Best Protein Powders for Men to Buy in 2018 (Updated Sept. 2018)

What will WordPress set the URL to by default?

  1. domain.com/blog/p?67459376
  2. domain.com/blog/best-protein-powder/
  3. domain.com/blog/the-20-best-protein-powders-for-men-to-buy-in-2018-updated-sept-2018

Click the GIF to reveal the answer:


There’s nothing wrong with that URL per se. But it is a little on the long side, meaning that Google may truncate it in the search results.

url serp truncation

Does that have a direct affect on SEOIt’s unlikely.

But truncated URLs may have an indirect effect because they look ugly and unenticing. That may hurt your click‐through rate and lead to fewer organic visits.

Luckily, WordPress makes it easy to customize your URLs. Just hit the “Edit” button next to any page or post’s current permalink.

permalink edit

My advice is to use your primary target keyword and replace the spaces with dashes. So, in this case, our URL would be: domain.com/blog/best-protein-powder/


Not sure what primary keyword to use?

Head over to Ahrefs’ Keywords Explorer and paste in your post or page title. Look at the Parent topic.

parent topic ahrefs keywords explorer

7. Use the WYSIWYG editor for post/page formatting

Here’s what Google says about content formatting:

It’s always beneficial to organize your content so that visitors have a good sense of where one content topic begins and another ends. Breaking your content up into logical chunks or divisions helps users find the content they want faster.

In other words, don’t publish a giant wall of text. Break things up with HTMLformatting.

How can you do that?

  • Create a clear hierarchy with H‐tags (e.g., H2H3, etc.);
  • Use unordered and ordered lists (where appropriate);
  • Draw attention to important copy (bolditalicizeunderline, etc.)

That’s SEO 101. But how do you do those things in WordPress?

Use the WYSIWYG editor.

This is the WordPress WYSIWYG editor.

You’ll see this when adding a new post or page.

It’s pretty self-explanatory—especially if you’re familiar with Microsoft Word or Google Docs.

Just be sure to paste only plain text copy into the visual editor. To do that on Mac, hit CMD+Shift+V. On Windows, it’s CTRL+Shift+V.


That will remove all formatting added by your word processor. You’ll end up with a lot of useless messy HTML if you don’t do that.

You can then use the WYSIWYG editor to add back your desired formatting.


Use Wordable to upload your posts to WordPress from Google Docs in seconds. It’s something we use at Ahrefs, and it’s saved us countless hours.

8. Use alt text for your images

Did you know that 8.1 MILLION (3.3%) Americans have a vision impairment and may use screen readers?

That’s a lot of people, and it’s one reason why it’s so important to use image alt tags. Those using screen readers won’t see your images—they’ll only see the alt text.

Here’s the syntax for alt tags:

<img src=”/cute-cat.png” alt=”A picture of a super cute cat.”/>

That said, as you’re using WordPress, that syntax is semi‐irrelevant. You can add alt text to images via the visual editor.

Hit Add Media > Upload files. You’ll then see something like this:

alt text wp

Fill in the alt text field with a short description of your image. Keep it simple and accurate. Don’t try to shoehorn your target keywords in there.

Here’s an example alt tag for a photo of Tim Soulo:

tim soulo alt text

But this is about more than just catering to the visually‐impaired. Alt tags provide Google with greater context for the images on your page. This can help boost rankings in Google Images according to John Mueller.

🍌 John 🍌


Alt text is extremely helpful for Google Images — if you want your images to rank there. Even if you use lazy-loading, you know which image will be loaded, so get that information in there as early as possible & test what it renders as.

47 people are talking about this

Is ranking in Google Images pointless? Not at all.

We’ve had more than 2 MILLION impressions in Google Images over the past three months. That resulted in 1,570 visits to our website.

search console google images

Learn more about image SEO here.


Make sure to use descriptive filenames for your images too. “IMG865729” isn’t going to cut it.

9. Internally link to other posts/pages

Internal links point to other pages and posts on your website.

Here are two reasons why they’re important for SEO:

  • They aid the flow of PageRank around your site;
  • They direct visitors towards more of your top‐notch content.

You can add internal links to posts and pages in WordPress using the WYSIWYGeditor.

Highlight the text that should form the link, then hit the “Insert/edit link” button. Paste in the URL of another page or post on your website.


That’s that.

But how do you know which pages it makes sense to add internal links to? Go to Ahrefs’ Site Audit tool and load up the project from earlier. The crawl should now be complete.

Next, go to the Data Explorer. Add these custom filters.

site audit filters

You’ll then see all working posts and pages that a) aren’t a part of the page archive, and b) have fewer than three internal links.

Sort the results by organic traffic in descending order.

data explorer internal links opps

You now have a list of pages that could use a boost.

Next, search your WordPress backend for a keyword related to one of those pages. You will then see all posts mentioning that keyword in the search results.

on page seo internal links wp search

Those are perfect places from which to add internal links.

add internal link wordpress


Does your WordPress theme use a sidebar?

Consider adding a “popular articles” widget and linking to the pages or posts that:

  • You’ve found to convert particularly well; or:
  • You want to rank higher in Google.

Brian Dean does this on his blog:

internal sidebar links example

Note. If you’re not familiar with basic HTML and WordPress widgets, you may need a developer to help with this.

10. Set unique, “optimized” title tags and descriptions

Meta titles and descriptions are what you see in the search results.

meta title description


Google doesn’t always show the title and meta description that the site owner sets. Sometimes they are automatically rewritten.

SEO best practice is to customize them for every page and post.

Here are the rules:

  1. Make them enticing: A higher click‐through rate leads to more traffic from search engines.
  2. Keep them short: Google starts truncating titles at 590px (~50–60 characters). Meta descriptions get truncated after about 930px (~155 characters). Use this tool to preview them before setting them live.

Yoast lets you set custom titles and descriptions on a page‐by‐page basis. Just scroll to the bottom of the post or page you’re editing. You’ll see something like this:

yoast seo meta editing

That’s where you can write your title and meta description.

By default, Yoast sets this to a variable which pulls the title of the post and uses that for the meta title too.

yoast variable title

That usually works fine. But not always.

For example, we have a post entitled “I Just Deleted Your Outreach Email Without Reading. And NO, I Don’t Feel Sorry. (Evergreen)

That’s too long.

title tag too long

So it’s always better to paste tried and tested plain text titles and descriptions here.

Recommended reading: How to Craft the Perfect SEO Title Tag (Our 4‐Step Process)

11. Nest pages in subfolders (where appropriate)

Provided that you set your permalink structure to post name, then both your page and post URLs should look like this:


But with pages, you can create them with different levels, using subfolders.

So let’s say that you’re a digital marketing agency using WordPress and you have five different services. You sell SEOPPC, Social Media Marketing, PR and Email Marketing.

Here’s the best way to structure that:

  1. Create a “Services” landing page where you talk about the five different services you provide.
  2. Create individual pages for each service you offer.
  3. Link to each of those individual service pages from your main “Services” page.

Here’s what your URL structure will look like by default:


Not bad. But it would be better to nest the individual service pages under the “/services/” subfolder. Like this:


That’s easy to do in WordPress. Just use the Parent dropdown on the page editor and choose the “Services page.”

parent page wordpress

Now the URL is accessible at domain.com/services/SERVICE/.


The next four tactics are ‘technical’ optimizations.

Use these to speed up your website and eliminate things that could confuse Google.

Tim Soulo
Tim Soulo
Head of Market and Product Strategy

12. Enable content caching

Caching is a fancy word, isn’t it?

Here’s what it means in a nutshell:

You create static versions of your posts and pages. Browsers can then load them fast. Your website is quick. Users are happy. Simple!

Google loves happy users. And they love fast‐loading sites. They’ve even confirmed that page speed is a ranking factor on both desktop and mobile.

There are tons of caching plugins available for WordPress, one of which is W3Total Cache. You should have installed this earlier.

Activate it, then hit Performance > General settings on the left sidebar.

w3 settings

There are a lot of complex settings here. Let’s keep this simple and tick enable on Page Cache, Minify, and Browser Cache.

That should be a good starting point for most sites.

Recommended reading: Ultimate Guide to Speed Up WordPress with W3 Total Cache

13. Compress and optimize your images

The average web page is 3MB.

But long‐form blog posts tend to be much bigger because they contain lots of images. For example, here’s the total size of our local SEO guide according to GTmetrix:

gtmetrix local seo

Given that the average global mobile download speed is 20 Mbps, this page would take 4.2 seconds to load. According to Google, 53% of mobile site visitors leave a page that fails to load within three seconds.

That’s why it pays to optimize the slowest part of your web pages—images.

Start by activating the Smush Image Compression and Optimization plugin. You should have installed that earlier. That will compress and optimize all images that you upload in future. No need to lift a finger.

To compress the images you’ve already uploaded, hit the Smush menu item on the left sidebar and hit “Bulk smush now.”

bulk smush

This will optimize all existing images on your site in batches of 50. You’ll then have to re‐click the button to optimize the next 50, and so on. That can be annoying for large sites. So you may want to upgrade to pro if you have a lot of images.

Next, turn on Image resizing.

You’ll then want to change the “max width” dimension to match your WordPress theme. Set it to the widest resolution that images get displayed on your site. For us, that’s 900px.

image resizing


Pay particular attention to the slowest loading pages on your site. Those may need some manual optimization (e.g., removal of unnecessary images)

You can find those in Site Audit > Performance > Slow page.

slow loading pages ahrefs site audit

Here’s another tip: Sort the list by organic traffic in descending order.

Focus on optimizing the pages with the most organic traffic first. Those are the pages that must already rank well for high‐volume search terms.

We know that page speed is a ranking factor. So improving the speed of these pages may be all that’s needed to bump you up from position #2 to #1 for a high‐volume term. That will result in way more traffic. 😉

14. ‘Noindex’ low‐value content

Take a look at this web page:

evernote tag page

It lists all the posts on the Evernote blog with the “fitness” tag—of which there’s currently only one.

Pages like this can be useful for folks that are already on your site and want to find posts related to a particular topic. But you wouldn’t want them to pop up in Google’s search results. They tend to be thin and provide little to no value for search engine users.

It’s the same for media and post format pages too—their value is minimal.

Here’s what Google says about thin content and content quality:

[You should] try to find a way to analyze the quality of your content and to make sure that the high‐quality content is indexed, and that the lower‐quality content doesn’t get indexed by default.

Yoast sets “post format” and “media” pages to “noindex” by default. You’ll need to change the settings for tags pages. To do that, go to:

SEO > Search appearance > Taxonomies

Switch the “Show Tags in search results?” option to “No.”

post tag pages noindex

15. Fix duplicate content

Look at these two pages:


Do you see a difference in the content? I don’t, because there is no difference. These are two separate pages at different URLs, yet the content is identical.

SEOs call that duplicate content… and it ain’t good.


This is a common issue with ecommerce sites.

You can fix such issues in two ways: noindex or canonicalize the duplicate version(s).

Noindexing a page leads to its removal from search engine indexes. You should do that if the duplicate page provides no value to visitors. It may also make sense to “noindex” near‐duplicate landing pages that you’re split‐testing.

Canonicalizing means to specify a preferred version of a web page. Search engines tend only to index this preferred canonical page. Duplicate or near‐duplicate pages should always have a canonical set if not “noindexed.”

Yoast can implement both options on a page‐by‐page basis. Hit the cog icon on the Yoast settings when editing a page or post. You’ll see something like this:

yoast canonical noindex

Select “No” from the top drop‐down to “noindex” a page or post. Or paste the URL of the preferred version into the “Canonical URL” box to canonicalize. Easy peasy.

But how do you find duplicate content issues in the first place?

Go to the “Content Quality” report in Ahrefs’ Site Audit tool. Look for pages with the “Duplicate pages without canonical” error.

duplicate pages without canonical

You should also check for near‐duplicates where the canonical is not set or not matching. These are the red and orange clusters in this same report.

canonicals near duplicates

Learn more about auditing your site for issues in this video (or read this blog post):

Final thoughts

WordPress is the most popular CMS on the planet for good reason.

It’s easy‐to‐use, flexible and provides a good base for SEO. But WordPress isn’t fully‐optimized out of the box. You need to install a few plugins and make a few tweaks to get the most out of it.

So follow the tips above and let me know once you outrank your competitors. 😉

Sample post with YouTube Video

Partnering with a marketing agency is a big decision and shouldn’t be taken lightly. The marketing agency you choose will be a trusted brand advocate and tasked with helping you to meet your strategic marketing objectives. At the end of the day, they will either make you look good and help accomplish your goals or they won’t. In this blog post…
Read more

How to Do an SEO Competitor Analysis [Template Included]
If you’re planning a new online venture, or are simply sick and tired of losing to competitors in organic search, then you need to do an SEO competitor analysis.

Your competitors are a goldmine of information that can inform every aspect of your SEO strategy and help to skyrocket your website’s organic traffic.

In concrete terms, performing an SEO competitor analysis lets you:

  • Learn what works and what doesn’t in your industry.
  • Find competitors’ weaknesses, and capitalize on them.
  • Find competitors’ strengths, and replicate them.
  • Understand what SEO tasks to prioritize going forward.
  • Understand how difficult outperforming competitors in the SERPs is likely to be.

In this post, I’ll run through a simple SEO competitive analysis process for a hypothetical new infographic design tool—Minimagraphic.com.

Minimagraphic.com—a hypothetical new infographic design tool launching soon (maybe).


I’ve also included a competitive analysis template so you can follow along with your site.

Getting started

You can do this whole process with only two tools:

  1. Ahrefs (take a 7‐day trial)
  2. This Google Sheets template (IMPORTANT: make a copy!)

It’s also worth making a copy of the completed sheet for our hypothetical website, as that may come in handy for clarification if any of the instructions below feel unclear. (Hopefully, they won’t!)

You can do that here.

Got it? Let’s get stuck in!

1. Identify Competitors

Before we do anything else, we first need to identify our main competitors.

These are the websites that are competing for our desired keywords in organic search.

For our hypothetical infographic design tool, some competitors that spring to mind right off the bat are CanvaPiktochartInfogrameasel.ly, and Visme. However, our organic search competitors may not be the same as our direct business competitors.

So let’s first look at how potential customers might search for our service.

I figured this would be something like “infographic design tool,” but it seems I was wrong as when I search for this in Ahrefs Keywords Explorer, it tells me there is no search volume.

infographic design tool search volume

So let’s check the “Also rank for” report and see if we can find a better keyword.

infographic maker ahrefs keywords explorer

It looks like “infographic maker” is the most popular way people search for such tools.

Now let’s check the SERP overview to see who currently ranks in the top five.

infographic maker serp overview

Not an Ahrefs user?

Run a Google search instead.

google search infographic maker

Looks like our top five competitors are PiktochartVenngageCanvaVisme, and Infogram.

Interestingly, Easel.ly didn’t make the cut as they don’t rank in the top 10.

That’s why it’s important to not to rely on your instincts for direct business competitors. To reiterate, they’re not always competitors when it comes to SEO.

To give a more vivid example of this, imagine you’re a butcher in a small town. The business that keeps you awake at night is the other small butcher down the road. However, in terms of SEO, they’re no threat. They don’t even have a website.

I’ll add these five competitors to my spreadsheet.



If you’re trying to find competitors for a blog or ecommerce site, then finding the sites that rank for a single keyword may not be the best way to go about things.

That’s because you’re likely targeting hundreds or thousands of keywords and topics across many pages.

So it’s better to see who’s competing with you across the board.

For that, you can use the Competing domains report in Ahrefs Site Explorer.

Site Explorer > enter your domain > Organic search > Competing domains

ahrefs blog competing domains

2. Analyze the competitive landscape

Next, we need to get a high‐level view of the competitive landscape.

To do that, we’ll pull a few key stats and SEO metrics which should give us an idea as to how entrenched the competition is.

Let’s use Ahrefs Batch Analysis tool to do this for all competitors websites at once.

Batch Analysis > Enter competitors’ domains > Analyze

batch analysis competitors

Batch Analysis will return tons of useful stats for each site, but for now, I’m interested in:

Let’s add them to our spreadsheet.

stats spreadsheet

To explain these SEO metrics a bit more:

Domain Rating (DR): A high DR score indicates that a website has a solid backlink profile. You should judge DR relative to your site rather than in absolute terms. For example, if your site is DR30 and your competitor’s is DR50, that’s a fair bit higher. If your site is DR30 and a competitor’s is DR90, that’s like comparing your mom and pop store to Walmart—they aren’t your competitor.

Ahrefs Rank (AR): A low Ahrefs Rank is indicative of a “strong” site. AR tells you the same thing as DR but with more granularity. For example, if you have two competitors with DR33 websites, you can use AR to see which is the strongest of the two sites.

Referring domains: A high number of referring domains can also indicate a strong site—provided that those links aren’t low‐quality. Note: This is why it’s also useful to grab DR, as this takes into account both the quality and quantity of links to a site.

Organic traffic & keywords: This one’s pretty obvious—the higher these numbers are, the better the site is performing in organic search.

In simple terms, the more distance there is between yours and your competitors’ stats, the more catching up there is to do.

However, these metrics don’t tell us everything about our competitors’ SEOprogress.


In steps #3, #4 and #5, we’ll delve deeper into competitors’ link profiles.

3. Study backlink growth

Link popularity is a clear SEO “ranking factor” according to our study of ~930 million pages.

referring domains vs keyword rankings ahrefs content explorer


This is the result of a correlation study. It doesn’t prove causation.

So we need to learn more about our competitors’ link building efforts.

Let’s begin by checking the rate at which they’re acquiring new referring domains (linking sites), as that’ll give us a rough target to shoot for with our link building.

To do this, we’ll use Ahrefs Site Explorer.

Site Explorer > Enter domain > Overview > Referring Domains graph > Set to ‘One year’

The 12‐month cumulative referring domains graph for visme.co.

For each competitor, we’ll take the number of referring domains they have today minus that same number from a year ago, then divide by twelve to get a monthly average.

Here is the calculation for Visme:

(7,603 — 5,599) / 12 = 167 new referring domains per month (on average)


This is the cumulative growth or decline in referring domains. For example, if a competitor gets links from a hundred new RDs in a month but loses links from ten existing RDs,  their cumulative growth is ninety.

Let’s also check the growth trend for our other competitors.

In other words, do their link profiles show consistent or inconsistent growth or decline?

For Venngage, aside from a small blip earlier this year, their growth has been relatively consistent.

The 12‐month cumulative referring domains graph for venngage.com.

This could be natural, or it could be the byproduct of long‐term link building efforts.

Either way, it’d be well worth following these two articles to delve deeper into their backlink profile to see what we can learn… once finished with the basic competitive analysis, of course.

For Piktochart, their growth seems more inconsistent.

The 12‐month cumulative referring domains graph for piktochart.com

They experienced “hockey stick” growth between May and July last year, which may be indicative of a specific piece of content performing well, or them ramping up their existing link building efforts. It could also indicate a negative SEO attack.

To get a sense of which, we can check the New referring domains report.

Site Explorer > Referring domains > New > use the date range to filter for that period

new referring domains piktochart

It’s likely a negative SEO attack if most of the domains look like junk. (Hint: Confirm this by looking at the New backlinks report for the same date range)

It’s likely down to a particular piece of content doing well if most of the links point to the same web page. If the spike happened recently, use the Best by Link Growth report in Site Explorer to help identify which piece of content attracted the links.

It’s likely the ramping up of existing link building efforts if you see lots of links from a specific type of content—e.g., guest posts, resource pages, etc.

For now, I’ll add some growth‐related stats for each competitor to my spreadsheet.

backlink growth

4. Find superfans

Superfans are those who’ve linked to our competitors on multiple occasions.

These are people with whom it may make sense for us to build relationships because they tend to link out to websites they like regularly.

To find these people, we can check the Referring domains report in Ahrefs Site Explorer.

Site Explorer > Referring Domains > add a “dofollow” filter > sort by “links to target / dofollow”

canva referring domains

Let’s start by skimming the list for industry blogs.

Here’s just one that stood out for Canva:

ladybossblogger canva

If we hit the caret, we can see that this site links numerous times across many blog posts.

ladybossblogger links

Five seconds looking at the site tells us this is a single author blog by a woman named Elaine—she’s definitely someone with whom we may want to build a relationship and introduce to our product.

Let’s find five superfans for each of our competitors and add them to our sheet.


5. Find broken pages

Ever heard the saying that one person’s junk is another person’s treasure?

That rings true on the web too.

So now we’re going to see if our competitors’ websites for a specific type of junk: broken pages.

To do that, we’ll use the Best by links report in Ahrefs Site Explorer.

Site Explorer > enter competitors domain > Best by links > add a “404 not found” filter > sort by the Referring domains column (high to low)

best by links 404


I’m searching for content on a subdomain here so that I only see dead informational pages—e.g., blog posts, infographics, etc.

If we can find broken pages on our competitors’ websites, that have backlinks, and are also somewhat relevant to our business, then we may be able to take advantage of such pages by:

  1. Figuring out what the dead page used to be;
  2. Publishing something similar, but better;
  3. Finding everyone linking to the dead resource (use the Backlinks report in Site Explorer)
  4. Asking them to swap out the dead link in favor of our working resource.

Learn how to execute this strategy in our broken link building guide.

For now, as the focus of this guide is competitive analysis and not link building, let’s just add any relevant broken pages from our five competitors to the spreadsheet.

broken pages


The following steps (#6, #7, and #8) focus on organic traffic.

6. Study traffic breakdown by country

Knowing which countries our competitors get the bulk of their organic traffic from can help us to understand where the opportunity lies in this niche.

For this, we’ll use Ahrefs Site Explorer.

Site Explorer > enter competitor’s domain > Overview > Organic search tab

canva top organic traffic countries

Let’s add the top five countries along with their traffic percentages to our spreadsheet.

I’ll then do the same for our other competitors.

Here’s what we end up with:

traffic breakdown by country

Looks like United States is where the bulk of the traffic opportunity lies in this niche, as this is where our competitors get ~31% of their traffic from on average.

There’s some opportunity in other English‐speaking countries like the UK and Canada too.

So we now know that we should almost certainly prioritize content creation for folks in these countries, as this is where we see the bulk of search demand.

Hardly surprising.

However, the fact that there’s traffic potential in Latin America and Asia has got me thinking: perhaps it would make sense to translate our hypothetical landing pages into Spanish, Indian, and possibly Indonesian?

We could even launch a multilingual blog to maximize traffic from these countries.

That’s what we did here at Ahrefs—we have a Spanish blog and a Chinese blog.

The Spanish version of the Ahrefs Blog.

The Chinese version of the Ahrefs Blog.

Many of our landing pages are available in multiple languages too.

The Spanish landing page for Ahrefs Site Explorer.


Looking solely at organic traffic numbers can be misleading because it’s not always representative of traffic value.

For example, Visme gets roughly the same amount of search traffic from the UK and Mexico.

traffic visme mexico uk

But if we look at the traffic value for Mexico vs. the UK

The estimated value of Visme’s organic traffic from the UK.

The estimated value of Visme’s organic traffic from Mexico.

… we see that UK traffic is worth 700%+ more!

So it likely makes sense for us to prioritize UK traffic growth.

Learn more about how we calculate Traffic value

7. Spy on competitors’ organic keywords

Next, we want to find out which keywords are currently driving organic traffic to our competitors’ sites.

We can do that by running the Organic keywords report for each domain.

Site Explorer > enter competitor’s domain > Organic search > Organic keywords

visme organic keywords ahrefs

Above we can see that visme.co currently ranks for 133,667 keywords in the US.

By default, the Organic Keywords report shows keyword rankings for the country that generates the most search traffic. That’s fine for us, but if you want to see keyword data for a different country, hit “more” and choose from any of the 150+ countries in our database.

organic keywords more countries

Now let’s look for some juicy keywords that might be worth targeting.

There are a few that jump out right away such as “infographic maker,” “infographic creator,” etc. But there are also a lot of irrelevant results muddying the waters.

So let’s first exclude all branded keywords with the “exclude” function.

I’ll also filter only for keywords for which our competitor ranks in the top 10 so that we only see the most relevant keywords.

visme filters organic keywords

I’m going to keep things simple for now and note down the top five relevant, non‐branded keywords sending the most traffic to our competitors, and their search volumes.

Here’s what that looks like:


Some of those keywords would be a good match for our homepage. Others would make better blog posts (e.g., “what is an infographic?”).


If you’re following along and are only interested in finding keyword ideas for your homepage, use the “URL” mode in Site Explorer as opposed to “*.domain/*”. That way, you will only see keyword suggestions from the homepage instead of the whole site. And don’t forget to exclude branded searches from the report!


Some of the keywords I noted down have high Keyword Difficulty (KD) scores, which means they’ll be tough to rank for without building lots of links.

For example, “infographic maker” has a KD score of 73…

keyword difficulty infographic maker

… and will require backlinks from an estimated ~235 domains to rank in the top 10.

Recommended reading: Learn more about how we calculate Keyword Difficulty.

I’m not too concerned about this right now because I’m looking more for “ultimate goal” keywords.

If you’re following along and would prefer to find keywords that you stand a chance at ranking for in the short‐to‐medium‐term, feel free to filter for keywords with a low KD score.

8. Spy on competitors’ featured snippets

There is one more important thing you should pay attention to while analyzing your rival’s organic traffic:

SERP features for which your competitors rank.

Featured snippets alone show up for ~12% of search queries, as per our study

01 search queries with featured snippets

… and they get ~9% of clicks from the results on the first page:

ahrefs featured snippets ctr

So let’s keep things simple and focus solely on those.

First, I want to know which featured snippets our competitors own and for that, I’ll use Ahrefs Site Explorer.

Site Explorer > enter competitors domain > Organic search > Organic keywords > SERP features filter > Featured snippets > Only linking to target

piktochart featured snippets

Piktochart owns 87 snippets in the US right now and gets a fair amount of traffic as a result.

Visme owns 216.

visme featured snippets

I’ll add these numbers to my sheet for each competitor.

featured snippets

Generally speaking, if our competitors rank for a lot of featured snippets, there could be an opportunity for us to do the same.

This can even be easy traffic because it’s not always the #1 ranking page that owns the snippet.

59.2% of featured snippets come from pages ranking in positions 2–5.

where featured snippets tend to rank

In other words, even if the SERP is competitive, there’s still a chance of owning the snippet provided that we can make it to the top 5.

Recommended reading: How to Find and Steal Featured Snippets (to Get More Search Traffic)


In the few steps (#9, #10, and #11), we’ll delve deeper into competitors’ content.

9. Find content gaps

Content gaps are keywords for which your competitors rank, but you don’t.

Needless to say, that’s a gap you’ll likely want to fill.

To find content gaps, we can use Ahrefs Content Gap tool.

Site Explorer > enter your domain > Content gap

minimagraphic content gap

You can see that this prefills the “But the following target doesn’t rank for” field with our domain.

Now we need to fill the other fields with competitors.

content gap competitors

I’ll then set it to “Show keywords that all of the below targets rank for,” tick the “at least one of the targets should rank in the top 10” box, and run the search.

content gap keywords

You can see that this returns some quite relevant keywords above.


If you’re following along and don’t see any relevant keywords, feel free to loosen the settings a little and find keywords for which two, three, or four of your competitors rank, rather than all of them.

Now, as we don’t have unlimited resources, targeting all these keywords is an impossible task.

Let’s use the filters to focus in on low/medium difficulty, high‐volume opportunities.

content gap best opportunities

The low difficulty score means they will be easier to rank for, while the solid search volume means that ranking will give a nice bump to our search traffic.

However, some of these keywords look to be ones we already found in the previous step.

So I’m just going to add the five most relevant new keywords to my sheet.

content gap

10. Find competitors’ most popular content

Keyword research is still a critical part of SEO but these days, Google’s understanding of the intent behind searches is arguably better than ever.

For that reason, one page can easily rank for hundreds or even thousands of long‐tail keywords.

By finding our competitors’ top pages, we can figure out which of their articles are:

  1. ranking for a ton of keywords
  2. pulling in loads of traffic

Then we can write about these overarching topics and earn some sweet long‐tail traffic.

For this, we can use the Top Pages report in Ahrefs Site Explorer.

Note that we’re interested in finding blog posts here so if possible, we actually need to search the blog folder URL/subdomain as opposed to the entire domain.

Site Explorer > enter competitor’s domain > select “prefix” mode > Top pages

top pages ahrefs


Not sure where your competitor’s blog is located?

Check the Top subfolders report in Site Explorer and look for their blog path.

top subfolders ahrefs

If you don’t see anything, check the Top subdomains report instead. Some websites host their blog on a subdomain.

adioma blog subdomain

Either way, make sure the traffic percentage for the subfolder/subfolder is in the doubt digits. If it isn’t, then it’s likely that their blog posts aren’t nested within that URL structure.

In which case, stick with a domain search.

Now one thing to note about this report is that the pages on sites with the most organic traffic often tend to have a lot of referring domains. That’s hardly surprising, as backlinks are a strong ranking factor.

So let’s skim this report for each competitor and eyeball the RD column.

What we’re looking for are pages with lots of traffic but not too many referring domains, as these are likely to be much easier to compete with.

visme blog easy top pages

I’ll add five relevant pages that fit the bill to my sheet, plus their traffic.

top pages


If you’re curious about the individual keywords for which these top pages rank, click the caret in the keywords column.

11. Find competitors’ most linked content

Links mean referrals, “buzz,” and often as a result, more organic search traffic.

So we know we need to build links, but where do we start?

We find out what’s working for our competitors.

The Best by links report in Ahrefs Site Explorer shows competitors’ most linked content. If it worked for them, then something similar will likely work for us.

Site Explorer > enter competitor’s blog subfolder/subdomain > Organic search > Best by links

best by links venngage


If you’re doing this for a competitor whose blog posts aren’t nested under a subdomain (e.g., blog.domain.com/…) or subfolder (e.g., domain.com/blog/…) then use their domain instead. You’ll just need to be a little more vigilant when browsing the report.

From here, I’ll add the URLs of the five most relevant top pages from each competitor, the number of referring domains to each page, and what “type” of content it is to my sheet.

most linked content

Now we can see at a glance what types of content work best for each competitor and in general.

For example, 60% of the most linked pages articles from Venngage are listicles, and it’s a similar story for Visme too.


Not every niche is the same. You may find that a different type of content is more popular in your niche.

So it’s probably worth focussing our efforts on creating that type of content if we want links.

On the flip side, gaps can also present opportunities.

For example, Canva has a lot of links to text‐heavy content. Such content could be simplified as an infographic and possibly attract even more links.

We could also use what’s commonly known as the ‘skyscraper’ technique to attract links:

  1. Create a similar but even better piece of content
  2. Show it to everyone who links to our competitor’s now inferior content
  3. Ask them to swap out the link in favor of our superior content

If you’re wondering how we can find out who links to our competitor’s content, all we need to do is click the number under the Referring domains column, and we’ll see all the sites linking to that page.

see linking sites

In other words, our competitor has kindly created a list of prospects for us. 😉


In the two steps (#12 and #13), we’ll delve deeper into competitors’ PPCadvertising.

12. Find competitors’ PPC keywords

Analyzing competitors’ PPC activity can be unbelievably insightful when it comes to planning an SEO strategy for one simple reason:

If they’re paying for traffic from a keyword, then that keyword is most likely profitable.

To find our competitors’ PPC keywords, let’s use the PPC keywords report in Ahrefs Site Explorer.

Site Explorer > enter competitors domain > Paid search > PPC keywords

venngage ppc keywords

It looks like Venngage is bidding on a lot of infographic‐related terms.

Which brings me to another point:

Looking at competitors’ PPC data can unearth low‐volume, high‐converting keywords that are easy to skip over when conducting keyword research.

For example, a keyword like “make an infographic online” (70 searches/month) will likely have a much higher conversion rate than something like “free infographic creator” (600 searches/month).

If the conversion rate for the 70 searches/month keyword is 20%, and the conversion rate for the 600 searches/month keyword is 2%, then which keyword do you think it’d make the most sense to rank for?

I’m sure you’ve already done the math. That low‐volume keyword will make more money.

So following that logic, I’m going to add five PPC keywords for each competitor to my sheet, but I’m going to purposely choose keywords that I think are likely to convert well.

ppc keywords

DISCLAIMER. Take this idea with a pinch of salt. Just because a competitor is spending money on PPC doesn’t necessarily mean they know what they’re doing. It’s worth testing any keywords you find using PPC yourself before you go all in trying to rank for them.

13. Learn from competitors’ PPC ads

Looking at competitors’ PPC ad copy can help with writing title tags and descriptions that increase CTR.

That’s because competitors are paying cold hard cash to attract customers from specific keywords, and Google rewards more relevant ads with a lower CPC.

So it’s in their interest to make sure their ads win the click!

Let’s use the PPC keywords report once again to look at our competitor’s ad copy for a keyword for which we want to rank, “infographic maker:”

Site Explorer > enter competitors domain > Paid search > PPC keywords

To preview an ad for a keyword, hover over the yellow ‘Ad’ icon.

venngage ppc ad

It looks like they’re using speedcost (or lack thereof), and simplicity to entice the click.

These are all things we could incorporate into our meta titles and descriptions to generate more traffic from organic search.

Recommended reading: How to Craft the Perfect SEO Title Tag (Our 4‐Step Process)

Final thoughts

Everything above is just the tip of the iceberg when it comes to competitive analysis for SEO.

If you’re familiar with Ahrefs, then you’ll know there are a treasure trove of additional reports where we can delve deeper into our competitors’ entire marketing, content, and link building strategies. However, that can be an overwhelming place to start.

My advice? Run through the process above, then use the other reports in Ahrefs (and possibly even other competitive analysis tools) to delve deeper into any areas of interest.

Ready to get started? Sign up for a 7‐day trial of Ahrefs.

Finally, here’s a link to my spreadsheet template (and the one I worked on throughout this guide) if you want to use the format for your own analysis.


Sample post format: Status

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut …

Sample Post Format: Chat

Sam: Salami chuck frankfurter fatback, jerky venison ham filet mignon pork chop beef.

George: Tenderloin pork belly short ribs burgdoggen strip steak, prosciutto brisket.

Sam: Jerky burgdoggen pastrami short loin doner meatloaf shank beef ribs flank kevin.

George: Short ribs kielbasa ball tip chuck bacon meatball meatloaf cow biltong pastrami filet mignon fatback. Read more