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.

Version
2026.4
Status
Current
Published
2026-10-01
Rules
94
Scored
74
Observations
34

Authority levels

Official search-engine requirement
A search engine documents it as required for a specific outcome, such as Google eligibility.
Strongest external authority
Open standard / Schema.org
Defined by an open standard or vocabulary: HTML, WCAG, IETF RFCs, Schema.org, Sitemaps, Open Graph.
Official platform recommendation
Recommended in official platform documentation, such as Google Search Central or an AI platform.
Accepted best practice
Widely accepted practice with a cited source, but no official requirement.
MaxiMarket recommendation
MaxiMarket’s own advice. Never presented as a search engine or platform requirement.
MaxiMarket methodology

Filter

Showing 49 rules and 0 observations.

Rules

Rules pass or fail. A failed rule becomes a finding in your report; scored rules also count toward the Technical Score.

Document metadata

SEO-TITLE-001Open standard / Schema.org · RequiredDocument 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
SEO-TITLE-002Open standard / Schema.org · RequiredDocument 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
SEO-TITLE-004Open standard / Schema.org · RequiredDocument 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
SEO-DOCTYPE-001Open standard / Schema.org · RequiredDocument 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
SEO-CHARSET-001Open standard / Schema.org · RequiredCharacter 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
SEO-LANGUAGE-001Open standard / Schema.org · RequiredPage 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
SEO-LANGUAGE-002Open standard / Schema.org · RequiredPage 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

Headings and semantic structure

SEO-HEADING-001MaxiMarket recommendation · MaxiMarket best practicePage 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

Links and discoverability

Images and media

MEDIA-IMG-ALT-001Open standard / Schema.org · RequiredImages 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

Entity and site identity

SEO-FAVICON-001Official search-engine requirement · RequiredHome 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
SEO-FAVICON-002Official search-engine requirement · RequiredFavicon 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
STRUCTURED-ORG-001Official platform recommendation · RecommendedHome 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
STRUCTURED-ORG-002Official platform recommendation · RecommendedOrganization 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
STRUCTURED-ORG-003Official platform recommendation · RecommendedOrganization 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
STRUCTURED-ORG-004Official platform recommendation · RecommendedOrganization 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
STRUCTURED-WEBSITE-001Official search-engine requirement · RequiredHome 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
STRUCTURED-WEBSITE-002Official search-engine requirement · RequiredWebSite 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
STRUCTURED-BREADCRUMB-001Official search-engine requirement · RequiredBreadcrumb 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
STRUCTURED-BREADCRUMB-002Official platform recommendation · RecommendedBreadcrumb 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

Structured data (general)

STRUCTURED-JSONLD-002Open standard / Schema.org · RequiredJSON-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
STRUCTURED-JSONLD-003MaxiMarket recommendation · MaxiMarket best practiceJSON-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

Ratings and reviews

STRUCTURED-RATING-001Official search-engine requirement · RequiredAggregateRating 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
STRUCTURED-RATING-002Official search-engine requirement · RequiredReview 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

Articles, authorship and dates

STRUCTURED-ARTICLE-001Official platform recommendation · RecommendedArticle 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
STRUCTURED-AUTHOR-001Official platform recommendation · RecommendedAuthor 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
STRUCTURED-DATE-001Official platform recommendation · RecommendedStructured 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
STRUCTURED-DATE-002Official platform recommendation · RecommendedDates 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
STRUCTURED-PAYWALL-001Official search-engine requirement · RequiredDeclared 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

Product and Offer data

STRUCTURED-PRODUCT-001Official search-engine requirement · RequiredProduct 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
STRUCTURED-PRODUCT-002Official search-engine requirement · RequiredProduct 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
STRUCTURED-PRODUCT-008Official search-engine requirement · RequiredProduct 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
STRUCTURED-PRODUCT-003Official search-engine requirement · RequiredProduct 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
STRUCTURED-PRODUCT-004Official platform recommendation · RecommendedProduct 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
STRUCTURED-PRODUCT-005Official platform recommendation · RecommendedProduct 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
STRUCTURED-PRODUCT-006Official platform recommendation · RecommendedProduct 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
STRUCTURED-PRODUCT-009Official search-engine requirement · RequiredProductGroup 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
STRUCTURED-PRODUCT-010Official search-engine requirement · RequiredVariant 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
STRUCTURED-OFFER-001Official search-engine requirement · RequiredOffer 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
STRUCTURED-OFFER-002Official search-engine requirement · RequiredAggregateOffer 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
STRUCTURED-OFFER-003Official search-engine requirement · RequiredOffer 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
STRUCTURED-OFFER-004Official platform recommendation · RecommendedOffer 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
STRUCTURED-OFFER-006Open standard / Schema.org · RecommendedOffer 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
STRUCTURED-OFFER-007Official platform recommendation · RecommendedOffer 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
STRUCTURED-OFFER-008Open standard / Schema.org · RecommendedpriceValidUntil 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
STRUCTURED-OFFER-009Official platform recommendation · RecommendedOffer 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
STRUCTURED-OFFER-010Official platform recommendation · RecommendedReturn 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
STRUCTURED-OFFER-012Official platform recommendation · RecommendedAggregateOffer 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

Social metadata

SOCIAL-OG-IMAGE-ALT-001Open standard / Schema.org · RecommendedOpen 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