- Legal company name shown identically in footer, About, Legal pages and feed
- Full postal address (street + zip + city + country) in the footer of every page
- Country in the address matches the country targeted in the Merchant Center feed
- Working phone number with country code (e.g. +33, +49, +1) shown on Contact and footer
- Phone country code matches the country of operations (no +1 phone for a French shop)
- Email on a branded domain (contact@yourstore.com), not Gmail/Yahoo/Outlook
- SIRET / company registration number visible on French sites (LCEN requirement)
- RCS city and share capital shown for SARL/SAS (France)
- Intra-community VAT number displayed when applicable (EU)
- Legal notices / Mentions légales / Impressum page reachable in 1 click from footer
- Publisher of the website named (responsable de publication / Diensteanbieter)
- Hosting provider named with full address in legal notices
- No conflicting contact info between Contact page, footer and Legal notices
- Domain name matches or clearly relates to the legal company name
- Same brand assets (logo, name) not found on unrelated dropshipping domains
- Copyright year in footer matches the current year (not a future year)
- Founding year / About page tells a consistent and verifiable company story
- At least one real person named with role (CEO, founder) on the About page
- Real photo of the team / founder / warehouse (not stock imagery)
- LinkedIn profile of the company exists and matches the website branding
- WHOIS shows registration country compatible with the targeted market
- Domain not registered through a privacy-only proxy that hides everything
- Site language matches the country (no DE site claiming to be a French shop)
- Currency shown matches the country (EUR for EU, GBP for UK, USD for US)
- Same legal entity used in Stripe / PayPal as on the website
Free tool
The GMC compliance checklist.
Every signal Google looks at, merchant identity, website trust, product feed, returns, shipping, reputation, geo-compliance. 210+ concrete checkpoints. Free, printable, no signup required to view.
0/ 210 checked
0% Done- HTTPS is enforced on every page (no http:// remaining anywhere)
- SSL certificate valid for more than 30 days and issued by a recognized CA
- HTTP automatically redirects to HTTPS (301), no mixed content warning
- Padlock icon shown in the browser address bar (no insecure resources loaded)
- Site loads in under 3 seconds on mobile 4G (Core Web Vitals okay)
- Site renders correctly on mobile (no broken layout, no horizontal scroll)
- No 404 errors on key pages (Home, Shop, About, Contact, Legal, FAQ)
- Main navigation has a stable, consistent set of links across pages
- Footer is identical on every page (same legal links, same address)
- Site has a functional search bar that returns relevant product results
- Theme / template is not a known cracked or nulled Shopify theme
- No fake urgency banners ("Only 2 left!" without real stock data)
- No countdown timer that resets when you refresh the page
- No pre-checked checkboxes (newsletter, upsell, insurance) at checkout
- No hidden subscription opt-in disguised as a one-time purchase
- Cart and checkout pages don't add surprise fees after the price is shown
- Cookie banner is GDPR-compliant with explicit consent for non-essential cookies
- Cookie banner offers a clear "Reject all" option as easy as "Accept all"
- Robots.txt and sitemap.xml are accessible at the standard locations
- No malware, no flagged scripts by Google Safe Browsing
- Branding is consistent (same logo, colors, typography across pages)
- Favicon is present, branded, not the default e-commerce platform icon
- Open Graph image and meta description set on Home, Shop and product pages
- No broken images, no placeholder "Lorem ipsum" text in production
- Site is in one primary language per locale (no random EN strings on a FR site)
- Product title is descriptive (brand + model + key attribute), 30–150 characters
- Product description is original (≥150 words, not copy-pasted from AliExpress)
- Description is unique per product (no duplicate boilerplate across the catalog)
- Price is shown clearly and prominently above the fold
- Price includes VAT for EU consumer (TTC / inkl. MwSt.), clearly labeled
- Currency symbol matches the geo and is shown next to every price
- Strike-through previous price is realistic (no "199€ → 19€" without proof)
- Discount duration / end date is shown when a sale price is displayed
- Lowest price of the last 30 days shown (EU Omnibus Directive)
- At least 3 high-resolution images per product (≥800px on the long side)
- Main image shows the product on a clean background, no watermark
- No competitor logos or third-party trademarks visible in product images
- Images are hosted on the brand's own domain or CDN (not alicdn / aliexpress)
- Stock availability is shown (In stock / Out of stock / Backorder)
- Variant selection (size, color) is functional and price updates accordingly
- Estimated delivery time shown on the PDP, before adding to cart
- Shipping cost shown or computable on the PDP, before checkout
- Schema.org Product markup is present (JSON-LD)
- Schema offers.price matches the HTML price (no >5% discrepancy)
- Schema offers.priceCurrency is set to the correct ISO 4217 code (EUR, USD)
- Schema offers.availability is up to date (InStock / OutOfStock)
- Schema brand.name matches the actual product brand
- GTIN / EAN / UPC is in the JSON-LD if available for the product
- BreadcrumbList structured data is present and matches visible breadcrumbs
- Product title in <title> tag is unique and includes the product name
- Canonical URL is set and points to the canonical product URL (no duplicates)
- AggregateRating shown when real verified reviews exist (no fake stars)
- Description doesn't contain ALL CAPS spam ("BUY NOW LIMITED OFFER")
- No emojis used as bullet points in the product title
- Description and bullets are factual, no exaggerated marketing claims
- Feed validates against the Google Merchant Center XML schema
- All required attributes present (id, title, description, link, image_link, price)
- GTIN provided for branded products with a manufacturer code
- MPN (manufacturer part number) provided when GTIN isn't available
- Brand attribute filled in (not "Generic" if the product has a real brand)
- identifier_exists set to "no" for handmade / private label without GTIN
- Google product category set with the official Google taxonomy ID
- product_type (your own taxonomy) is set and granular
- Condition attribute set (new / refurbished / used), matches reality
- Availability attribute set (in_stock / out_of_stock / preorder)
- Price in feed matches HTML and JSON-LD price (no >5% gap)
- Price includes the correct currency code (EUR for EU, GBP for UK, USD for US)
- sale_price and sale_price_effective_date set when running a promotion
- image_link points to a publicly accessible URL (no 401 / 403)
- image_link image is ≥250×250px (Google minimum), ideally ≥800×800px
- additional_image_link provided with at least 1 extra angle
- link in feed loads in <3s and matches the canonical product URL
- shipping attribute set with country, service and price
- tax attribute set for US sellers (Merchant Center tax setup)
- Item group ID set for products with variants (size, color)
- Color, size, material, gender, age_group set when applicable
- Feed refreshed at least every 30 days (or via Content API near-realtime)
- No item disapproval rate >5% in the Merchant Center diagnostics
- Title doesn't contain promotional text ("FREE SHIPPING", "30% OFF")
- No prohibited or restricted products in the feed (Google Restricted Content Policy)
- Trustpilot / Google Reviews / Avis Vérifiés profile exists with ≥10 reviews
- Average rating ≥4.0/5 on the main public review platform
- Negative reviews receive a public, professional response from the brand
- Reviews are recent (at least one in the last 90 days)
- On-site testimonials, if any, link to verifiable sources (real reviewer)
- Trustpilot badge in the footer links to the real Trustpilot profile (not a fake image)
- No "As seen on" logos (Forbes, NYT) without a verifiable mention
- Brand mentioned in the press / blogs / podcasts (Google news verification)
- Brand has at least 1 active social media channel (Instagram, FB, TikTok, LinkedIn)
- Social profiles link back to the website and to the same brand name
- No flood of identical 5-star reviews posted in the same week
- Public review responses are professional, never aggressive or insulting
- Customer ratings from Merchant Center collected and connected (≥100 reviews)
- No "Better Business Bureau" or other fake trust badges without enrollment
- Reviews mention real product details (not generic "great product, fast shipping")
- Dedicated Returns & Refunds page accessible from the footer
- Return window stated in days (EU minimum: 14 days right of withdrawal)
- Withdrawal right explained for EU consumers (Article L221-18 / EU Directive 2011/83)
- Withdrawal form (modèle de rétractation / Widerrufsformular) provided
- Conditions of return explained (original packaging, unused, etc.)
- Who pays the return shipping is clearly stated (customer vs merchant)
- Return shipping fee is shown if charged to the customer
- Refund timeline stated in days (EU: max 14 days after receipt of goods)
- Refund method stated (original payment method)
- Exceptions to the right of withdrawal listed (custom items, perishables, software)
- Return address (or instructions to request one) shown on the policy page
- Return instructions reachable in 3 clicks or less from the product page
- Warranty / guarantee policy explained (statutory + commercial)
- Legal guarantee of conformity (2 years EU) explicitly mentioned
- Defective product handling process explained
- No clause forbidding all returns or refunds (illegal in EU consumer law)
- Final-sale items clearly labeled as such on the product page
- Returns policy translated in every locale the shop sells to
- Online Dispute Resolution platform link displayed (ec.europa.eu/odr) for EU sellers
- Returns policy date or "last updated" timestamp visible
- Dedicated Shipping page accessible from the footer
- Estimated delivery times shown per destination country / region
- Delivery times are realistic for the origin → destination (no "24h" if shipped from China)
- Shipping fees shown before the customer reaches the checkout payment step
- List of carriers used (La Poste, Colissimo, DHL, DPD, UPS, etc.) is published
- List of countries shipped to is clearly stated
- Free shipping threshold (if any) clearly stated with the cart value
- Same-day or express shipping options offered for premium customers
- Tracking number sent automatically after shipment
- Estimated handling time before shipment is shown (not the same as delivery time)
- Cut-off time for same-day dispatch clearly stated (e.g. "orders before 2pm")
- Lost / damaged parcel procedure explained
- Customs and import duties responsibility clarified for international orders
- Pickup point (Mondial Relay, Packstation, etc.) option offered when available
- Delivery to PO Boxes / military addresses policy stated if relevant
- No false "free shipping" claim when the price is just added to the product price
- Shipping costs in the Merchant Center match the costs shown on the website
- Delivery time in the Merchant Center settings matches the website promise
- Shipping insurance option mentioned for high-value items
- Order status notifications sent at key stages (confirmed, shipped, delivered)
- At least 3 distinct payment methods offered (card + PayPal + 1 local method)
- Visa, Mastercard, Apple Pay logos visible in the footer and at checkout
- Local payment method offered (SEPA, Klarna, iDEAL, Sofort, Bancontact)
- 3D Secure (PSD2 SCA) enabled for all card payments in the EU
- Checkout uses a PCI-DSS compliant processor (Stripe, Adyen, PayPal, etc.)
- No card details stored on the site itself (always via payment processor iframe)
- Final price (including tax + shipping) shown before the pay button is clicked
- Order summary visible during the entire checkout flow
- Customer can review and edit cart at the last step before paying
- Consent Mode v2 implemented if Google Ads / GA4 are running
- Order confirmation email sent immediately after payment success
- Receipt / invoice provided in the order confirmation email
- Refund processed on the original payment method (not as store credit by default)
- Guest checkout offered (no forced account creation)
- No surprise fees added at the very last step (handling, packaging) without warning
- Real product photography, not just stock photos or supplier renders
- Photos consistent in style, lighting and crop across the catalog
- Brand colors used consistently (no random Bootstrap blue + neon green)
- Typography is consistent, one display font + one body font max
- No image directly hotlinked from AliExpress / 1688 / Alicdn
- Hero image / home banner shows the brand context, not a generic stock scene
- All images have alt text describing the product (accessibility + SEO)
- No reused stock photos easily reverse-image-searchable on shady sites
- Brand logo is original (not a free template with the colors swapped)
- No competitor product images used to sell your own SKU
- Mentions légales page on .fr sites complies with LCEN article 6-III
- Impressum page on .de sites complies with TMG §5 and DDG (since 2024)
- GDPR-compliant privacy policy with all required information (Art. 13/14)
- DPO contact info shown when GDPR Article 37 mandates a DPO
- Cookies are not set before explicit consent (ePrivacy / TTDSG)
- VAT correctly applied per destination country (OSS / IOSS for EU)
- Country selector or auto-redirect to local store for international visitors
- Hreflang tags set in <head> for multi-locale sites
- Prices and tax labels translated for each locale (TTC / inkl. MwSt. / incl. VAT)
- EU Digital Services Act notice information available if applicable
- Médiateur de la consommation referenced for French sellers (Art. L612-1)
- UK General Product Safety Regulations 2023 (GPSR) information for UK sellers
- Battery / EEE / packaging eco-tax declarations for FR (point vert / écotaxe)
- Cooling-off / Widerruf email or postal address for the customer to use
- Language and currency auto-detected match the visitor's geo / browser
- Domain age >6 months (very young domains get extra scrutiny)
- Domain has not been re-registered after a recent expiration
- Domain ownership has been stable for >3 months (no recent transfer)
- Server / hosting location is consistent with the country targeted
- No CDN configuration leaking origin to known dropship suppliers
- Brand presence on archive.org for >6 months (waybackmachine snapshots exist)
- Same brand image / logo not found on >5 other unrelated shopify domains
- Email DKIM, SPF and DMARC properly configured for the brand domain
- Google Search Console verified ownership of the property
- Site is indexed (>10 pages in Google's index for the brand domain)
Stop checking manually
Let our 9 AI agents do it for you in 60 seconds.
- Free 60-second scan
- 210+ checkpoints automated