Skip to content
Siteory

SEO · 4 min read

Website SEO audit checklist: what actually needs a fix

Most SEO audit tools dump hundreds of warnings. This checklist separates blockers from noise so a developer can ship the next fix.

Published · Updated

A website SEO audit is a structured pass over crawlability, on-page metadata, internal links, and index signals. The useful output is not a score. It is a short list of issues a developer can verify and ship.

Siteory writes that list as Markdown so you can paste it into Cursor, Claude, or Codex. The checklist below is the same order the audit uses.

What should an SEO audit check first?

Start with whether search engines can fetch and keep the page. If robots.txt, noindex, or a broken canonical hides the URL, title-tag work does not matter yet.

Check these first:

  • HTTP status on the homepage, key templates, and XML sitemap URLs
  • robots.txt rules that accidentally block CSS, JS, or indexable paths
  • meta robots and X-Robots-Tag values on HTML responses
  • canonical tags that point at a different host, a parameter URL, or a 404
  • whether the sitemap lists only 200 URLs you actually want indexed

A page that returns 200 and a self-referencing canonical is ready for on-page work. A page that returns 301 to a different template is a crawl problem, not a copy problem.

Titles, descriptions, and the homepage mistake

Title tags still decide the first line of a search result. Google often rewrites them, but a unique 30–60 character title with the primary phrase near the front remains the safest default.

The homepage is where most products fail this test. A title like "Home" or only the brand name wastes the strongest URL on the domain. A better pattern is the job the product does, then the brand:

  • Primary phrase first: website audit, SEO audit, security headers
  • Brand at the end
  • One promise, not a keyword list

Meta descriptions do not rank pages by themselves. They do decide whether someone clicks. Write 120–160 characters, include a call to action that belongs to that page, and do not open by repeating the title word for word.

Siteory flags missing titles, duplicate titles, and descriptions that are too short or reused across templates. Those are high-leverage because one layout file often fixes an entire section.

Headings and the outline search engines actually see

One H1 that matches the page intent is enough. Extra H1s usually come from a shared header component and dilute the outline.

H2s should read like the questions a visitor would type. That helps people scan, and it gives answer engines a clean passage to quote. Skip heading levels. An H4 under an H1 is a renderer bug, not a writing style.

When you review a report, look for:

  • Missing H1 on landing templates
  • Multiple H1s from marketing sections
  • Heading text that is only a product codename
  • Empty heading tags left by a CMS

Internal links that keep important URLs out of the orphan pile

Orphan pages are URLs in the sitemap or in ads that no indexable page links to. Crawlers can still find them, but they inherit almost no internal importance.

Every public page should have at least one descriptive inbound link from a related page. Blog posts should point at the feature pages they describe. Feature pages should point at pricing and the audit flow. Footer links help, but they do not replace in-body links with specific anchors.

Avoid "click here". Use the name of the destination: SEO audit, AI search audit, pricing.

Images, alt text, and weight

Decorative images should have empty alt. Content images need 10–125 characters that describe the image, not the filename. A report that says "image1.png missing alt" is useful. A report that tells you to stuff keywords into every alt is not.

Heavy hero images delay Largest Contentful Paint. Compress them, set width and height, and keep the LCP image in the first response when you can. Core Web Vitals use INP now, not FID. Interaction delay is a separate pass from image weight.

Structured data without deprecated types

JSON-LD is the format to keep. Add only types that match the page: Organization and WebSite on the homepage, SoftwareApplication for a SaaS product, BlogPosting on articles, BreadcrumbList on nested URLs.

Do not add HowTo schema. Do not add FAQPage just to chase a rich result. Google retired HowTo rich results in 2023 and retired FAQ rich results for every site in May 2026. Leftover FAQ markup is not an emergency, but it is not a ranking project either.

Read the longer list in JSON-LD schema types that still work.

How to turn an audit into a pull request

A developer-ready report names the URL, the evidence, the file that likely owns the tag, and the smallest change that would clear the finding.

That is the difference between a score and a fix plan:

  1. Confirm the finding in the live HTML, not only in a rendered screenshot
  2. Fix crawl blockers before copy
  3. Deduplicate titles at the template layer
  4. Add internal links from pages that already rank
  5. Re-scan the same URL after deploy

If you want that list generated from a live crawl, run a Siteory SEO audit. One free scan is enough to see whether the next hour should go to robots.txt or to the homepage title.

See what your website is really exposing.

Run an audit and get a prioritized view of what to fix.

No credit card required.