ShipworkSite inspection
Structured data

Crawlability

PaginationAre paginated pages set up right?Internal searchIs site search eating crawl budget?URL parametersAre parameters creating duplicates?Log analyserWhat does Googlebot actually crawl?Robots builderNeed a robots.txt file?Soft 404sAre pages “not found” but returning 200?JavaScriptCan crawlers see it without running JS?FreshnessIs my site quietly going stale?Robots.txtDoes robots.txt say what I think?

Indexing

Sitemap lastmodAre my sitemap dates valid?SitemapIs my sitemap actually fetchable?IndexingIs Google allowed to index my pages?CanonicalsIs Google indexing the wrong URL?Index signalsDo sitemap and index signals agree?Sitemap generatorNeed a sitemap.xml for my site?Bulk URL statusWhere does each of these URLs really land?Redirect builderNeed the redirect rules?RedirectsAre my URLs answering directly, over HTTPS?

On-page

Keyword ideasWhat are people searching for?SERP previewHow does my page look in Google?Content qualityAre your pages too thin or too alike?Image weightAre images slowing the page?CannibalizationAre pages competing with each other?On-page checkDoes the page use its target phrase?ImagesAre my images accessible and loading?Meta tag builderWhat should my title and share tags say?DuplicatesDo my pages compete for one query?

Links

Orphan pagesWhich pages can no link reach?Link graphHow deep do your pages sit?Anchor textDo links say what they point at?Outbound linksAre external links still alive?Broken linksAre internal links sending visitors nowhere?

Structured data

Rich resultsIs my markup eligible for a rich result?Structured dataIs my product schema valid?Schema coverageDo my key pages carry structured data?Social previewHow does my page look when shared?Schema vs pageDoes markup match the page price?Schema builderNeed valid JSON-LD?

International

Hreflang sitemapDo page and sitemap hreflang agree?HreflangDo my language versions link back?Hreflang builderNeed the hreflang tags?Redirect planMy site has dead links — what redirects do I write?Sitemap diffIs anything missing from my sitemap?Robots simulatorWhat does my robots.txt actually block?Can Googlebot?Can Googlebot fetch this URL?
Every error, explainedGuides
Pricing Learn Error guides Run free audit
Sign in

Sign in free and get one more free check this month. Your account keeps your reports, watches and connections on any device.

Sign in with GoogleOpens your account, or creates a free one Sign in with work emailWe email you a 6-digit code PricingPlans and credit packs for the paid jobs

All errorsMerchant listings structured data issues

What the "Merchant listings" report and email mean, and which fields to add first

What the error means

Search Console found problems in the Product structured data Google uses for merchant listings, the product results shown in Search and the Shopping tab. Invalid items cannot appear in those experiences; items with warnings can, but with less information.

Why Google rejects it

Merchant listings read price, availability, images, shipping and returns from your page's Product markup. Google expanded what it recommends over time, so stores that never changed their theme started receiving "New Merchant listings structured data issues detected" emails.

nameimageoffers.price + priceCurrencyshippingDetailshasMerchantReturnPolicy
Critical fields first, then the recommended ones.

How to fix it

  1. Open the Merchant listings report under Shopping in Search Console and separate critical issues (invalid items) from warnings.
  2. Fix critical issues first: a missing name, image, or an offer without price and priceCurrency makes an item invalid.
  3. For warnings such as missing shippingDetails or hasMerchantReturnPolicy, either add them to the Offer markup or set shipping and return policies in Merchant Center.
  4. Make sure each variant's offer carries its own price and availability when the page lists several variants.
  5. Test a fixed page with the Rich Results Test, then click Validate fix in the report.

Common causes

Required Product or Offer data is invalid

A product page may omit required structured properties or connect an Offer incorrectly, making it ineligible for a merchant listing experience. Read the exact Search Console issue and distinguish invalid items from warnings. Rich result eligibility depends on both markup and Google's content and technical guidelines.

Recommended fields are absent

Shipping details or return-policy markup can be absent even when shipping and returns are configured elsewhere. Search Console may report these as recommendations or warnings rather than critical errors. Decide whether to use page markup, Merchant Center settings, or both, keeping each source accurate.

Multiple schema emitters disagree

A theme and an SEO app can each output Product and Offer entities with different price, currency, image, or availability. The JSON may parse, yet the page communicates conflicting facts. Inspect all JSON-LD blocks and identify which component owns the final entity.

Variant data is incomplete

Variant pages may share one parent Product entity while the feed represents separate size or color offers. Missing variant images, prices, or identifiers can produce item-level issues. Compare the selected variant, page content, schema, and submitted product data.

Fix it on your platform

On Shopify

  1. View the public product page source and find application/ld+json. Check whether the theme emits Product or ProductGroup and whether each Offer has the values shown to shoppers.
  2. Review the Google & YouTube channel and schema apps for duplicate or conflicting markup. Keep one clear source for each property and remove stale app output.
  3. Use Merchant Center Shipping and returns settings for policies that change often; if page markup is also used, keep the terms consistent with account settings and storefront pages.
  4. Test simple products and variants from each product template after theme changes, not only the default product page.

On WooCommerce

  1. Identify whether WooCommerce core, the theme, or the active SEO plugin emits Product JSON-LD. Avoid enabling duplicate schema in multiple plugins.
  2. Check variable products for a valid Offer on each selected variation, with the correct price, currency, availability, and URL.
  3. Configure shipping or return details in Merchant Center when that is the maintainable source; do not add placeholder policy values to make a warning disappear.
  4. Inspect generated markup after plugin or theme updates, as custom templates can remove or duplicate fields.

On other platforms

  1. Use the platform's product structured-data controls or supported app, then verify the live output rather than relying on a visual editor preview.
  2. On custom sites, add Product/Offer markup to purchasable product pages and ensure values match visible product information and submitted data.
  3. Keep shipping and returns policy values accurate; use account-level Merchant Center configuration when it is easier to maintain than page markup.
  4. Remove conflicting duplicate Product entities and test variants separately.

How to confirm it is fixed

  1. Open the Merchant listings report and note whether each issue is an error or warning; address critical eligibility errors first.
  2. Test a representative product page with Google's Rich Results Test and compare the detected Product/Offer values with the visible page and feed.
  3. Run the structured data check on sample products to inspect the parsed markup, then use Validate fix in Search Console after changes are live.
  4. Allow time for Google to recrawl. A valid test confirms markup parsing, not guaranteed appearance in Search results.

A worked example

Hypothetical case: a Shopify homewares store receives a Merchant listings email after a theme update. Its Product markup still contains a name and image, but the new theme no longer emits Offer priceCurrency; a review app also outputs a second Product block with a stale price. The owner tests a live product, identifies both emitters, restores the theme's Offer fields, and disables the duplicate schema output. They keep shipping rates in Merchant Center because rates vary by destination, then validate a simple product and a variant. Search Console updates the issue after recrawling; the owner does not treat a valid test as a promise of a rich result.

Questions

Are Merchant listings structured data issues errors or warnings?
They can be either. Critical errors can make an item ineligible for merchant listing experiences, while recommended-field warnings may leave it eligible with less information. Open the Merchant listings report and use the exact issue details to prioritize fixes rather than treating every warning as a disapproval.
Can I use Merchant Center shipping settings instead of shippingDetails schema?
Google documents Merchant Center settings as an alternative for shipping and return details, especially when policies are complex or change often. Search Console still evaluates page markup separately. Keep account settings, product data, page content, and checkout accurate and consistent.
Does passing the Rich Results Test guarantee a merchant listing?
No. The test confirms that Google can parse supported markup and identifies eligibility issues, but valid structured data does not guarantee that a result feature will appear. The page must also satisfy Google's content and technical guidelines, and display decisions remain Google's.
Find out if this is happening to you

Shipwork reads the Product markup on your pages, including ProductGroup with nested variants, and names each missing field. Free, no account, no signup. Paste your store address.

Check my store for Merchant listings structured data issues

Go deeper: Product schema, fully explained

See the check: Structured data, inspected

Other errors like this