All articles
·by · Manilla Services·SEOAudit tehnicSearch ConsoleCore Web Vitals

How to run a technical SEO audit: an 11-step checklist with free tools

What to check, in what order and with which free tools: indexing, robots.txt, sitemap, canonicals, redirects, speed, mobile, titles, structured data, hreflang and AI readiness. With real examples from our own site.

A technical SEO audit checks whether Google can find, read and correctly index your pages. It does not look at how well you write, but at the foundation: whether the door is open, whether the path is clear and whether the page loads fast enough to matter.

Below are the 11 checks we run on every audit, in the order they matter. All of them can be done with free tools. Where we had problems ourselves on manilla-services.ro, we tell you exactly what we found.

What you need

1. Indexing: what Google actually sees

Open Search Console → Pages. The report tells you how many pages are indexed and, more importantly, why the others are not. The most common messages:

MessageWhat it meansWhat to do
Crawled – currently not indexedGoogle read the page but did not find it useful enoughStrengthen the content, link to it from other pages, request indexing
Discovered – currently not indexedGoogle knows about it but has not read it yetUsually resolves itself; internal links help
Excluded by "noindex" tagThe page itself asks not to be indexedCheck whether that is intentional
Duplicate without user-selected canonicalGoogle sees several copiesSet the right canonical (step 4)

A real example: the English version of our PHP2Shell page sat on "Crawled – currently not indexed" for a few days. After an indexing request from URL Inspection, it got indexed.

2. robots.txt and noindex

Open your-site.com/robots.txt. Look at the Disallow lines: none should block pages you want to see in Google. The most expensive mistake we see is a Disallow: / left over from the staging site after launch.

Then check the noindex tag: in URL Inspection, "Indexing allowed?" must say Yes on important pages.

3. The XML sitemap

Three conditions:

  1. It exists (usually at /sitemap.xml) and is submitted in Search Console → Sitemaps.
  2. It lists only pages that return 200 and are canonical: no redirects, 404s or noindex pages.
  3. It updates itself when you add pages.

A sitemap full of dead addresses tells Google you do not take much care of the site.

4. One site version and the right canonical

Your site has four possible addresses: http://, https://, with www and without. All of them must lead, through a single 301 redirect, to the same version. A quick check in the terminal:

curl -sI http://your-site.com | grep -i location

Then, on every page, the <link rel="canonical"> tag must point to the page's exact final address. A wrong canonical means Google indexes a different page than the one you want.

5. Redirect chains and 404 errors

A redirect chain (A → B → C) loses time at every step and dilutes signals. A loop (A → B → A) never loads. Internal links must lead straight to the final page.

For 404 errors there is the Pages report in Search Console ("Not found (404)"). Not all of them are serious: a 404 on a page you deleted on purpose is normal. A 404 on a page you still link to is the real problem.

6. Speed: Core Web Vitals

In PageSpeed Insights, the top section with real data from visitors matters more than the lab score. Google's thresholds for "good":

MetricWhat it measures"Good" threshold
LCPHow long until the main content appearsunder 2.5 s
INPHow fast the page responds to a clickunder 200 ms
CLSHow much the page "jumps" while loadingunder 0.1

The most common causes: large unoptimized images, fonts that block rendering, JavaScript loaded needlessly. We wrote about them in detail in Core Web Vitals in plain language and in a case study with numbers.

7. Mobile and accessibility

Google indexes the mobile version of your site. Run Lighthouse (F12 → Lighthouse → Mobile) and look at the Accessibility section: low contrast, tap targets too small, skipped headings.

A real example: on manilla-services.ro, Lighthouse gave us 94 for accessibility. Three causes: two texts with 4.3 contrast (the minimum is 4.5), footer column titles marked H4 right after an H2, and a language button whose accessible name did not start with its visible text. After the fixes: 100.

8. Titles, descriptions and H1

On every page:

Duplicate titles across dozens of pages ("Product – Shop") tell Google the pages are interchangeable.

9. Structured data

Structured data (JSON-LD) tells Google explicitly what is on the page: a company, a service, a product, an article, FAQs. You validate it with the Rich Results Test and track it in Search Console → Enhancements.

A real example, found during an audit of our own site: a client review was linked to the company in both directions (company → review and review → company). Google flagged a "directional conflict" on every page. The fix was one line of code: the review placed directly inside the company. "Optional" warnings such as "Missing field" block nothing; errors do.

10. Hreflang, if you have several languages

Every page must point to all its language versions, including itself, and the relationship must be reciprocal: if RO points to EN, EN must point back to RO. Add an x-default too. Wrong hreflang means visitors from Romania get the English page, or the other way round.

11. Readiness for AI search

Google AI Overviews, ChatGPT and Perplexity cite pages that:

An llms.txt file is a cheap extra that some AI tools read, but it is not a Google standard and does not replace the points above.

What to do with the list

Do not fix everything at once. Put every problem you find on two axes, impact and effort, and start with high impact and low effort: a forgotten noindex, a wrong sitemap, a canonical pointing to another page. These take minutes to fix and can unlock entire pages.

Speed optimizations and restructuring come after. They take longer, but the foundation has to be right first.

When an outside audit is worth it

The list above shows you what is wrong. The hard part is usually the fix: knowing where in the code the problem lives and solving it without breaking something else. If you went through the 11 steps and have a list you cannot fix yourself, that is where we come in: we run the audit and apply the fixes directly in code.

Want the audit done and the problems fixed in code?See the technical SEO audit A quick free check (3–5 points) before any quote.