SEO Audit: How To Analyze Your Site And Boost Your Rankings (Step-By-Step)

SEO audit guide

Google is a complex beast. For every search query, there are literally HUNDREDS of signals that determine where your site will rank.

And while some signals are more important than others…

…they ALL count. Each one is a part of the SEO pie.

But here’s the thing:

Checking all of these signals manually just isn’t possible. This is where SEO audit tools (like Seobility) come in.

An SEO audit tool will crawl your site in the same way Google does. And it will highlight the issues that might be holding you back in search.

Most SEO audit tools will also give your site a score that looks something like this:

SEO audit score

As well as an overview of the most important things holding your site back.

list of errors found by Seobility

In this guide, I’m going to show you:

  • How to perform a technical SEO audit using Seobility
  • How to spot the most important improvement points for your website
  • How to fix the issues you uncover during the audit to improve your SEO and increase your search traffic

Let’s get started!

What’s an SEO audit and why are they so important?

An SEO audit is a structured method for getting a clear overview of how well your website is optimized. In essence, it’s a report consisting of a long list of SEO factors and how well your site or page is optimized for each one.

SEOs and webmasters use audits to get a clear picture of a website and uncover the most important improvement points, helping them develop their SEO strategy and prioritize tasks. Without a clear picture of the current situation, it’s nearly impossible to develop an effective SEO strategy. This is why audits play such an important role in SEO.

Now, this may lead you to think that an SEO audit is a one-time thing where, once you’ve completed the most important fixes, you can simply sit back and watch the money roll in.

But, as we’ll discuss next, this is far from the case…

There will always be SOMETHING you can improve

Nobody’s perfect. And neither is any website.

There. I said it.

You can spend days, weeks, and months tweaking things. But there will always be SOMETHING you can improve.

I can guarantee that every SEO on the planet has received a message like this:


I was just sent a free report by {some SEO company sending out automated emails} and it says we have 23 images missing alt text? I thought you optimized the website?

Hugs and kisses,
Your client”

They’re not wrong. But the chances are you:

  1. Already know about that
  2. Are prioritizing other tasks. Tasks that will move the needle a little quicker.

Because when it comes to SEO, there’s a hierarchy. It goes something like this:

Critical > Important > We should probably do that > Would be nice to fix > Yeah, alt text… um… pass the beer nuts…

Most time and effort will go into “critical” and “important”. As it should. The clue is in the name.

And as most healthy sites are growing, building, adding new content, there will always be new critical/important tasks to work on. Basically, unless a site is COMPLETELY static, SEO is an ongoing process.

Pre Audit Checklist

Before diving into the technical audit, there are a number of manual checks I recommend performing on any site.

We’ll run this in the form of a checklist (you can click to jump to each section):

  1. Know your key metrics
  2. Does the website rank for its brand name?
  3. Do URL variants 301 redirect to the preferred URL?
  4. Does Google’s reported number of indexed pages look “about” right?
  5. Does the site have speed issues?
  6. Does the site pass Google’s Core Web Vitals Assessment?
  7. Does the website pass Google’s other Page Experience factors?
  8. Are there any other issues in Google Search Console?
  9. Is the website’s tech up to date?
  10. Does the website look trustworthy?

1. Know your key metrics

Before starting the audit, it’s a good idea to assess your website’s key metrics.

Which metrics you want to track may vary from one site to the other, but some of the most common metrics to track include:

Since audits are something you do regularly, keeping track of your most important metrics will help you understand the results of the changes you make over time.

Note: Seobility allows you to track your rankings and backlinks, so you can use our software for monitoring these metrics. Google Analytics and Google Search Console can be used for the others.

2. Does the website rank for its brand name?

Unless your website is very new, or you have a dictionary word/common phrase as your company name, you should always rank for your brand.

If you don’t? That’s a big red flag that your site might be under penalty.

So Google your brand name and make sure you’re up top.

In this case, it’s all good.

ranking for brand name

Although Google asks us if we meant “noobnorm” with no space. So let’s check that too.

ranking for brand variant


There are a few other things worth checking in the SERPs too, namely:

  • If there is a knowledge panel, is it about your brand?
  • How many of the top-10 results are about your brand?
  • Does your brand have a good reputation in the SERPs?

Brand searches are an important way for people to find you online and branded SERPs also provide you with a good insight into how Google sees your brand. Issues with any of the things mentioned above are vital to include in an audit.

3. Do URL variants 301 redirect to the preferred URL?

Your website should only be accessible one way.

What does that mean? Well here are 4 ways people might try and pull up (or link to) your website:

  1. (unsecure without www)
  2. (unsecure with www)
  3. (secure without www)
  4. (secure with www)

If each of these was independently accessible, we could have problems with:

  1. Google figuring out which version to rank
  2. Duplicate content
  3. Splitting link equity between “different” sites

Confused? Don’t worry, when you run an SEO audit with Seobility we’ll check this for you.

If it’s all good, you’ll see a green “Ok” in the checklist on the right-hand side of your dashboard…

project checklist

And we also have a free, stand-alone tool that makes this a piece of cake to test!

Head over to our Redirect Check, enter your website address, and choose your preferred URL format (Target Base-URL):

redirect check

In this case, we can see that everything is set up correctly.

redirect check results

But if you see any errors, then check out our guides to www redirects and HTTP to HTTPS migration for details on how to configure your redirects.

Or if you’re running WordPress, there are some useful plugin recommendations in this guide from WP Engine.

4. Does Google’s reported number of indexed pages look “about” right?

Indexation problems are one of the big technical issues that SEO audits can uncover. And they most definitely fall into the “critical” category.

They can work both ways.

A site could have too many pages indexed, or too few. Both issues need urgent attention.

A deeper audit will surface specific problems. But I recommend a quick check to make sure that Google’s reported number of indexed pages is “about” right.

You can find the number of indexed pages for your site in Google Search Console’s “Coverage” report.

google search console indexed pages

In this case, we have 266 indexed URLs.

Which closely matches the total number of posts, pages, and categories on the site. So on a quick check, all is well with indexation.

Tip: When checking this report, it’s also worth checking whether there are any strange drops or spikes in indexed/excluded pages. These things aren’t always a cause for concern, but if you see any major fluctuations it’s important to know why they occurred.

5. Does the site have speed issues?

There’s no getting away from it.

Speed matters.

It’s one of the few confirmed ranking factors.

And it’s been becoming more important for SEO over the past few years.

I’m not going to go too in-depth here. We’ve covered the topic in detail in this Page Speed Optimization Guide. But I will say that speeding up your site is something that’s worth spending time on.

How to test your site’s speed

I recommend testing your site’s speed in both Google’s PageSpeed Insights tool and GTmetrix.

Pay attention to what those tools tell you.

The Waterfall report in GTmetrix is particularly helpful for finding out which scripts/requests are slowing things down.

waterfall report - gt metrix

How fast should your site be?

Ultimately, you want your site to be as fast as possible.

But a good target is scoring 90+ in Google PageSpeed Insights (mobile and desktop), and a load time of under 2 seconds in GTmetrix.

Noob Norm currently scores between 95 and 99 on mobile (depending on the page).

pagespeed insights - mobile

And 99-100 on desktop (again depending on the page).

pagespeed insights - desktop

Load times are generally under 1 second in GTmetrix.

gt metrix - load speed

To get under a second took a fair amount of work. But for most content sites running on WordPress, a load time of between 1 and 2 seconds should be achievable.

Here are some tips:

  • Use a lightweight theme (I recommend Generate Press)
  • Use a caching plugin (I’ve tested a ton and WP Rocket is the best)
  • Combine and minify your scripts and CSS files, then move them to the footer
  • Load those scripts asynchronously or deferred
  • Go easy on fonts, they slow things down
  • Go easy on plugins
  • Lazy load your images
  • Swap out YouTube embeds for preview images that load the scripts on click
  • If you’re running ads, defer them until after the page has loaded
  • Try and get requests (shown in the GTmetrix Waterfall report) down to a minimum

For more tips, check out our full page speed guide.

6. Does the site pass Google’s Core Web Vitals assessment?

In 2021, Google’s Core Web Vitals became an official ranking factor.

So… what are Core Web Vitals?

Well, they’re all about page (read user) experience.

Speed is a big part of that. Specifically:

We’ve already covered speed above.

But another important metric is “Cumulative Layout Shift”.

What is cumulative layout shift?

Ever browsed a site, tried to click something, and all of a sudden the layout changed as ads (or something else) load? You’ve experienced cumulative layout shift.

It’s annoying right? And Google wants you to keep it to a minimum.

How to test core web vitals

The good news is that Google will tell you whether you’ve passed or failed their Core Web Vitals assessment in Search Console.

Google Search Console > Experience > Core Web Vitals

The report will look something like this:

Core Web Vitals report in Google Search Console

You can find out more by clicking on “open report” and then click on an issue to see the individual pages affected:

why URLs aren't considered good

As you can see, LCP and CLS issues are common culprits. When I ran this report for Noob Norm, CLS happened to be the main issue:

CLS issues

You can use this cool stand-alone tool to test and debug a page’s CLS.

Once you’ve fixed any issues on your site, you can click into the Search Console report and hit “Validate Fix” to let Google know you’ve been paying attention 🙂

validate fix in google search console

Further reading:

7. Does the website pass Google’s other Page Experience factors?

We’re getting a bit layered now…

Page Speed is part of Core Web Vitals. And Core Web Vitals is actually part of a wider ranking signal called “Page Experience”.

The page experience section of GSC can be found in Search Console > Experience > Page Experience.

Page Experience overview

So in addition to speed and CLS, you should also check the following:

Is the website mobile-friendly?

Hopefully, the answer here is yes. If not, then stop anything else you’re doing and work on that. It’s 2023.

Is the website secure?

There’s no excuse for not running HTTPS.

If you’re not then grab a free certificate from Let’s Encrypt and follow our guide.

Does the website feature intrusive interstitials?

There’s nothing wrong with ads. They’re an essential part of the online economy.

But annoying interstitials, pop-unders etc need to go the way of the dodo.

Follow the guidelines from the Coalition For Better Ads to make sure your ads are user-friendly and you’ll be golden.

8. Are there any other issues in Google Search Console?

Google Search Console is a treasure trove of information.

Unfortunately, not every single report can be covered here. But here are a number of important ones including where they can be found:

Manual actions (Security & Manual Actions > Manual actions)

Shows you whether the site has any manual actions preventing it from ranking.

Google Crawling Stats (Settings > Crawl stats)

The crawl stats report is a hidden gem that gives you an insight into how Google is crawling your website. The most important things to look out for in this report are spikes or gaps in crawl requests, download size and response times.

9. Is the website’s tech up to date?

When was the last time you updated WordPress? Which version of PHP does your server run?

If the answer is… um… dunno, then this section is important!

The main things to focus on here are your:

  • CMS
  • Plugins
  • Database
  • Server

Making sure everything is up to date helps reduce the likelihood of your website being hacked and helps to maintain your website speed.

Note: If you’re not comfortable with making these changes yourself (or are on shared hosting), ask your hosting provider to help.

And… ALWAYS make backups before upgrading server/CMS software.

Let’s start with the server.

Upgrading PHP

According to W3 Techs, 77% of websites currently run on PHP.

But only 12% are running PHP version 8.

usage of different PHP versions

Why does this matter? Because old versions of PHP are no longer patched and are open to exploitation.

But it gets worse.

Because we’re actually now on PHP 8.2. And everything up to (and including) PHP 7.4 has reached “end of life”. So even if you run PHP 7.4, your site is vulnerable.

And according to the official WordPress stats, an alarming 77% of WordPress sites are running outdated versions of PHP…

What does this have to do with SEO?

Well firstly, getting hacked ain’t going to do much for your rankings. But if that doesn’t convince you…

Upgrading PHP will speed up your site.

If you’re using WordPress, you can find out which version of PHP your site is currently running in the WordPress “Site Health” report:

wp site health - php version

While you’re there, take note of your WordPress version (under WordPress) and database version (under Database) as we’ll be using them in a moment.

Upgrading database

Again, this is all about speed and security.

You’ll want to make sure that your website is running MySQL 5.6 or higher, as previous versions have reached end of life.

Alternatively, if you’re an open source fan, you might want to switch to MariaDB. Personally I also think MariaDB is also a little faster, but that’s up for debate.

Make sure WordPress is up to date

Click here to skip this section if you’re not using WordPress.

If you log in to WordPress and see this…

update wordpress

…then don’t ignore it!

Again, keeping your WordPress install up to date will help to keep your site secure and fast.

Generally, it’s going to be a “one click” job.

one click wordpress update

But as always, take a backup first in case anything goes wrong.

Make sure all plugins are up to date

Speed, security… you know the drill by now.

If you see something like this, it ain’t good.

out of date wordpress plugins

So fix it.

You can update all outdated plugins in a couple of clicks from the “Update Available” tab.

bulk update wordpress plugins

Take a backup first 🙂

And to finish cleaning things up, I’d also recommend deleting any inactive plugins. Clear out the clutter!

10. Does the website look trustworthy?

Like speed, trust is a topic in its own right.

It’s the most important aspect of E-E-A-T (Expertise, Experience, Authority, Trust), which is an important aspect of Google’s Quality Rater Guidelines. We go into this in more detail in our post on E-E-A-T.

However, the key takeaway is that if both Google and your users trust your site, then good things happen. And part of building that trust is being transparent about:

  1. who you are
  2. why you are the right person/organisation to cover a topic
  3. how you collect/use customer data

So make sure your site has:

  1. A well-written “About Us” page
  2. A comprehensive privacy policy, which details ALL personal data you collect and how you use it
  3. A contact page which makes it easy for visitors to get in touch
  4. Writer profiles that show readers who wrote the blog posts and articles on your site

And make sure they are easy to find/clearly displayed.

Technical SEO audit walk-through

There are many different types of SEO audits, ranging from basic auto-generated reports to huge documents that take SEOs weeks of full-time work to produce.

In this section, I’ll walk you through a general technical SEO audit using the Seobility website audit and a number of other tools. You can add or remove different factors covered in this audit to tailor it to your own situation.

Before we get started, however, we need to get everything set up…

Getting started

There are hundreds of factors an SEO audit can cover, which is why audit tools are so important.

So, before diving into any individual factors, let’s run a website crawl with Seobility..

If you don’t have a Seobility account already, then grab one here to follow along. The free plan will allow you to crawl up to 1,000 pages…

…but I’d recommend signing up for a 14-day Premium trial.


Because you’ll be able to re-crawl as you fix things. Otherwise, you’ll need to wait for 3 days to verify your fixes and will have limited access to analysis results.

Seobility Premium allows you to recrawl your website immediately

This is not the end of the world… but will slow things down.

Got your account? Great! Let’s run a crawl.

Head over to your dashboard and click “Add Project”.

Seobility > Dashboard > Add Project

seobility dashboard - add project

While there are plenty of advanced options (including verifying your site for faster crawls, and crawling as Googlebot), we’ll keep things simple for now.

Just add your site’s URL, give your project a name, and hit “Add project and start crawling”.

add project - seobility

Once the crawl is complete, you’ll get an overall optimization score, along with subscores for “Tech. & Meta”, “Structure”, and “Content”.

SEO audit score

Throughout this post, I will use one of my own sites ( as an example.

The initial crawl revealed there were no huge disasters. But there were a ton of issues in the “should fix”, “nice to fix”, and “let’s ignore this… look a squirrel” buckets.

We got a score of 77% for “Tech. & Meta”.

tech and meta - initial audit score

And 67% for “Structure”.

initial seo audit score - structure

Definitely room for improvement!

Before we dig into the details, let’s skip to the chorus. Here are the final scores after the audit and fixes.

96% for “Tech. & Meta” (19% improvement)

tech and meta final audit score

And 98% for “Structure” (31% improvement)

structure final audit score

A solid improvement right?

So let’s see how we got there.

Stage 1: Analyzing your website’s “Tech & Meta”

Now let’s dive into the audit generated by Seobility…

Clicking into the “Tech & Meta.” report gives us an optimization score, and a breakdown of all issues uncovered during the crawl.

Seobility > Dashboard > Your Site > Tech & Meta.

initial tech and meta score

The most important issues are highlighted at the top. And we can click on “Show more” to expand the list.

initial seo audit problems

We’ll tackle them one at a time.

But first…

…let’s make our life a little easier.

Speeding up bulk editing in WordPress with WP Sheets Editor

There’s no getting round it, fixing technical SEO issues is time consuming.

The good news is, there’s a nifty plugin that can help speed up the process a ton on WordPress sites.

WP Sheet Editor lets you edit WordPress fields in a spreadsheet format.

wp sheet editor

Which saves you having to go into each individual post, make your edits, update, bang your head against the wall, then repeat…

Believe me, you don’t want to do that.

The basic version of Sheet Editor is free. But I’d recommend adding the categories extension (paid), the media extension (paid), and the YOAST add on (free).

The cost for the paid extensions (I paid around $60 for both) is more than worth the time saved.

Pages with technical problems

If pages on your site are returning 404 errors, server (5xx) errors, or are timing out, they’ll show up in this report.

technical problems

You should look into why these errors are occurring and fix them as a priority.

Although that being said…

Sometimes there are valid reasons for allowing a page to return a 404 status. But if so, make sure that you have a custom 404 page and that you update any internal links (i.e. don’t link internally to the 404 page).


If the 404 page has backlinks, then I’d definitely recommend 301 redirecting it to a relevant page. Otherwise you’re throwing that lovely link equity in the trash!

Issues with title tags

Let’s find out what’s up with our title tags.

Seobility > Dashboard > Your Site > Tech. & Meta > Problems With Titles

page title problems

Looks like we have a mix of titles that are:

  • Too short (20) – unlikely to be optimized
  • Too long (64) – likely to be truncated in search
  • Include Repeated Words (6) – could be over-optimized

As the title tag remains one of the most important on-page ranking factors, it’s in our interest to fix all of the above.

Note: to find out more about title tags and how to optimize them in 2023, jump over to the Meta Title page on our wiki.

Further reading:

Bonus tip for WordPress users: Fixing titles with WP Sheet Editor (Click here to skip this section)

Let’s bring up all our title tags in WP Sheet Editor.

First we’ll select “Edit Posts” from the WP Sheet Editor menu.

edit posts

We’ll get an editable spreadsheet with all posts and fields.

To make it a little easier to use, let’s filter it down by clicking on “Hide / Display / Sort columns” under “Settings”.

wp sheet editor - hide columns

And let’s just show “Title”, “SEO Description” and “SEO Title”.

wp sheet editor - columns manager

Now we’re ready to start editing.

wp sheet editor, filtered columns

The bad news:

We’re going to have to run through all the problematic title tags found by Seobility and fix/rewrite them.

The good news:

Working in a spreadsheet format makes the job much faster. And you can also use the “Locate cell” box to find a specific post quickly.

search for post in wp sheet editor

Once you’re done hit “Save”. But leave the sheet open in its current form, as we’ll tackle meta descriptions next.

Issues with meta descriptions

While not directly influencing rankings, meta descriptions remain an important part of SEO.

We explained why in our complete guide to optimizing meta descriptions.

But in summary: they can help to improve your click-through rate from search.

Shorter summary: more traffic!

So let’s take a look at issues Seobility found with our meta descriptions.

We have several that are too long…

meta descriptions too long

They were easy to fix.

But we also have a number of pages that are completely missing meta descriptions.

missing meta descriptions

Depending on the other issues the audit uncovers, this is likely going to be an important fix. Luckily it’s a reasonably quick one – all you have to do is add meta descriptions to these pages!

You can use our SERP snippet generator to check what your title/meta description would look like in the SERPs and whether it’s not too long.

Further reading:

Duplicate page titles / meta descriptions

This will generally be a sign that:

  1. Something has gone wrong and you’re duplicating a page (Ecommerce filters can be bad for this)
  2. You’ve been lazy and just copy/pasted

Either way, it’s something you’ll want to fix.

duplicate page titles and descriptions

Bottom line:

Each page on your site should have a unique title and meta description.

You can probably ignore warnings for some pages

Ok, so here’s a good example of not needing to fix everything.

Sorting out errors, and improving your meta titles and descriptions for most posts, pages, and categories is 100% worthwhile.

But once you’re done, you might end up with something like this:

problematic page titles

Our “About”, “Privacy”, and “Contact” pages are throwing up “Too short” warnings for their title tags.

Now I don’t know about you, but I’m not particularly interested in grabbing search traffic for a privacy policy.

So we can pretty much ignore these warnings.

Sidenote: a perfect score doesn’t necessarily mean perfect optimization

An SEO audit tool will do a good job notifying you about “errors” with your meta tags.

You should definitely pay attention to, and fix these errors.

But doing so (and getting a perfect score) doesn’t necessarily mean that your metas are perfectly optimized.

After all, if a title tag is too short you could just add some “lorem ipsum” text at the end to fill it out…

placeholder text

…you’ll get a green tick, but it will do zip for your rankings.

So don’t just fix for the sake of fixing. Take the time to make each title and meta description as “clickable” as possible.

You’ll get pretty green ticks AND more traffic.

Here’s how to do it for meta descriptions.

Issues with alt text

Every SEO’s worst nightmare:

Missing alt text.

Seobility > Dashboard > Your Site > Tech. & Meta > Pages with missing alt attributes for images

“Mañana, Mañana”

You can ignore this right?

Well… perhaps not.

Because notwithstanding the opportunity to…

  • rank higher in image search
  • and improve accessibility

…this site audit highlighted an interesting example of where fixing missing alt text could make a difference to general optimization.

And I’ll bet that a ton of sites running on WordPress have the same issue.

It’s all to do with Google’s first link priority rule.

What’s the first link priority rule?

The first link priority rule (part theory, but confirmed to have been a part of Google’s algorithm at one point) states that:

If page A links to page B multiple times, then Google will only take into account the anchor text from the first link.

Anchor text helps Google “understand the context” of pages. Which is Googler speak for “makes them rank higher for that keyword”.

And it’s just as important (possibly more so) for internal links as it is for backlinks (links from other websites).

For a full deep dive on internal linking check out our internal linking wiki page and our guide on how to optimize your website’s internal links.

But in short, if you want to rank for “green bananas” you should include the phrase “green bananas” in your internal links to that page.

  • <a href=”greenbananas.html”>green bananas</a> – yep!
  • <a href=”greenbananas.html”>my page about green bananas</a> – yep!
  • <a href=”greenbananas.html”>click here</a> – nope!

So what’s this got to do with missing alt text?

For image links, Google uses alt text as the anchor

We have this one straight from the horse’s mouth:

“Google uses alt text along with computer vision algorithms and the contents of the page to understand the subject matter of the image. Also, alt text in images is useful as anchor text if you decide to use an image as a link.”

Which means:

No alt text on an image link… no anchor text!

And if your category pages look anything like this…

category page

…then that could be a problem.

Because each of those featured images is also a link. The first link.

Bottom line:

If first link priority applies, any featured image that’s missing alt text is creating a “first link” with ZERO anchor text.

Bad times.

This is why the first thing I did was fill in alt text for all featured images. Again, WP Sheet Editor can speed up the process if you use WordPress (more on that in a moment).

Afterwards, I added alt text to all other images that were missing it.

Further reading:

Bonus tip for WordPress users: Finding featured images with missing alt text (WP Sheet Editor) (Click here to skip this section)

If you don’t want to manually go into each post and edit, you’ll need WP Sheet Editor’s media add on (or an equivalent alternative).

Once installed you’ll see the option to edit media in the menu.

wp sheet editor, media

This will bring up a spreadsheet with all images currently contained in the uploads folder of your site, and will also let you know which posts they are attached to.

Clicking on “Search” and then checking “Enable advanced filters” allows us to filter the sheet to show only images which are currently used as the featured image.

wp sheet editor find featured images

It’s then just a case of running down the sheet, filling them all in, and hitting save.

wp sheet editor featured image alt text

Remember this alt text will also be the anchor text for your featured images. So I would recommend just using your “main” keyword for each of them.

Finding (and adding) all other missing alt texts

If your WordPress site has a lot of images, there’s a good chance that:

  1. Some of them will already have alt text
  2. Some will be orphaned and no longer attached to any posts

So I’d recommend filtering the sheet to only show images that are missing alt text and included in at least one post.

You can do that by running an advanced search and setting the alt text field to blank and “Attached to this post” to not blank (!=).

wp sheet editor advanced filter

In our case, this returned 1,128 images which were missing alt text.

images missing alt text

And then it was just a case of running through them all and adding short, descriptive alt texts for each.

Fun. Fun. Fun.

But a few hours later…

Done. Done. Done.

missing alt texts fixed

The lesson?

Always add alt text to your images at the time of posting! You’ll save yourself a world of pain in the future.

Issues with H1 headings

The H1 tag is still pretty important for on-page SEO. This means that it’s definitely somewhere you should be using your main keyword(s).

On WordPress sites, posts should generally be fine (the H1 will be the post’s title). But category archives can be a little sub-optimal.

Why? Because “out of the box”, WordPress will simply show the name of the category, or “{category name} Archives”.

And for top-level categories that can mean a very short, or even one-word H1 tag. Which is leaving a fair bit of room on the SEO table.

h1 tag in category

All the H1 problems picked up by our audit were related to this issue, so this didn’t take too much time to fix.

Further reading:

Pages with robots meta Tag “Nofollow”

A robots meta tag with the noindex, nofollow directive instructs Google and other crawlers to:

  1. exclude a page from their index
  2. not to follow any links on it

If it’s a regular page on your site the “nofollow” part can create a bottleneck (and loss of PageRank) since Google won’t crawl the links. And generally you don’t want that.

But in this specific case it wasn’t really an issue. The nofollow page was created by Cloudflare’s email address protection.

Seobility > Dashboard > Your Site > Tech. & Meta > Nofollow Pages

nofollow pages

If you have the same issue and want to get rid of the warning, you can just add the following line to your robots.txt file to stop crawlers from accessing that page.

robots txt disallow

And that’s exactly what I did.

If you don’t want a particular page to appear in search results, and you don’t want search engines to follow the links on that page, there’s probably no reason for search engines to crawl it in the first place.

Issues with headers

Seobility picked up on a number of issues with headers (h2, h3, h4 etc) on the site.

Seobility > Dashboard > Your Site > Tech. & Meta > Problems with headings

problems with headings

For the most part, I decided to ignore these.

But I’ll show you what I did fix. And I’ll also give you a couple of hints on how you could tackle the other warnings (and why you might want to do so).

Fixing empty headings

First up, there were a number of empty headings.

These were definitely worth fixing.

Some of them were simply excess header tags that had been created at some point in WordPress. They were literally empty, so I went in and removed them.

But others (and this is a common problem I see) were created by WordPress when an image had been inserted close to a heading. So we ended up with something like:

<h3>The Heading</h3>
<h3><img src=”image.jpg”></h3>

It’s just one of these quirky WordPress editor things that can happen.

So why is it a problem?

Well, let’s say you have a list of the 5 best widgets. If you structure your HTML as follows:

<h2>5 best widgets</h2>
<h3>widget 1</h3>
Widget description
<h3>widget 2</h3>
Widget description
<h3>widget 3</h3>
Widget description
<h3>widget 4</h3>
Widget description
<h3>widget 5</h3>
Widget description

Then Google will recognise the H3 headings as a list, and you’ll have a shot at picking up the featured snippet for the “5 best widgets” query.

featured snippet

But if you have blank header tags — or header tags with images in between (which are basically also blank) — then you might lose the snippet.

Bottom line:

Blank header tags are something you should fix.

Document structure

To help Google understand your content, your HTML document should follow a logical structure.

H2 tags should be under H1, H3 under H2, etc:

– Topic (H1)
— Sub Topic (H2)
— Specific part of that sub topic (H3)

Seobility will let you know when things get out of whack.

structural problems

In this case, we can see that we’ve jumped from H3 to H5:

missing header level


So that’s something that we should fix.

Duplicate headings

Ok, so this is one that I ignored.


…if I had unlimited time I probably wouldn’t have.

Take this example:

duplicate headings

On this page, we have a structure that goes:

– Product (h3)
— Features (h4)
— Price (h4)
— Should you buy the {product name} (h4)

And as there are 3 products, we end up with duplications of “features” and “price”.

It’s not a huge problem. But could we improve it?

The answer is YES!

In fact, we could improve these headers for both users and search engines.

Because “features” isn’t particularly descriptive. So instead we could use a heading like:

<h4>What Are The Key Features Of The {Product Name}?</h4>

For users, it’s going to stand out more when they are scanning the page.

And for search engines, it’s reinforcing that the text underneath refers to the features of that particular product.

Indeed, we could go a level further and put those features in a list of subheaders:

<h4>What Are The Key Features Of The {Product Name}?</h4>
<h5>Feature 1</h5>
<h5>Feature 2</h5>
<h5>Feature 3</h5>

Which would give us a better shot at the featured snippet for “{Product Name} Features”.

We could do something similar with “Price”.

<h4>Is The {Product Name} Affordable?</h4>

Of course, doing this for every page is going to take a fair amount of thought and time. Time which is probably better spent on other areas of SEO.

My recommendation? For key pages, it’s going to be worth your while.

For other pages, put it on the “to do” list, but don’t lose any sleep 🙂

“Too Many Headings”

Unless you are going crazy with headings, then you can probably ignore this.

If a heading makes sense, then it should be a heading. It’s not something that should necessarily have a hard limit.

But feel free to disagree with me in the comments 😉

URL parameters

If an audit uncovers indexable pages with URL parameters, then pay close attention — particularly if you’re running an eCommerce site.

URL parameters

Because they’re one of the easiest ways to slip into indexation hell. Google will go nuts on them, and a site with 1,000 actual pages can quickly end up with tens of thousands of near-duplicate pages indexed. Which is very bad news for SEO.

The most common issue is filters on category pages (size, colour, etc).

And the absolute worst of them all is “orderby”.

But fortunately, it’s easy to fix.

Make sure that any filtered/parameterised pages have their canonical URL set to the “main” page.

Over time they’ll drop out of the index.

Pages with error reporting

This happens more often than you might think.

I’ve done it myself when I’ve been debugging something then forgotten to switch off error reporting.

Not good for users or search engines, and a big security risk. So if you see any pages in this report, then make sure you fix the issue!

Non HTTPS content on HTTPS pages

If your website is running on HTTPS (which hopefully it is) then all images and files should also be called via HTTPS.

If not, your users will get a security warning in Chrome and other browsers.

This report will show you any HTTPS pages on which an image (or other file) is being called via HTTP.

Most often I see this on external scripts, but sometimes an image on your own site can be missed—particularly if you’ve switched from HTTP to HTTPS.

Now let’s look at issues Seobility found with our site’s structure.

Stage 2: Analyzing site structure

Site structure has a big impact on SEO.

The Seobility SEO audit highlighted a number of problems with this site’s internal link structure.

structure problems

And also with internal anchor text.

anchor text issues

Overall, the site had an initial structure score of 67%.

Seobility > Dashboard > Your Site > Structure

structure report

Here are the mistakes that Seobility uncovered on Noob Norm and that you might encounter on your own site too.

“Pages with big distance to the homepage”

A homepage will (generally) be one of the most powerful pages on a website.

It normally has a fair amount of link juice to pass around.

And statements from Googlers have confirmed that the number of clicks it takes to get from a homepage to a specific page can be a signal of that page’s importance.

“What does matter for us a little bit is how easy it is to actually find the content. So especially if your homepage is generally the strongest page on your website, and from the homepage it takes multiple clicks to actually get to one of these stores, then that makes it a lot harder for us to understand that these stores are actually pretty important.

On the other hand, if it’s one click from the home page to one of these stores then that tells us that these stores are probably pretty relevant, and that probably we should be giving them a little bit of weight in the search results as well.”

It’s not always possible. But our advice is to try and keep pages to a maximum of three clicks from your homepage.

That could be:

Home > Category > Sub Category > Page

And for your most important pages, you’ll want to try and keep that to two clicks (or even one).

The “Pages with a big distance to the homepage” report shows pages that are more than three clicks away.

Seobility > Dashboard > Your Site > Structure > Pages with a big distance to the homepage

pages with a big distance to the home page

Clicking on “Details” shows the specific click path for the page.

This one is particularly funky…

click path

Overall, the fix was fairly simple.

Turns out that there were several orphaned categories on the site. So all I had to do was add them to the “Explore” page which is linked from the main menu.

second click

And the click depth for the orphaned categories was reduced to two (and their subpages to three).


Problems with external links

You’ve got 100% control of your own site.

But you can’t control other websites. Or more specifically the ones you link to.

Over time they’ll come and go, they’ll switch domains, change URLs….

It’s a pain!

So it’s worth checking your external links periodically for issues….

Seobility > Dashboard > Your Site > Structure > Problems with external links

broken links

…and then fixing them!

Broken links are bad for users and bad for search engines.

Fixing them shows Google that:

  • you care about your site and its content
  • you’re keeping it up to date

Sidenote: I’ve found this to be a particular problem with citational links to scientific journals/studies. My advice for these is to create an archive of the page when you link to it. That way you can link to the archive version if the original is ever taken down (which seems to happen fairly regularly). Of course if the scientific advice has changed, you might also want to update your article!


If your site has been around for a while there’s a fair chance that you might have changed URLs on some pages.

And if you’ve been following SEO best practices, you’ll have set up 301 redirects pointing the old URLs to the new ones.

Which is totally fine.

Google has confirmed several times that there is no PageRank dilution for a 301 redirect.


…I’d still recommend updating any internal links to point directly to the new URL. It just keeps things neat and tidy.

The “Redirects” report will show you internal links which are redirecting to other pages.

Seobility > Dashboard > Your site > Structure > Redirects

redirects report

If there’s not too many, you’re probably best just to run through them one at a time and update them.

But if there are lots of redirected links for specific URLs, you could use a plugin like “Better Search Replace” to find and replace them all at once.

search and replace in wordpress

I’d recommend taking a backup first!

Unoptimized internal link anchors

I covered the importance of internal anchor text in the section on fixing issues with alt text.

But to recap, it’s one of the biggest hints to Google about the topic of a page.

Page on red shoes? Use “red shoes” or variations of this keyword in the anchor text of any internal links pointing to that page.

And for the most part, avoid generic (we call them “trivial”) anchors like “click here”.

The “Internal link anchors that need improvement report” does exactly what its name suggests…

…it shows you internal links that are poorly optimized.

When I first ran the SEO audit for Noob Norm it seemed like we had a lot of them.

Seobility > Dashboard > Your Site > Structure > Internal anchor texts that need improvement

internal anchor issues

But it turns out that most of these were due to missing alt text (ergo zero anchor text) on images.

We’d already fixed that. And when I re-ran the audit, all the “Empty” anchors were gone.

internal anchor issues fixed

While I could have spent the time to update the few remaining “Trivial” anchors, I decided that this would be overkill.

But if you see lots of pages with trivial anchors on this report, then that’s something you’ll want to pay attention to.

Every “click here” is an opportunity for further optimization!

Anchor text cannibalization

What’s anchor text cannibalization?

We know that Google uses anchor text as a (strong) hint about the topic of a page.

Which means if you link to multiple pages with the same anchor text…

…you’re going to confuse them!

Should they rank page A or page B for that keyword?

Or neither…

Long story short:

It’s best to not use the same keywords to internally link to multiple pages. We want to make Google’s job as simple as possible.

It wasn’t a huge problem on Noob Norm, but there were a few links/pages that needed attention.

Seobility > Dashboard > Your Site > Structure > Identical anchor text for different pages

anchor text cannibalization

This one is a good example:

playing golf anchor text

We’re using the anchor text “playing golf” to link to three different pages.

Which means we’re making Google’s job super tough.

So what to do?


Pick the page that’s the best fit for the keyword. Then either:

  1. update the anchor texts pointing to the other pages, or
  2. change all the links to point to the “best fit” page (leaving anchor texts alone)

In this case I chose the “How to play golf” page as the best fit for the keyword and went with option 2.

Clicking “Details” for the other pages shows me which links (or in this case link) I need to update.

duplicate anchor text details

I worked my way through the report until all the anchor text issues were fixed.

Redirect loops

Redirects are (kind of) ok. Although as I mentioned before, I recommend updating any internal links to point to the new page.

But redirect loops are not.

They’ll send Google (and users) spinning round in circles.

Basically, page a will redirect to page b, then page b might redirect back to page a or somewhere else… a never ending journey.

Seobility will find them for you.

And here’s a pretty detailed guide from Kinsta on how to fix them.

Pages with a lot of internal links

Why should you avoid too many internal links on a page?

Well firstly, Google may stop following them after a while. There’s some debate on when that would happen (is the cut off 150, 400, 500?). But one thing’s for sure, there’s going to a point when Googlebot says “enough is enough… I’m out of here!”.

Perhaps more importantly though, the more pages you link to from a page, the less link equity/PageRank each linked page gets.

As an illustration, let’s say you have a solid link asset on your site that’s attracted a ton of backlinks. That’s a powerful page.

And if you link internally to 3 other pages, each of them is going to get a third of the “link juice” that page has to pass on. They’ll get a nice boost.

On the other hand if you link to 100 pages from that same article, each page is going to get much less power fed through to it.

While the PageRank will continue to flow round the site (it won’t be lost), its impact on individual pages is going to be heavily diluted.

In summary:

If you see a lot of pages in this report you might want to look into your internal linking. A restructure could give key pages a boost.

Canonical link errors

Canonical links are important for ensuring Google indexes the correct version of a webpage.

There are a number of ways they can go wrong, and this report will pick them up.

You can find out more about canonical links over on our wiki.

Stage 3: Finding content-related issues

Content-related issues are a broad topic which often benefits from manual analysis alongside tool-based reports.

However, the content section in the Seobility audit offers a great starting point.

The report will look something like this:

Seobility > Dashboard > Your Site > Content

list of errors found by Seobility

Some of the most common issues include…

Pages without (or with very little) text

Generally (although not always), it’s best to have some indexable text content on a page.

The most common offender here will be category pages.

I’d recommend adding at least a paragraph or two. But make sure you write for your readers, not for search engines.

Balance is key here, as you don’t want to turn your category pages into blog posts, either!

Duplicate/common content

Duplicate content isn’t quite as big a deal as it used to be.

Seobility’s content audit covers both “Content that appears on several pages” (also called “common content”) as well as “duplicate content”.

Common content includes text blocks that are included on multiple pages. Common content won’t harm your SEO efforts, but it’s worth checking the report to see if there’s no unnecessary common content on your site.

Duplicate content refers to duplicate “main” content and pages, like duplicate blog posts, product pages etc. This can cause various SEO issues if not dealt with correctly and is therefore an important part of any audit.

In the past, too much duplicate/common content would see your whole site slammed. But these days any penalty is likely to be a little more granular (i.e. they’ll drop a page, not your entire site).

But with that being said, try and keep duplicate content to a minimum.

Pages competing for the same keywords (AKA keyword cannibalization)

Generally you shouldn’t try and target the same keyword on multiple pages.

Otherwise you’ll leave Google guessing on which page they should rank…

…and invariably they’ll pick the wrong one!

If you have multiple pages that are currently targeting the same keyword then consider either:

  1. combining them into one page (and 301 redirecting the other URLs), or
  2. setting one of the pages as the canonical URL

You’ll have a better shot at ranking.

Further reading:

Pages with typos

Everyone makes typos fram tume to timr….

This report will pick them up so you can fix them 🙂

Other important errors and crawling details

The Seobility content report covers more than just the aspects mentioned above.

Other things worth taking a closer look at include:

  • Pages with little text
  • Pages with very much text
  • Pages with duplicate paragraphs
  • Pages using keywords in page title/H1 but not in its body text
  • Pages with filler text and images

Most of these things are considered “grey areas” and aren’t necessarily good or bad. They also don’t warrant their own section in this blog post…

That being said, any pages that come up in these reports are worth taking a look at, as in some instances, it could indicate a problem that needs fixing.

The end result

As I revealed earlier, I didn’t quite hit 100%, but I got close.

“Tech & Meta.” jumped from 77% to 96%.

tech and meta before and after

And “Structure” jumped from 67% to 98%.

structure before and after

Could I have got a 100% technical SEO audit score?


But it would have involved going into hundreds of pages and updating header tags. Then optimizing anchor texts for pages like “About Us”.

And there comes a point when the effort outweighs the rewards…

So I decided to leave it there.

Which answers a few common questions people have when it comes to SEO audits.

“Is it possible to get 100%?”

Yes. It is definitely possible to get a 100% SEO audit score.

“Do you actually want to get 100%?”

In an ideal world, possibly. In the real world, once you fix the big things you’re going to get into diminishing returns on your time.

So probably not.

“What does that score actually mean?”

If you get an SEO audit score of 95% does that mean your site is 95% optimized? Could you improve it by 5%?

Will you get 5% more search traffic if you do so?

Well, no.

because as I also said… there will always be something you could fix.

Plus, any score is going to be specific to the tool and the SEO ranking factors it tests.

What SEO audit score should you aim for?

There’s no hard and fast rule.

You should fix things that need to be fixed. And you should do so based on the importance of the issue and the time you have available.

Gun to my head?

I’d say aiming to get over 90% for Tech & Meta. and Structure would be a good target.

At least if you’re using Seobility…

Because there’s one other question that we haven’t answered yet.

What do other SEO audit tools say?

To illustrate, I also ran Noob Norm through some other SEO audit tools (after the fixes).

Scores varied from 80 to 90 depending on the tool, and tools that use a letter system to score the site generally returned an “A”.

Which proves that a site’s SEO audit “score” is ultimately just a number (or a letter). Google doesn’t use these tools to rank websites and there are other metrics that tools like this can’t take into account, like website traffic and how it compares to other sites.


The two HUGE advantages of SEO audit tools are that they:

  1. Highlight technical issues that may require attention. Issues that are easy to miss on a manual check.
  2. Save you a TON of time. After all, who wants to manually check HUNDREDS of pages? Not me that’s for sure.

In other words, it’s the analysis by the tool that’s important, not necessarily the “score”.

And once you know what’s up, it’s up to you to prioritize what you want to fix.

Because until we hit the singularity…

Human > Machine.

Bonus: how well do top SEO blogs score?

To further illustrate that an SEO audit score of 100% is (extremely) rare…

And for the bantz…

And so I could email them about this post (evil laugh)…

I decided to run audits on a few popular (and recommended) SEO blogs. Namely:

  1. Diggity Marketing
  2. score of Diggity Marketing

  3. Gotch SEO
  4. score of Gotch SEO

  5. Detailed
  6. score of Detailed

  7. Matthew Woodward
  8. score of Matthew Woodward

So it looks like Diggity Marketing’s site is currently the best of the bunch.

But while some of the scores seem low, that’s not to say the sites aren’t well-optimized. It’s mainly those niggly things we all ignore that are resulting in lower scores.

Let’s recap

This guide had two main aims:

To demystify SEO audits. And to help you discover and fix some of the most common SEO issues.

An SEO audit tool (like Seobility) can help you find those issues quickly.

But fixing them is going to take time and hard work. There’s no getting round that.

I should also point out that the process I went through was far from exhaustive.

For example:

  • I could have gone in page-by-page and audited the content and UX
  • I could have spent a lot more time looking at the site’s current performance and how it compares to other sites in its industry
  • I could have spent more time diving deeper into the keywords the site targets and what the SERPs look like for those keywords

Overall, I spent around 20 hours on the audit and fixes. I could easily have spent double that, triple even, and I still wouldn’t be “done”.

There’s always something you can improve.

And one final point…

If you run an audit on your site and see a low score, then don’t let that get you down. It’s a good thing… as it means there’s lots of room for improvement 🙂

So sign up here to run an SEO audit on your own site.

And if you have any questions (or just want to tell us how much you hate filling in alt text) then please drop a comment below. We’re standing by ready to answer them!

SEO tools used in this SEO audit guide

PS: Get blog updates straight to your inbox!

David McSweeney

David combines 20+ years of experience in SEO with the passion for teaching people how to optimize their websites the right way. Unsurprisingly he loves SEO and writing. That's why David focuses on the particularly advanced SEO topics on the Seobility blog.

3 thoughts on “SEO Audit: How To Analyze Your Site And Boost Your Rankings (Step-By-Step)

Michael h bell
24. July 2023 4:03

very helpful information. i use Seobility every day and with it have ranked my website to the very top of google!
Liberty Party Jumpers

    24. July 2023 16:12

    That’s great to hear, Michael! Thanks for your comment 🙂

27. May 2023 18:56

Thanks for the amazing article, David. As an owner of a small business with far from a big enough budget to spend on seo optimizing businesses articles like this help a lot in climbing the google positions!

Leave a Reply

Your email address will not be published. Required fields are marked *