Schema markup checker

Read every block of structured data on a page, or paste your own: whether it parses, what it says the page is, and what that type is missing.

More checksUtilitiesDomain and email

Or paste JSON-LD

No JSON-LD yet? Make it with the schema creator.

The answer for https://www.allbirds.com/products/mens-tree-runners

allbirds.com/products/mens-tree-runnersRequired fields in place; 3 recommended to add or fix

Product data for Google’s shopping surfaces

Required fields in place; 3 recommended to add or fix

Looks buyableA guessA button that says “Add to Cart - $100”, in the HTML before any script runs.

  1. ProductGroupMen's Tree Runner
    • PresentnameRequiredMen's Tree RunnerNames the product.
    • PresentproductGroupIDRecommendedMENS_TREE_RUNNERSThe parent id the variants share.
    • PresentvariesByRecommendedsize, colorWhat the variants differ by.
    • PresenthasVariantRequired7 on this page, 35 elsewhereEach variant as a Product, and 35 on pages of their own, by address.

    Its 7 variants on this page, each as a Product

    • PresentnameRequiredAll 7 presentNames the product.
    • PresentimageRequiredAll 7 present4 images.
    • PresentoffersRequiredAll 7 presentThe shop selling it.
    • PresentpriceRequiredAll 7 presentA price above zero.
    • PresentpriceCurrencyRequiredAll 7 presentA three-letter ISO 4217 code.
    • PresentavailabilityRecommendedAll 7 presentA schema.org ItemAvailability.
    • MissingitemConditionRecommended0 of 7 presentSay whether it is new, refurbished or used, as https://schema.org/NewCondition.
    • MissingshippingDetailsRecommended0 of 7 presentAdd shippingDetails with the rate, where it ships and how long it takes, or set shipping in Merchant Center.
    • MissinghasMerchantReturnPolicyRecommended0 of 7 presentAdd the return policy the shop has: the countries it covers and its kind, or set returns in Merchant Center.
    • Not givenpriceValidUntilIf it applies0 of 7 presentOnly when the price ends on a date, such as a sale.
    • PresentbrandRecommendedAll 7 presentNames the brand.
    • Presentgtin, mpn or skuRecommendedAll 7 presentNo GTIN, but an sku. Add the GTIN when the product has one.
    • PresentdescriptionRecommendedAll 7 presentDescribes the product.
    • Not givenaggregateRatingIf it applies0 of 7 presentOnly when the page shows real ratings. Never add ratings the page does not show.
    • Not givenreviewIf it applies0 of 7 presentOnly when the page shows reviews, each with its author and rating.
    • Presentvariant idRecommendedAll 7 presentIts own id.

clickd reads the Product data the page publishes as JSON-LD, or as microdata when it has no JSON-LD product, before any script runs, against the fields Google lists for merchant listings. It does not decide eligibility: Merchant Center and Google's own review decide whether a product shows in merchant listings, Universal Cart or any other Google feature. The fields are the ones Google lists in its merchant listing, product variant and review snippet guides. Shipping and returns can be set in Merchant Center instead.

Fix every product template with an agent

  1. Block 1Parses
    • ProductGroupA type clickd does not check fields for
  2. Block 2Parses

    Missing fields are the ones search engines look for first on each type, not every field the type allows. Valid markup is not a promise of rich results.

    That was one page of allbirds.com.clickd reads its first 100 pages against one rulebook and ranks every fix by what it is worth. Free, about a minute.
    Read the whole site
    A business that says what it isExample

    application/ld+json

    {
      "@context": "https://schema.org",
      "@type": "RoofingContractor",
      "name": "Acme Roofing",
      "url": "https://example.com/",
      "telephone": "+1-512-555-0142",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "100 Main St",
        "addressLocality": "Austin",
        "addressRegion": "TX",
        "postalCode": "78701"
      },
      "openingHours": "Mo-Fr 08:00-17:00"
    }

    The closest type schema.org has, not just Organization, and every value in it is also on the page for a person to read.

    What does it check?

    Rules from the rulebook, and how many of the sites clickd has read miss each.

    1. Add structured dataAdd valid JSON-LD that says what the page is.
      61%of sites miss it
    2. Match structured data to the pageUse the schema type that matches the page: Article for guides, Service or Product for offers, Organization or WebSite for the home page.
      50%of sites miss it
    3. Add breadcrumb dataAdd BreadcrumbList schema so the page has a place in the site.
      20%of sites miss it

    Questions

    What is schema markup?

    Structured data from schema.org, usually as JSON-LD in the page’s head, that says what the page is: a product, an article, a business, an event.

    Does structured data help a page rank?

    Not directly. It decides which rich results a page may show, and it tells assistants plainly what the page is about.

    JSON-LD, Microdata or RDFa?

    JSON-LD. Google recommends it, and it sits apart from the page’s markup, so it is easy to keep right.