The Comprehensive Guide to Technical SEO Audits

By Benjamin Estes

Technical SEO is the discipline responsible for determining whether the implementation of a website is reducing the organic search traffic coming to that site, and then fixing those implementation problems. A technical audit uncovers such issues.

Why use a checklist?

Get the audit checklist

An excellent technical audit inspects many things in many places. Without keeping track, you might forget what you’ve done—or what you have yet to do. Checklists are perfect for keeping track of this complexity. They’re simple tools with lots of benefits. Checklists are:

  • Comprehensive. Without a list, you may still discover obvious technical problems with a site. Using one ensures you remember to check all the relevant boxes.
  • Productive. Working without a checklist takes more effort. At each stage, you have to decide what to do next. The checklist answers this question for you.
  • Understandable. Unfortunately, an intern can’t osmose your intuition! Rigorously defining your work with a checklist lets you delegate audits.

Audits are only as valuable as their impact. Whether you’re a practitioner or an agency partner, your real job begins after you finish the evaluation. You must take the problems you’ve uncovered back to your team, and resolve them.

That being the case, we asked: “Can we design an audit that helps ensure we fix the issues we find?” The result is a checklist is aware of both the technical issues and also how those issues become business concerns. It makes technical audits faster, more effective, and more impactful.

What makes an excellent technical audit?

Once we’ve decided to use a checklist, we need to put the right things in it. Technical SEO has one purpose: to ensure that a website’s implementation won’t decrease traffic from organic search. Everything we uncover should lead back to that assessment. That’s the scope of the audit.

One approach is to organize the checklist by where you’ll look to evaluate that check. You would first look at all on-page elements, then move on to all sitemap issues, and on from there. We’ve got a different approach.

We start by thinking about the conversations we’ll have after we’ve done the audit. Consider this (realistic) statement: “We’re concerned that important content isn’t indexed because URLs crawlers don’t discover our URLs. Submitting a sitemap to Search Console might help fix the problem.” That’s a coherent technical recommendation. It explains the change, and why we need to make it. It has three parts:

  1. Outcome: valuable content isn’t indexed.
  2. Cause: URLs aren’t discoverable by crawlers.
  3. Issue: we haven’t uploaded sitemaps to Search Console.

That’s the logic behind this audit checklist. The structure of the document reflects these three pieces. Take a moment to jump over and inspect it with this model in mind. By now, you’re probably getting the idea—this isn’t just a technical checklist. It’s a tool that helps communicate the importance of your findings.

The structure encourages completeness

Each row of the checklist represents a problem. By asking the right question at each level, we also make it as complete as possible, without adding redundancy. That’s because we’ve applied the MECE principle (“Mutually Exclusive, Comprehensively Exhaustive”). At each level of analysis, we:

  • include all possible problems, and
  • ensure they don’t overlap.

Let’s illustrate using the highest level of analysis. The checklist as a whole investigates whether we have a technical problem with our site that is reducing search visibility. There are three reasons we could lose search traffic because of a technical issue:

  • there is a technical reason good content isn’t indexed, or
  • there is a technical reason indexed content doesn’t rank for desired terms, or
  • there is a technical reason site content isn’t well-presented in search.

These possibilities cover all the problems we could be dealing with (“comprehensively exhaustive”). They also don’t overlap (“mutually exclusive”).

By applying the same way of thinking recursively, we expose all sub-problems in these areas. Then we list all issues that could be causing these sub-problems. The checklist becomes as thorough as possible, without redundant checks that could slow us down.

Technical audit tips

Make a copy

This checklist template is available to the public. When you open it, you’ll discover that you only have view permissions for the master document. To use it, you’ll first want to create a copy:

Mark each row with a status

Mark each issue with Pass, OK, or Fail:

  • Pass means you have no concerns.
  • OK means the issue doesn’t seem relevant.
  • Fail means something appears to be wrong.

When you update an Issue, the grade for the Cause and Outcome will also be updated. If any Issue’s score is Fail, the Cause and Outcome will also Fail.


Find the answer quickly

People new to search engine optimization can still start using this sheet. We’ve now added a Start Here column to make it faster than ever to get started.

For new users of some of these tools, it might not be clear where to find relevant information. The Start Here column points you to the exact place you can find the details you need.

Use the structure to make a recommendation

If you’re the person analyzing the audit results, you want to get a high-level picture quickly. Use the structure of the sheet to simplify that view by filtering for Issue rows.

Filtering for Outcomes and Causes gives you a quick-and-dirty summary of a site’s strengths and weaknesses. That’s the first thing I look at when I see a completed audit:

Filter to see related tasks

If you’re the one doing the audit, you want to get it done as quickly as possible. Take advantage of the structure of the sheet to group things

Take advantage of the structure of the sheet by showing only the issues you’re inspecting right now. Try filtering by the Where column—for Google Search Console, for instance. That will let you grade all Issues for that tool at once.

Get the audit checklist

Updated Sep 10, 2019. Changes include:

  • Remove rows no longer relevant due to retirement of old Google Search Console.
  • Update many rows to refer to reports in new Google Search Console.
  • Remove reference to rel=next/prev markup.

Updated Oct 1, 2018. Changes include:

  • Changed language on some issues to make it clear how they fit in the hierarchy.
  • Removed several redundant lines.
  • Fixed typos affecting meaning of a couple lines.
  • Added new section relevant to mobile-first indexing.

Updated September 13, 2017. Changes include:

  • Made each line easier to understand
  • Added pointers for going straight to the relevant reports in each tool#
  • Changed which tool to use for some rows
  • Added more Google references
  • Removed a couple dubious lines (site speed, HTTP/2)
  • Removed superfluous timing column
  • Removed whole sections that made the audit less MECE
  • Fixed cases where some cells would say “Incomplete” and others wouldn’t

Thanks everyone who has provided feedback over the years!