SEO Audit: How To Optimize 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. Which 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

Which raises a few questions:

  1. What does that score actually mean?
  2. Is it possible to get 100%?
  3. Do you actually WANT to get 100%?

In this guide I’m going to answer those questions.

And I’m going to do that by:

  • Running step-by-step through a live technical audit on one of my own sites
  • Fixing the issues I uncover (and explaining why they need to be fixed)
  • Attempting to get as close to “100%” as I can

More importantly:

You can follow along to find out how to fix these (common) issues on your own site, improve your SEO, and increase your search traffic.

But before we get started, an admission…

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, months tweaking things. But there will always be SOMETHING you could 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.

So with that out the way, let’s dive in.

Technical SEO audit walk-through (is it possible to score 100%?)

via Whisper

Fans of Back To The Future will know that “If you put your mind to it, you can accomplish anything.”

But unless you have access to a Delorean, or at least a spare flux capacitor, time is always going to be the limiting factor.

Nevertheless, giving myself a rough time scale of “a few days”, I set out to see how much I could improve a site’s “score” in Seobility’s audit tool.

Here’s how it went.

The baseline

As this process was going to involve a lot of technical tinkering I decided to use one of my own sites ( for the SEO audit.

I ran the site through Seobility’s audit tool to get an initial score.

The first audit 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: Pre-audit checklist

Before diving into a tool based SEO 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 the section):

  1. Does the website rank for its brand name?
  2. Do URL variants 301 redirect to the preferred URL?
  3. Does Google’s reported number of indexed pages look “about” right?
  4. Does the site have speed issues?
  5. Does the site pass Google’s Core Web Vitals Assessment?
  6. Does the website pass Google’s other Page Experience factors?
  7. Is the website’s tech up to date?
  8. Does the site include these 3 important pages?

1. 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


2. 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.

3. 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.

4. 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 only going to get more important for SEO over the coming years.

I’m not going to go too in-depth here. We’ll be covering speed in a future post. 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 hints:

  • 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

Our full page speed guide will be coming soon. But in the meantime, Varvy is probably the best page speed resource on the planet.

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

Google recently announced that from 2021 Core Web Vitals will be a 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, and all of a sudden the layout has 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 > Enhancements > Core Web Vitals

google search console, core web vitals

As we can see, Noob Norm is currently failing the Core Web Vitals test on mobile.

Which ain’t good.

Clicking into the report tells us why.

cumulative layout shift

Turns out cumulative layout shift (CLS) is the culprit. So let’s figure out what’s up.

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

website cumulative layout shift

WAY too high.

Browsing the site on mobile revealed it was the logo in the header causing the CLS.

I’ve seen this on a few sites and it seems to be a quirk of Generate Press. Although the aggressive script deferrals (for speed) could also be to blame…

Either way, it was easy to fix.

All I had to do was turn on “Mobile Header” in the WP customizer, and set “Branding Type” to Site Title.

wp customizer

And the CLS was completely eliminated.

website cls fixed

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

validate fix in google search console

Further reading:

6. 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 (or future one) called “Page Experience”.

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 2020.

Is the website safe to browse?

Unless you’ve been hacked (or are a member of the dark army) then hopefully the answer here is yes.

But it’s worth running your site through Sucuri’s SiteCheck to look for any issues.

sucuri site check

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.

7. 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!

Let’s start with the server.

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.

Upgrading PHP

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

But only around half are running PHP version 7.

php version statistics

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 7.4. And everything up to (and including) PHP 7.1 has reached “end of life”. So even if you run PHP 7.1, your site is vulnerable.

And according to Kinsta, an alarming 64% of WordPress sites are running outdated versions of PHP…

“over 35% of WordPress users are still on PHP 5.6 or lower. If you combine this with PHP 7.0 and 7.1, a whopping 64% of users are currently using PHP versions that are no longer supported as of December 2019.”

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…

…PHP 7 is roughly twice as fast as PHP 5.

Bottom line:

Upgrading PHP will speed up your site.

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.

We can see that Noob Norm is currently running on PHP 7.3.

But when I started this process it was running the now retired PHP 7.0.

server config

The site is hosted on a Cloudways VPS, and upgrading was as simple as selecting a later PHP version from the PHP dropdown in “Settings & Packages”.

upgrading php

But if you need help with upgrading, or are just not comfortable with technical changes like this, then ask your hosting provider for assistance.

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

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!

8. Does the site include these three important pages?

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

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

  1. who you are
  2. 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

And make these 3 pages upfront and easy to find. They should be linked from EVERY page!

Stage 2: Running a full SEO audit with Seobility

It’s time to get technical and start boosting our site’s SEO audit score!

Which means that, first things first, we’ll need to run an audit.

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

new Seobility pricing

…but I’d recommend signing up for a (7 day) premium trial.


Because you’ll be able to re-crawl as you fix things. Otherwise you’ll need to wait 24 hours to verify your fixes and will have limited access to analysis results. Which is not the end of the world… but will slow things down.

Got your account? Great! Let’s run an audit.

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

At the moment we’re interested in Tech & Meta, and Structure.

Let’s crack on with the fixes!

Stage 3: Fixing issues with “Tech & Meta.”

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.

Fixing issues with post title tags

Clicking on “Show results” for one of the errors, lists the specific problems which were picked up by the crawl.

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 2020, jump over to the Meta Title page on our wiki.

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 post 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.

Further reading:

Fixing issues with post 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 in 2020.

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 on our open posts sheet.

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

missing meta descriptions

And most of these are actually category pages. We’ll deal with them in a moment.

Further reading:

Fixing issues with category titles/meta descriptions

You probably don’t (and shouldn’t) have too many categories. So going in one by one and editing titles/meta descriptions isn’t going to be too much of a soul destroyer.

But again, WP Sheet Editor can speed up the process.

You’ll need the categories and tags add on.

wp sheet editor, categories and tags

You can keep your category titles and meta descriptions relatively simple. But there’s definitely an opportunity to

  1. make them more clickable
  2. optimize for a couple of extra keywords.

By default WordPress will just use the name of the category for the title, and the meta description will be blank.

Which makes for a pretty ugly search snippet.

unoptimized category snippet


Without too much overthinking, we can quickly improve this.

Here’s the new snippet for the above category (previewed in our free SERP snippet generator tool).

optimized search snippet

We can quickly roll out something similar across all categories in our sheet.

optimized category metas

And we’re done.

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.


…for the sake of “science” I actually went ahead and wrote custom titles and meta descriptions for these pages.

privacy policy snippet

The result? Five minutes of my life I’ll never get back, and a perfect score for page titles and meta descriptions.

meta descriptions perfect score

Sweet! However…

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.

Fixing 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 or this monster guide from Shaun Anderson.

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.

Which is why the first thing I did was fill in alt text for all featured images.

Again, WP Sheet Editor speeds up the process.

Finding featured images with missing alt text (WP Sheet Editor)

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.

An alternative, quicker method for missing featured image alt text (with some drawbacks)

Your other option is to edit your archive template and set alt texts for featured images to default to the parent post’s title.

I decided against this as it would result in:

  1. alt texts that are a little long,
  2. anchors that are not exact matches for each post’s target keyword

But that’s your call 🙂

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.

Further reading:

Fixing issues with H1 headings

The H1 tag is still pretty important for on-page SEO. Which 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 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.

The fix?

I cheated a little bit here and simply changed the archive template (on my child theme) to output YOAST’s SEO title directly into the H1 tag.

This was the code I used for Generate Press:

generatepress archive template

I feel that (although effective) this fix isn’t the cleanest. So if you can think of a better alternative, then please let me know in the comments!

Either way, it worked…

h1 fixed

And all H1 issues were gone.

h1 problems fixed

Further reading:

Fixing 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.

Fixing 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.

Fixing 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.

Fixing 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 🙂

Fixing “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 😉

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

Stage 4: Fixing issues with 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’s what we fixed.

Fixing “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).


Fixing 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!

Fixing redirects

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!

Fixing 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” 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…

…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!

Fixing 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 b.

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.

And while there was a lot more I could have worked on—more on that in a moment—with the clock striking “just under three days” I decided to leave it there.

Let’s take a look at the final scores.

The end result

As I revealed at the start of this section, I didn’t quite hit the 100%, but I got close.

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

tech and meta before and after

With the only remaining issues being with header/bold tags.

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

structure before and after

With just the odd link left that could perhaps do with better anchor text.

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 damage to your mental health outweighs the potential SEO benefits…

So I decided to leave it there.

Which answers two of the questions I posed at the start of this guide.

“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 SEO audit score should you aim for?

There’s no hard and fast rule.

You should fix things that need 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?

The other question I posed at the start of this article was:

“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.

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

Ahrefs gave the site an “Excellent” score of 99%…

ahrefs audit score

While Neil Patel’s tool was less impressed…

neil patel score

(although that 80% score still warranted a “Great” rating… thanks Neil!)

Another (pretty limited) tool I came across simply gave the site an “A” score, seemingly marking it down for “Social”.

seo audit ratings

Which proves that a site’s SEO audit “score” is ultimately just a number (or a letter).


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.

Other issues to look out for in an SEO audit

I decided to focus on technical SEO issues for this guide.

But even then, it’s not exhaustive.

Here’s a quick overview of some other common issues that you might uncover while auditing your site with Seobility.

I’ll order them by priority.

Note: I’ve given brief descriptions of each issue below. But you’ll also get an overview (like the one below) at the top of each report.

Tech. & Meta

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!

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 titles and meta descriptions

Bottom line:

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

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.


Redirect loops

Redirects are (kind of) ok. Although as I mentioned in the main audit, 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.


Here are some common content issues that you might encounter on an audit.

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!

Duplicate content

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

A few years ago too much duplicate 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 it to a minimum.

Competing pages 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.

Pages with typos

Everyone makes typos fram tume to timr….

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

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. Gotch SEO
  3. Detailed
  4. Matthew Woodward

No huge detail here.

But I’ll show you how each scored. And I’ve also picked out one issue on each site that I’d recommend looking at.

Here are the headline numbers:

seo blog audit scores

So it looks like Matthew Woodward’s blog is currently the best of the bunch for technical SEO.

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 the lower scores.

Here’s each site’s biggest niggle.

1. Diggity Marketing

I’d say the biggest issue with Matt Diggity’s site was speed.

The audit reported that 39 pages had slow response times.

Seobility > Dashboard > Your Site > Tech. & Meta > Slow response times

diggity - slow response times

Testing one of the pages with Google’s PageSpeed Insights…

diggity - pagespeed insights

and GT Metrix…

gt metrix

showed the same.

So what’s slowing that page down?

A peek at the GT Metrix waterfall report shows it’s mainly scripts…

gtmetrix waterfall scripts

…and fonts.

gtmetrix waterfall fonts

So if I was Matt I’d try and cut them down.

Update: 19th October 2020

We reached out to Matt and his team and it turns out that when I conducted the tests they were in the process of making some UX improvements on their site. And recognizing that speed had become a bit of an issue, they quickly set to work speeding up their load times. So top marks for responsiveness to the team at Diggity Marketing!

2. Gotch SEO

Nothing majorly wrong on Nathan’s site.

But here’s something I’d recommend fixing.

The Seobility “Problems with external links” report revealed that a number of images on the site have their source domain set as (HTTP).

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

gotch external links

And while those URLs do redirect to gotchseo (not ideal but passable), they redirect to HTTP rather than HTTPS.

http redirect

So that’s something that’s definitely worth sorting out.

A quick search and replace in the database for should do the trick.

3. Detailed

There are quite a few titles and meta descriptions that could perhaps use some attention on Detailed.

But ignoring them for now, I’d say the biggest issue that would be worth fixing is broken external links.

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

detailed external link problems

There were 83 problems found in the audit. And while a lot of them are just redirects (or temporarily unavailable), there are definitely quite a few links that are broken.

Swapping them out shouldn’t take too long and would be a quick win.

Of course, if you have an alternative site for one of those broken links, it might be worth hitting Glen up before he fixes it 🙂

4. Matthew Woodward

Again, not too many technical issues on Matthew’s site.

But he does have the same problem I did with images — an absence of alt text creating empty anchor links to a number of pages.

matthew woodward, blank anchors

So that might be worth fixing.

And generally, missing alt text was one of the most common issues on all the SEO blogs above.

Like I said, us SEOs always push that to the bottom of the list.

Now where did I put those beer nuts…?

Let’s recap

This guide had two main aims:

To demystify SEO audit scores. And to walk you through the process of fixing some of the most common issues that SEO audits uncover.

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 optimized content
  • I could have spent a lot more time optimizing metas
  • I could have spent more time optimizing internal links

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.

I should also point out that while this guide focuses on WordPress, most of the issues I went through would also apply to other platforms (although the fixes may vary slightly).

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 you guys how to optimize your 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.

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

Saroj Alam
19. February 2021 9:48

Awesome actionable technical seo tips for beginners.

    David McSweeney
    1. March 2021 16:40

    Thanks Sarjoj!

How to Make Money Blogging in 2021 ($203k in Year -
3. February 2021 14:51

[…] scaling your content strategy, conducting ongoing SEO site audits, and outsourcing aspects of your writing process, you 200x your backlink acquisition and Domain […]

How to Make Money Blogging in 2021 ($203k in Year One) – Affiliate Weapon
18. December 2020 14:00

[…] scaling your content strategy, conducting ongoing SEO site audits, and outsourcing aspects of your writing process, you 200x your backlink acquisition and Domain […]

Brian Wheatley
9. October 2020 20:11

Excellent article on Seobility. I use it on both my sites and had a massive improvement in both seo and rankings. Be great though if you wrote a bit about wix seo as well as wp.

    David McSweeney
    10. October 2020 19:59

    Thanks Brian, glad you had success with improving your rankings 🙂 We generally cover WP as it is the most popular CMS, but will certainly consider some tips on Wix in the future.
22. September 2020 17:37

I’m a regular visitor of your site and your free SEO tool is amazing. Every times I use your tool when i feel need improve to my blog SEO. This article also very helpful to improve the SEO.

Thank you so much.

    David McSweeney
    28. September 2020 13:20

    Glad to hear you’re finding our tool helpful. Good luck with your site!

Felix Hesse
19. August 2020 16:54

Well, these tips about speeding up my website helped me out greatly. Thank you so much David!

    David McSweeney
    20. August 2020 18:49

    No problem Felix – glad you found the tips helpful!

Umen Dom
9. July 2020 12:13

This is so helpful. All the info I need on one place. Your seo tool is great, I’m using it almost every day to improve my website.
My problem is the duplicated contend on all pages, such as: add to cart, next page, etc, 1,2,3,4

    David McSweeney
    9. July 2020 16:54

    Thanks Umen, good luck with implementing the improvements!

9. July 2020 6:08

Nice Post

    David McSweeney
    9. July 2020 16:55

    Thanks Rakish!

Leave a Reply

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