Every rule. No mystery score.

13x runs 113 deterministic checks across twelve named launch surfaces. This registry exposes the IDs, weights, scope, and fix coverage used by the web audit and local CI gate.

Rules version 2026-07-30 · scoring uses a weighted pass rate plus explicit caps for launch blockers.

Discoverability

12 rules

robots.txt exists and is valid

discoverability.robots-txt

6 weightfix available

Search-console ownership is verified

discoverability.site-verification

3 weightfix available

Published content offers a feed

discoverability.feed

3 weightfix availablejurisdiction-aware

robots.txt does not block the whole site

discoverability.robots-blocks-all

20 weightfix available

sitemap.xml exists and is reachable

discoverability.sitemap

10 weightfix available

Sitemap is declared in robots.txt

discoverability.sitemap-in-robots

4 weightfix available

No accidental noindex

discoverability.noindex

20 weightfix available

Canonical URLs are set and consistent

discoverability.canonical

8 weightfix available

No broken internal links

discoverability.broken-links

10 weightfix available

Enough internally linked pages

discoverability.internal-links

4 weightfix available

No long redirect chains

discoverability.redirect-chains

4 weightfix available

No orphan pages in the sitemap

discoverability.orphan-pages

3 weightfix available

Metadata

10 rules

Every page has a title

metadata.title-present

12 weightfix available

Language versions declare hreflang

metadata.hreflang

6 weightfix availablejurisdiction-aware

No framework default titles

metadata.title-default

14 weightfix available

Titles are a usable length

metadata.title-length

5 weightfix available

Titles are unique per page

metadata.title-duplicates

10 weightfix available

Every page has a meta description

metadata.description-present

8 weightfix available

Meta descriptions are a usable length

metadata.description-length

4 weightfix available

Meta descriptions are unique per page

metadata.description-duplicates

5 weightfix available

Exactly one H1 per page

metadata.h1

5 weightfix available

html lang attribute is set and plausible

metadata.lang

5 weightfix available

AI visibility

13 rules

Content is readable without JavaScript

aeo.content-without-js

16 weightfix available

Answer engines are allowed to retrieve

aeo.ai-crawler-access

14 weightfix available

AI crawlers actually receive the page

aeo.crawler-reachability

12 weightfix availablejurisdiction-aware

Retrieval and training policy point the same way

aeo.crawler-policy-inversion

5 weightfix availablejurisdiction-aware

FAQPage schema where there are questions

aeo.faq-schema

4 weightfix available

A citable description near the top

aeo.definition-paragraph

6 weightfix available

Headings phrased as questions

aeo.answerable-headings

5 weightfix available

Passages stand on their own

aeo.passage-retrievability

6 weightfix available

The site states the same facts everywhere

aeo.entity-consistency

6 weightfix available

Real lists and tables, not styled divs

aeo.extractable-structure

4 weightfix available

Authorship and freshness signals

aeo.author-and-freshness

4 weightfix available

Declared dates are recent

aeo.content-freshness

4 weightfix available

llms.txt is present

aeo.llms-txt

4 weightfix available

Social & sharing

9 rules

og:title is set

social.og-title

6 weightfix available

Web app manifest and theme colour

social.web-manifest

3 weightfix available

og:description is set

social.og-description

4 weightfix available

og:image is set

social.og-image

10 weightfix available

og:image actually loads

social.og-image-reachable

9 weightfix available

og:url is set

social.og-url

3 weightfix available

Twitter card type is declared

social.twitter-card

4 weightfix available

Favicon exists

social.favicon

4 weightfix available

Apple touch icon exists

social.apple-touch-icon

2 weightfix available

Structured data

3 rules

JSON-LD structured data is present

structured-data.present

7 weightfix available

A recognised schema type is declared

structured-data.type

5 weightfix available

Schema required properties are filled

structured-data.required-fields

5 weightfix available

Compliance

12 rules

Privacy policy is linked

compliance.privacy-policy

18 weightfix available

Impressum is linked and reachable

compliance.impressum

18 weightfix availablejurisdiction-aware

Datenschutzerklärung is a separate page

compliance.datenschutz

8 weightfix availablejurisdiction-aware

No trackers fire before consent

compliance.tracker-before-consent

16 weightfix availablejurisdiction-aware

Consent banner present when third-party scripts load

compliance.cookie-consent

12 weightfix availablejurisdiction-aware

No fonts loaded from Google's CDN

compliance.google-fonts-cdn

10 weightfix availablejurisdiction-aware

Terms are linked

compliance.terms

5 weightfix available

Third-party processors are disclosed

compliance.subprocessors

6 weightfix availablejurisdiction-aware

Right of withdrawal is stated

compliance.withdrawal-right

7 weightfix availablejurisdiction-aware

Prices state whether tax is included

compliance.price-transparency

5 weightfix availablejurisdiction-aware

California opt-out link present

compliance.ccpa-do-not-sell

8 weightfix availablejurisdiction-aware

Subscription renewal terms are disclosed

compliance.auto-renewal

6 weightfix availablejurisdiction-aware

Accessibility

11 rules

Form fields have labels

accessibility.form-labels

9 weightfix available

A skip link bypasses the navigation

accessibility.skip-link

4 weightfix availablejurisdiction-aware

Motion respects prefers-reduced-motion

accessibility.reduced-motion

4 weightfix availablejurisdiction-aware

Images have alt attributes

accessibility.image-alt

8 weightfix available

Links and buttons have accessible names

accessibility.named-controls

7 weightfix available

Pinch-zoom is not disabled

accessibility.zoom-enabled

7 weightfix available

Viewport meta tag is present

accessibility.viewport

6 weightfix available

Accessibility statement is published

accessibility.statement

6 weightfix availablejurisdiction-aware

Heading levels do not skip

accessibility.heading-order

4 weightfix available

Page has a main landmark

accessibility.landmarks

4 weightfix available

Element ids are unique

accessibility.duplicate-ids

3 weightfix available

Security

11 rules

No secret or sandbox keys in the page source

security.exposed-keys

9 weightfix available

No insecure subresources

security.mixed-content

9 weightfix availablejurisdiction-aware

Strict-Transport-Security is set

security.hsts

8 weightfix availablejurisdiction-aware

Content-Security-Policy is set

security.csp

7 weightfix available

Cookies carry the right flags

security.cookie-flags

7 weightfix availablejurisdiction-aware

No known-outdated front-end libraries

security.outdated-libraries

6 weightfix available

Baseline security headers

security.headers

6 weightfix available

Third-party scripts pinned with integrity

security.sri

4 weightfix available

No exact software versions in headers

security.version-disclosure

3 weightfix available

External links use rel=noopener

security.target-blank

3 weightfix available

security.txt for vulnerability reports

security.security-txt

2 weightfix available

Performance

10 rules

Responses are compressed

performance.compression

6 weightfix available

Static assets are cacheable

performance.cache-headers

6 weightfix availablejurisdiction-aware

Web fonts do not block text

performance.font-display

4 weightfix availablejurisdiction-aware

Images are served at the size they are displayed

performance.responsive-images

4 weightfix available

No render-blocking scripts in the head

performance.blocking-scripts

8 weightfix available

Images declare their dimensions

performance.image-dimensions

8 weightfix available

HTML document is a reasonable size

performance.document-size

4 weightfix available

Modern image formats

performance.image-formats

4 weightfix availablejurisdiction-aware

Below-the-fold images are lazy-loaded

performance.lazy-loading

4 weightfix availablejurisdiction-aware

Third-party origins are preconnected

performance.preconnect

3 weightfix availablejurisdiction-aware

Conversion

8 rules

There is a way to capture an email

conversion.email-capture

6 weightfix available

Errors are reported somewhere

conversion.error-tracking

4 weightfix available

There is a way to make contact

conversion.contact-route

4 weightfix available

og:image is the right size

conversion.og-image-size

5 weightfix availablejurisdiction-aware

Analytics is installed

conversion.analytics

5 weightfix available

There is a recognisable call to action

conversion.call-to-action

5 weightfix available

Pricing is stated or reachable

conversion.pricing-visible

4 weightfix available

Some form of social proof

conversion.social-proof

3 weightfix available

Email deliverability

4 rules

SPF record is present and restrictive

deliverability.spf

12 weightfix availablejurisdiction-aware

DMARC record is present and enforcing

deliverability.dmarc

11 weightfix availablejurisdiction-aware

A DKIM key is discoverable

deliverability.dkim

6 weightfix availablejurisdiction-aware

The domain can receive mail

deliverability.mx

5 weightfix availablejurisdiction-aware

Basics

10 rules

Served over HTTPS with a valid certificate

basics.https

16 weightfix available

Certificate is not about to expire

basics.certificate-expiry

14 weightfix availablejurisdiction-aware

Certificate covers apex and www

basics.certificate-hosts

6 weightfix availablejurisdiction-aware

Modern TLS version

basics.tls-version

4 weightfix availablejurisdiction-aware

HTTP redirects to HTTPS

basics.http-redirect

8 weightfix available

One canonical host (www or non-www)

basics.www-consistency

6 weightfix available

Missing pages return a real 404

basics.404-status

7 weightfix available

Domain registration is not about to lapse

basics.domain-expiry

8 weightfix availablejurisdiction-aware

Reachable over IPv6

basics.ipv6

2 weightfix availablejurisdiction-aware

Time to first byte

basics.ttfb

5 weightfix available