Audit Standard / 2026.4
Rule explorer: Audit Standard 2026.4
Every check that defines technical readiness in MaxiMarket Audit Standard 2026.4, 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.
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 94 rules and 34 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-TITLE-001Document title is presentDocumentWarning when failedWeight 3Technical SearchMachine Readability
- What this checks
- Whether the returned HTML contains a title element.
- Why it matters
- The HTML Standard requires a title element in ordinary documents, and Google uses it as a primary source for the title link shown in search results.
- How to fix
- Add one <title> element to the document head that identifies the page.
- Expected
- The document head contains exactly one title element.
- Applies to
- Every retrieved page.
- Authority
- Open standard / Schema.org · RequiredRequired by the HTML Standard content model for documents that are not iframe srcdoc documents and have no title from a higher-level protocol.
- Technical Score
- Weight 3 of 3The title is required by HTML and is the main source of the search title link. Missing and empty titles are mutually exclusive checks with the same weight.
- How MaxiMarket detects it
- Reports when the returned HTML contains no title element. Only the first title element is read.
- Sources
- HTML Standard: the head element — WHATWG, verified 2026-09-26
- Influencing your title links in search results — Google Search Central, verified 2026-09-26
- WCAG 2.2 Understanding SC 2.4.2 Page Titled — W3C, verified 2026-09-26
SEO-TITLE-002Document title is not emptyDocumentWarning when failedWeight 3Technical SearchMachine Readability
- What this checks
- Whether the first title element contains text.
- Why it matters
- The HTML Standard defines title content as text that is not inter-element whitespace; an empty title gives browsers and search engines no page name.
- How to fix
- Write a descriptive title for the page in the existing <title> element.
- Expected
- The title element contains text that identifies the document.
- Applies to
- Pages with a title element.
- Authority
- Open standard / Schema.org · RequiredRequired by the HTML Standard content model of the title element.
- Technical Score
- Weight 3 of 3An empty title is as unusable as a missing one; only one of SEO-TITLE-001 and -002 can apply to a page.
- How MaxiMarket detects it
- Reports when the first title element is present but empty after whitespace normalization.
- Sources
- HTML Standard: the title element — WHATWG, verified 2026-09-26
- Influencing your title links in search results — Google Search Central, verified 2026-09-26
SEO-TITLE-004Document has exactly one title elementDocumentWarning when failedWeight 1Technical SearchMachine Readability
- What this checks
- The number of HTML title elements (titles inside SVG or MathML are not counted).
- Why it matters
- HTML allows one title element in a document; with several, browsers and crawlers use only one and the others are ignored.
- How to fix
- Remove the extra title elements.
- Expected
- Exactly one title element.
- Applies to
- Pages with at least one title element; a missing title is SEO-TITLE-001.
- Authority
- Open standard / Schema.org · RequiredHTML Standard.
- Technical Score
- Weight 1 of 3Extra title elements are ignored; the first one still works.
- How MaxiMarket detects it
- Reports when the document contains more than one title element outside SVG and MathML content. A missing title is SEO-TITLE-001.
- Sources
- HTML Standard: the head element — WHATWG, verified 2026-09-26
SEO-DESCRIPTION-001Meta description is presentDocumentWarning when failedWeight 1Technical Search
- What this checks
- Whether the returned HTML declares a meta description.
- Why it matters
- Google sometimes uses the meta description for the search snippet when it describes the page more accurately than on-page text, and recommends page-level descriptions, prioritizing important pages.
- How to fix
- Add a <meta name="description" content="..."> that accurately summarizes this specific page.
- Expected
- The page declares <meta name="description"> with a page-specific summary.
- Applies to
- Every retrieved page.
- Authority
- Official platform recommendation · RecommendedGoogle Search recommendation for snippets; not required for indexing.
- Technical Score
- Weight 1 of 3Google uses the meta description only sometimes for snippets. Missing and empty descriptions are mutually exclusive checks with the same weight.
- How MaxiMarket detects it
- Reports when no meta element named description is found in the returned HTML.
- Sources
- Control your snippets in search results — Google Search Central, verified 2026-09-26
SEO-DESCRIPTION-002Meta description is not emptyDocumentWarning when failedWeight 1Technical Search
- What this checks
- Whether the first meta description has content.
- Why it matters
- An empty description cannot serve as a snippet source, so it provides none of the benefit Google describes for meta descriptions.
- How to fix
- Fill the content attribute with an accurate summary of the page, or remove the empty tag.
- Expected
- The meta description content attribute contains a page-specific summary.
- Applies to
- Pages with a meta description.
- Authority
- Official platform recommendation · RecommendedGoogle Search recommendation for snippets; not required for indexing.
- Technical Score
- Weight 1 of 3Same weight as a missing description; only one of SEO-DESCRIPTION-001 and -002 can apply.
- How MaxiMarket detects it
- Reports when the first meta description is present but its content is empty after whitespace normalization.
- Sources
- Control your snippets in search results — Google Search Central, verified 2026-09-26
SEO-DOCTYPE-001Document declares the HTML DOCTYPEDocumentWarning when failedWeight 1Technical SearchMachine Readability
- What this checks
- Whether a DOCTYPE naming html precedes the first element.
- Why it matters
- HTML requires a DOCTYPE; without it browsers render the page in quirks mode.
- How to fix
- Start the document with <!DOCTYPE html>.
- Expected
- <!DOCTYPE html> at the start of the document.
- Applies to
- Every retrieved (available) page.
- Authority
- Open standard / Schema.org · RequiredHTML Standard.
- Technical Score
- Weight 1 of 3A missing DOCTYPE changes rendering mode; search impact is undocumented.
- How MaxiMarket detects it
- Reports when no DOCTYPE whose name is html (case-insensitive) appears before the first element. Comments and whitespace before it are allowed.
- Sources
- HTML Standard: the DOCTYPE — WHATWG, verified 2026-09-26
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-001Canonical URL is declaredDocumentWarning when failedWeight 1Technical SearchAI Discovery
- What this checks
- Whether the returned HTML declares a rel="canonical" link.
- Why it matters
- Google treats rel="canonical" as a strong canonicalization signal. Declaring one is optional: without it, Google selects a canonical URL itself.
- How to fix
- Add <link rel="canonical" href="..."> with the absolute preferred URL of this page.
- Expected
- The page declares a <link rel="canonical"> pointing to its preferred URL.
- Applies to
- Every retrieved page.
- Authority
- Official platform recommendation · RecommendedGoogle encourages canonical declarations but states that none of the methods are required.
- Technical Score
- Weight 1 of 3Google treats an explicit canonical as optional; declaring one is a helpful signal.
- How MaxiMarket detects it
- Reports when the returned HTML has no link element whose rel includes canonical, or the first such link has an empty href. The target is neither validated nor fetched.
- Sources
- How to specify a canonical URL — Google Search Central, verified 2026-09-26
- RFC 6596: The Canonical Link Relation — IETF, verified 2026-09-26
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-003Canonical link is in the headDocumentWarning when failedWeight 2Technical SearchAI Discovery
- What this checks
- Whether every rel=canonical link element is inside the document head.
- Why it matters
- Google accepts rel=canonical only in the head section of the HTML.
- How to fix
- Move the canonical link element into <head>, before any content that ends the head.
- Expected
- All canonical link elements are in <head>.
- Applies to
- Pages with at least one rel=canonical link element.
- Authority
- Official search-engine requirement · RequiredGoogle canonicalization requirement.
- Technical Score
- Weight 2 of 3A canonical outside the head is ignored by Google.
- How MaxiMarket detects it
- Follows the HTML parsing rules for the head: it ends at </head>, <body>, or the first element or text that cannot appear in the head. Reports when a canonical link element appears after that point.
- Sources
- How to specify a canonical URL — Google Search Central, verified 2026-09-26
SEO-CANONICAL-004Canonical URL is absoluteDocumentInfo when failedNot scoredTechnical SearchAI Discovery
- What this checks
- Whether the declared canonical href is an absolute URL.
- Why it matters
- Google recommends absolute rather than relative paths for rel="canonical". RFC 6596 allows relative references, so a relative canonical is not invalid.
- How to fix
- Use the full URL, such as https://www.example.com/page, in the canonical link.
- Expected
- The canonical link uses an absolute URL, including the scheme.
- Applies to
- Pages that declare a non-empty canonical URL.
- Authority
- Official platform recommendation · RecommendedGoogle canonicalization recommendation; relative canonicals are valid under RFC 6596.
- Technical Score
- Not scoredRelative canonicals are valid under RFC 6596 and resolve correctly; Google's preference for absolute URLs is advisory only.
- How MaxiMarket detects it
- Reports when the first canonical href does not start with a URL scheme (for example /page, page or //host/page).
- Sources
- How to specify a canonical URL — Google Search Central, verified 2026-09-26
- RFC 6596: The Canonical Link Relation — IETF, verified 2026-09-26
SEO-CANONICAL-005Canonical URL has no fragmentDocumentWarning when failedWeight 1Technical SearchAI Discovery
- What this checks
- Whether the declared canonical URL includes a fragment.
- Why it matters
- Google advises against specifying URL fragments as canonical URLs.
- How to fix
- Remove the #fragment from the canonical URL.
- Expected
- The canonical URL has no #fragment.
- Applies to
- Pages that declare a non-empty canonical URL.
- Authority
- Official platform recommendation · RecommendedGoogle canonicalization recommendation.
- Technical Score
- Weight 1 of 3Google advises against fragment canonicals; the fragment is normally dropped, so the effect is limited.
- How MaxiMarket detects it
- Reports when the first canonical href contains a # character.
- Sources
- How to specify a canonical URL — Google Search Central, verified 2026-09-26
SEO-CANONICAL-008Canonical signals agree across methodsDocumentWarning when failedWeight 2Technical SearchAI Discovery
- What this checks
- Whether the canonical in the HTTP Link header and in the HTML link element point to the same URL.
- Why it matters
- Google asks not to specify different canonical URLs through different techniques.
- How to fix
- Declare the same canonical URL in the Link header and the link element, or use only one method.
- Expected
- The same canonical URL in every method.
- Applies to
- Pages that declare a canonical both in an HTTP Link header and in a link element.
- Authority
- Official platform recommendation · RecommendedGoogle canonicalization recommendation.
- Technical Score
- Weight 2 of 3Conflicting canonicals across methods may make search engines ignore both.
- How MaxiMarket detects it
- Resolves the first canonical Link header entry and the first canonical link element against the final URL, ignoring fragments, and reports when they differ. Sitemap inclusion is not compared.
- Sources
- 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
HTTP-ORIGIN-001Site variants redirect to one preferred originIndexingWarning when failedWeight 2Technical SearchAI Discovery
- What this checks
- Whether the other scheme (http or https) and the other host (with or without a leading "www.") of the audited origin serve the page themselves instead of redirecting to one origin.
- Why it matters
- Google treats a redirect as the strongest signal of which URL is canonical. When the same page is served on several origins, links and signals are split between the copies and Google chooses a canonical itself, which may not be the one you prefer. The page can still be indexed: this is a consolidation recommendation, not an eligibility requirement.
- How to fix
- Choose one origin (for example https://example.com) and configure the web server so that every other variant (http://, and the host with or without "www.") answers with a 301 or 308 redirect to the same path on that origin.
- Expected
- One HTTPS origin serves the page, and every other variant that answers redirects to it permanently. A variant that does not exist, for example no "www." host, is fine.
- Applies to
- Pages on a registrable domain or its "www." host, on the default port, where at least one alternate variant answered. Variants that do not resolve or answer, other subdomains, IP addresses and localhost are not probed or are skipped.
- Authority
- Official platform recommendation · RecommendedGoogle canonicalization recommendation.
- Technical Score
- Weight 2 of 3Every page of a duplicated origin splits its signals between copies; Google can still choose a canonical itself, so the page is not ineligible.
- How MaxiMarket detects it
- Probes up to three alternate variants of the final URL's origin for the audited path and query: the other scheme, and, only on a registrable domain or its "www." host, the host with or without a leading "www." (the registrable domain follows the Public Suffix List). IP addresses, localhost, non-default ports and the "www." variant of other subdomains are not probed. Each probe uses the audit's destination checks (public addresses only), follows at most 5 redirects and gets at most 4 seconds; a variant that does not resolve, refuses the connection, times out or answers an error is skipped. Reports when a variant ends with HTTP 200 on an origin of the same site other than the audited one and has the same title, first h1 or canonical as the audited page. A variant with different content (another site) is not counted.
- Sources
- How to specify a canonical URL — Google Search Central, verified 2026-09-26
- Redirects and Google Search — Google Search Central, verified 2026-09-26
HTTP-ORIGIN-002Origin redirects keep the pathIndexingWarning when failedWeight 1Technical SearchAI Discovery
- What this checks
- Whether each alternate variant that redirects to the preferred origin keeps the requested path and query.
- Why it matters
- Redirecting every alternate URL to the home page loses the page it referred to. Google says not to redirect many URLs to one irrelevant destination such as the home page, which might be treated as a soft 404.
- How to fix
- Redirect each alternate URL to the same path and query on the preferred origin, for example return 301 https://example.com$request_uri; in Nginx.
- Expected
- The redirect ends at the same path and query on the preferred origin (a trailing slash difference is accepted).
- Applies to
- Pages where at least one alternate variant redirects to the audited origin.
- Authority
- Official platform recommendation · RecommendedGoogle redirect and site-move recommendation.
- Technical Score
- Weight 1 of 3Visitors and crawlers of the alternate URL land on another page. Excluded from the score when HTTP-ORIGIN-001 fails, the same unconsolidated origin.
- How MaxiMarket detects it
- Compares the path and query of each probed variant URL (see HTTP-ORIGIN-001) with the URL it finally reaches on the preferred origin, ignoring a trailing slash difference.
- Sources
- Site moves with URL changes — Google Search Central, verified 2026-09-30
- Redirects and Google Search — Google Search Central, verified 2026-09-26
HTTP-ORIGIN-003Site variants redirect in one hopIndexingInfo when failedNot scoredTechnical SearchAI Discovery
- What this checks
- How many redirects each alternate variant needs to reach the preferred origin.
- Why it matters
- Google advises redirecting to the final destination directly: chains add latency and not every client follows long chains. Googlebot follows up to 10 hops, so a short chain is reported for review and does not affect the score.
- How to fix
- Redirect every variant straight to the final URL, for example http://www.example.com/page directly to https://example.com/page rather than via https://www.example.com/page.
- Expected
- One redirect, directly to the final URL.
- Applies to
- Pages where at least one alternate variant redirects to the audited origin.
- Authority
- Official platform recommendation · RecommendedGoogle redirect and site-move recommendation.
- Technical Score
- Not scoredGooglebot follows up to 10 hops, so a short chain still consolidates the origin; not scored, to avoid penalizing the same redirect setup twice.
- How MaxiMarket detects it
- Counts the redirect hops recorded for each probed variant (see HTTP-ORIGIN-001) that reaches the preferred origin, and reports more than one.
- Sources
- Site moves with URL changes — Google Search Central, verified 2026-09-30
SEO-CANONICAL-010Canonical URL uses the preferred originDocumentWarning when failedWeight 1Technical SearchAI Discovery
- What this checks
- Whether the declared canonical URL uses the origin that the site's other variants redirect to.
- Why it matters
- Redirects that consolidate the site on one origin and a canonical that names another are conflicting canonical signals, and Google may then choose either.
- How to fix
- Declare canonical URLs on the preferred origin: the one every other variant redirects to.
- Expected
- The canonical URL is on the preferred origin.
- Applies to
- Pages with a parseable canonical, where at least one alternate variant redirects to the audited origin and none serves the page itself.
- Authority
- Official platform recommendation · RecommendedGoogle canonicalization recommendation.
- Technical Score
- Weight 1 of 3Mixed canonical signals may make Google choose another origin; the page is still reached.
- How MaxiMarket detects it
- Resolves the first canonical link element against the final URL. Evaluated when at least one probed variant (see HTTP-ORIGIN-001) redirects to the audited origin and none serves the page itself; reports when the canonical's origin is one of those alternate variants rather than the audited origin.
- Sources
- How to specify a canonical URL — Google Search Central, verified 2026-09-26
Headings and semantic structure
SEO-HEADING-001Page has a top-level headingDocumentWarning when failedNot scoredTechnical SearchAI DiscoveryMachine Readability
- What this checks
- Whether the returned HTML contains at least one h1 element.
- Why it matters
- A visible top-level heading helps visitors, assistive technology and automated readers identify the page subject. This is a MaxiMarket content-structure recommendation.
- How to fix
- Mark up the main page heading, such as the product name, as an <h1>.
- Expected
- The page has an h1 element that names its main content.
- Applies to
- Every retrieved page. Non-scoring: a MaxiMarket recommendation.
- Authority
- MaxiMarket recommendation · MaxiMarket best practiceMaxiMarket recommendation. No search engine, standard or platform requires this.
- Technical Score
- Not scoredA MaxiMarket recommendation; Google says there is no ideal heading structure.
- How MaxiMarket detects it
- Reports when the returned HTML contains no h1 element. Headings created by client-side JavaScript are visible only in browser-based audits.
- Sources
- WCAG 2.2 Understanding SC 1.3.1 Info and Relationships — W3C, verified 2026-09-26
- SEO Starter Guide — Google Search Central, verified 2026-09-26
HTTP and retrieval
HTTP-HTTPS-001Page is served over HTTPSDocumentWarning when failedWeight 2Technical Search
- What this checks
- The scheme of the final URL.
- Why it matters
- Google lists secure (HTTPS) serving among page-experience considerations.
- How to fix
- Serve the page over HTTPS and redirect the HTTP version to it.
- Expected
- https.
- Applies to
- Every retrieved page.
- Authority
- Official platform recommendation · RecommendedGoogle Search page-experience consideration; not a requirement for indexing.
- Technical Score
- Weight 2 of 3Secure serving is a stated page-experience consideration and affects every visitor, but it does not block indexing.
- How MaxiMarket detects it
- Reports when the final URL of an available page uses http rather than https.
- Sources
- Understanding page experience in Google Search results — Google Search Central, verified 2026-09-26
HTTP-STATUS-001Audited URL returns HTTP 200IndexingWarning when failedWeight 3Technical SearchAI Discovery
- What this checks
- The HTTP status of the audited URL after redirects.
- Why it matters
- Google lists an HTTP 200 response as a minimum technical requirement for Search; 4xx content is treated as not existing.
- How to fix
- Serve the page with HTTP 200, or fix the URL if the page moved or no longer exists.
- Expected
- HTTP 200.
- Applies to
- Every retrieved (available) page. Blocked and unavailable results are reported by page access instead.
- Authority
- Official search-engine requirement · RequiredGoogle Search minimum technical requirement.
- Technical Score
- Weight 3 of 3A page that does not return HTTP 200 is not processed as content; every other check describes an error page.
- How MaxiMarket detects it
- Reports when the final HTTP status of an available page is not 200. Server errors and blocked responses are page-access outcomes (unavailable, blocked) with no findings.
- Sources
- Google Search technical requirements — Google Search Central, verified 2026-09-26
- How HTTP status codes and network errors affect Google Search — Google Search Central, verified 2026-09-26
HTTP-REDIRECT-003Protocol and host normalization redirects are permanentIndexingWarning when failedWeight 1Technical SearchAI Discovery
- What this checks
- The status of scheme and host normalization redirects: hops in the audited URL's own redirect chain that change only the scheme and/or a leading "www." label, and every redirect an alternate variant answers on its way to the preferred origin.
- Why it matters
- Google recommends permanent server-side redirects for permanent moves, and treats permanent redirects as a strong canonical signal. Moving to HTTPS or to the preferred host variant is permanent.
- How to fix
- Answer requests for the other scheme or host variant with a 301 or 308 redirect to the preferred URL.
- Expected
- Such redirects use 301 or 308.
- Applies to
- Audited URLs whose own redirect chain includes a scheme or "www." normalization hop, or with at least one alternate variant that redirects to the audited origin; other pages are not applicable.
- Authority
- Official platform recommendation · RecommendedGoogle redirect recommendation.
- Technical Score
- Weight 1 of 3A temporary normalization redirect weakens a canonical signal; the page is still reached.
- How MaxiMarket detects it
- Inspects the redirect hops the fetch followed for the audited URL (up to 5) and every redirect of the alternate variants probed by HTTP-ORIGIN-001 that reach the preferred origin. In the audited URL's chain, a hop is a normalization redirect when path and query stay the same and only the scheme changes and/or the host gains or loses a leading "www." label. Reports when such a hop, or a variant redirect, answers 302, 303 or 307. In browser audits the audited URL's hops come from the navigation's redirect chain; variants are always probed over HTTP.
- Sources
- Redirects and Google Search — Google Search Central, verified 2026-09-26
- Site moves with URL changes — Google Search Central, verified 2026-09-30
HTTP-REDIRECT-004Page does not redirect with meta refreshIndexingWarning when failedWeight 1Technical SearchAI Discovery
- What this checks
- Whether the page declares <meta http-equiv="refresh"> with a URL of another page.
- Why it matters
- Google recommends server-side redirects; a meta refresh redirect is only seen when the page is retrieved and parsed, and other consumers may not follow it.
- How to fix
- Replace the meta refresh with a server-side 301 or 308 redirect.
- Expected
- Redirects are server-side (HTTP 301 or 308 for permanent moves).
- Applies to
- Every retrieved (available) page.
- Authority
- Official platform recommendation · RecommendedGoogle redirect recommendation.
- Technical Score
- Weight 1 of 3A meta refresh still redirects; it is a weaker, slower signal than a server-side redirect.
- How MaxiMarket detects it
- Reports when a meta http-equiv="refresh" element has a url= value that resolves to a different URL than the page (ignoring fragments). A refresh without a URL (a reload) passes. JavaScript redirects are not detected: they cannot be observed without executing scripts.
- Sources
- Redirects and Google Search — Google Search Central, verified 2026-09-26
Links and discoverability
LINK-CRAWLABLE-001Navigation uses crawlable linksDocumentWarning when failedWeight 2Technical SearchAI Discovery
- What this checks
- Elements that carry a link destination crawlers cannot follow.
- Why it matters
- Google can only discover links that are <a> elements with an href attribute; destinations on other elements or in router attributes are not followed.
- How to fix
- Use <a href="..."> for every link, including links handled by a client-side router.
- Expected
- Links are <a> elements with an href.
- Applies to
- Every retrieved (available) page.
- Authority
- Official search-engine requirement · RequiredGoogle link crawlability requirement.
- Technical Score
- Weight 2 of 3Link destinations crawlers cannot follow hide pages from discovery.
- How MaxiMarket detects it
- Reports when an HTML element other than a, area, link or base has a non-empty href attribute (for example <span href="/page">), or an a element without href has a non-empty routerlink attribute. Links opened only by onclick or javascript: URLs are not counted, because their purpose cannot be determined. SVG and MathML content is excluded.
- Sources
- Link best practices for Google — Google Search Central, verified 2026-09-26
- Understand JavaScript SEO basics — Google Search Central, verified 2026-09-26
LINK-IMAGE-ALT-001Image links have alt textDocumentWarning when failedWeight 1Technical SearchAI DiscoveryMachine Readability
- What this checks
- Links whose only content is one or more images.
- Why it matters
- Google uses the alt text of a linked image as the link's anchor text, and WCAG requires that link purpose can be determined.
- How to fix
- Give the image inside the link an alt attribute that describes the link destination.
- Expected
- At least one image in such a link has non-empty alt text.
- Applies to
- Pages with at least one link whose only content is one or more images.
- Authority
- Official platform recommendation · RecommendedGoogle link recommendation (WCAG 2.4.4).
- Technical Score
- Weight 1 of 3Image links without alt text lose their anchor text. Excluded from the score when MEDIA-IMG-ALT-001 fails, because the same missing alt attribute would otherwise be penalized twice.
- How MaxiMarket detects it
- Reports when an a element with href contains no text and only img elements (optionally inside picture or plain wrappers), none of which has non-empty alt. Links with other content, such as SVG, are not applicable.
- Sources
- Link best practices for Google — Google Search Central, verified 2026-09-26
- WCAG 2.2 Understanding SC 2.4.4 Link Purpose (In Context) — W3C, verified 2026-09-26
LINK-CRAWLABLE-002Link elements declare an hrefDocumentInfo when failedWeight 1Technical SearchAI Discovery
- What this checks
- a elements that contain text or an image but have no href attribute.
- Why it matters
- Google can only crawl a link that is an <a> element with an href attribute. An <a> without href may be a deliberate placeholder, such as the current page in a navigation list, so this is a low-weight recommendation rather than an indexing requirement.
- How to fix
- Give each link an href with its destination, or use a non-link element such as <span> or <button> for text that is not meant as a link.
- Expected
- Every link is an <a> element with an href attribute.
- Applies to
- Every retrieved (available) page.
- Authority
- Official platform recommendation · RecommendedGoogle link crawlability guidance, applied as a recommendation.
- Technical Score
- Weight 1 of 3A link without href hides its destination from crawlers, but it may be a deliberate placeholder; lowest weight.
- How MaxiMarket detects it
- Counts a elements without an href attribute that contain text or an img, except those with a name or id attribute (fragment targets) and those with a routerlink attribute (reported by LINK-CRAWLABLE-001). SVG and MathML content is excluded; script behavior is not inferred.
- Sources
- Link best practices for Google — Google Search Central, verified 2026-09-26
Images and media
MEDIA-IMG-ALT-001Images have text alternativesDocumentWarning when failedWeight 1Technical 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 1 of 3A WCAG Level A requirement and Google image guidance. Lowered to 1 in 2026.3: the search effect depends on each image's role, and decorative images correctly use alt="".
- 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
MEDIA-IMG-SRC-001Responsive images keep a src fallbackDocumentWarning when failedWeight 1Technical Search
- What this checks
- img elements that declare srcset or a lazy-loading data attribute but no src.
- Why it matters
- Google finds images through img src and asks for a src fallback with srcset; images that only load through scripts may not be seen.
- How to fix
- Give every img a src attribute, even when srcset or a lazy-loading library is used.
- Expected
- Every such img has a src.
- Applies to
- Pages with at least one img element.
- Authority
- Official platform recommendation · RecommendedGoogle image recommendation.
- Technical Score
- Weight 1 of 3Images without a src fallback may not be discovered; the rest of the page is unaffected.
- How MaxiMarket detects it
- Reports when an img element has srcset, data-src or data-srcset but no non-empty src attribute. A placeholder src counts as present.
- Sources
- Google image SEO best practices — Google Search Central, verified 2026-09-26
- Mobile site and mobile-first indexing best practices — Google Search Central, verified 2026-09-26
Entity and site identity
SEO-FAVICON-001Home page declares a faviconDocumentWarning when failedWeight 1Technical SearchAI DiscoveryMachine Readability
- What this checks
- A link element with rel icon, shortcut icon, apple-touch-icon or apple-touch-icon-precomposed in the head of the home page.
- Why it matters
- Google shows a favicon in search results only when the home page declares one this way.
- How to fix
- Add <link rel="icon" href="/favicon.ico"> (or another supported rel) to the head of the home page.
- Expected
- At least one such link with an href.
- Applies to
- Home pages (final URL path "/"); other pages are not applicable.
- Authority
- Official search-engine requirement · RequiredRequired for a favicon in Google Search results.
- Technical Score
- Weight 1 of 3Needed for a favicon in results; evaluated on the home page only.
- How MaxiMarket detects it
- The home page is the page whose final URL path is "/". Reports when its head contains no link element with a non-empty href and rel including icon, apple-touch-icon or apple-touch-icon-precomposed.
- Sources
- Define a favicon to show in search results — Google Search Central, verified 2026-09-26
SEO-FAVICON-002Favicon meets size and access requirementsDocumentWarning when failedWeight 1Technical SearchMachine Readability
- What this checks
- The first declared favicon: dimensions, shape and whether Googlebot-Image may crawl it.
- Why it matters
- Google shows a favicon only when it is square, at least 8x8 pixels and crawlable by Googlebot-Image.
- How to fix
- Use a square favicon of at least 48x48 pixels and allow Googlebot-Image to crawl it.
- Expected
- A square image of at least 8x8 pixels (more than 48x48 recommended) that robots.txt allows for Googlebot-Image.
- Applies to
- Home pages that declare a favicon.
- Authority
- Official search-engine requirement · RequiredRequired for a favicon in Google Search results.
- Technical Score
- Weight 1 of 3A favicon that does not meet the requirements is not shown.
- How MaxiMarket detects it
- One bounded request for the favicon (up to 256 KiB, same destination checks as the audit) and, for another origin, its robots.txt. Dimensions are read from PNG, GIF, JPEG, WebP, BMP and ICO headers (the largest ICO entry). Reports when the favicon returns 4xx, is not square, is smaller than 8x8, or robots.txt disallows it for Googlebot-Image (falling back to Googlebot groups, then *). SVG favicons, unreadable formats and unavailable responses are not evaluated.
- Sources
- Define a favicon to show in search results — Google Search Central, verified 2026-09-26
STRUCTURED-ORG-001Home page describes the organizationStructured dataInfo when failedWeight 1Technical SearchAI DiscoveryMachine Readability
- What this checks
- Organization structured data (or a subtype, such as OnlineStore) on the home page.
- Why it matters
- Google recommends Organization structured data on the home page (or an about page) to understand the organization behind the site.
- How to fix
- Add an Organization (or the most specific subtype) with name, url and logo to the home page.
- Expected
- At least one top-level Organization entity.
- Applies to
- Home pages (final URL path "/"); other pages are not applicable.
- Authority
- Official platform recommendation · RecommendedGoogle Organization structured data recommendation.
- Technical Score
- Weight 1 of 3Recommended on the home page to identify the organization.
- How MaxiMarket detects it
- The home page is the page whose final URL path is "/". Reports when its inspected JSON-LD has no top-level entity typed Organization or one of its Schema.org subtypes. Not evaluated when JSON-LD inspection hit its limits.
- Sources
- Organization structured data — Google Search Central, verified 2026-09-26
STRUCTURED-ORG-002Organization declares name, url and logoStructured dataInfo when failedWeight 1Technical SearchAI DiscoveryMachine Readability
- What this checks
- name, url and logo on each top-level Organization entity.
- Why it matters
- Google recommends these core identity properties for Organization structured data (none are required).
- How to fix
- Add name, url and logo to the Organization.
- Expected
- All three present.
- Applies to
- Pages with at least one top-level Organization entity (Organization or a subtype).
- Authority
- Official platform recommendation · RecommendedGoogle Organization structured data recommendation.
- Technical Score
- Weight 1 of 3Recommended core identity properties; none is required.
- How MaxiMarket detects it
- Reports when a top-level entity typed Organization or a subtype lacks a non-empty name, url or logo. Organizations nested in other entities (for example a seller or publisher) are not checked.
- Sources
- Organization structured data — Google Search Central, verified 2026-09-26
STRUCTURED-ORG-003Organization links its official profilesStructured dataInfo when failedNot scoredAI DiscoveryMachine Readability
- What this checks
- sameAs on each top-level Organization entity.
- Why it matters
- sameAs connects the organization to its other official profiles, which helps disambiguate it.
- How to fix
- Add sameAs with the URLs of the organization's official profiles.
- Expected
- At least one sameAs URL.
- Applies to
- Pages with at least one top-level Organization entity (Organization or a subtype).
- Authority
- Official platform recommendation · RecommendedGoogle Organization structured data recommendation.
- Technical Score
- Not scoredsameAs is optional disambiguation; its absence is not a technical defect.
- How MaxiMarket detects it
- Reports when a top-level Organization (or subtype) has no non-empty sameAs value.
- Sources
- Organization structured data — Google Search Central, verified 2026-09-26
STRUCTURED-ORG-004Organization logo meets minimum sizeStructured dataInfo when failedWeight 1Technical SearchAI DiscoveryMachine Readability
- What this checks
- The pixel dimensions of the logo of the first top-level Organization.
- Why it matters
- Google's Organization logo guideline sets a minimum of 112x112 pixels.
- How to fix
- Use a logo image of at least 112x112 pixels.
- Expected
- At least 112x112 pixels.
- Applies to
- Pages with a top-level Organization entity that declares a logo URL.
- Authority
- Official platform recommendation · RecommendedGoogle Organization structured data recommendation.
- Technical Score
- Weight 1 of 3A logo below Google's minimum size may not be used.
- How MaxiMarket detects it
- One bounded request for the logo URL (up to 256 KiB, same destination checks as the audit). Dimensions are read from PNG, GIF, JPEG, WebP and BMP headers. Reports when either dimension is below 112. SVG logos, unreadable formats and unavailable responses are not evaluated.
- Sources
- Organization structured data — Google Search Central, verified 2026-09-26
STRUCTURED-WEBSITE-001Home page declares WebSite nameStructured dataWarning when failedWeight 1Technical SearchAI DiscoveryMachine Readability
- What this checks
- WebSite structured data with name and url on the home page.
- Why it matters
- Google's site-name feature requires WebSite structured data with name and url on the home page to express a preferred site name.
- How to fix
- Add a WebSite entity with name and url to the home page.
- Expected
- A top-level WebSite entity with both properties.
- Applies to
- Home pages (final URL path "/"); other pages are not applicable.
- Authority
- Official search-engine requirement · RequiredRequired for expressing a site-name preference in Google Search.
- Technical Score
- Weight 1 of 3Needed only to express a site-name preference; the feature itself is optional.
- How MaxiMarket detects it
- The home page is the page whose final URL path is "/". Reports when its inspected JSON-LD has no top-level WebSite entity with a non-empty name and url. Not evaluated when JSON-LD inspection hit its limits.
- Sources
- Provide a site name to Google Search — Google Search Central, verified 2026-09-26
STRUCTURED-WEBSITE-002WebSite url is the canonical home pageStructured dataWarning when failedWeight 1Technical SearchAI DiscoveryMachine Readability
- What this checks
- The url of the home page's WebSite entity.
- Why it matters
- Google requires the WebSite url to be the canonical URL of the home page.
- How to fix
- Set WebSite url to the canonical home page URL.
- Expected
- The canonical home page URL.
- Applies to
- Home pages with a top-level WebSite entity that declares url.
- Authority
- Official search-engine requirement · RequiredRequired for expressing a site-name preference in Google Search.
- Technical Score
- Weight 1 of 3A wrong WebSite url breaks the site-name declaration.
- How MaxiMarket detects it
- The home page is the page whose final URL path is "/". Resolves each top-level WebSite url against the final URL and reports when it differs from the canonical home URL (the declared canonical, or the final URL when none is declared), ignoring fragments. Without a declared canonical, a final URL with a query is not known to be canonical, so a different WebSite url is not evaluated.
- Sources
- Provide a site name to Google Search — Google Search Central, verified 2026-09-26
STRUCTURED-BREADCRUMB-001Breadcrumb items have required propertiesStructured dataWarning when failedWeight 2Technical SearchAI DiscoveryMachine Readability
- What this checks
- The ListItems of each BreadcrumbList: how many, and their position, name and item.
- Why it matters
- Google requires these properties for breadcrumb rich results.
- How to fix
- Give each ListItem a position, a name and an item URL (the last one may omit item), with at least two ListItems.
- Expected
- At least two ListItems, each with position and name (on the ListItem or on the item Thing), and item on all but the last.
- Applies to
- Pages with at least one BreadcrumbList entity.
- Authority
- Official search-engine requirement · RequiredRequired for Google breadcrumb rich results.
- Technical Score
- Weight 2 of 3Required properties for breadcrumb rich results.
- How MaxiMarket detects it
- Checks BreadcrumbList entities in the inspected JSON-LD. Reports when itemListElement has fewer than two ListItems, or a ListItem lacks a position, a name (on the ListItem or its item object), or an item (except the ListItem with the highest position).
- Sources
- Breadcrumb structured data — Google Search Central, verified 2026-09-26
STRUCTURED-BREADCRUMB-002Breadcrumb positions start at 1 and are sequentialStructured dataWarning when failedWeight 1Technical SearchMachine Readability
- What this checks
- The position values of each BreadcrumbList.
- Why it matters
- Google uses position to order the trail; position 1 is its beginning.
- How to fix
- Number the ListItems 1, 2, 3 … from the start of the trail.
- Expected
- 1, 2, … n.
- Applies to
- Pages with at least one BreadcrumbList whose ListItems all declare a whole-number position.
- Authority
- Official platform recommendation · RecommendedGoogle breadcrumb recommendation.
- Technical Score
- Weight 1 of 3Incorrect positions misorder the trail.
- How MaxiMarket detects it
- For BreadcrumbLists whose ListItems all have whole-number positions (numbers or digit strings), reports when the sorted positions are not exactly 1 to n.
- Sources
- Breadcrumb structured data — Google Search Central, verified 2026-09-26
Crawl control and crawler access
CRAWL-ROBOTSTXT-002robots.txt does not return a server errorIndexingWarning when failedWeight 3Technical SearchAI Discovery
- What this checks
- The HTTP status of /robots.txt at the final origin.
- Why it matters
- When robots.txt answers with a server error, Google stops crawling the site for 12 hours and then relies on cached rules for up to 30 days.
- How to fix
- Make /robots.txt return 200 with its rules, or 404 if the site has none.
- Expected
- 200, or 404/410 when there is intentionally no robots.txt; never 5xx.
- Applies to
- Every audited origin whose robots.txt request received an HTTP response; network failures, timeouts and throttling (429) are not evaluated.
- Authority
- Official search-engine requirement · RequiredGoogle Search robots.txt handling.
- Technical Score
- Weight 3 of 3A robots.txt server error makes Google pause crawling of the whole site.
- How MaxiMarket detects it
- Reports when the robots.txt request answered 5xx (after at most 5 same-origin redirects). Timeouts, network failures, throttling (429) and other unusable answers are not evaluated.
- Sources
- How Google interprets the robots.txt specification — Google Search Central, verified 2026-09-26
CRAWL-ACCESS-001Audited URL is not disallowed for GooglebotIndexingWarning when failedWeight 3Technical SearchAI Discovery
- What this checks
- RFC 9309 evaluation of robots.txt against the audited URL for the Googlebot product token.
- Why it matters
- Google lists that Googlebot is not blocked among its technical requirements. A Disallow that applies to Googlebot is a declared crawl restriction: Google does not crawl the page, although it may still index the URL without its content. From 2026.4 it counts toward the Technical Score; an intended exclusion can be accepted in the findings workflow.
- How to fix
- Remove or narrow the disallow rules that match this URL for Googlebot (or *), unless the exclusion is intended.
- Expected
- Allowed, unless excluding the page from Google Search is intended.
- Applies to
- Every retrieved page whose origin returned robots.txt or 404/410 for it; not evaluated when robots.txt is unavailable, returns a server error or exceeds the inspection limits.
- Authority
- Official search-engine requirement · RequiredGoogle Search technical requirement.
- Technical Score
- Weight 3 of 3Scored from 2026.4: a Disallow for Googlebot keeps Google from crawling the page at all, as consequential as a robots.txt server error. An intended exclusion can be accepted in the findings workflow.
- How MaxiMarket detects it
- One RFC 9309 matcher: the groups naming googlebot (case-insensitive) are combined, otherwise the * groups; the longest matching allow or disallow path wins, allow on ties, with * and $ wildcards. 404/410 robots.txt allows everything. Not evaluated when robots.txt is unavailable, answers 5xx, or exceeds the inspection limits.
- Sources
- Google Search technical requirements — Google Search Central, verified 2026-09-26
- How Google interprets the robots.txt specification — Google Search Central, verified 2026-09-26
- RFC 9309: Robots Exclusion Protocol — IETF, verified 2026-09-26
CRAWL-ACCESS-003Audited URL is not disallowed for AI search crawlersIndexingInfo when failedNot scoredAI Discovery
- What this checks
- RFC 9309 evaluation of robots.txt against the audited URL for the AI search crawlers OAI-SearchBot, Claude-SearchBot, PerplexityBot, Meta-WebIndexer and Applebot.
- Why it matters
- Each vendor documents its own search crawler: OpenAI states that sites opted out of OAI-SearchBot are not shown in ChatGPT search answers, and Perplexity asks sites to allow PerplexityBot to be surfaced. These are platform statements, not search-engine requirements. The crawlers that are disallowed are listed in crawlerAccess.
- How to fix
- If the page should appear in these AI search products, allow the listed crawlers for this URL in robots.txt. Excluding them is a legitimate choice.
- Expected
- Allowed for each crawler, unless excluding the page from that product is intended.
- Applies to
- Every retrieved page whose origin returned robots.txt or 404/410 for it; not evaluated when robots.txt is unavailable, returns a server error or exceeds the inspection limits.
- Authority
- Official platform recommendation · RecommendedOfficial platform documentation of each vendor's AI search product; reported per crawler and never scored.
- Technical Score
- Not scoredExcluding an AI search product is a site owner's policy choice.
- How MaxiMarket detects it
- The CRAWL-ACCESS-001 matcher evaluated per product token. Not evaluated when robots.txt is unavailable, answers 5xx, or exceeds the inspection limits. Bing is not evaluated: it honors a single section and its current documentation is not retrievable.
- Sources
- Overview of OpenAI crawlers — OpenAI, verified 2026-10-01
- Does Anthropic crawl data from the web, and how can site owners block the crawler? — Anthropic, verified 2026-10-01
- Perplexity crawlers — Perplexity, verified 2026-10-01
- About Applebot — Apple, verified 2026-10-01
- Meta web crawlers — Meta, verified 2026-10-01
CRAWL-ACCESS-004Audited URL is not disallowed for BingbotIndexingWarning when failedWeight 2Technical SearchAI Discovery
- What this checks
- The robots.txt policy that applies to Bingbot for the audited URL.
- Why it matters
- Bing advises sites that want their content indexed not to block Bingbot: "no crawling means no indexing". Bingbot follows robots.txt, so a Disallow that applies to it is a declared crawl restriction: Bing does not crawl the page. This is Bing's published guidance rather than a stated Bing requirement; it counts toward the Technical Score with a small weight, and an intended exclusion can be accepted in the findings workflow.
- How to fix
- Remove or narrow the Disallow rules that match this URL in the bingbot section, or in the * section when there is no bingbot (or msnbot) section, unless the exclusion is intended.
- Expected
- Allowed, unless excluding the page from Bing is intended.
- Applies to
- Every retrieved page whose origin returned robots.txt or 404/410 for it; not evaluated when robots.txt is unavailable, returns a server error or exceeds the inspection limits.
- Authority
- Official platform recommendation · RecommendedOfficial Bing platform recommendation (Bing Webmaster Blog guidance), not a stated Bing requirement.
- Technical Score
- Weight 2 of 3Bing does not crawl, and so does not index, a page that robots.txt disallows for Bingbot. Conservatively below Googlebot's 3: Bing states this as blog guidance rather than a technical requirement. An intended exclusion can be accepted in the findings workflow.
- How MaxiMarket detects it
- Bing honors one robots.txt section: the bingbot section, else the msnbot section, else the * section. Within it, the longest matching allow or disallow path wins, allow on ties, with * and $ wildcards. Not evaluated when robots.txt is unavailable, answers 5xx, or exceeds the inspection limits; a 404/410 robots.txt allows everything.
- Sources
- Indexing issues? Let's examine the most common problems. — Microsoft Bing (Bing Webmaster Blog), verified 2026-10-01
- To crawl or not to crawl, that is BingBot's question — Microsoft Bing (Bing Webmaster Blog), verified 2026-10-01
- Announcing user-agent change for Bing crawler bingbot — Microsoft Bing (Bing Webmaster Blog), verified 2026-10-01
- RFC 9309: Robots Exclusion Protocol — IETF, verified 2026-09-26
CRAWL-ACCESS-005Search crawlers are not restricted only by the wildcard groupIndexingInfo when failedNot scoredTechnical SearchAI Discovery
- What this checks
- Whether Googlebot or Bingbot is disallowed for the audited URL through the User-agent: * group because no group of its own names it.
- Why it matters
- A crawler without its own group follows the * group. A broad * rule written for scrapers or AI crawlers then restricts search crawlers too, often unintentionally. This explains the cause of the restriction; the restriction itself is reported and scored once by its own rule.
- How to fix
- If search crawlers should crawl the page, add a group for them, for example "User-agent: Googlebot" and "User-agent: Bingbot" with the rules you intend (an empty "Disallow:" allows everything), and keep the restrictive rules in the * group for other bots.
- Expected
- Search crawler access is stated explicitly: a group that names the crawler, or a * group that does not restrict the page.
- Applies to
- Every retrieved page whose origin returned robots.txt or 404/410 for it; not evaluated when robots.txt is unavailable, returns a server error or exceeds the inspection limits.
- Authority
- MaxiMarket recommendation · MaxiMarket best practiceMaxiMarket diagnostic recommendation; informational and not scored.
- Technical Score
- Not scoredDiagnostic: the restriction is already reported and scored by CRAWL-ACCESS-001 (Googlebot) or CRAWL-ACCESS-004 (Bingbot), so it is never penalized twice.
- How MaxiMarket detects it
- The Googlebot (CRAWL-ACCESS-001) and Bingbot (CRAWL-ACCESS-004) evaluations; reported when either crawler is disallowed and no group names it, so the * group applied. Not evaluated when robots.txt is unavailable, answers 5xx, or exceeds the inspection limits; a 404/410 robots.txt allows everything.
- Sources
- RFC 9309: Robots Exclusion Protocol — IETF, verified 2026-09-26
- How Google interprets the robots.txt specification — Google Search Central, verified 2026-09-26
- To crawl or not to crawl, that is BingBot's question — Microsoft Bing (Bing Webmaster Blog), verified 2026-10-01
Indexing and snippet directives
INDEX-NOINDEX-001Indexing exclusion for all crawlersIndexingInfo when failedNot scoredTechnical SearchAI Discovery
- What this checks
- Whether a robots meta element named robots, or an X-Robots-Tag directive without a user-agent prefix, declares noindex or none.
- Why it matters
- When Google sees a noindex rule it drops the page entirely from Google Search results. Excluding a page is often intentional, so this is reported for review with info severity and is never scored. Crawler-specific rules are reported separately as an observation.
- How to fix
- No change is needed if the page is intentionally kept out of search. If it is intended to appear in search results, remove noindex or none from the robots meta tag and the X-Robots-Tag header.
- Expected
- Pages intended to appear in search results declare no noindex or none rule for all crawlers; pages intentionally kept out of search may declare one.
- Applies to
- Every retrieved page.
- Authority
- Official search-engine requirement · RequiredRequired for the page to remain in Google Search results; intentional exclusion is legitimate.
- Technical Score
- Not scoredExcluding a page from search is often intentional (carts, account pages); intent cannot be inferred.
- How MaxiMarket detects it
- Reports when meta name="robots" or an unprefixed X-Robots-Tag directive contains noindex or none. Crawler-named meta elements (for example googlebot) and user-agent-prefixed X-Robots-Tag directives are observation INDEX-NOINDEX-002, not this rule.
- Sources
- Block search indexing with noindex — Google Search Central, verified 2026-09-26
- Robots meta tag, data-nosnippet and X-Robots-Tag specifications — Google Search Central, verified 2026-09-26
- AI features and your website — Google Search Central, verified 2026-09-26
INDEX-DIRECTIVE-CONFLICT-001Robots rules for the same crawler do not conflictIndexingWarning when failedNot scoredTechnical Search
- What this checks
- Whether robots rules addressed to the same target contradict each other.
- Why it matters
- Google documents that the more restrictive rule applies when robots rules conflict, so a stray restrictive declaration silently wins. Avoiding conflicts is a MaxiMarket recommendation.
- How to fix
- Keep one consistent set of robots rules per target across the robots meta tags and the X-Robots-Tag header.
- Expected
- Each target (all crawlers, or one named crawler) receives one consistent set of rules.
- Applies to
- Pages with robots meta or X-Robots-Tag declarations; conflicts are judged within one target (all crawlers, or one named crawler).
- Authority
- MaxiMarket recommendation · MaxiMarket best practiceMaxiMarket recommendation. No search engine, standard or platform requires this.
- Technical Score
- Not scoredA MaxiMarket recommendation: search engines resolve conflicts deterministically (most restrictive wins), so the outcome depends on intent.
- How MaxiMarket detects it
- Within one target (robots meta named robots plus unprefixed X-Robots-Tag directives for all crawlers, or one named crawler), reports index or all together with noindex or none, or follow or all together with nofollow or none. Combinations across different targets are not treated as conflicts.
- Sources
- Robots meta tag, data-nosnippet and X-Robots-Tag specifications — Google Search Central, verified 2026-09-26
INDEX-NOINDEX-CANONICAL-001noindex is not combined with a canonical URL pointing elsewhereIndexingWarning when failedNot scoredTechnical SearchAI Discovery
- What this checks
- Whether a page declares noindex for all crawlers and a canonical URL for a different page.
- Why it matters
- Google does not recommend using noindex to prevent selection of a canonical page within a single site; the two signals conflict.
- How to fix
- If this page duplicates another, keep the canonical URL and remove noindex. If the page should stay out of search, keep noindex and make the canonical point to the page itself or remove it.
- Expected
- The page uses one signal: a canonical URL pointing to the preferred page, or noindex.
- Applies to
- Pages that declare noindex for all crawlers and a non-empty canonical URL; indexable pages and crawler-specific noindex are not applicable.
- Authority
- Official platform recommendation · RecommendedGoogle canonicalization recommendation.
- Technical Score
- Not scoredDepends on noindex, an intent-dependent state that is itself not scored.
- How MaxiMarket detects it
- Reports when INDEX-NOINDEX-001 applies (noindex or none for all crawlers) and the declared canonical, resolved against the final URL and ignoring any fragment, is a different URL. Unparseable canonical values are not applicable.
- Sources
- How to specify a canonical URL — Google Search Central, verified 2026-09-26
INDEX-SNIPPET-002data-nosnippet is used only on supported elementsIndexingWarning when failedWeight 1Technical SearchAI Discovery
- What this checks
- The elements that carry a data-nosnippet attribute.
- Why it matters
- Google honors data-nosnippet only on span, div and section elements; elsewhere the text stays eligible for snippets and AI features.
- How to fix
- Move data-nosnippet to a span, div or section that wraps the text.
- Expected
- Only span, div and section elements carry data-nosnippet.
- Applies to
- Pages with at least one element carrying data-nosnippet.
- Authority
- Official search-engine requirement · RequiredGoogle Search snippet control.
- Technical Score
- Weight 1 of 3Misplaced data-nosnippet silently fails, but only affects snippet control of the marked text.
- How MaxiMarket detects it
- Reports when an HTML element other than span, div or section has a data-nosnippet attribute.
- Sources
- Robots meta tag, data-nosnippet and X-Robots-Tag specifications — Google Search Central, 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-003Sitemap lists entriesIndexingInfo when failedWeight 1Technical Search
- What this checks
- Whether each fully inspected sitemap contains at least one direct entry.
- Why it matters
- The Sitemaps protocol includes a url entry for each listed URL, and its XML schemas require at least one url in a urlset and one sitemap in a sitemapindex.
- How to fix
- Check the sitemap generator; list the site's indexable URLs, or stop referencing the empty sitemap.
- Expected
- Each urlset contains at least one url entry and each sitemapindex at least one sitemap entry.
- Applies to
- Origins where at least one well-formed sitemap was fully inspected.
- Authority
- Open standard / Schema.org · RequiredRequired by the Sitemaps XML schemas.
- Technical Score
- Weight 1 of 3An empty sitemap is valid XML that lists nothing; it adds no discovery value.
- How MaxiMarket detects it
- Reports when at least one fully inspected, well-formed sitemap contains no direct url or sitemap entries. Partially inspected sitemaps are not reported.
- Sources
- Sitemap and sitemap index XML schemas — Sitemaps.org, verified 2026-09-26
INDEX-SITEMAP-005Sitemap URLs belong to the sitemap's host and scopeIndexingWarning when failedWeight 1Technical Search
- What this checks
- Sitemap loc entries on another origin, and whether that origin's robots.txt references the sitemap.
- Why it matters
- The sitemap protocol only accepts URLs of the sitemap's own host and protocol unless the other host proves ownership by referencing the sitemap in its robots.txt; other URLs are dropped.
- How to fix
- List only URLs of the sitemap's own origin, or reference the sitemap from the other origin's robots.txt.
- Expected
- Every entry is on the sitemap's origin, or its origin's robots.txt references the sitemap (cross-submission).
- Applies to
- Origins with a retrieved urlset sitemap that lists URLs on another origin. Same-origin entries are always in scope, because MaxiMarket only reads the root /sitemap.xml or sitemaps its own robots.txt references.
- Authority
- Open standard / Schema.org · RequiredSitemaps XML protocol.
- Technical Score
- Weight 1 of 3Out-of-scope entries are dropped; the rest of the sitemap still works.
- How MaxiMarket detects it
- For up to 3 other origins listed in the inspected urlset sitemaps, fetches their robots.txt (same limits as the audit's robots.txt request) and reports when one is retrieved (or answers 404/410) without a Sitemap line naming the sitemap. Same-origin entries are always in scope: MaxiMarket reads only the root /sitemap.xml or sitemaps referenced by the origin's own robots.txt. Unavailable robots.txt files and uninspected origins are not evaluated.
- Sources
- Sitemaps XML format — Sitemaps.org, verified 2026-09-26
INDEX-SITEMAP-006Sitemap URLs are absolute and validIndexingWarning when failedWeight 2Technical Search
- What this checks
- Sitemap loc values that are relative, unparseable, or 2,048 characters or longer.
- Why it matters
- The sitemap protocol requires full URLs, including the protocol, of less than 2,048 characters.
- How to fix
- Use complete, absolute URLs shorter than 2,048 characters in every loc.
- Expected
- Every loc is an absolute URL shorter than 2,048 characters.
- Applies to
- Retrieved, well-formed sitemaps with at least one loc entry.
- Authority
- Open standard / Schema.org · RequiredSitemaps XML protocol.
- Technical Score
- Weight 2 of 3Invalid loc values are protocol errors that make those entries unusable.
- How MaxiMarket detects it
- Checks url and sitemap loc entries of the inspected sitemaps (at most 1,000 entries). Reports when a loc has no URL scheme, cannot be parsed as a URL, or is 2,048 characters or longer. Ports, credentials and other URL features MaxiMarket does not fetch are not protocol errors and are not reported.
- Sources
- Sitemaps XML format — Sitemaps.org, verified 2026-09-26
- Build and submit a sitemap — Google Search Central, 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
International (hreflang)
INTL-HREFLANG-001hreflang declarations are usableIndexingWarning when failedWeight 2Technical Search
- What this checks
- Whether each hreflang alternate link has a language code in Google's supported form and a fully qualified http(s) URL.
- Why it matters
- Google supports an ISO 639-1 language code with an optional ISO 3166-1 Alpha 2 region and ignores unsupported values; alternate URLs must be fully qualified.
- How to fix
- Correct the hreflang value (for example "en" or "en-GB") and use an absolute http(s) URL for each alternate.
- Expected
- Every hreflang value is x-default or an ISO 639-1 language with an optional ISO 15924 script and optional ISO 3166-1 alpha-2 region, and every alternate URL is absolute.
- Applies to
- Pages with at least one hreflang declaration; absence of hreflang is never a failure.
- Authority
- Official search-engine requirement · RequiredRequired for Google Search to use the hreflang annotation; unsupported parts are ignored.
- Technical Score
- Weight 2 of 3Unusable hreflang entries are ignored by Google.
- How MaxiMarket detects it
- Reports when at least one inspected alternate link has an empty or malformed language tag, a tag outside the supported form (for example a three-letter language or a numeric region such as es-419), an unusable URL, or a relative URL (including scheme-relative //host URLs). Codes are checked for form only, not against the ISO registries, so a reserved region such as UK is not detected.
- Sources
- Tell Google about localized versions of your page — Google Search Central, verified 2026-09-26
INTL-HREFLANG-002Each hreflang language is declared onceIndexingWarning when failedNot scoredTechnical Search
- What this checks
- Whether any normalized hreflang language is declared more than once on the page.
- Why it matters
- Declaring the same language for several URLs makes the intended alternate ambiguous. This is a MaxiMarket consistency recommendation.
- How to fix
- Keep one alternate link per hreflang value and remove or correct the duplicates.
- Expected
- Each language or language-region value maps to one alternate URL.
- Applies to
- Pages with at least one hreflang declaration.
- Authority
- MaxiMarket recommendation · MaxiMarket best practiceMaxiMarket recommendation. No search engine, standard or platform requires this.
- Technical Score
- Not scoredA MaxiMarket recommendation without an external requirement.
- How MaxiMarket detects it
- Reports when the same case-normalized hreflang value appears on more than one inspected alternate link.
- Sources
- MaxiMarket recommendation without an external source.
INTL-HREFLANG-004hreflang set includes the page itselfIndexingWarning when failedWeight 2Technical Search
- What this checks
- Whether one of the page's hreflang alternates points to the page.
- Why it matters
- Google requires each language version to list itself as well as all other versions.
- How to fix
- Add an alternate link with the page's own language (or x-default) pointing to its own URL.
- Expected
- The page lists itself among its hreflang alternates.
- Applies to
- Pages with at least one usable hreflang declaration; absence of hreflang is never a failure.
- Authority
- Official search-engine requirement · RequiredGoogle hreflang requirement.
- Technical Score
- Weight 2 of 3Google requires each version to list itself.
- How MaxiMarket detects it
- Reports when inspection of the hreflang links is complete and no usable alternate resolves, ignoring fragments, to the final URL or to the declared canonical URL.
- Sources
- Tell Google about localized versions of your page — Google Search Central, verified 2026-09-26
INTL-HREFLANG-005hreflang alternates link back (return links)IndexingWarning when failedWeight 2Technical Search
- What this checks
- Whether each alternate page declares this page among its own hreflang alternates.
- Why it matters
- Google ignores hreflang annotations when two pages do not point to each other.
- How to fix
- Add hreflang links on every alternate page that point back to this page.
- Expected
- Every alternate links back to this page.
- Applies to
- Pages with at least one usable hreflang alternate that points to another URL.
- Authority
- Official search-engine requirement · RequiredGoogle hreflang requirement.
- Technical Score
- Weight 2 of 3Without return links Google ignores the annotations.
- How MaxiMarket detects it
- Fetches up to 5 distinct alternate URLs other than this page (same destination checks as the audit, 512 KiB and 5 seconds each). Reports when an alternate answers 4xx, or answers 200 with HTML whose hreflang links (resolved, fragments ignored) include neither this page's final URL nor its canonical. Alternates that were not fetched or could not be retrieved leave the rule not evaluated unless another alternate failed.
- Sources
- Tell Google about localized versions of your page — 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
STRUCTURED-JSONLD-003JSON-LD declares a usable typeStructured dataWarning when failedNot scoredTechnical SearchAI DiscoveryMachine Readability
- What this checks
- Whether valid JSON-LD declares at least one usable @type.
- Why it matters
- Schema.org organizes its vocabulary as types with associated properties, and structured data features are defined per type. MaxiMarket flags untyped JSON-LD because consumers cannot tell what it describes.
- How to fix
- Add an @type with a Schema.org type name to each entity in the JSON-LD.
- Expected
- Each structured data entity declares a Schema.org type, such as Product.
- Applies to
- Pages with at least one valid JSON-LD block.
- Authority
- MaxiMarket recommendation · MaxiMarket best practiceMaxiMarket recommendation. No search engine, standard or platform requires this.
- Technical Score
- Not scoredA MaxiMarket recommendation; untyped JSON-LD is not invalid.
- How MaxiMarket detects it
- Reports when at least one JSON-LD block is valid but no normalized @type name is found within the bounded traversal.
- Sources
- Schema.org data model — Schema.org, verified 2026-09-26
Ratings and reviews
STRUCTURED-RATING-001AggregateRating has required propertiesStructured dataWarning when failedWeight 2Technical SearchAI DiscoveryCommerceMachine Readability
- What this checks
- ratingValue and ratingCount or reviewCount on each AggregateRating.
- Why it matters
- Google requires these properties for review snippets.
- How to fix
- Add ratingValue and ratingCount (or reviewCount) to each AggregateRating.
- Expected
- Every AggregateRating has ratingValue and at least one of ratingCount or reviewCount.
- Applies to
- Pages with at least one AggregateRating entity.
- Authority
- Official search-engine requirement · RequiredRequired for Google review snippets.
- Technical Score
- Weight 2 of 3Required properties for review snippets.
- How MaxiMarket detects it
- Checks AggregateRating entities (and subtypes) found in the inspected JSON-LD. Reports when one lacks a non-empty ratingValue or has neither ratingCount nor reviewCount.
- Sources
- Review snippet structured data — Google Search Central, verified 2026-09-26
STRUCTURED-RATING-002Review has required propertiesStructured dataWarning when failedWeight 2Technical SearchAI DiscoveryCommerceMachine Readability
- What this checks
- author, reviewRating.ratingValue and, for reviews not nested in the reviewed item, itemReviewed.
- Why it matters
- Google requires these properties for review snippets.
- How to fix
- Add author, reviewRating.ratingValue and (for standalone reviews) itemReviewed to each Review.
- Expected
- Every Review has an author and a reviewRating with ratingValue; top-level reviews also name itemReviewed.
- Applies to
- Pages with at least one Review entity.
- Authority
- Official search-engine requirement · RequiredRequired for Google review snippets.
- Technical Score
- Weight 2 of 3Required properties for review snippets. Excluded from the score when STRUCTURED-AUTHOR-001 fails, because a nameless author can fail both checks.
- How MaxiMarket detects it
- Checks Review entities (and subtypes) found in the inspected JSON-LD. Reports when one lacks author, lacks a reviewRating with a non-empty ratingValue, or is a top-level entity without itemReviewed.
- Sources
- Review snippet structured data — Google Search Central, verified 2026-09-26
Articles, authorship and dates
STRUCTURED-ARTICLE-001Article declares headline, image, dates and authorStructured dataInfo when failedWeight 1Technical SearchAI DiscoveryMachine Readability
- What this checks
- headline, image, datePublished, dateModified and author on each top-level Article entity.
- Why it matters
- Google recommends these properties for Article structured data (none are required); they describe the article for search features.
- How to fix
- Add headline, image, datePublished, dateModified and author to the Article.
- Expected
- All five present.
- Applies to
- Pages with at least one top-level Article entity (Article or a subtype, such as BlogPosting or NewsArticle).
- Authority
- Official platform recommendation · RecommendedGoogle Article structured data recommendation.
- Technical Score
- Weight 1 of 3Recommended properties; Article has no required properties.
- How MaxiMarket detects it
- Reports when a top-level entity typed Article or a Schema.org subtype (for example BlogPosting or NewsArticle) lacks a non-empty headline, image, datePublished, dateModified or author.
- Sources
- Article structured data — Google Search Central, verified 2026-09-26
STRUCTURED-AUTHOR-001Author entities have a nameStructured dataWarning when failedWeight 1Technical SearchAI DiscoveryMachine Readability
- What this checks
- The name of each declared author.
- Why it matters
- Google documents the author name for articles and requires a valid author name for reviews.
- How to fix
- Give each author a name, for example {"@type": "Person", "name": "…"}.
- Expected
- Every author is a non-empty name or an entity with one.
- Applies to
- Pages whose structured data declares at least one author.
- Authority
- Official platform recommendation · RecommendedGoogle Article and review snippet guidance.
- Technical Score
- Weight 1 of 3Author names are recommended for articles and required for reviews.
- How MaxiMarket detects it
- Checks author values in the inspected JSON-LD. A non-empty string, or an object with a non-empty name, passes; an @id reference is resolved within the page. Reports when an author object has no name. Unresolvable references are not evaluated.
- Sources
- Article structured data — Google Search Central, verified 2026-09-26
- Review snippet structured data — Google Search Central, verified 2026-09-26
STRUCTURED-DATE-001Structured dates use ISO 8601 with time zoneStructured dataWarning when failedWeight 1Technical SearchAI DiscoveryMachine Readability
- What this checks
- The format of datePublished and dateModified values.
- Why it matters
- Google asks for ISO 8601 dates and correct time zones; a time without a zone is ambiguous.
- How to fix
- Use values such as 2026-09-26 or 2026-09-26T08:00:00+02:00.
- Expected
- An ISO 8601 date, or a date and time with a time zone.
- Applies to
- Pages whose structured data declares datePublished or dateModified.
- Authority
- Official platform recommendation · RecommendedGoogle Article and publication date guidance.
- Technical Score
- Weight 1 of 3Dates in another format or without a time zone may be misread.
- How MaxiMarket detects it
- Reports when a datePublished or dateModified in the inspected JSON-LD is not an ISO 8601 calendar date (YYYY-MM-DD) or date-time with hours and minutes, or gives a time without Z or an offset.
- Sources
- Article structured data — Google Search Central, verified 2026-09-26
- Influence the byline dates in Google Search — Google Search Central, verified 2026-09-26
STRUCTURED-DATE-002Dates are plausibleStructured dataWarning when failedWeight 1Technical SearchAI DiscoveryMachine Readability
- What this checks
- Future datePublished or dateModified values, and dateModified earlier than datePublished.
- Why it matters
- Google asks not to specify future dates, and a modification before publication is contradictory.
- How to fix
- Correct the dates or their time zones.
- Expected
- No future dates, and dateModified not earlier than datePublished.
- Applies to
- Pages whose structured data declares a datePublished or dateModified in ISO 8601 form.
- Authority
- Official platform recommendation · RecommendedGoogle publication date guidance.
- Technical Score
- Weight 1 of 3Implausible dates are recommended against; they do not break parsing.
- How MaxiMarket detects it
- Compares ISO 8601 values with the audit time and with each other. A date without a time spans that whole day in every time zone, and a time without a zone spans all offsets, so only dates that are in the future (by more than one hour) or out of order under every interpretation are reported.
- Sources
- Influence the byline dates in Google Search — Google Search Central, verified 2026-09-26
STRUCTURED-PAYWALL-001Declared paywall markup is completeStructured dataWarning when failedWeight 2Technical SearchAI DiscoveryMachine Readability
- What this checks
- For entities with isAccessibleForFree false: hasPart WebPageElement parts with isAccessibleForFree false and a class-only cssSelector.
- Why it matters
- Google uses paywall markup to tell paywalled content apart from cloaking; it names isAccessibleForFree, hasPart WebPageElement and a class cssSelector.
- How to fix
- Add hasPart with a WebPageElement whose isAccessibleForFree is false and whose cssSelector is a class selector, such as .paywall.
- Expected
- At least one such part, and every declared part uses a class selector.
- Applies to
- Pages whose structured data declares isAccessibleForFree false on an entity.
- Authority
- Official search-engine requirement · RequiredRequired by Google for paywalled content markup.
- Technical Score
- Weight 2 of 3Incomplete paywall markup risks paywalled content being treated as cloaking.
- How MaxiMarket detects it
- Reports when an entity declares isAccessibleForFree false (boolean or the string "false") and has no hasPart WebPageElement (or subtype) with isAccessibleForFree false and a cssSelector made only of class selectors, or declares a WebPageElement part whose cssSelector is not class-only. Whether content is actually gated is not observable.
- Sources
- Subscription and paywalled content structured data — Google Search Central, verified 2026-09-26
- Spam policies for Google web search — Google Search Central, verified 2026-09-26
Product and Offer data
STRUCTURED-PRODUCT-001Product has a nameProductWarning when failedWeight 3Technical SearchAI DiscoveryCommerceMachine Readability
- What this checks
- Whether each inspected Product entity has a usable name.
- Why it matters
- Google lists name as required for both Product snippets and merchant listings; items missing required properties are not eligible for rich results.
- How to fix
- Add a "name" property with the product name to each Product entity.
- Expected
- Every Product entity has a non-empty name.
- Applies to
- Pages with at least one fully inspected Product entity; not applicable otherwise.
- Authority
- Official search-engine requirement · RequiredRequired for Google Product snippet and merchant listing rich result eligibility.
- Technical Score
- Weight 3 of 3A Product name is required for every product rich result.
- How MaxiMarket detects it
- Reports when at least one fully inspected Product entity (at most 20) has no non-empty string name.
- Sources
- Product snippet structured data — Google Search Central, verified 2026-09-26
- Merchant listing structured data — Google Search Central, verified 2026-09-26
- General structured data guidelines — Google Search Central, verified 2026-09-26
STRUCTURED-PRODUCT-002Product has an offer (merchant listings)ProductWarning when failedNot scoredTechnical SearchAI DiscoveryCommerceMachine Readability
- What this checks
- Whether each inspected Product entity has a recognizable Offer or AggregateOffer.
- Why it matters
- Google requires offers for merchant listings. The separate Product-snippet requirement (offers, review or aggregate rating) is STRUCTURED-PRODUCT-008.
- How to fix
- Add an "offers" property with an Offer (or AggregateOffer for multiple sellers) to each Product entity.
- Expected
- Every Product entity has an offers property containing an Offer or AggregateOffer.
- Applies to
- Pages with at least one fully inspected Product entity; not applicable otherwise. Merchant-listing requirement.
- Authority
- Official search-engine requirement · RequiredRequired for Google merchant listing eligibility.
- Technical Score
- Not scoredMerchant listings apply only to pages where the product can be bought, which MaxiMarket cannot infer; Product-snippet eligibility is scored by STRUCTURED-PRODUCT-008.
- How MaxiMarket detects it
- Reports when at least one fully inspected Product entity has no offers value whose @type is Offer or AggregateOffer. Reviews and ratings are not considered.
- Sources
- Merchant listing structured data — Google Search Central, verified 2026-09-26
- General structured data guidelines — Google Search Central, verified 2026-09-26
STRUCTURED-PRODUCT-008Product has an offer, review or aggregate rating (Product snippets)ProductWarning when failedWeight 2Technical SearchAI DiscoveryCommerceMachine Readability
- What this checks
- Whether each inspected Product entity has at least one of offers, review or aggregateRating.
- Why it matters
- Google requires one of offers, review or aggregateRating for Product snippets; items missing required properties are not eligible for rich results.
- How to fix
- Add an "offers" Offer, a "review" Review or an "aggregateRating" AggregateRating to each Product entity.
- Expected
- Every Product entity has an Offer or AggregateOffer, a Review, or an AggregateRating.
- Applies to
- Pages with at least one fully inspected Product entity; not applicable otherwise. Product-snippet requirement.
- Authority
- Official search-engine requirement · RequiredRequired for Google Product snippet eligibility.
- Technical Score
- Weight 2 of 3One of offers, review or rating is required for Product snippets.
- How MaxiMarket detects it
- Reports when at least one fully inspected Product entity (at most 20) has none of: an offers value typed Offer or AggregateOffer, a review object (typed Review or untyped), or an aggregateRating object (typed AggregateRating or untyped).
- Sources
- Product snippet structured data — Google Search Central, verified 2026-09-26
- General structured data guidelines — Google Search Central, verified 2026-09-26
STRUCTURED-PRODUCT-003Product has an imageProductWarning when failedWeight 2Technical SearchAI DiscoveryCommerceMachine Readability
- What this checks
- Whether each inspected Product entity has a usable image.
- Why it matters
- Google lists image as required for merchant listings.
- How to fix
- Add an "image" property with the URL of a product photo to each Product entity.
- Expected
- Every Product entity has an image URL or ImageObject.
- Applies to
- Pages with at least one fully inspected Product entity; not applicable otherwise.
- Authority
- Official search-engine requirement · RequiredRequired for Google merchant listing eligibility.
- Technical Score
- Weight 2 of 3An image is required for merchant listings.
- How MaxiMarket detects it
- Reports when at least one fully inspected Product entity has no non-empty image string, array item or ImageObject. Image URLs are not fetched or validated.
- Sources
- Merchant listing structured data — Google Search Central, verified 2026-09-26
- General structured data guidelines — Google Search Central, verified 2026-09-26
STRUCTURED-PRODUCT-004Product has a product identifierProductWarning when failedWeight 1Technical SearchAI DiscoveryCommerceMachine Readability
- What this checks
- Whether each inspected Product entity has a recognized product identifier: GTIN, MPN, SKU or ISBN.
- Why it matters
- Google recommends GTIN, MPN or SKU identifiers for merchant listings to identify the product.
- How to fix
- Add the applicable identifier, such as "gtin13", "mpn" or "sku", to each Product entity.
- Expected
- Every Product entity has a GTIN, MPN, SKU or ISBN.
- Applies to
- Pages with at least one fully inspected Product entity; not applicable otherwise.
- Authority
- Official platform recommendation · RecommendedGoogle recommendation for merchant listings.
- Technical Score
- Weight 1 of 3Identifiers are recommended, not required.
- How MaxiMarket detects it
- Reports when at least one fully inspected Product entity has none of sku, gtin, gtin8, gtin12, gtin13, gtin14, isbn or mpn with a non-empty value. Identifier formats and check digits are not validated.
- Sources
- Merchant listing structured data — Google Search Central, verified 2026-09-26
- Schema.org Product — Schema.org, verified 2026-09-26
STRUCTURED-PRODUCT-005Product declares a brandProductInfo when failedWeight 1Technical SearchAI DiscoveryCommerceMachine Readability
- What this checks
- Whether each inspected Product entity has a brand with a name.
- Why it matters
- Google recommends brand for merchant listings; it identifies the product's maker.
- How to fix
- Add brand, for example {"@type": "Brand", "name": "…"}.
- Expected
- Every Product has a brand name.
- Applies to
- Pages with at least one fully inspected Product entity; not applicable otherwise.
- Authority
- Official platform recommendation · RecommendedFully inspected Product entities (at most 20 per page).
- Technical Score
- Weight 1 of 3Brand is a recommended property.
- How MaxiMarket detects it
- Reports when a fully inspected Product entity has no brand that is a non-empty string or an object with a non-empty name.
- Sources
- Merchant listing structured data — Google Search Central, verified 2026-09-26
- Schema.org Product — Schema.org, verified 2026-09-26
STRUCTURED-PRODUCT-006Product has a descriptionProductInfo when failedWeight 1Technical SearchAI DiscoveryCommerceMachine Readability
- What this checks
- Whether each inspected Product entity has a description.
- Why it matters
- Google recommends a description for merchant listings.
- How to fix
- Add a description to each Product.
- Expected
- Every Product has a non-empty description.
- Applies to
- Pages with at least one fully inspected Product entity; not applicable otherwise.
- Authority
- Official platform recommendation · RecommendedFully inspected Product entities (at most 20 per page).
- Technical Score
- Weight 1 of 3Description is a recommended property.
- How MaxiMarket detects it
- Reports when a fully inspected Product entity has no non-empty description string.
- Sources
- Merchant listing structured data — Google Search Central, verified 2026-09-26
STRUCTURED-PRODUCT-009ProductGroup declares a name and a group identifierProductWarning when failedWeight 2Technical SearchAI DiscoveryCommerceMachine Readability
- What this checks
- ProductGroup name, and a product group identifier as productGroupID or as inProductGroupWithID on its variants.
- Why it matters
- Google requires a ProductGroup name, and each product group needs a unique ID given by productGroupID or by inProductGroupWithID on its variants.
- How to fix
- Add name and productGroupID to the ProductGroup.
- Expected
- A name and a group identifier.
- Applies to
- Pages with at least one ProductGroup entity.
- Authority
- Official search-engine requirement · RequiredRequired for Google product variant support.
- Technical Score
- Weight 2 of 3A ProductGroup without a name or group ID is not usable for variants.
- How MaxiMarket detects it
- Checks ProductGroup entities in the inspected JSON-LD. Reports when one has no non-empty name, or has no productGroupID while none of its variants (hasVariant Products, or Products whose isVariantOf is the group) declares inProductGroupWithID.
- Sources
- Product variant structured data — Google Search Central, verified 2026-09-26
STRUCTURED-PRODUCT-010Variant group identifiers matchProductWarning when failedWeight 2Technical SearchAI DiscoveryCommerceMachine Readability
- What this checks
- inProductGroupWithID of each variant against productGroupID of its ProductGroup.
- Why it matters
- Google requires the two identifiers to match when both are provided.
- How to fix
- Use the same identifier in productGroupID and in every variant's inProductGroupWithID.
- Expected
- Equal values.
- Applies to
- Pages where a ProductGroup declares productGroupID and at least one of its variants declares inProductGroupWithID.
- Authority
- Official search-engine requirement · RequiredRequired for Google product variant support.
- Technical Score
- Weight 2 of 3Mismatched group identifiers break the variant relationship.
- How MaxiMarket detects it
- For ProductGroups with productGroupID, reports when a linked variant (hasVariant, or isVariantOf the group) declares a different inProductGroupWithID (compared after trimming whitespace).
- Sources
- Product variant structured data — Google Search Central, verified 2026-09-26
STRUCTURED-OFFER-001Offer has a priceOfferWarning when failedWeight 3Technical SearchAI DiscoveryCommerceMachine Readability
- What this checks
- Whether each inspected Offer has a price or a priceSpecification price.
- Why it matters
- Google lists price (or priceSpecification.price) as required on Offer for both Product snippets and merchant listings.
- How to fix
- Add a "price" property with the current offer price to each Offer.
- Expected
- Every Offer has a price (or priceSpecification.price).
- Applies to
- Pages with at least one inspected Offer linked from a fully inspected Product.
- Authority
- Official search-engine requirement · RequiredRequired for Google Product snippet and merchant listing eligibility.
- Technical Score
- Weight 3 of 3A price is required for every Offer.
- How MaxiMarket detects it
- Reports when at least one inspected Offer linked from a fully inspected Product has neither a non-empty direct price nor a priceSpecification (object or array) with a non-empty price.
- Sources
- Product snippet structured data — Google Search Central, verified 2026-09-26
- Merchant listing structured data — Google Search Central, verified 2026-09-26
- General structured data guidelines — Google Search Central, verified 2026-09-26
STRUCTURED-OFFER-002AggregateOffer has a lowPriceOfferWarning when failedWeight 3Technical SearchAI DiscoveryCommerceMachine Readability
- What this checks
- Whether each inspected AggregateOffer has a direct lowPrice.
- Why it matters
- Google lists lowPrice as required on AggregateOffer for Product snippets.
- How to fix
- Add a "lowPrice" property with the lowest available offer price to each AggregateOffer.
- Expected
- Every AggregateOffer has a lowPrice.
- Applies to
- Pages with at least one inspected AggregateOffer linked from a fully inspected Product.
- Authority
- Official search-engine requirement · RequiredRequired for Google Product snippet eligibility when AggregateOffer is used; merchant listings require Offer instead.
- Technical Score
- Weight 3 of 3lowPrice is the required price of an AggregateOffer.
- How MaxiMarket detects it
- Reports when at least one inspected AggregateOffer linked from a fully inspected Product has no non-empty direct lowPrice.
- Sources
- Product snippet structured data — Google Search Central, verified 2026-09-26
STRUCTURED-OFFER-003Offer states its price currencyOfferWarning when failedWeight 2Technical SearchAI DiscoveryCommerceMachine Readability
- What this checks
- Whether each inspected Offer or AggregateOffer states a valid ISO 4217 currency code.
- Why it matters
- Google requires priceCurrency on Offer for merchant listings and on AggregateOffer for Product snippets; for Offer in Product snippets it is recommended.
- How to fix
- Add a "priceCurrency" property with the ISO 4217 currency code, such as "EUR", to each Offer and AggregateOffer.
- Expected
- Every Offer and AggregateOffer has a priceCurrency that is a current ISO 4217 alphabetic code, such as EUR.
- Applies to
- Pages with at least one inspected Offer or AggregateOffer linked from a fully inspected Product.
- Authority
- Official search-engine requirement · RequiredRequired for Google merchant listings (Offer) and Product snippets (AggregateOffer); recommended for Offer in Product snippets.
- Technical Score
- Weight 2 of 3A valid currency is required to interpret the price.
- How MaxiMarket detects it
- Reports when at least one inspected Offer or AggregateOffer linked from a fully inspected Product has no priceCurrency that exactly matches an alphabetic code in ISO 4217 List One (the dated copy recorded in the audit package). For Offer, priceSpecification.priceCurrency is also accepted. Matching is case-sensitive after trimming whitespace.
- Sources
- Merchant listing structured data — Google Search Central, verified 2026-09-26
- Product snippet structured data — Google Search Central, verified 2026-09-26
- Schema.org Offer — Schema.org, verified 2026-09-26
- ISO 4217 currency code lists — SIX (ISO 4217 Maintenance Agency), verified 2026-09-26
STRUCTURED-OFFER-004Offer states its availabilityOfferWarning when failedWeight 1Technical SearchAI DiscoveryCommerceMachine Readability
- What this checks
- Whether each inspected Offer states a valid Schema.org availability value.
- Why it matters
- Google recommends availability on Offer for Product snippets and merchant listings.
- How to fix
- Add an "availability" property with a Schema.org ItemAvailability value to each Offer.
- Expected
- Every Offer has an availability that is a Schema.org ItemAvailability value, such as https://schema.org/InStock.
- Applies to
- Pages with at least one inspected Offer linked from a fully inspected Product.
- Authority
- Official platform recommendation · RecommendedGoogle recommendation for Product snippets and merchant listings.
- Technical Score
- Weight 1 of 3Availability is recommended.
- How MaxiMarket detects it
- Reports when at least one inspected Offer linked from a fully inspected Product has no availability naming an ItemAvailability member, either as a schema.org URL, a bare member name or an @id reference. AggregateOffer is not checked.
- Sources
- Merchant listing structured data — Google Search Central, verified 2026-09-26
- Schema.org Offer — Schema.org, verified 2026-09-26
- Schema.org ItemAvailability — Schema.org, verified 2026-09-26
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-007Offer declares item conditionOfferInfo when failedWeight 1Technical SearchCommerceMachine Readability
- What this checks
- itemCondition on each inspected Offer.
- Why it matters
- Google recommends itemCondition for merchant listings.
- How to fix
- Add itemCondition, for example https://schema.org/NewCondition.
- Expected
- An OfferItemCondition value: NewCondition, UsedCondition, RefurbishedCondition or DamagedCondition.
- Applies to
- Pages with at least one inspected Offer linked from a fully inspected Product.
- Authority
- Official platform recommendation · RecommendedGoogle merchant listing recommendation.
- Technical Score
- Weight 1 of 3Item condition is recommended.
- How MaxiMarket detects it
- Reports when an inspected Offer has no itemCondition naming an OfferItemCondition member (as a schema.org URL, a bare name or an @id reference). AggregateOffer is not checked.
- Sources
- Merchant listing structured data — Google Search Central, verified 2026-09-26
- 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
STRUCTURED-OFFER-009Offer declares shipping detailsOfferInfo when failedNot scoredTechnical SearchCommerceMachine Readability
- What this checks
- shippingDetails on each inspected Offer, or a shipping policy (hasShippingService) on an Organization on the page.
- Why it matters
- Google recommends shipping details for merchant listings; they can also come from Merchant Center or an Organization-level policy.
- How to fix
- Add shippingDetails to the Offer, or an Organization-level shipping policy.
- Expected
- Shipping details are declared.
- Applies to
- Pages with at least one inspected Offer linked from a fully inspected Product.
- Authority
- Official platform recommendation · RecommendedGoogle merchant listing recommendation.
- Technical Score
- Not scoredShipping can be configured in Merchant Center or on another page, so its absence here is not reliably a defect.
- How MaxiMarket detects it
- Reports when an inspected Offer has no shippingDetails value and no entity on the page typed Organization (or subtype) declares hasShippingService. Settings configured only in Merchant Center or on another page are not visible.
- Sources
- Merchant listing structured data — Google Search Central, verified 2026-09-26
- Organization structured data — Google Search Central, verified 2026-09-26
STRUCTURED-OFFER-010Return policy is declaredOfferInfo when failedNot scoredTechnical SearchCommerceMachine Readability
- What this checks
- hasMerchantReturnPolicy on each inspected Offer, or on an Organization on the page.
- Why it matters
- Google recommends a return policy for merchant listings; it can also come from Merchant Center or an Organization-level policy.
- How to fix
- Add hasMerchantReturnPolicy to the Offer or the Organization.
- Expected
- A return policy is declared.
- Applies to
- Pages with at least one inspected Offer linked from a fully inspected Product.
- Authority
- Official platform recommendation · RecommendedGoogle merchant listing recommendation.
- Technical Score
- Not scoredReturn policies can be configured in Merchant Center or on another page, so their absence here is not reliably a defect.
- How MaxiMarket detects it
- Reports when an inspected Offer has no hasMerchantReturnPolicy value and no entity on the page typed Organization (or subtype) declares one. Policies configured only in Merchant Center or on another page are not visible.
- Sources
- Merchant listing structured data — Google Search Central, verified 2026-09-26
- Organization structured data — Google Search Central, verified 2026-09-26
STRUCTURED-OFFER-012AggregateOffer states its price rangeOfferInfo when failedWeight 1Technical SearchCommerceMachine Readability
- What this checks
- highPrice and offerCount on each inspected AggregateOffer.
- Why it matters
- Google recommends highPrice and offerCount for AggregateOffer in Product snippets.
- How to fix
- Add highPrice and offerCount to the AggregateOffer.
- Expected
- Both present.
- Applies to
- Pages with at least one inspected AggregateOffer linked from a fully inspected Product.
- Authority
- Official platform recommendation · RecommendedGoogle Product snippet recommendation.
- Technical Score
- Weight 1 of 3highPrice and offerCount are recommended.
- How MaxiMarket detects it
- Reports when an inspected AggregateOffer lacks a usable highPrice or offerCount.
- Sources
- Product snippet structured data — Google Search Central, verified 2026-09-26
Social metadata
SOCIAL-OG-TITLE-001Open Graph title is presentDocumentWarning when failedNot scoredSocial Discovery
- What this checks
- Whether a page that declares Open Graph metadata has a non-empty og:title.
- Why it matters
- The Open Graph protocol lists og:title among the four properties required for every page.
- How to fix
- Add <meta property="og:title" content="..."> with the page title as it should appear when shared.
- Expected
- Pages that use Open Graph declare <meta property="og:title"> with a non-empty value.
- Applies to
- Pages that declare any well-formed og:* meta property; pages without Open Graph metadata are not applicable.
- Authority
- Open standard / Schema.org · RequiredRequired by the Open Graph protocol basic metadata.
- Technical Score
- Not scoredShare-preview markup is outside the Technical Score; whether a page intends social sharing is unknown.
- How MaxiMarket detects it
- Reports when Open Graph inspection is complete, the page declares at least one well-formed og:* meta property of any name (for example og:site_name or og:locale), and no og:title has a non-empty value. Pages without Open Graph metadata are not applicable.
- Sources
- The Open Graph protocol — Open Graph protocol, verified 2026-09-26
SOCIAL-OG-TYPE-001Open Graph type is presentDocumentInfo when failedNot scoredSocial Discovery
- What this checks
- Whether a page that declares Open Graph metadata has a non-empty og:type.
- Why it matters
- The Open Graph protocol lists og:type among the four properties required for every page.
- How to fix
- Add <meta property="og:type" content="..."> (for example website or product).
- Expected
- Pages that use Open Graph declare <meta property="og:type"> with a non-empty value.
- 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:type has a non-empty value.
- Sources
- The Open Graph protocol — Open Graph protocol, verified 2026-09-26
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
SOCIAL-OG-IMAGE-001Open Graph image is presentDocumentInfo when failedNot scoredSocial Discovery
- What this checks
- Whether a page that declares Open Graph metadata has a non-empty og:image.
- Why it matters
- The Open Graph protocol lists og:image among the four properties required for every page.
- How to fix
- Add <meta property="og:image" content="..."> with the URL of an image that represents the page.
- Expected
- Pages that use Open Graph declare <meta property="og:image"> with an image 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 · RequiredRequired by the Open Graph protocol basic metadata.
- 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 of any name, and no og:image has a non-empty value. The image is not fetched. Pages without Open Graph metadata are not applicable.
- Sources
- The Open Graph protocol — Open Graph protocol, verified 2026-09-26
SOCIAL-OG-IMAGE-ALT-001Open Graph image has alt textDocumentInfo when failedNot scoredSocial DiscoveryMachine Readability
- What this checks
- og:image:alt on pages that declare og:image.
- Why it matters
- The Open Graph protocol says a page that specifies og:image should specify og:image:alt.
- How to fix
- Add <meta property="og:image:alt" content="..."> describing the image.
- Expected
- A non-empty og:image:alt.
- Applies to
- Pages that use Open Graph and declare a non-empty og:image.
- 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
- Reports when Open Graph inspection is complete, og:image has a non-empty value and no og:image:alt has one.
- Sources
- The Open Graph protocol — Open Graph protocol, verified 2026-09-26
Performance and mobile
SEO-VIEWPORT-001Page declares a responsive viewportDocumentWarning when failedWeight 1Technical Search
- What this checks
- The first meta element named viewport.
- Why it matters
- Google lists the viewport meta tag among the tags it supports: it tells the browser how to render the page on a mobile device, and its presence indicates to Google that the page is mobile friendly. It is a signal, not a requirement for indexing.
- How to fix
- Add <meta name="viewport" content="width=device-width, initial-scale=1"> to the head, and make sure the layout adapts to narrow screens.
- Expected
- A viewport meta element whose content includes width=device-width, for example <meta name="viewport" content="width=device-width, initial-scale=1">.
- Applies to
- Every retrieved (available) page.
- Authority
- Official platform recommendation · RecommendedGoogle-supported meta tag (mobile-friendliness signal).
- Technical Score
- Weight 1 of 3A signal of mobile friendliness for Google, not a requirement for indexing; lowest weight.
- How MaxiMarket detects it
- Reads the first meta element named viewport and passes when its content includes width=device-width (case-insensitive, spaces ignored). A missing tag, an empty one or a fixed width is reported; zoom and scaling settings are not judged.
- Sources
- Meta tags and attributes that Google supports — Google Search Central, verified 2026-09-30
- CSS Viewport Module Level 1 — W3C (CSS WG), verified 2026-09-26
Observations
Observations are neutral facts. They are never pass or fail, never warnings, and never part of the Technical Score.
HTTP-REDIRECT-002Observation · not scoredRedirect hopsHTTP and retrievalTechnical Search
- What is reported
- The number of redirects followed to reach the final URL (0 when none).
- Why it is not a rule
- Google follows up to 10 hops; a one-hop threshold would be a MaxiMarket heuristic.
- Sources
- How HTTP status codes and network errors affect Google Search — Google Search Central, verified 2026-09-26
ACCESS-CHALLENGE-001Observation · not scoredRetrieval without a challengeAI crawler access and policyTechnical SearchAI Discovery
- What is reported
- Whether MaxiMarket received the page content (retrieved) or an access-control, bot-challenge or authentication page (blocked). Reported also for blocked results.
- Why it is not a rule
- MaxiMarket's network and user agent are not a search crawler's, so a block here is evidence, not proof that crawlers are blocked.
- Sources
- Google Search technical requirements — Google Search Central, verified 2026-09-26
- Does Anthropic crawl data from the web, and how can site owners block the crawler? — Anthropic, verified 2026-10-01
ACCESS-STATUS-001Observation · not scoredStatus of the blocking responseAI crawler access and policyTechnical SearchAI Discovery
- What is reported
- For blocked results only: whether the challenge or access-denied response used an error status (error-status) or a success status (success-status).
- Why it is not a rule
- Only blocked results are concerned, and they are never evaluated as pages.
- Sources
- Understand JavaScript SEO basics — Google Search Central, verified 2026-09-26
- Reduce the Google crawl rate — Google Search Central, verified 2026-09-26
- How HTTP status codes and network errors affect Google Search — Google Search Central, verified 2026-09-26
INDEX-NOINDEX-002Observation · not scoredCrawler-specific indexing exclusionsIndexing and snippet directivesTechnical SearchAI Discovery
- What is reported
- The crawler names (for example googlebot) that receive noindex or none through a crawler-named robots meta element or a user-agent-prefixed X-Robots-Tag directive. Present only when at least one exists.
- Why it is not a rule
- Excluding a page for one crawler is a policy choice, not a technical defect.
- Sources
- Robots meta tag, data-nosnippet and X-Robots-Tag specifications — Google Search Central, verified 2026-09-26
INDEX-SNIPPET-001Observation · not scoredSnippet restrictionsIndexing and snippet directivesTechnical SearchAI Discovery
- What is reported
- The snippet-restricting rules declared for any crawler: nosnippet, max-snippet (any value other than -1), max-image-preview-none, max-video-preview (any value other than -1), and data-nosnippet when elements use it. Present only when at least one exists.
- Why it is not a rule
- Snippet restrictions (which also remove eligibility for Google AI features) are an owner's choice.
- Sources
- Robots meta tag, data-nosnippet and X-Robots-Tag specifications — Google Search Central, verified 2026-09-26
- AI features and your website — Google Search Central, verified 2026-09-26
INDEX-UNAVAILABLE-AFTER-001Observation · not scoredunavailable_afterIndexing and snippet directivesTechnical Search
- What is reported
- For pages declaring unavailable_after: whether the date is in the future, has expired at the audit time, or could not be read.
- Why it is not a rule
- An expired unavailable_after is often intentional, for example for events or offers.
- Sources
- Robots meta tag, data-nosnippet and X-Robots-Tag specifications — Google Search Central, verified 2026-09-26
INDEX-BING-AI-001Observation · not scoredBing AI answer and training controlsIndexing and snippet directivesAI Discovery
- What is reported
- The noarchive and nocache robots rules declared for all crawlers or for bingbot. Present only when at least one exists.
- Why it is not a rule
- These controls are a policy choice; their current Copilot behavior is not verifiable.
- Sources
- Announcing new options for webmasters to control usage of their content in Bing Chat — Microsoft Bing (Bing Webmaster Blog), verified 2026-09-26
- Announcing Generative AI Captions — Microsoft Bing (Bing Webmaster Blog), verified 2026-09-26
SEO-CANONICAL-009Observation · not scoredSelf-referencing canonicalCanonicalizationTechnical SearchAI Discovery
- What is reported
- For pages with a parseable canonical: whether it resolves (ignoring fragments) to the final URL (self) or to another URL (other).
- Why it is not a rule
- A canonical pointing elsewhere is often correct, for example for parameter variants.
- Sources
- How to specify a canonical URL — Google Search Central, verified 2026-09-26
SEO-TITLE-003Observation · not scoredDocument title lengthDocument metadataTechnical Search
- What is reported
- The title length in characters, for pages with a non-empty title.
- Why it is not a rule
- Google sets no title length limit and truncates titles to fit the device width, so no threshold is a requirement.
- Sources
- Influencing your title links in search results — Google Search Central, verified 2026-09-26
SEO-DESCRIPTION-003Observation · not scoredMeta description lengthDocument metadataTechnical Search
- What is reported
- The meta description length in characters, for pages with a non-empty description.
- Why it is not a rule
- Google sets no meta description length limit and truncates snippets as needed.
- Sources
- Control your snippets in search results — Google Search Central, verified 2026-09-26
SEO-HEADING-002Observation · not scoredNumber of h1 elementsHeadings and semantic structureTechnical SearchMachine Readability
- What is reported
- The number of h1 elements in the returned HTML.
- Why it is not a rule
- Multiple h1 elements are valid HTML, and Google says there is no ideal number of headings.
- Sources
- SEO Starter Guide — Google Search Central, verified 2026-09-26
SEM-MAIN-001Observation · not scoredMain landmarksHeadings and semantic structureAI DiscoveryMachine Readability
- What is reported
- The number of main elements and elements with role="main".
- Why it is not a rule
- A main landmark is one sufficient WCAG technique for exposing structure, not a requirement.
- Sources
- WCAG 2.2 Understanding SC 1.3.1 Info and Relationships — W3C, verified 2026-09-26
RENDER-TEXT-001Observation · not scoredText in the initial HTMLRendering and JavaScriptTechnical SearchAI Discovery
- What is reported
- The number of characters of text (whitespace collapsed) in the body of the HTML as served, outside script, style, template and noscript. Not reported for browser audits, which inspect the rendered document.
- Why it is not a rule
- Any threshold for "enough" text would be a MaxiMarket heuristic.
- Sources
- Understand JavaScript SEO basics — Google Search Central, verified 2026-09-26
- Google Search technical requirements — Google Search Central, verified 2026-09-26
LINK-INTERNAL-001Observation · not scoredInternal linksLinks and discoverabilityTechnical SearchAI Discovery
- What is reported
- The number of distinct same-origin URLs (without fragments, other than the page itself) linked with <a href>. Present when link inspection is complete.
- Why it is not a rule
- Linking to other pages is a MaxiMarket recommendation, not an external requirement.
- Sources
- Link best practices for Google — Google Search Central, verified 2026-09-26
LINK-BROKEN-001Observation · not scoredBroken inspected linksLinks and discoverabilityTechnical SearchAI Discovery
- What is reported
- Among the same-origin Product candidate links fetched by discovery (at most 4), the number that answered 4xx. Present when at least one was fetched.
- Why it is not a rule
- Coverage is limited to the few links MaxiMarket already fetches, too partial for pass/fail.
- Sources
- How HTTP status codes and network errors affect Google Search — Google Search Central, verified 2026-09-26
STRUCTURED-JSONLD-001Observation · not scoredJSON-LD blocksStructured data (general)Technical SearchAI DiscoveryMachine Readability
- What is reported
- The number of JSON-LD script blocks in the returned HTML.
- Why it is not a rule
- Not every page needs structured data, and Microdata or RDFa are not detected.
- Sources
- Introduction to structured data markup — Google Search Central, verified 2026-09-26
- AI features and your website — Google Search Central, verified 2026-09-26
STRUCTURED-PRODUCT-011Observation · not scoredProducts on the pageProduct and Offer dataTechnical SearchCommerceMachine Readability
- What is reported
- The number of top-level Product entities that are not variants of a ProductGroup, for pages with Product data.
- Why it is not a rule
- Listing pages legitimately contain many Products, and page intent is unknown.
- Sources
- Merchant listing structured data — Google Search Central, verified 2026-09-26
STRUCTURED-OFFER-005Observation · not scoredZero-price offersProduct and Offer dataTechnical SearchCommerceMachine Readability
- What is reported
- The number of inspected Offers whose price is zero, for pages with inspected Offers.
- Why it is not a rule
- Zero prices are legitimate for free items and Product snippets; they only affect merchant-listing eligibility.
- Sources
- Merchant listing structured data — Google Search Central, verified 2026-09-26
STRUCTURED-OFFER-013Observation · not scoredOffer types usedProduct and Offer dataTechnical SearchCommerceMachine Readability
- What is reported
- For Products with recognized offers: whether they use Offer, AggregateOffer or both.
- Why it is not a rule
- Marketplace pages legitimately use AggregateOffer, and the number of sellers is unknowable.
- Sources
- Merchant listing structured data — Google Search Central, verified 2026-09-26
STRUCTURED-RATING-003Observation · not scoredReviews on Organization markupRatings and reviewsTechnical SearchMachine Readability
- What is reported
- For pages with top-level Organization (or subtype) entities: whether one of them carries review or aggregateRating.
- Why it is not a rule
- Whether the business controls those reviews is not observable.
- Sources
- Review snippet structured data — Google Search Central, verified 2026-09-26
STRUCTURED-BREADCRUMB-003Observation · not scoredBreadcrumbs on deep pagesEntity and site identityTechnical SearchAI DiscoveryMachine Readability
- What is reported
- For pages other than the home page: whether a BreadcrumbList is declared.
- Why it is not a rule
- Breadcrumb markup is a MaxiMarket recommendation for deep pages.
- Sources
- Breadcrumb structured data — Google Search Central, verified 2026-09-26
INDEX-ROBOTSTXT-001Observation · not scoredrobots.txtCrawl control and crawler accessTechnical SearchAI Discovery
- What is reported
- Whether robots.txt at the final origin is present, not found (404 or 410), answered a server error, or was otherwise unavailable.
- Why it is not a rule
- robots.txt is optional; without it crawlers may access any resource.
- Sources
- RFC 9309: Robots Exclusion Protocol — IETF, verified 2026-09-26
- Introduction to robots.txt — Google Search Central, verified 2026-09-26
CRAWL-ROBOTSTXT-004Observation · not scoredrobots.txt fields beyond the common setCrawl control and crawler accessTechnical SearchAI Discovery
- What is reported
- For retrieved robots.txt files: the field names other than user-agent, allow, disallow and sitemap (for example crawl-delay), possibly none.
- Why it is not a rule
- Support for other fields differs by crawler: Google ignores crawl-delay while Anthropic honors it.
- Sources
- How Google interprets the robots.txt specification — Google Search Central, verified 2026-09-26
- Does Anthropic crawl data from the web, and how can site owners block the crawler? — Anthropic, verified 2026-10-01
CRAWL-SITEMAP-REF-001Observation · not scoredSitemap references in robots.txtCrawl control and crawler accessTechnical SearchAI Discovery
- What is reported
- For retrieved robots.txt files: whether at least one Sitemap line is declared.
- Why it is not a rule
- robots.txt is one documented way to publish sitemaps, not a requirement.
- Sources
- Build and submit a sitemap — Google Search Central, verified 2026-09-26
- Sitemaps XML format — Sitemaps.org, verified 2026-09-26
AI-TRAINING-POLICY-001Observation · not scoredAI training crawler policyAI crawler access and policyAI Discovery
- What is reported
- For the audited URL and each AI training token (GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, CCBot, Meta-ExternalAgent): allowed or disallowed by a group naming the token, or allowed-by-default or disallowed-by-default through the * group or the absence of rules. Present when robots.txt was retrieved or returned 404/410 and could be fully inspected.
- Why it is not a rule
- Training opt-out is an owner's policy choice, never a defect, and it is separate from search access.
- Sources
- Overview of OpenAI crawlers — OpenAI, verified 2026-10-01
- Does Anthropic crawl data from the web, and how can site owners block the crawler? — Anthropic, verified 2026-10-01
- Google's common crawlers — Google Search Central, verified 2026-10-01
- About Applebot — Apple, verified 2026-10-01
- CCBot — Common Crawl, verified 2026-10-01
- Meta web crawlers — Meta, verified 2026-10-01
AI-USER-FETCH-001Observation · not scoredRules for user-initiated AI fetchersAI crawler access and policyAI Discovery
- What is reported
- For retrieved robots.txt files: the user-initiated fetchers named in a group (chatgpt-user, claude-user, perplexity-user, meta-externalfetcher, google-agent, google-read-aloud), possibly none.
- Why it is not a rule
- OpenAI, Perplexity, Meta and Google say these fetchers may not apply robots.txt; Anthropic says Claude-User honors it.
- Sources
- Overview of OpenAI crawlers — OpenAI, verified 2026-10-01
- Perplexity crawlers — Perplexity, verified 2026-10-01
- Meta web crawlers — Meta, verified 2026-10-01
- Google user-triggered fetchers — Google Search Central, verified 2026-09-26
- Does Anthropic crawl data from the web, and how can site owners block the crawler? — Anthropic, verified 2026-10-01
AI-LLMSTXT-001Observation · not scored/llms.txtAI crawler access and policyAI Discovery
- What is reported
- Whether /llms.txt at the final origin is present in the proposed Markdown form (starting with a "# " heading), returns other content, is not found, or is unavailable.
- Why it is not a rule
- An emerging proposal that no documented AI platform requires; Google states no AI text files are needed.
- Sources
- The /llms.txt file — llmstxt.org (Jeremy Howard), verified 2026-09-26
- AI features and your website — Google Search Central, verified 2026-09-26
INDEX-SITEMAP-001Observation · not scoredXML sitemapSitemapsTechnical SearchAI Discovery
- What is reported
- Whether a selected sitemap was found, all were not found, none could be selected, or retrieval was otherwise unavailable.
- Why it is not a rule
- Google recommends sitemaps only for some sites, which the audit cannot determine.
- Sources
- Learn about sitemaps — Google Search Central, verified 2026-09-26
INDEX-SITEMAP-008Observation · not scoredPage listed in a sitemapSitemapsTechnical SearchAI Discovery
- What is reported
- Whether the page's canonical URL (or final URL) appears in an inspected urlset (listed), or not in any when every selected sitemap was a fully inspected urlset (not-listed).
- Why it is not a rule
- Absence may be an inspection-limit artifact on larger sites.
- Sources
- Build and submit a sitemap — Google Search Central, verified 2026-09-26
INTL-HREFLANG-003Observation · not scoredhreflang x-defaultInternational (hreflang)Technical Search
- What is reported
- Whether x-default is declared, for pages with at least two other hreflang languages and complete hreflang inspection.
- Why it is not a rule
- x-default is optional and designed for language selector pages.
- Sources
- Tell Google about localized versions of your page — Google Search Central, verified 2026-09-26
SOCIAL-OG-DESCRIPTION-001Observation · not scoredOpen Graph descriptionSocial metadataSocial Discovery
- What is reported
- Whether og:description is present, for pages that declare any well-formed og:* meta property.
- Why it is not a rule
- og:description is optional in the Open Graph protocol.
- Sources
- The Open Graph protocol — Open Graph protocol, verified 2026-09-26
SOCIAL-OG-SITENAME-001Observation · not scoredOpen Graph site nameSocial metadataTechnical SearchAI DiscoverySocial Discovery
- What is reported
- Whether og:site_name is present, for pages that declare any well-formed og:* meta property.
- Why it is not a rule
- og:site_name is optional in the Open Graph protocol.
- Sources
- The Open Graph protocol — Open Graph protocol, verified 2026-09-26
- Provide a site name to Google Search — Google Search Central, verified 2026-09-26
SOCIAL-TWITTER-CARD-001Observation · not scoredTwitter Card typeSocial metadataSocial Discovery
- What is reported
- Whether twitter:card is present, when Twitter metadata inspection is complete.
- Why it is not a rule
- X no longer publishes retrievable Cards markup documentation, so no platform requirement is claimed.
- Sources
- MaxiMarket recommendation without an external source.
CRAWL-POLICY-001Observation · not scoredDeclared crawler policyAI crawler access and policyTechnical SearchAI Discovery
- What is reported
- For the audited URL and every crawler in the 2026.4 crawler registry (search, AI search, AI agent, AI training and other known crawlers): allowed, partially-restricted (the URL is allowed but the applicable group disallows other paths) or disallowed, each with "-by-default" when no group names the crawler (inherited from the * group, or no rules). Present when robots.txt was retrieved, or returned 404/410, and could be fully inspected, also when the page itself was not retrieved.
- Why it is not a rule
- Which crawlers a site allows is the owner's policy, never a defect. robots.txt states preferences; it does not enforce access and does not show that a crawler can reach the page.
- Sources
- RFC 9309: Robots Exclusion Protocol — IETF, verified 2026-09-26
- Google's common crawlers — Google Search Central, verified 2026-10-01
- To crawl or not to crawl, that is BingBot's question — Microsoft Bing (Bing Webmaster Blog), verified 2026-10-01
- Announcing user-agent change for Bing crawler bingbot — Microsoft Bing (Bing Webmaster Blog), verified 2026-10-01
- About Applebot — Apple, verified 2026-10-01
- Overview of OpenAI crawlers — OpenAI, verified 2026-10-01
- Does Anthropic crawl data from the web, and how can site owners block the crawler? — Anthropic, verified 2026-10-01
- Perplexity crawlers — Perplexity, verified 2026-10-01
- Meta web crawlers — Meta, verified 2026-10-01
- CCBot — Common Crawl, verified 2026-10-01