Follow this 16-step SEO audit process to nail your site’s SEO and boost your search traffic.
Most SEO audits have two things in common:
- they’re too technical;
- they take DAYS (or even WEEKS) to complete!
This one is different.
It takes hours, not weeks, and you won’t need a degree in computer science to follow along.
SIDENOTE. If your site is HUGE—I’m talking hundreds of thousands, or even millions of pages—it may take longer than a few hours. For most small to medium-sized sites, however, this should be doable in hours rather than days.
Here’s a breakdown of the SEO audit process we’ll be following:
- Steps 1–4: check for BIG issues (that may be holding your site back)
- Steps 5–9: uncover easy-to-fix on-site problems;
- Steps 10–12: analyze organic search traffic (and find low-hanging opportunities);
- Steps 13–14: backlink analysis (VERY important!);
- Steps 15–16: content audit AND “content gap” analysis.
As you can see, the aim here isn’t to show you how to do a “technical” SEO audit (which you can do with almost any SEO site audit tool).
The aim is to provide a comprehensive approach to auditing your website from an SEO perspective. This means auditing your rankings, backlink profile, existing content… anything that could be hindering your search performance.
Looking for an even simpler, beginner audit process? Check this video.
Tools required for the SEO audit process
Here are the tools I will be using during the audit process.
- Google Analytics
- Google Search Console
- Google PageSpeed Insights
- Google’s Structured Data Testing Tool
- Ahrefs (7‑day trial)
- SERP Simulator
- Web Page Word Counter
Not all of them are essential, but they will help make the process easier.
Step 1. Check that only ONE version of your site is browseable
In a moment, I’ll show you how to begin crawling your site for SEO issues.
But first, you need to check that only one version of your site is browseable.
Consider all the ways someone could type your website address into a browser (or link to it).
Only ONE of these should be accessible in a browser.
The others should be 301 redirected to the canonical version.
In the case of Simple Life Insure, everything looks fine.
You can see that if we type the HTTP version into the address bar, it automatically redirects to the HTTPS version.
Same goes for the www version. It redirects to the non-www version.
To be honest, the non-www to www issue (or vice-versa) is rarely a problem, but I have seen a lot of sites with redirection issues for http to https.
Even my blog has issues!
So that’s something that should be fixed as a priority.
SIDENOTE. It’s also worth testing this with a couple of other URLs on your site to make sure that the 301 redirects are implemented sitewide.
If all is good, make a note of the canonical version (e.g., https://simplelifeinsure.com) and move on to step #2.
Step 2. Start a website crawl
In a moment, we’ll run through a few more manual checks on the website.
But first, we need to start a website crawl running in the background.
An SEO crawler will spider the site in the same way as Google and give us some useful information on the structure and current SEO setup.
There are quite a few SEO analyzer tools capable of doing this, such as
Both are great options, but as this is the Ahrefs blog, we’ll use Ahrefs’ Site Audit.
Site Audit > New Project > Paste domain in the ‘Scope & seeds’ section > Uncheck any 301 redirects.
For the most part, you can leave the rest of the settings as they are.
This will ensure that Site Audit also checks all external links on your website and any JS links.
When you’re done, hit “Create project.” Ahrefs’ Site Audit will start working away in the background while we continue with the audit.
Step 3. Check Google for indexation issues
Not being indexed in Google = no rankings… ever!
To check that your site is indexed, go to:
Google Search Console > Google Index > Index Status.
mockup of how Google Search Console may look for our example website, simplelifeinsure.com.
Don’t use Google Search Console?
No worries, search in Google using the site: search operator.
This will also tell you how many pages Google has indexed for your domain—it’s just not always as accurate as Search Console.
It’s worth cross-referencing this number with the number of internal pages found during the site crawl (the one we set up in step #1.)
(Of course, you’ll have to wait for this to complete before doing so.)
To do this, go to:
Site Audit > Project > Internal pages.
Hmm, it looks like our crawl discovered 267 pages, so why are only 226 pages indexed?
My first thought is that some of these pages are noindexed. Let’s check.
Scroll down, and you should see a list of errors found during the crawl.
It looks like this isn’t the issue here, as the crawl didn’t uncover any “noindex” tags.
It looks like we’ve found the reason for the discrepancy: only 194 pages are live (i.e., 200 HTTP status) pages; the rest are redirects or broken pages.
But now we have the opposite problem… there are more pages indexed in Google than live pages on the site.
So what gives?
If we go back to the site: search and sift through the pages, here’s what we see:
It looks like Google is indexing elements of the homepage as separate pages.
These have no content on them—in fact, they’re broken—and should be removed from the index.
Step 4. Check that you rank for your brand name
Go to Google and search for your brand name.
Unless your site is very new (or the brand is a very generic phrase), I would expect to see your site as the first organic result.
I would also expect this first result to be your homepage.
If you don’t rank in position one but do rank further down in the results, then chances are Google thinks another site is a more appropriate result for that term branded term.
For example, take Beamer.
It looks like they’re currently in position #12 for the branded term “beamer.”
This is one of the issues you run into when you use a generic word as your brand name; it can be difficult to rank because most people don’t want to see your website when searching for the “branded” term.
So what’s the solution?
Brand building and link building.
That means doing things like:
- building some strong, branded links;
- running a PR campaign (i.e., getting mentioned and linked-to from big well-known websites)
- building some citations on business directories;
- making sure the site has a Google Business listing;
- ensuring the site has a presence on all the major social networks.
Do that, and you should slowly climb up the ranks.
Remember, searcher intent drives the #1 result.
If most people searching for the “branded” term are looking for your business, then Google will start to demote the other sites and push you to the top.
But what if you’re nowhere in the SERPs?
If you’ve ruled out indexation problems (which you should have!), then I’d say this is a strong indication of deeper problems, such as heavy algorithmic or manual penalties.
I recommend checking Google Search Console for any indication of penalties.
Ideally, this is what you want to see:
Step 5. Manually perform some BASIC on-page SEO checks
Let’s start by checking a few on-page fundamentals.
I recommend starting with the homepage, but you should also do this for other important pages on your site.
We’re just going to have a quick check on some basic on-page SEO here.
To make things easy, we’ll ask a few questions:
- Does the page have a well-crafted, clickable title tag?
- Is there a custom meta description? Is it optimized for maximizing click-throughs?
- Is there only one instance of the H1 tag? Is it well-optimized?
- Are subheaders (H2, H3, etc.) being used correctly?
SIDENOTE. Google’s John Mueller has previously stated that having multiple H1-tags on a webpage isn’t an issue. Still, we think it’s good practice to try to include only one. Not necessary just for SEO purposes, but also because having multiple headers may be distracting and confusing for your visitors.
Let’s start by checking the title tag.
<title>Instant affordable life insurance quotes – SimpleLifeInsure.com</title>
First, let’s make sure that it isn’t truncated in the search results.
Looks good to me!
SIDENOTE. Here’s a tool you can use to check title tag pixel length. It saves having to check manually in the SERPs.
It also appears to be well-written, and I imagine it would entice the click.
But does it contain a relevant keyword with decent search volume?
Let’s check the search volume for “affordable life insurance” in Ahrefs’ Keywords Explorer.
But it turns out there’s more search volume for the parent topic: “life insurance quotes.”
I think Simple Life Insure must be Ahrefs’ users because they already incorporated this keyword seamlessly into their title tag.
OK; let’s move on to the meta description.
It’s important to note that the meta description does not directly influence your ranking.
But a well-written and enticing meta description can help get you more clicks.
SIDENOTE. If we assume that CTR is a ranking factor (which it almost certainly is), then meta descriptions do have the power to indirectly affect rankings. I.e., if a well-written meta description leads to an increase in CTR, this will likely have a positive knock-on effect on rankings.
Think of it as your advert in the search results.
A good meta description should communicate key USPs for the product or service you are offering.
For example, an e‑commerce site could include points like “FREE delivery,” “No quibble returns,” “Cheapest prices,” etc.
Here’s the current meta description for Simple Life Insures homepage:
I think that does a pretty good job.
So no change required.
Let’s check the headers (and subheaders).
The H1 tag is still an important on-page ranking factor.
So it’s good practice to use a single unique, descriptive, H1 tag on each page.
SIDENOTE. Just to reiterate, this isn’t a huge issue, according to Google. But I still recommend aiming for one H1-tag per page.
For the homepage, you will want to:
- communicate the site’s primary purpose;
- include 1 or 2 highly relevant keywords in the process.
Here is the current H1 tag:
<h1>Compare Affordable Life Insurance Quotes within 1 Minute</h1>
Great. It looks like they’ve incorporated both “affordable life insurance” and “life insurance quotes” into their H1-tag too.
But what about the subheaders?
Subheaders should be used logically to break up each page’s content. They also provide us with a great opportunity to target secondary keywords/phrases.
Try to avoid using generic phrases (“more information,” “details,” etc.) in subheaders.
Simple Life Insures homepage makes good use of subheaders and does not require amendment.
Step 6. Dig deeper into more on-page issues in the crawl report
Unless you have a HUGE site, your crawl report in Ahrefs’ Site Audit should now be complete.
So it’s time to dig deeper and fix any other important on-page issues.
Site Audit > Project > Internal Pages > HTML Tags.
Here you will see a list of all on-page issues found during the crawl.
I recommend fixing any Errors before moving on to Warnings and Notices.
You can also check the Social Tags, Content Quality, and Outgoing Links reports to make sure that all on-page issues are fixed.
Step 7. Check for duplicate and thin content
Google HATES duplicate content.
Too much of it and your site can get crushed by Panda.
Content duplicated across multiple pages on your site is bad. But when it’s duplicated on other website’s, it’s even worse.
You can easily find potential duplicate content issues across the web with Copyscape.
Enter a URL, and it will kick back any duplicate results.
For this particular search, there are five results.
Let’s take a deeper look at what’s causing this duplicate content.
It’s getting flagged because a lot of other sites are using a similarly worded disclaimer.
(In all honesty, it’s probably just a stock disclaimer that everyone uses.)
This isn’t anything to worry about.
I would only be concerned if I saw other websites scraping (i.e., stealing) vast quantities of content from this website, such as entire blog posts.
The issue here is that Google can get confused as to who is the original author of the content, causes the wrong version of the page to rank.
If you spot any “stolen” or syndicated content like this, make sure they link back to the original content on your site from the duplicate version (ideally with a rel=”canonical” link).
Anyhow… duplicate content isn’t the only content-related issue you should be aware of.
Thin content (i.e., pages with very little written content) can also be a problem.
This is because they provide little to no value, and often struggle to rank as a result.
You can use a tool like this to check for thin content manually.
Enter the URL, and it’ll kick back the word count.
Step 8. Check that your site (and individual pages) load FAST
It has long been confirmed that site speed is one of Google’s many ranking factors.
We also saw a small correlation between page load time and Google position in our study of 2M pages.
But studies aside, it’s clear that a fast loading site provides a better user experience than a slow loading site.
So it’s always good practice to ensure that your website loads as quickly as possible.
Google’s PageSpeed Insights Tool is a good starting point for this. But it’s a bit hit and miss.
Step 9. Check for structured data errors
The next step in our audit process will be to test any structured data that the site may contain and ensure it is properly formed.
Examples of content that may benefit from the inclusion of structured data include:
- Product information;
But you can mark up any type of content to a certain degree (just don’t spam!).
We can use Google’s Structured Data Testing Tool to test existing structured data.
Paste in the URL you wish to test and hit “Run test.”
Google will evaluate the structured data for the page and return any errors.
Step 10. Analyse organic search traffic
Clearly, any SEO audit aims to identify ways to increase a website’s traffic.
So it makes sense to take a look at how the site is currently performing.
We’ll run a few reports in Google Analytics to give us a quick overview.
First, we’ll look at the site’s current organic search traffic.
The data for March 2018 shows an average of around 1,800 visitors a day from search.
Acquisition > Overview > Organic Search.
From the same report, we can click on “Landing Page” to discover which pages are currently bringing in the most search traffic.
A broad spread of landing pages (in this case there are 269) would suggest the site is in reasonable health.
Step 11. Check that rankings are heading in the RIGHT direction
Google Analytics will tell you how much organic search traffic you’re getting.
But it won’t tell you how your rankings are progressing.
Let’s use Ahrefs’ Site Explorer to check this.
Site Explorer > Enter domain > Overview.
Click on the Organic Search tab and take a look at Organic keywords.
It looks like rankings are on the rise! So nothing to worry about here.
If this shows a decline, it likely means that your rankings are decreasing across the board.
This could be for any number of reasons (e.g., out of date content, Google penalty, etc.)
In this case, you would need to investigate further.
You can also make sure that rankings for specific keywords are heading in the right direction with the Organic Keywords report.
Hit the graph icon, and it’ll show how your rankings have fluctuated over time.
Step 12. Find pages ranking in positions 5–10 for high-volume keywords
Ranking at position 5 for high-volume keywords sounds pretty good.
That is until you look at the difference moving up just a couple of positions could make to your traffic.
The good news is, that if you are already ranking reasonably well, a little proactive SEO should be enough to push you into the top spots.
So we need to look for high-volume keywords where we rank in positions 5–10.
Doing this with Ahrefs’ Site Explorer is easy.
Site Explorer > Enter domain > Organic Search > Organic Keywords > Position (5–10) > Volume (1K+)
We’ll then get a list of keywords (and content) we can focus on for some quick wins.
So how do we boost these pages and push them into the top spots?
There are a few options:
- Add some more internal links to the pages
- Build some fresh backlinks to the pages
- Update and relaunch the content
- Make sure on-page is optimized for the exact keyword
Step 13. Analyze your backlink profile
Next, we’ll be using Ahrefs to conduct a quick, manual audit on the site’s link profile.
For now, we’re just looking for any standout issues.
Let’s start with: Site Explorer > Overview.
First things first, looking at the Referring domains graph, it’s clear that the number of referring domains pointing to the Ahrefs blog has been steadily increasing.
Step 14. Find and fix broken links to (and from) your site
Broken pages (and links) on your site waste so-called “link equity.”
So you want to find and fix these issues asap.
To find broken pages, go to:
Site Explorer > Pages > Best by links > add a “404” filter.
Sort the results by RD (Referring Domains) to see which broken pages have the most inbound links.
Work through this list and fix the errors as appropriate.
This will involve either:
- replacing the content;
- redirecting the broken page (to a relevant live page);
- leaving as a 404 (this is fine for pages with no backlinks)
Step 15. Find “content gaps”
What’s a content gap?
It’s a keyword that your competitors currently rank for, and you don’t!
That’s something you’ll want to rectify.
There’s a simple report you can run in Ahrefs’ Site Explorer to find content gaps.
We’ve cunningly called it Content Gap.
But first, you’ll want to figure out who your closest competitors are in search.
To do that, run the Competing Domains report.
Site Explorer > Enter domain > Organic search > Competing Domains.
The report will show sites where we found a big overlap in keyword rankings with your domain.
Ignore any marketplace type sites like ebay or Amazon, along with any “big” generic sites like Quora or Forbes.
I sifted through the Competing Domains report for the Ahrefs blog and plucked our three sites that I consider to be close competitors.
Now I’ll head over to the Content Gap report and enter those three competitors.
Site Explorer > enter domain > Organic search > Content gap > enter competitors > Show keywords
Right away, we can see some high-volume keywords that may be worth targeting.
SIDENOTE. If you’re running an Ecommerce store, this can also give you some good ideas on new products to stock.
If you run out of ideas, rinse and repeat this process with even more competitors!
Step 16. Conduct a full content audit
The final step in our audit process might sound a little unintuitive.
That’s because it will often involve deleting a load of pages from your site.
So how will that help to increase search traffic?
The short answer is that lots of low-quality (or underperforming) pages can drag your whole site down.
A couple of years ago, we deleted over 200 low-performing posts from the Ahrefs blog and quickly saw a nice increase in our search traffic.
Here was our strategy in a nutshell:
- Find low-quality pages with little to no organic search traffic;
- If they can be improved, then update them and relaunch;
- Otherwise, delete them and redirect (301) the URL to a relevant page.
It was so successful that we’re actually in the process of doing this a second time!
A word of warning, however:
Be very careful when taking a knife to your site.
Your first choice should be to improve the content and relaunch.
But if something is low quality and not worth the hassle of updating, then go ahead and delete it. Just be sure to set up a 301 redirect to a relevant page, so you don’t lose any link equity.
SEO audit = complete!
By following these steps, you should have uncovered lots of changes you can make to your site to improve your rankings.
A full forensic SEO audit is a much lengthier process (taking anything from a few hours to a few days, depending on the size of the site). But this process is a great way to kick start any new SEO campaign and get a feel for how a site is currently set up.
If you wanted to continue digging, you could now go back to the crawl report (in Site Audit) and take a more detailed look at the site’s structure, internal linking, etc.
But, in this case, we’ll leave that for another day…