Audit Standard / 2026.2
Rule explorer: Audit Standard 2026.2
Every check that defines technical readiness in MaxiMarket Audit Standard 2026.2, exactly as the audit applies it. Open a rule to see what it checks, why it matters, how to fix it, where its authority comes from and how much it counts.
Superseded. This is an earlier Audit Standard version, kept unchanged so audits saved under it keep their meaning. New audits use the current Audit Standard 2026.4.
Guides by topic: technical SEO audit rules, AI readiness, structured data and ecommerce product data.
Authority levels
- A search engine documents it as required for a specific outcome, such as Google eligibility.
- Strongest external authority
- Defined by an open standard or vocabulary: HTML, WCAG, IETF RFCs, Schema.org, Sitemaps, Open Graph.
- Recommended in official platform documentation, such as Google Search Central or an AI platform.
- Widely accepted practice with a cited source, but no official requirement.
- MaxiMarket’s own advice. Never presented as a search engine or platform requirement.
- MaxiMarket methodology
Filter
Showing 14 rules and 0 observations.
Rules
Rules pass or fail. A failed rule becomes a finding in your report; scored rules also count toward the Technical Score.
Document metadata
SEO-CHARSET-001Character encoding is declared once, as UTF-8DocumentWarning when failedWeight 2Technical SearchAI DiscoveryMachine Readability
- What this checks
- The meta charset elements: how many there are and their value.
- Why it matters
- HTML allows at most one meta charset element and only the value utf-8; a wrong or conflicting declaration can garble text for every consumer.
- How to fix
- Keep a single <meta charset="utf-8"> and serve the document as UTF-8.
- Expected
- At most one meta charset, with the value utf-8.
- Applies to
- Pages with at least one meta charset element.
- Authority
- Open standard / Schema.org · RequiredHTML Standard, for pages that declare meta charset.
- Technical Score
- Weight 2 of 3A wrong or conflicting encoding declaration can garble the text for every consumer.
- How MaxiMarket detects it
- Reports when there is more than one meta element with a charset attribute, or its value is not utf-8 (ASCII case-insensitive, surrounding whitespace ignored). Pages without meta charset are not applicable.
- Sources
- HTML Standard: character encoding declaration — WHATWG, verified 2026-09-26
SEO-LANGUAGE-001Page language is declaredDocumentWarning when failedWeight 2Technical SearchAI DiscoveryMachine Readability
- What this checks
- Whether the root html element has a non-empty lang attribute.
- Why it matters
- WCAG requires the default human language of a page to be programmatically determinable, and the HTML Standard encourages a lang attribute on the root element for speech synthesis and translation tools.
- How to fix
- Add a lang attribute with the page language to the <html> element.
- Expected
- The root <html> element declares the page language, such as lang="en".
- Applies to
- Every retrieved page.
- Authority
- Open standard / Schema.org · RequiredRequired for WCAG 2.2 Level A conformance (Success Criterion 3.1.1); the HTML Standard encourages the lang attribute.
- Technical Score
- Weight 2 of 3A WCAG Level A requirement for every page.
- How MaxiMarket detects it
- Reports when the first html element has no lang attribute or an empty one. The language value is not validated.
- Sources
- WCAG 2.2 Understanding SC 3.1.1 Language of Page — W3C, verified 2026-09-26
- HTML Standard: the html element — WHATWG, verified 2026-09-26
SEO-LANGUAGE-002Page language is a well-formed BCP 47 tagDocumentWarning when failedWeight 1AI DiscoveryMachine Readability
- What this checks
- Whether the html lang value conforms to the BCP 47 (RFC 5646) language tag syntax.
- Why it matters
- HTML requires the lang value to be a valid BCP 47 language tag; a malformed tag cannot identify the language for assistive technology or language processing.
- How to fix
- Use a BCP 47 language tag, such as en, en-GB or zh-Hant.
- Expected
- The lang value is a valid BCP 47 language tag, such as en or de-CH.
- Applies to
- Pages whose html element has a non-empty lang attribute.
- Authority
- Open standard / Schema.org · RequiredRequired by the HTML Standard for the lang attribute.
- Technical Score
- Weight 1 of 3A malformed lang value is declared but unusable; it only applies when lang is present.
- How MaxiMarket detects it
- Reports when a non-empty lang value is not well-formed under the RFC 5646 ABNF (language, script, region, variant, extension and private-use subtags, private-use tags and the listed grandfathered tags), case-insensitively. Subtags are not checked against the IANA registry, so a well-formed but unregistered tag passes.
- Sources
- HTML Standard: the lang and xml:lang attributes — WHATWG, verified 2026-09-26
- RFC 5646 (BCP 47): Tags for Identifying Languages — IETF, verified 2026-09-26
Canonicalization
SEO-CANONICAL-002Only one canonical is declaredDocumentWarning when failedWeight 2Technical SearchAI Discovery
- What this checks
- The number of rel=canonical link elements, and of canonical entries in HTTP Link headers.
- Why it matters
- RFC 6596 asks for a single canonical; when several are declared, Google may ignore them.
- How to fix
- Keep a single rel=canonical link element (and at most one canonical Link header).
- Expected
- At most one canonical per method.
- Applies to
- Pages that declare at least one canonical, in a link element or an HTTP Link header.
- Authority
- Open standard / Schema.org · RequiredRFC 6596 and Google canonicalization guidance.
- Technical Score
- Weight 2 of 3Several canonical declarations may make search engines ignore all of them.
- How MaxiMarket detects it
- Reports when the HTML contains more than one link element whose rel includes canonical, or the HTTP Link headers contain more than one rel=canonical entry. Disagreement between the two methods is SEO-CANONICAL-008.
- Sources
- RFC 6596: The Canonical Link Relation — IETF, verified 2026-09-26
- How to specify a canonical URL — Google Search Central, verified 2026-09-26
SEO-CANONICAL-006Canonical target is directly retrievableDocumentWarning when failedWeight 2Technical SearchAI Discovery
- What this checks
- The HTTP status of the canonical URL when it differs from the final URL.
- Why it matters
- RFC 6596 advises against canonical targets that redirect or return an error, and Google wants canonical URLs that are accessible and indexable.
- How to fix
- Point the canonical at the final, directly reachable URL of the preferred page.
- Expected
- HTTP 200 without a redirect.
- Applies to
- Pages whose declared canonical resolves to a different URL than the final URL.
- Authority
- Open standard / Schema.org · RecommendedRFC 6596 and Google canonicalization guidance.
- Technical Score
- Weight 2 of 3A canonical that redirects or errors points search engines at a URL they cannot use.
- How MaxiMarket detects it
- One bounded request to the canonical URL through the same destination checks as the audit (public HTTP(S) destinations only, no redirects followed, 5-second limit). Reports a redirect status or a 4xx. Server errors, throttling, timeouts and refused destinations are not evaluated.
- Sources
- RFC 6596: The Canonical Link Relation — IETF, verified 2026-09-26
- How to specify a canonical URL — Google Search Central, verified 2026-09-26
SEO-CANONICAL-007Canonical target does not declare another canonicalDocumentWarning when failedWeight 1Technical SearchAI Discovery
- What this checks
- The canonical declared by the canonical target page.
- Why it matters
- RFC 6596 advises against chains of canonical designations; search engines may ignore a chained canonical.
- How to fix
- Point the canonical directly at the final preferred URL.
- Expected
- The target is its own canonical, or declares none.
- Applies to
- Pages whose canonical target was retrieved as HTML with HTTP 200.
- Authority
- Open standard / Schema.org · RecommendedRFC 6596 guidance.
- Technical Score
- Weight 1 of 3A chained canonical may be ignored, but the chain usually still reaches the preferred page.
- How MaxiMarket detects it
- Uses the same request as SEO-CANONICAL-006. When the target answers 200 with HTML (read up to 512 KiB), reports when its first canonical link element resolves to a URL other than the target itself.
- Sources
- RFC 6596: The Canonical Link Relation — IETF, verified 2026-09-26
Images and media
MEDIA-IMG-ALT-001Images have text alternativesDocumentWarning when failedWeight 2Technical SearchAI DiscoveryMachine Readability
- What this checks
- img elements without an alt attribute.
- Why it matters
- WCAG 1.1.1 (Level A) requires a text alternative for non-text content, and Google calls alt text the most important image metadata.
- How to fix
- Add an alt attribute to every img: a description for meaningful images, alt="" for decorative ones.
- Expected
- Every img has an alt attribute (empty for decorative images).
- Applies to
- Pages with at least one img element.
- Authority
- Open standard / Schema.org · RequiredWCAG 2.2 Level A.
- Technical Score
- Weight 2 of 3A WCAG Level A requirement; alt text is the main image metadata for search.
- How MaxiMarket detects it
- Reports when an img element has no alt attribute and no other accessible name or hiding: aria-label, aria-labelledby, role="presentation" or role="none", and aria-hidden="true" are accepted. Alt text quality is not judged.
- Sources
- WCAG 2.2 Understanding SC 1.1.1 Non-text Content — W3C, verified 2026-09-26
- Google image SEO best practices — Google Search Central, verified 2026-09-26
- HTML Standard: requirements for providing text to act as an alternative for images — WHATWG, verified 2026-09-26
Sitemaps
INDEX-SITEMAP-002Sitemap is well-formedIndexingWarning when failedWeight 2Technical SearchAI Discovery
- What this checks
- Whether each retrieved sitemap is well-formed XML with a urlset or sitemapindex root.
- Why it matters
- The Sitemaps protocol defines a sitemap as XML beginning with urlset (or sitemapindex for index files); a malformed file cannot be processed as a sitemap.
- How to fix
- Regenerate the sitemap as well-formed UTF-8 XML following the Sitemaps protocol.
- Expected
- Each sitemap is a well-formed XML document whose root is urlset or sitemapindex.
- Applies to
- Origins where at least one sitemap was retrieved.
- Authority
- Open standard / Schema.org · RequiredRequired by the Sitemaps XML format.
- Technical Score
- Weight 2 of 3A malformed sitemap cannot be processed at all.
- How MaxiMarket detects it
- Reports when at least one retrieved sitemap is malformed, has another root element, or contains a DTD or entity declaration, which MaxiMarket rejects for safety. Gzip-compressed sitemaps are not supported and namespaces are not validated.
- Sources
- Sitemaps XML format — Sitemaps.org, verified 2026-09-26
INDEX-SITEMAP-007Sitemap lastmod values are valid W3C DatetimeIndexingInfo when failedWeight 1Technical SearchAI Discovery
- What this checks
- The format of lastmod values in the inspected sitemaps.
- Why it matters
- The sitemap protocol requires W3C Datetime; Google uses lastmod only when it is consistently accurate, and a malformed value cannot be used.
- How to fix
- Write lastmod as YYYY-MM-DD or as a full timestamp with a time zone, such as 2026-09-26T08:00:00+00:00.
- Expected
- W3C Datetime: YYYY, YYYY-MM, YYYY-MM-DD, or a date with hh:mm[:ss[.s]] and a time zone.
- Applies to
- Retrieved, well-formed sitemaps with at least one lastmod value.
- Authority
- Open standard / Schema.org · RecommendedSitemaps XML protocol.
- Technical Score
- Weight 1 of 3Malformed lastmod values are ignored; the URLs are still listed.
- How MaxiMarket detects it
- Reports when a lastmod of an inspected url or sitemap entry does not match a W3C Datetime form or has an impossible date or time. Whether the dates are accurate is not verifiable and not checked.
- Sources
- Sitemaps XML format — Sitemaps.org, verified 2026-09-26
- Build and submit a sitemap — Google Search Central, verified 2026-09-26
Structured data (general)
STRUCTURED-JSONLD-002JSON-LD blocks parse as JSONStructured dataWarning when failedWeight 2Technical SearchAI DiscoveryMachine Readability
- What this checks
- Whether each inspected JSON-LD block parses as JSON.
- Why it matters
- JSON-LD is JSON; a block that cannot be parsed cannot be read as structured data by any consumer.
- How to fix
- Validate the JSON-LD block and fix syntax errors such as trailing commas, unescaped quotes or unclosed brackets.
- Expected
- Every JSON-LD block is valid JSON.
- Applies to
- Pages with at least one JSON-LD block.
- Authority
- Open standard / Schema.org · RequiredRequired by the JSON-LD 1.1 data format.
- Technical Score
- Weight 2 of 3An unparseable JSON-LD block loses all the data it contains.
- How MaxiMarket detects it
- Reports when at least one inspected JSON-LD block fails JSON parsing. Blocks skipped because of size or count limits are not counted as invalid.
- Sources
- JSON-LD 1.1 — W3C, verified 2026-09-26
Product and Offer data
STRUCTURED-OFFER-006Offer price is machine-readableOfferWarning when failedWeight 2Technical SearchAI DiscoveryCommerceMachine Readability
- What this checks
- The format of Offer price and priceSpecification.price values, and AggregateOffer lowPrice and highPrice.
- Why it matters
- Schema.org asks for "." as the decimal separator and for the currency in priceCurrency, not in the price.
- How to fix
- Write prices such as 1299.00, without currency symbols or thousands separators.
- Expected
- A number, or a string of digits with an optional "." decimal part.
- Applies to
- Pages with at least one inspected Offer or AggregateOffer price value linked from a fully inspected Product.
- Authority
- Open standard / Schema.org · RecommendedSchema.org Offer usage guidance.
- Technical Score
- Weight 2 of 3A price that is not machine-readable cannot be interpreted reliably.
- How MaxiMarket detects it
- Reports when an inspected price value (linked from a fully inspected Product) is neither a finite non-negative JSON number nor a string of digits with an optional "." and digits (surrounding whitespace ignored). Missing prices are STRUCTURED-OFFER-001 and -002.
- Sources
- Schema.org Offer — Schema.org, verified 2026-09-26
STRUCTURED-OFFER-008priceValidUntil is not in the pastOfferWarning when failedWeight 1Technical SearchAI DiscoveryCommerceMachine Readability
- What this checks
- priceValidUntil of each inspected Offer against the audit time.
- Why it matters
- After priceValidUntil the price is by definition no longer available, so the offer information is stale.
- How to fix
- Update or remove priceValidUntil.
- Expected
- Absent, or not yet passed.
- Applies to
- Pages with at least one inspected Offer declaring priceValidUntil.
- Authority
- Open standard / Schema.org · RecommendedSchema.org Offer definition; Google merchant listing recommendation.
- Technical Score
- Weight 1 of 3An expired priceValidUntil makes offer data stale.
- How MaxiMarket detects it
- Reports when an ISO 8601 priceValidUntil has passed in every time zone at the audit time (a date is valid through its whole day). Unparseable values are not evaluated.
- Sources
- Schema.org Offer — Schema.org, verified 2026-09-26
- Merchant listing structured data — Google Search Central, verified 2026-09-26
Social metadata
SOCIAL-OG-URL-001Open Graph URL is presentDocumentInfo when failedNot scoredAI DiscoverySocial Discovery
- What this checks
- Whether a page that declares Open Graph metadata has a non-empty og:url.
- Why it matters
- The Open Graph protocol lists og:url among the four properties required for every page, as the canonical URL of the object.
- How to fix
- Add <meta property="og:url" content="..."> with the canonical URL of the page.
- Expected
- Pages that use Open Graph declare <meta property="og:url"> with the canonical URL.
- Applies to
- Pages that declare any well-formed og:* meta property; pages without Open Graph metadata are not applicable.
- Authority
- Open standard / Schema.org · RequiredOpen Graph protocol, for pages that use Open Graph.
- Technical Score
- Not scoredShare-preview markup is outside the Technical Score.
- How MaxiMarket detects it
- Reports when Open Graph inspection is complete, the page declares at least one well-formed og:* meta property, and no og:url has a non-empty value.
- Sources
- The Open Graph protocol — Open Graph protocol, verified 2026-09-26
SOCIAL-OG-URL-002Open Graph URL matches the canonical URLDocumentInfo when failedNot scoredAI DiscoverySocial Discovery
- What this checks
- og:url against the declared canonical URL.
- Why it matters
- The Open Graph protocol defines og:url as the canonical URL; a different value splits the page's identity between share previews and search.
- How to fix
- Set og:url to the canonical URL.
- Expected
- The same URL.
- Applies to
- Pages that use Open Graph and declare both a non-empty og:url and a canonical URL.
- Authority
- Open standard / Schema.org · RecommendedOpen Graph protocol, for pages that use Open Graph.
- Technical Score
- Not scoredShare-preview markup is outside the Technical Score.
- How MaxiMarket detects it
- Resolves the first non-empty og:url and the first canonical against the final URL, ignoring fragments, and reports when they differ.
- Sources
- The Open Graph protocol — Open Graph protocol, verified 2026-09-26
- How to specify a canonical URL — Google Search Central, verified 2026-09-26