Audit Standard / 2026.2

Rule explorer: Audit Standard 2026.2

Every check that defines technical readiness in MaxiMarket Audit Standard 2026.2, exactly as the audit applies it. Open a rule to see what it checks, why it matters, how to fix it, where its authority comes from and how much it counts.

Superseded. This is an earlier Audit Standard version, kept unchanged so audits saved under it keep their meaning. New audits use the current Audit Standard 2026.4.

Guides by topic: technical SEO audit rules, AI readiness, structured data and ecommerce product data.

Version
2026.2
Status
Superseded
Published
2026-09-26
Rules
86
Scored
67
Observations
33

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 21 rules and 3 observations.

Rules

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

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

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

Observations

Observations are neutral facts. They are never pass or fail, never warnings, and never part of the Technical Score.

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
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
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