Technical SEO audit

A technical SEO audit tool that shows its evidence

SEO Sentinel crawls a client site and reports what it found, how sure it is, and which root cause to fix first, across seven categories of checks.

Every finding comes with proof and a fix

Each issue lists the evidence it is based on (“Title length: 72 characters”, the parser error, the rule source) and a recommendation written for whoever will fix it. Structured-data findings say which rulebook they come from: JSON syntax, Schema.org, or Google’s rich-result documentation.

Grouped by root cause. The same broken menu link on 300 pages is one fix, not 300 problems. View → Grouped by root cause shows unique URLs and occurrences per cause, so you start with the template change that clears the most pages.

SEO Sentinel Issues tab: severity filter buttons (all, confirmed errors, warnings, opportunities, notices), search and category filters, and a warning for a missing required structured-data property with its rule source.
Screenshot from the public interactive demo. The agency and websites are fictional.

What the audit checks

Seven categories. Thresholds such as title length, click depth and thin-content word count are adjustable per client, and each report records the values it used.

Technical

  • HTTP status of every URL (a 301 stays a 301, not the final 200)
  • Redirect chains and redirect loops
  • Fetch failures reported as unconfirmed, never as broken
  • XML sitemap URLs that are not 200, are noindex or canonicalise elsewhere

Indexability

  • A technical indexability status for every page, with reasons
  • Meta robots and X-Robots-Tag noindex
  • Canonicals from the HTML and the HTTP Link header
  • Canonical targets that error, redirect, are noindex, blocked or chained (confirmed only when the target was crawled)
  • Conflicting signals such as noindex + canonical to another URL

Structured data

  • Invalid JSON-LD syntax (an error: search engines can read none of the block)
  • Schema.org basics: @context, @type, URL/date/number formats, conflicting @ids
  • A documented subset of Google rich-result rules for Article, Product, FAQPage, BreadcrumbList, LocalBusiness and Organization
  • Sites are never flagged for not using a schema type

International (hreflang)

  • Annotations merged from HTML, HTTP headers and XML sitemaps
  • Invalid language/region codes, with common mistakes explained (en_US, en-UK)
  • Missing return links and missing self-references
  • hreflang targets that are broken, redirect, are noindex or canonicalise elsewhere

Internal links

  • Broken internal links grouped by destination, most-linked first
  • Links that pass through redirects
  • Inlinks, anchor texts and click depth for every page
  • Sitemap URLs not discovered through crawled links
  • Empty and generic anchors (“click here”, English only)

Images

  • Missing alt attributes (empty alt="" is only a notice: correct for decorative images)
  • Missing width/height (layout-shift risk)
  • Broken and large same-site images, verified with header-only requests

On-page

  • Missing or duplicate titles, descriptions and H1s
  • Title and description lengths against adjustable thresholds
  • Skipped heading levels and empty headings
  • Possibly thin content, measured on main content only
  • Exact and near-duplicate content (SimHash estimate)

Severity that separates fact from advice

Severity levels
SeverityMeaning
Confirmed errorsVerified problems: broken pages, links, images or canonicals; invalid JSON-LD; broken hreflang pairs.
WarningsLikely problems, or problems that couldn’t be fully confirmed.
OpportunitiesAdvisory improvements based on thresholds you can change per client.
NoticesInformational and often intentional, such as a canonical pointing to another URL.

“Opportunity” thresholds are rules of thumb, not Google requirements. A 65-character title is not an error.

Technical indexability, not “indexed”

Every crawled page gets a status (indexable, non_indexable or unknown) with reasons such as an HTTP error, redirect, noindex or a canonical pointing elsewhere. URLs blocked by robots.txt are never fetched and are counted separately.

“Technically indexable” means nothing on the page prevents indexing. Only search-engine data, such as Google Search Console, can confirm what is actually indexed, and SEO Sentinel never claims otherwise.

Coverage you can see

Inlink counts, return links and canonical targets depend on which pages were crawled. When an audit hits its page limit, the report says so, and targets that weren’t crawled are labelled “not verified” instead of guessed.

What it does not do

  • No JavaScript rendering. Titles, links or structured data injected client-side may be reported as missing. Likely JavaScript shells are flagged.
  • Not a full structured-data validator. It covers a documented subset of Schema.org and Google rules. Confirm important markup with Google’s Rich Results Test.
  • Up to 1,000 URLs per audit. Large sites need a sampling strategy or a dedicated enterprise crawler.
  • No ranking, traffic or index-coverage data. Connect those insights from Search Console yourself.
  • Image checks are same-site only and depend on the Content-Length header for size.
Learn

Open a real audit report in the demo

Browse issues, broken-link priorities, crawled URLs and audit details for fictional client websites, exactly as the dashboard shows them.

SEO Sentinel is in private beta. Nothing is for sale yet and no card is ever requested.