Help Center/Features/Site Audit: What Every Check Means

Site Audit: What Every Check Means

Every check the site audit runs, what it tests and how to fix it, how the score is built, and what the free public tool leaves out.

Updated Aug 26, 2026 · 15 min read

A red list is only useful if you know what the red means. "Canonical points to a different page" is either a five-second fix or completely fine, depending on the page, and the audit does not tell you which.

This page does. Every check the engine runs, what it actually tests, and what to do when it fails.

What the audit actually does

It crawls your site, not just your homepage. Starting from your site URL, it reads robots.txt, finds your sitemap, discovers internal links, and fetches up to 50 pages four at a time with a 10-second timeout each. Then it runs 49 checks across six categories and scores the result out of 100.

Site Audit entry panel showing the pre-filled site URL, and the three facts under it: takes about 30 seconds, crawls up to 50 pages, 49 site-wide checks across six categories

Every result has two views, toggled at the top of the report: Site-wide and Homepage. Site-wide is the real audit. Homepage runs a reduced set (no duplicate checks, no orphan checks, no crawl depth) because a single page cannot duplicate itself or be orphaned from itself.

Statuses, and what the words mean. A check comes back as pass, warning, fail, or skip. The report labels fails as critical and skips are hidden entirely, so a check that does not apply to your site simply will not appear.

How the score is built

Categories are not equal. Content Quality carries the most weight, and Social carries none at all.

CategoryChecksWeight in the overall score
Content Quality1130%
Technical SEO1422%
Indexability720%
Internal Linking818%
Schema & Structured Data510%
Social & Sharing40%

Inside a category, a pass is worth 1, a warning 0.55, a fail 0. Checks are weighted (a broken canonical hurts more than a missing image dimension), and a check failing on most of your pages gets its weight multiplied by up to 2.5, so widespread problems dominate the number instead of hiding in an average.

Two safety rails then cap the result. Certain checks are guardrails, and failing one caps the whole category at 50 no matter how well everything else scored. Separately, if any check fails on more than 80% of pages the category is capped at 60, and more than 50% caps it at 75.

That is deliberate. A site with perfect metadata and no HTTPS should not score 88.

The guardrails, so nothing surprises you: HTTPS, mobile viewport, robots meta, crawl success, heading hierarchy, thin content ratio, content uniqueness, orphan page ratio, sitemap exists, crawl depth, and schema coverage. Fail one, and its category is capped at 50.

Score labels: 90 and up is Excellent, 70 and up is Good, 50 and up is Needs Improvement, below 50 is Poor.

Technical SEO (14 checks)

The metadata and delivery layer. This is where most first audits bleed points, and also where the fixes are fastest.

CheckWhat it testsHow to fix it
SSL / HTTPSEvery audited page is served over HTTPS. Guardrail.Install a certificate and force a redirect from HTTP. Nothing else on this list matters more.
Title tagPresent, and between 50 and 60 characters. Missing fails, off-length warns.Write titles that land in the range. Google truncates around 60 characters, and under 50 you are leaving room unused.
Meta descriptionPresent, and between 150 and 160 characters.Missing is the fail worth fixing. Off-length is a warning, and the lowest-value item on this page.
H1 headingExactly one H1. Zero fails, two or more warns.Usually a theme issue: a logo or a sidebar widget wrapped in an H1. Fix the template, not the post.
Heading hierarchyHeading levels never skip more than one step (H2 to H4). Guardrail.Almost always someone picking a heading level for its font size. Change the styling, not the level.
Canonical URLPresent, same host, and pointing at this page. Missing or cross-domain fails, pointing elsewhere warns.Add a self-referencing canonical sitewide. A canonical pointing elsewhere is only a warning because it is sometimes correct.
Mobile viewportA viewport meta tag set to width=device-width. Guardrail.One line in your head template. Missing it caps your Technical score at 50.
Robots metaPages are not marked noindex. Guardrail. Cart, checkout, account, search and admin paths are exempt.Find the plugin or template flag doing it. This is the single most expensive accidental setting in SEO.
LanguageThe html tag has a lang attribute.Set it once in your template. Low weight, but it matters more if you publish in more than one language.
HTML response speedFails above 2,500ms or 350KB of HTML, warns above 1,200ms or 250KB.This measures your HTML only, not images or scripts. Slow here usually means server or database, not front end.
Image dimensionsImages carry width and height attributes. Fails when 60% or more are missing them on a page with at least three images.Prevents layout shift. Most modern themes do this already, so a fail points at hand-written HTML.
Crawl successEvery selected page was fetched. Guardrail. Warns if 90% or more succeeded, fails below that.Check the listed paths for 404s, timeouts, or a firewall blocking the crawler.
Duplicate titlesNo two crawled pages share a title (compared lowercase, trimmed).Usually paginated archives or product variants. Differentiate them or canonicalize the copies.
Duplicate meta descriptionsSame test, on meta descriptions.Lower stakes than duplicate titles. Fix the templated ones first.

The crawler identifies itself as Rankspiral-Audit/1.0. If crawl success fails on a site you know is healthy, that is the string to allowlist in your WAF or bot rules.

Content Quality (11 checks)

The heaviest category, and the one that behaves least like a checklist. It is also page-type aware: product and collection pages are never scored on word count, because a 200-word product page is doing its job.

CheckWhat it testsHow to fix it
Content lengthFails under 300 words, warns under 800. Skipped on product and collection pages.Under 300 words is not a page, it is a note. Either expand it or merge it into the page it should have been part of.
Average content lengthAveraged across blog and standard pages only. Passes at 800 words or more.Look at this before you look at any individual page. It tells you whether depth is a habit or an accident.
Heading in contentContent pages have headings, and at least one H2. No headings fails, H1-only warns.A page that stops at the H1 is a wall of text. Add H2s at the natural turns, not every 200 words.
Pages without headingsCounts them sitewide. One or two warns, three or more fails.Fix these before you touch anything else in this category. They are the cheapest wins on the page.
Image alt textFails when half or more images lack alt text on a page with at least three images.Describe what the image shows and why it is there. Decorative images can take an empty alt.
ReadabilityFails above 30 words per sentence on average or paragraphs over 5 sentences. Warns at 24 words or 4 sentences.Split the longest paragraph in each section. That one habit moves this check more than rewriting sentences does.
Content freshnessPasses under 183 days, warns under 365, fails beyond that or when no date can be found at all.Read from your Last-Modified header, time tags, and schema dates. No detectable date is a fail, so publish one.
FAQ structureQuestion-shaped headings or bolded questions. Passes when 25% of content pages have them, warns at 10%.This is an AI-search check as much as an SEO one. Answer engines lift question-and-answer blocks directly.
Structured contentLists or tables in the body. Passes at 30% of content pages.Not every article needs a table. Comparison and how-to pieces almost always do.
Thin content ratioShare of content pages under 300 words. Guardrail. Warns above 25%, fails above 50%.The guardrail that catches sites publishing volume over substance. Consolidate rather than pad.
Content uniquenessPairwise word-overlap between your own pages. Guardrail. Pairs over 70% similar are flagged.Two pages overlapping this heavily are competing with each other. Merge them and redirect the loser.

Internal Linking (8 checks)

The category most people ignore and most sites fail. Links are how authority moves between your pages, and an unlinked page is a page you wrote for nobody.

CheckWhat it testsHow to fix it
Internal link countOutbound internal links per page. Passes at 5 or more, warns at 3 to 4, fails below 3.Link out from every article to the cluster it belongs to. Five is a floor, not a target.
Average internal linksThe same number, averaged sitewide.A better health signal than any individual page. If the average is under 3, you have a habit problem.
Link distributionThe ratio of your most-linked page to the median. Warns above 5:1, fails above 10:1.A high ratio means one page hoards all the links. Spread them toward the pages you actually want ranking.
Anchor text qualityShare of internal anchors using generic text ("click here", "read more", "here", "this", "link", "learn more"). Warns at 20%, fails above 40%.Anchor text tells the engine what the target page is about. "Read more" tells it nothing.
Orphan pagesPages with zero inbound internal links, homepage excluded. One or two warns, three or more fails.Link to them from the relevant pillar or cluster page. This is exactly what Retrolink automates.
Orphan page ratioOrphans as a share of non-homepage pages. Guardrail. Warns above 15%, fails above 40%.The guardrail version of the check above. Ratio matters more than count on a large site.
Broken internal linksInternal links pointing at pages that failed to load during this crawl.Fix the target or the link. See the honest caveat below before you trust a clean pass here.
Broken external linksProbes the first 20 unique external links (8 on the free tool). Warns at 1 to 4 broken, fails at 5 or more.Replace or remove. A 403 from a site that blocks bots is a false positive worth checking by hand.

Broken internal links undercounts, and you should know it. A link only counts as broken if its target was itself one of the pages crawled this run and failed. Links pointing outside the 50-page sample are never probed, so a green result here means "none found in the sample", not "none exist".

Indexability (7 checks)

Whether Google can reach and is allowed to keep your pages. Two checks here carry the highest weights in the entire audit, because a page that cannot be indexed is worth exactly zero regardless of how good it is.

CheckWhat it testsHow to fix it
Sitemap existsA sitemap found via robots.txt or at /sitemap.xml. Guardrail. Follows sitemap indexes two levels deep.Generate one and reference it from robots.txt. Everything below depends on this passing.
Sitemap coverageCrawled pages that are missing from the sitemap. Warns at 1 to 3, fails at 4 or more.Usually a stale cached sitemap. Regenerate it, then resubmit in Search Console.
Sitemap validitySamples the first 5 sitemap URLs and checks they resolve. One failure warns, two fails.Dead URLs in a sitemap waste crawl budget and erode trust in the file.
Noindex misusePages that look like real content but are marked noindex. The heaviest check in the audit.Cart, checkout, account, search and admin paths are exempt. Anything else flagged here is almost certainly a mistake.
Robots.txt blockingDisallow rules that block blog, article, product, collection, category or page paths. Tied for heaviest.Read the offending rules in the check details. A stray Disallow: / from a staging config is the classic.
Indexable page ratioShare of sampled pages that are reachable, not noindexed, and have substance. Passes at 80%, warns at 60%."Substance" means 100 words or more, or a homepage, product or collection page.
Crawl depthClicks from the homepage to the deepest content page. Guardrail. Passes at 2, warns at 3 to 4, fails beyond.Pages unreachable from the homepage link graph force an automatic fail. Add hub pages rather than deeper menus.

Schema and Social

Schema is 10% of your score. Social is 0%, and knowing that saves you an afternoon.

CheckCategoryWhat it tests, and what to do
JSON-LD presentSchemaAny application/ld+json block. Fails sitewide once 35% of pages are missing it.
Schema typesSchemaThe type matches the page intent: Organization or WebSite on the homepage, Article or BlogPosting on posts, Product, CollectionPage. Wrong type warns, missing fails.
Schema validitySchemaParses, and has a @context plus a @type or @graph. Malformed JSON fails. Validate before shipping template changes.
Schema coverageSchemaGuardrail. Passes at 60% of content pages carrying schema, warns at 20%.
FAQ schemaSchemaFAQPage markup on content pages. Passes at 25%, warns at 10%. Rankspiral adds this to published articles automatically unless you turn it off.
Open Graph tagsSocialog:title, og:description, og:image. Partial warns, none fails.
Twitter Card tagsSocialtwitter:card, twitter:title, twitter:description.
Social imageSocialThe og:image URL is probed and must resolve. Up to 8 unique images per audit (4 on the free tool).
Social image sizeSocialPasses at 1200 x 630 or larger. Undersized warns.

Social checks are shown but never scored. The category has a weight of zero, so the Social card can read 40 and your overall score will not move by a point. Fix them for the humans sharing your links, not for the number.

Getting the most out of it

Read the Priority Fix Queue first, then close the rest of the report. It ranks the top six issues by weight times severity times how many pages are affected, which is a better order than your instincts. Work down it, re-audit, and repeat.

Fix guardrails before anything else, even if only one page fails. A single noindexed article does not look scary in the list, but a guardrail fail caps that category at 50, which can cost you fifteen points overall. Sort by "critical", find the guardrail names from the warning box above, and clear those first.

Use the ratio checks to decide whether a problem is a habit. Content length tells you a page is thin. Thin content ratio tells you your publishing process produces thin pages. The first is an afternoon, the second is worth changing how you write briefs.

Do the boring template fixes in one sitting. Mobile viewport, html lang, self-referencing canonical, and one H1 per page are all single-line theme edits that touch every page at once. Twenty minutes here usually moves Technical SEO more than a week of individual page work.

Re-audit a week after publishing, not the same day. Freshness, sitemap coverage and internal link counts all lag your actual changes, and a same-day re-run mostly measures your cache.

A realistic target: 70 or above with zero guardrail fails. Chasing 95 means fighting checks with weights under 0.3, and that time is better spent publishing the next cluster.

The free public tool, and what it holds back

There is a logged-out version at /tools/seo-audit. It runs the same engine and the same 49 checks, which is worth saying plainly, because most free audit tools run a shallow subset.

The six audit categories with their check counts: 14 Technical SEO, 11 Content Quality, 8 Internal Linking, 7 Indexability, 4 Social and Sharing, 5 Schema and Structured Data

What differs is the crawl depth and how much of the result you get to see.

Free tool at /tools/seo-auditSite Audit in your project
Sign-inNot requiredRequired, and the URL must be on your project's site
Pages crawled2550
External links probed820
Social images probed48
Checks runAll 49All 49
Issues shown per categoryTop 3All of them
Which pages are affectedHiddenListed per check
Page-by-page tableNot includedEvery crawled page, with its own score
Priority Fix QueueLockedTop 6, ranked
HistoryNoneLast 6 runs, last 4 shown
PDF exportNoYes, via Export PDF
Shared result lifetime24 hoursKept
Rate limit6 audits per hour, 1 per URL per 10 minutes12 per 10 minutes, 1 per URL per minute

One genuinely useful quirk: the free tool shows a How to fix line under every issue, and the in-app category cards do not (in-app, that guidance lives in the Priority Fix Queue). If you want the fix text for a check that is not in your top six, the public tool is the faster place to read it.

There is no plan limit on audits. Run them as often as the rate limits allow.

If the audit looks wrong

  • "Crawl success" fails on a site that loads fine in your browser. Your firewall or bot protection is blocking Rankspiral-Audit/1.0. Allowlist it and re-run.
  • Every content check scores badly and the pages look empty. Look for the Client-rendered content detected notice at the top. The audit reads server-rendered HTML, so a JavaScript-only site shows almost no content, and so does Google's first pass.
  • Only one page was crawled. The Single-page crawl notice means no sitemap was found and no internal links were discovered. Fix the sitemap first, then re-audit.
  • The score dropped after you published more. Expected, and usually honest. New posts start with no inbound links, so orphan and internal link counts dip until Retrolink or your own linking catches up.
  • "Project audits can only scan URLs on your configured project site." The URL is outside your project's domain. Set the right domain in Settings, or use the free tool for a one-off.

One closing thought, because the report can feel like a scolding.

The audit is not a grade, it is a queue. Two guardrail fixes and a linking pass will move it more than obsessing over meta description lengths ever will.

Retrolink: fixing orphan pages and internal links The Authority Map: pillars, clusters and keywords Connect Search Console to see what the audit cannot Every limit and quota explained

Was this page useful?

Tell us what was missing and we'll fix the page.