Every rule, and the specification it comes from

A page is graded on 15 rules and a domain on 16, and each one names a published clause you can read yourself. Nothing here rests on an opinion about what search engines like. Where a check comes from our own notes rather than a standard it says so, and it is never counted against a page somebody else owns.

The three tactics with the largest measured effect on whether a generative engine quotes a page are adding quotations, adding statistics and citing sources, at 27.2, 25.2 and 24.6 against a baseline of 19.3 on a 10,000 query benchmark. That is from GEO: Generative Engine Optimization, Aggarwal and others, KDD 2024. This page is built the way that paper describes because it would be strange to publish the finding and ignore it.

What a document has to carry

Applied to any page. Only the rows citing a published specification are shown for a page its owner did not submit.

RuleCheckSource
PAGE-001og:title is present and non-emptyThe Open Graph protocol, Basic Metadata
PAGE-002og:type is present and is a declared typeThe Open Graph protocol, Basic Metadata
PAGE-003og:image is present and resolvesThe Open Graph protocol, Basic Metadata
PAGE-004og:url is present and absoluteThe Open Graph protocol, Basic Metadata
PAGE-010the document has exactly one non-empty titleHTML Standard, 4.2.2 The title element
PAGE-011the html element declares a languageHTML Standard, 3.2.6.2 The lang attribute
PAGE-020every img carries an alt attributeWCAG 2.2, SC 1.1.1 Non-text Content, Level A
PAGE-021the declared language is a valid tagWCAG 2.2, SC 3.1.1 Language of Page, Level A
PAGE-022headings descend without skipping a levelWCAG 2.2, SC 1.3.1 Info and Relationships, Level A
PAGE-023no link text is bare "here" or "read more"WCAG 2.2, SC 2.4.4 Link Purpose (In Context), A
PAGE-030every ld+json block parsesJSON-LD 1.1, 3. Basic Concepts
PAGE-031the declared @type is one this checker can confirmSchema.org type hierarchy
PAGE-032declared required properties for that type are presentSchema.org type hierarchy
PAGE-040rel=canonical, when present, is absolute and self-consistentRFC 6596, The Canonical Link Relation
PAGE-041the page is not excluded by its own robots directivesRFC 9309, Robots Exclusion Protocol

What a domain has to carry

Applied to a name rather than a document: whether it can be delivered from, connected to and crawled at all. None of this is visible in the HTML.

RuleCheckSource
SITE-001an SPF record is published for the domainRFC 7208, Sender Policy Framework (SPF) v1
SITE-002the SPF record does not end in +all, which authorises the whole internetRFC 7208, Sender Policy Framework (SPF) v1
SITE-003there is exactly one SPF record, because two is a permerrorRFC 7208, Sender Policy Framework (SPF) v1
SITE-010a DMARC record is published at _dmarcRFC 7489, DMARC
SITE-011the DMARC policy is quarantine or reject rather than noneRFC 7489, DMARC
SITE-012the DMARC record names an address to receive reportsRFC 7489, DMARC
SITE-014there is exactly one DMARC record, because two means no policy at allRFC 7489, DMARC
SITE-020a DKIM selector resolves, so signed mail can be verifiedRFC 6376, DomainKeys Identified Mail (DKIM)
SITE-030the site answers on https with a certificate that validatesRFC 6797, HTTP Strict Transport Security
SITE-031the certificate is not within 14 days of expiryRFC 6797, HTTP Strict Transport Security
SITE-032Strict-Transport-Security is set on the https responseRFC 6797, HTTP Strict Transport Security
SITE-033plain http redirects to https rather than serving contentRFC 6797, HTTP Strict Transport Security
SITE-040robots.txt is served and does not exclude the whole siteRFC 9309, Robots Exclusion Protocol
SITE-041robots.txt declares a Sitemap locationSitemaps XML format, 0.90
SITE-042the declared Sitemap actually resolvesSitemaps XML format, 0.90
SITE-050a CAA record limits which authorities may issue for this nameRFC 8659, DNS Certification Authority Authorization

Why a rule gets removed

One did. It claimed the sitemaps protocol and checked whether the word "sitemap" appeared in the head of the document. The protocol puts the sitemap location in robots.txt and says nothing about the document, so the rule cited a specification that did not cover what it looked at. It was deleted rather than reworded, and the check now lives where it can actually be made, against robots.txt.

Check a page

defend · about the fetcher