Skip to content

Audit check reference

Every diagnostic code the portal audit can emit. Severity, remediation, and the fragment on this page all come from the CHECKS catalog — the same source the engine, terminal report, and CLI --list-checks read. Findings link here via docsUrl.

Documented skips

Checks that are structurally impossible for Doctorine's generated Astro + Starlight portal, and why they stay out of the catalog.

  • Full i18n/hreflang suite (~9 rows) No multi-locale product model yet (MASTER W6 investigation). Locale key on PageSnapshot is reserved so duplicate checks stay locale-grouped without false positives later.
  • FUTURE_DATED_PAGE Portal pages have no authored date frontmatter on the built HTML path; publish timestamps live on the release, not the page.
  • DRAFT_PAGE_PUBLISHED No draft flag reaches the built dist — drafts never leave the editor.
  • SITE_NOT_SET / SITE_INFERRED_AT_DEPLOY portal-build always carries baseUrl; local CLI requires --site when absolute-URL checks matter.
  • Core Web Vitals / font-size / tap targets Need a real browser or are theme-level properties identical on every page (a regression is a renderer bug, not a tenant finding).
  • JS/CSS redirect matrix (~11 Ahrefs rows) Vite emits content-hashed, existent, non-redirecting bundles. Collapsed into SUBRESOURCE_MISSING.
  • "Only one dofollow incoming" / "no outgoing links" Starlight sidebar links every page — pure noise.
  • "3XX redirect" / "302 redirect" / "HTTP→HTTPS" Inventory or correct behavior, not findings.
  • Network + external tiers (HTTP 4xx/5xx, external broken links, …) Catalogued so skipped tiers are reported; implementations are W3b/W5 (--url / --external). Static portal-build gate never runs them.

content

  • Title tag missing or empty

    Code
    DT_AUDIT_TITLE_MISSING
    Category
    content
    Severity
    error
    Tier
    static

    Title tag missing or empty

    Fix: Set a page title in the guide frontmatter / portal branding.

  • Multiple title tags

    Code
    DT_AUDIT_TITLE_MULTIPLE
    Category
    content
    Severity
    error
    Tier
    static

    Multiple title tags

    Fix: Remove the extra <title> from the page layout or guide.

  • Title too long or too short

    Code
    DT_AUDIT_TITLE_LENGTH
    Category
    content
    Severity
    warning
    Tier
    static

    Title too long or too short

    Fix: Rewrite the title to fit the length range (10–60 characters).

  • Meta description missing or empty

    Code
    DT_AUDIT_DESCRIPTION_MISSING
    Category
    content
    Severity
    warning
    Tier
    static

    Meta description missing or empty

    Fix: Add a meta description in the guide frontmatter or branding.

  • Multiple meta description tags

    Code
    DT_AUDIT_DESCRIPTION_MULTIPLE
    Category
    content
    Severity
    error
    Tier
    static

    Multiple meta description tags

    Fix: Remove the extra description <meta> from the page layout.

  • Meta description too long or too short

    Code
    DT_AUDIT_DESCRIPTION_LENGTH
    Category
    content
    Severity
    warning
    Tier
    static

    Meta description too long or too short

    Fix: Rewrite the description to fit 110–160 characters.

  • H1 tag missing or empty

    Code
    DT_AUDIT_H1_MISSING
    Category
    content
    Severity
    warning
    Tier
    static

    H1 tag missing or empty

    Fix: Give the page a title — the portal renders it as the page <h1>.

  • Multiple H1 tags

    Code
    DT_AUDIT_H1_MULTIPLE
    Category
    content
    Severity
    warning
    Tier
    static

    Multiple H1 tags

    Fix: Demote extra body `# Heading` lines to `##` — the title is already the h1.

  • Low word count

    Code
    DT_AUDIT_LOW_WORD_COUNT
    Category
    content
    Severity
    info
    Tier
    static

    Low word count

    Fix: Expand the page, or fold it into a larger one.

  • Heading levels skip (e.g. h2 to h4)

    Code
    DT_AUDIT_HEADING_SKIP
    Category
    content
    Severity
    info
    Tier
    static

    Heading levels skip (e.g. h2 to h4)

    Fix: Adjust the heading to the next level down — skipped levels break TOC nesting.

  • Viewport not set

    Code
    DT_AUDIT_VIEWPORT_MISSING
    Category
    content
    Severity
    error
    Tier
    static

    Viewport not set

    Fix: Restore the viewport <meta> in the portal layout (renderer regression).

duplicates

  • Duplicate title

    Code
    DT_AUDIT_DUPLICATE_TITLE
    Category
    duplicates
    Severity
    warning
    Tier
    static

    Duplicate title

    Fix: Give each page a distinct title — search engines show it as the result headline.

  • Duplicate meta description

    Code
    DT_AUDIT_DUPLICATE_DESCRIPTION
    Category
    duplicates
    Severity
    warning
    Tier
    static

    Duplicate meta description

    Fix: Give each page a distinct description.

  • Duplicate pages without canonical

    Code
    DT_AUDIT_DUPLICATE_CONTENT
    Category
    duplicates
    Severity
    warning
    Tier
    static

    Duplicate pages without canonical

    Fix: Merge the pages, or set a canonical on all but one.

indexability

  • Page is noindex but declares a canonical

    Code
    DT_AUDIT_CANONICAL_ON_NOINDEX
    Category
    indexability
    Severity
    warning
    Tier
    static

    Page is noindex but declares a canonical

    Fix: Drop the canonical from noindex pages — Google treats the pairing as contradictory.

  • Canonical URL missing

    Code
    DT_AUDIT_CANONICAL_MISSING
    Category
    indexability
    Severity
    warning
    Tier
    static

    Canonical URL missing

    Fix: Ensure the portal emits a self-canonical for every indexable page.

  • Non-canonical page

    Code
    DT_AUDIT_CANONICAL_NOT_SELF
    Category
    indexability
    Severity
    info
    Tier
    static

    Non-canonical page

    Fix: Point the canonical at this page, or accept that it will not be indexed itself.

  • Canonical points to a broken or redirecting page

    Code
    DT_AUDIT_CANONICAL_BAD_TARGET
    Category
    indexability
    Severity
    error
    Tier
    static

    Canonical points to a broken or redirecting page

    Fix: Point the canonical at a page that exists and does not redirect.

  • Canonical protocol does not match the site

    Code
    DT_AUDIT_CANONICAL_PROTOCOL_MISMATCH
    Category
    indexability
    Severity
    error
    Tier
    static

    Canonical protocol does not match the site

    Fix: Use the same protocol in the canonical as in the site origin (https).

  • Page is not indexable

    Code
    DT_AUDIT_ROBOTS_META_UNEXPECTED
    Category
    indexability
    Severity
    info
    Tier
    static

    Page is not indexable

    Fix: Remove noindex from the page if it should be indexed.

  • Page HTML exceeds the 2 MB size budget

    Code
    DT_AUDIT_HTML_TOO_LARGE
    Category
    indexability
    Severity
    warning
    Tier
    static

    Page HTML exceeds the 2 MB size budget

    Fix: Split the page to reduce crawl, transfer, and rendering cost.

  • Orphan page (only reachable from navigation)

    Code
    DT_AUDIT_ORPHAN_PAGE
    Category
    links
    Severity
    warning
    Tier
    static

    Orphan page (only reachable from navigation)

    Fix: Link to this page from the body of a related page.

  • Double slash in URL

    Code
    DT_AUDIT_DOUBLE_SLASH_URL
    Category
    links
    Severity
    warning
    Tier
    static

    Double slash in URL

    Fix: Check base path composition — a trailing slash there produces `//`.

  • Link fragment matches no id on the target page

    Code
    DT_AUDIT_ANCHOR_BROKEN
    Category
    links
    Severity
    warning
    Tier
    static

    Link fragment matches no id on the target page

    Fix: Point the fragment at a heading that exists on the target page.

  • URL contains uppercase, underscores, or spaces

    Code
    DT_AUDIT_URL_STYLE
    Category
    links
    Severity
    info
    Tier
    static

    URL contains uppercase, underscores, or spaces

    Fix: Rename the slug to lowercase hyphenated form; add a redirect from the old URL if published.

redirects

  • Broken redirect

    Code
    DT_AUDIT_REDIRECT_BROKEN
    Category
    redirects
    Severity
    error
    Tier
    static

    Broken redirect

    Fix: Point the redirect at a page that exists.

  • Redirect loop

    Code
    DT_AUDIT_REDIRECT_LOOP
    Category
    redirects
    Severity
    error
    Tier
    static

    Redirect loop

    Fix: Break the cycle in the redirect map — it never resolves.

  • Redirect chain

    Code
    DT_AUDIT_REDIRECT_CHAIN
    Category
    redirects
    Severity
    warning
    Tier
    static

    Redirect chain

    Fix: Point every hop straight at the final destination.

  • Meta refresh redirect

    Code
    DT_AUDIT_META_REFRESH
    Category
    redirects
    Severity
    warning
    Tier
    static

    Meta refresh redirect

    Fix: Use a real HTTP redirect instead of a meta refresh.

  • Redirect source is also a real page

    Code
    DT_AUDIT_REDIRECT_SOURCE_IS_PAGE
    Category
    redirects
    Severity
    error
    Tier
    static

    Redirect source is also a real page

    Fix: Remove the redirect, or delete the page it shadows — the page wins.

social

  • Open Graph tags missing or incomplete

    Code
    DT_AUDIT_OG_INCOMPLETE
    Category
    social
    Severity
    warning
    Tier
    static

    Open Graph tags missing or incomplete

    Fix: Ensure the portal layout emits complete Open Graph tags for indexable pages.

  • Open Graph image missing

    Code
    DT_AUDIT_OG_IMAGE_MISSING
    Category
    social
    Severity
    warning
    Tier
    static

    Open Graph image missing

    Fix: Enable OG card generation, or set seo.image on the page.

  • Open Graph image is not in the build

    Code
    DT_AUDIT_OG_IMAGE_BROKEN
    Category
    social
    Severity
    warning
    Tier
    static

    Open Graph image is not in the build

    Fix: Point og:image at a file that exists in the build.

  • Open Graph image is too small for large cards

    Code
    DT_AUDIT_OG_IMAGE_SMALL
    Category
    social
    Severity
    warning
    Tier
    static

    Open Graph image is too small for large cards

    Fix: Use an image of at least 600×315 (1200×630 recommended).

  • Open Graph URL not matching canonical

    Code
    DT_AUDIT_OG_URL_MISMATCH
    Category
    social
    Severity
    warning
    Tier
    static

    Open Graph URL not matching canonical

    Fix: Align og:url with the page's canonical URL.

  • X (Twitter) card missing or incomplete

    Code
    DT_AUDIT_TWITTER_CARD_INCOMPLETE
    Category
    social
    Severity
    warning
    Tier
    static

    X (Twitter) card missing or incomplete

    Fix: Emit twitter:card (summary or summary_large_image) on indexable pages.

assets

  • Missing alt text

    Code
    DT_AUDIT_IMAGE_ALT_MISSING
    Category
    assets
    Severity
    warning
    Tier
    static

    Missing alt text

    Fix: Add descriptive alt text, or alt="" if the image is decorative.

  • Image broken

    Code
    DT_AUDIT_IMAGE_BROKEN
    Category
    assets
    Severity
    error
    Tier
    static

    Image broken

    Fix: Fix the image path, or add the file to the build.

  • Asset file size too large

    Code
    DT_AUDIT_ASSET_TOO_LARGE
    Category
    assets
    Severity
    warning
    Tier
    static

    Asset file size too large

    Fix: Compress the asset, or serve a modern format (WebP/AVIF).

  • Image has no width/height

    Code
    DT_AUDIT_IMAGE_MISSING_DIMENSIONS
    Category
    assets
    Severity
    warning
    Tier
    static

    Image has no width/height

    Fix: Set width and height so the browser can reserve space (avoids layout shift).

  • Referenced script, style, or asset is missing from the build

    Code
    DT_AUDIT_SUBRESOURCE_MISSING
    Category
    assets
    Severity
    error
    Tier
    static

    Referenced script, style, or asset is missing from the build

    Fix: Fix the reference, or restore the missing file.

  • HTTPS/HTTP mixed content

    Code
    DT_AUDIT_MIXED_CONTENT
    Category
    assets
    Severity
    error
    Tier
    static

    HTTPS/HTTP mixed content

    Fix: Load the subresource over HTTPS — browsers block mixed content.

sitemap

  • Indexable page not in sitemap

    Code
    DT_AUDIT_INDEXABLE_PAGE_NOT_IN_SITEMAP
    Category
    sitemap
    Severity
    warning
    Tier
    static

    Indexable page not in sitemap

    Fix: Ensure the page is included in the sitemap generator (indexable pages only).

  • Noindex page in sitemap

    Code
    DT_AUDIT_NOINDEX_IN_SITEMAP
    Category
    sitemap
    Severity
    error
    Tier
    static

    Noindex page in sitemap

    Fix: A noindex page should not be advertised in the sitemap.

  • Sitemap names a page that does not exist or redirects

    Code
    DT_AUDIT_SITEMAP_BAD_URL
    Category
    sitemap
    Severity
    error
    Tier
    static

    Sitemap names a page that does not exist or redirects

    Fix: Remove the URL from the sitemap, or build the page it names.

  • Sitemap has a syntax error or wrong format

    Code
    DT_AUDIT_SITEMAP_INVALID
    Category
    sitemap
    Severity
    error
    Tier
    static

    Sitemap has a syntax error or wrong format

    Fix: Sitemaps must be valid XML in the sitemaps.org urlset format.

  • Sitemap lastmod is invalid or in the future

    Code
    DT_AUDIT_SITEMAP_LASTMOD_INVALID
    Category
    sitemap
    Severity
    warning
    Tier
    static

    Sitemap lastmod is invalid or in the future

    Fix: Use a real W3C date that is not in the future (24h timezone slack applies).

  • Sitemap includes URLs out of its scope

    Code
    DT_AUDIT_SITEMAP_OUT_OF_SCOPE
    Category
    sitemap
    Severity
    warning
    Tier
    static

    Sitemap includes URLs out of its scope

    Fix: A sitemap may only list URLs on its own origin.

robots

  • robots.txt missing

    Code
    DT_AUDIT_ROBOTS_MISSING
    Category
    robots
    Severity
    warning
    Tier
    static

    robots.txt missing

    Fix: Ensure the portal emits robots.txt for public builds.

  • robots.txt has a syntax error

    Code
    DT_AUDIT_ROBOTS_INVALID
    Category
    robots
    Severity
    error
    Tier
    static

    robots.txt has a syntax error

    Fix: Every robots.txt line must be a `Field: value` directive or a comment.

  • robots.txt disallows a page that is in the sitemap

    Code
    DT_AUDIT_ROBOTS_DISALLOWS_INDEXABLE
    Category
    robots
    Severity
    error
    Tier
    static

    robots.txt disallows a page that is in the sitemap

    Fix: A page can't be both disallowed in robots.txt and advertised in the sitemap.

  • robots.txt does not reference the sitemap

    Code
    DT_AUDIT_ROBOTS_SITEMAP_MISSING
    Category
    robots
    Severity
    info
    Tier
    static

    robots.txt does not reference the sitemap

    Fix: Add a Sitemap: line pointing at the portal sitemap.

ai

  • llms.txt missing from the build

    Code
    DT_AUDIT_LLMS_TXT_MISSING
    Category
    ai
    Severity
    warning
    Tier
    static

    llms.txt missing from the build

    Fix: Rebuild with branding.llmsTxt enabled (free on every plan), or disable llms emission intentionally.

  • llms.txt lists a page the build does not serve

    Code
    DT_AUDIT_LLMS_TXT_STALE_ENTRY
    Category
    ai
    Severity
    warning
    Tier
    static

    llms.txt lists a page the build does not serve

    Fix: Rebuild so llms.txt matches the site — a stale entry sends agents nowhere.

  • Indexable page missing from llms.txt

    Code
    DT_AUDIT_LLMS_TXT_PAGE_MISSING
    Category
    ai
    Severity
    warning
    Tier
    static

    Indexable page missing from llms.txt

    Fix: Rebuild so llms.txt lists every indexable page.

  • agent-readability.json is missing or invalid

    Code
    DT_AUDIT_AGENT_READABILITY_INVALID
    Category
    ai
    Severity
    error
    Tier
    static

    agent-readability.json is missing or invalid

    Fix: Emit a valid agent-readability.json from the portal build.

  • agent-readability.json lists a route the build does not serve

    Code
    DT_AUDIT_AGENT_READABILITY_BAD_ROUTE
    Category
    ai
    Severity
    error
    Tier
    static

    agent-readability.json lists a route the build does not serve

    Fix: Every route listed in agent-readability.json must exist in the build.

  • Public page has no .md variant

    Code
    DT_AUDIT_MD_VARIANT_MISSING
    Category
    ai
    Severity
    warning
    Tier
    static

    Public page has no .md variant

    Fix: Emit a .md variant for every public page (markdown negotiation surface).

structured-data

  • Structured data is not valid JSON

    Code
    DT_AUDIT_JSONLD_INVALID
    Category
    structured-data
    Severity
    error
    Tier
    static

    Structured data is not valid JSON

    Fix: The JSON-LD block must be valid JSON.

  • Structured data is missing required properties

    Code
    DT_AUDIT_JSONLD_INCOMPLETE
    Category
    structured-data
    Severity
    warning
    Tier
    static

    Structured data is missing required properties

    Fix: Every JSON-LD node needs @context and @type (@graph-aware).

network

  • 4XX page

    Code
    DT_AUDIT_HTTP_4XX
    Category
    network
    Severity
    error
    Tier
    network

    4XX page

    Fix: The page is linked or in the sitemap but the deployment 404s it.

  • 5XX page

    Code
    DT_AUDIT_HTTP_5XX
    Category
    network
    Severity
    error
    Tier
    network

    5XX page

    Fix: The deployment is erroring on this page.

Try-It is disabled for this portal. Copy the request from the console above to run it yourself.

Try-It is disabled for this portal. Copy the request from the console above to run it yourself.