Free tool · no signup

Pinterest Rich Pin Validator

Enter the page you pin to. This checks the OpenGraph tags and structured data Pinterest actually reads, tells you which Rich Pin type it qualifies for, and names anything missing.

What a Rich Pin is

A Rich Pin pulls live information from your page and shows it on the pin itself — the article headline and author, a recipe's ingredients and cook time, a product's price and availability. It updates when your page updates, and it makes a pin look substantially more credible than a bare image.

You do not create Rich Pins on Pinterest. You add markup to your page, and Pinterest reads it. That is why validation is a question about your website, not about your Pinterest account.

The three types

TypeWhat it showsMarkup it needs
ArticleHeadline, author, descriptionArticle / BlogPosting schema, or og:type=article
RecipeIngredients, cook time, servings, ratingsRecipe schema
ProductPrice, availability, where to buyProduct / Offer schema

Most bloggers want Article. Food sites want Recipe, which is the richest of the three and the one that most visibly improves a pin. Shops want Product.

What this validator checks

  • Rich Pin type — whether Recipe, Product or Article markup is present at all.
  • og:title — without it, Pinterest guesses your pin title from the page.
  • og:description — seeds the pin description.
  • og:image — without it, Pinterest picks an image from the page, and it often picks badly.
  • og:type — the coarse content signal.
  • Structured data types — every JSON-LD @type found on the page.
  • Response time — because Pinterest traffic bounces off slow pages, and so does Google.

Fixing the common gaps

No structured data at all

Add a JSON-LD block to your page's <head>. On WordPress, Yoast, RankMath and most modern themes emit it automatically — if it is missing, the plugin is either absent or misconfigured. On a hand-built site, add it directly; it is a single script tag.

og:image missing

This is the most damaging omission. Without it Pinterest chooses an image from the page — frequently a logo, an avatar or an advert. Set it explicitly to your 1000 × 1500 pin image.

Markup present but the pin is still plain

Two usual causes. Either the page was pinned before you added the markup — repin it, or wait for Pinterest to recrawl — or your site is blocking Pinterest's crawler in robots.txt or at the firewall.

Slow response

Anything over about 2.5 seconds is worth fixing before you worry about markup. The best Rich Pin in the world cannot help a page nobody waits for.

After you fix it

Re-run this validator to confirm the tags are live. Then submit the URL to Pinterest's own Rich Pin validator once — that is what tells Pinterest to enable Rich Pins for your domain. You only need to do it a single time per domain, not per page.

Claim your website in Pinterest settings too, if you have not. It unlocks analytics and attributes every pin from your domain back to you.

Is it worth the effort?

For a food or product site, clearly yes — the extra information is visible and substantial. For a general blog the difference is subtler: the headline and author appear in bold under the pin, which reads as more credible but is not transformative.

Either way it is a one-off setup that keeps paying, and the markup you add for Pinterest is largely the same markup Google reads for its own rich results. Doing it once serves both.

Privacy and safety

The page is fetched by an endpoint on this domain, which reads only public HTML. Nothing is stored. The endpoint refuses non-public addresses — loopback, private ranges and cloud metadata endpoints — so it cannot be used to reach anything it should not.

What Rich Pins change

A Rich Pin pulls live metadata from your page and displays it on the pin itself. The difference is not cosmetic — it changes what the pin communicates before anyone clicks.

  • Product pins show current price and availability, read from your page rather than typed into a description that goes stale the moment you run a sale.
  • Recipe pins show ingredients, cook time and servings, so someone can decide whether the recipe fits before leaving Pinterest.
  • Article pins show the headline and author, giving a blog post a byline instead of an anonymous image.

They also update themselves. Change a price on your site and the pin follows, including pins other people saved months ago. That is the underrated part: it maintains thousands of pins you no longer control.

The setup, in order

  1. Add the markup. Open Graph tags or schema.org structured data on the page you want pinned. Most e-commerce platforms and most WordPress SEO plugins already output this — check before you write any code.
  2. Claim your website in Pinterest business settings. Unclaimed domains do not get Rich Pins, and claiming also unlocks the analytics that make everything else measurable.
  3. Validate a URL with Pinterest's Rich Pin validator. One successful validation applies to the whole domain — you do not repeat it per page.
  4. Wait. Approval is not always instant, and existing pins take time to backfill.

This tool inspects what your page is actually serving so you can fix problems before you submit — Pinterest's validator tells you it failed, not always why.

Why validation fails

  • The markup is rendered by JavaScript. Crawlers read the HTML your server returns. If the tags only appear after client-side hydration, they are not there as far as Pinterest is concerned. This is the single most common cause on modern frameworks.
  • Required fields are missing. A product needs price and availability; a recipe needs ingredients. Partial markup fails rather than degrading.
  • Mixed or conflicting formats. Open Graph saying one price and JSON-LD saying another gives the parser no way to choose.
  • The domain is not claimed, or was claimed on a different variant — www versus bare domain, or http versus https.
  • A redirect chain. The URL you submitted redirects somewhere else and the markup lives on the destination.
  • Robots or a firewall blocking the crawler. If Pinterest cannot fetch the page it cannot read anything on it.
  • Price formatting. Currency and amount need to be machine-readable — a string like "from £29" is not a price.

Open Graph or schema.org?

Either works. Practically: Open Graph is simpler and fine for articles; schema.org JSON-LD is more expressive and is what most product and recipe implementations use, partly because Google wants it too, so you are doing one job for two search engines.

Do not implement both half-way. One complete, consistent implementation beats two partial ones that disagree, and disagreement is a failure mode this tool will flag.

After it is working

Rich Pins are infrastructure, not a growth tactic. They improve every pin from your domain quietly and forever, but they do not make a badly targeted pin rank. Once validation passes, the work goes back to the fields that decide distribution: keyword-led titles from the title generator, real-sentence descriptions from the description generator, and destination pages that load fast and deliver on the promise.

It is also worth checking your links periodically — a Rich Pin pointing at a 404 is worse than a plain one, because it advertises a product that cannot be bought. The link checker catches those.

Checking the HTML your server actually returns

Because JavaScript-injected markup is the most common failure, the useful diagnostic is to look at the raw HTML rather than the rendered page. In a browser, "View source" shows what was served; the element inspector shows the page after scripts have run. If your Open Graph or JSON-LD appears in the inspector but not in view-source, that is your bug, and no amount of resubmitting will fix it.

The fix depends on your stack — server-side rendering, static generation, or a prerender layer for crawlers. What all of them have in common is putting the tags in the initial HTML response.

Platform-specific notes

  • Shopify: product structured data is generally present out of the box. Failures usually trace to a theme that strips it, or to an app injecting a second conflicting block.
  • WooCommerce / WordPress: most SEO plugins output the markup. Having two plugins both output it is a common cause of conflicting data — pick one and disable the other's schema output.
  • Squarespace and Wix: markup is largely managed for you, with correspondingly little control when a field is missing.
  • Custom builds: the most control and the most ways to get it wrong. Validate the raw response, not the rendered page.
  • Recipe plugins: the well-known ones emit correct recipe schema. Hand-written recipe markup usually misses a required field.

Claiming your domain properly

Claiming is a prerequisite and it is also where the www problem bites. If your site canonicalises to https://example.com but you claimed https://www.example.com, things behave inconsistently. Claim the variant your site actually serves, and make sure redirects point everything at it.

Claiming has a second benefit worth mentioning: pins created from your site get attributed to your profile, including pins other people make. On a site that gets pinned regularly, that attribution is worth more than the Rich Pin formatting.

Keeping it healthy over time

Rich Pins are set-and-forget until something changes underneath them — a theme update, a plugin change, a platform migration. Any of those can silently drop the markup, and you will not get a notification.

A sensible habit is to re-check a product URL and an article URL after any significant site change, and once a quarter otherwise. Pair it with a pass of the link checker on your most-pinned URLs, since a Rich Pin advertising a product at a dead URL is actively worse than a plain pin.

Frequently asked questions

What is a Pinterest Rich Pin?

A pin that pulls live information from your page — article headline and author, recipe ingredients and cook time, or product price and availability — and shows it on the pin. It updates when your page does.

How do I enable Rich Pins?

Add the right markup to your page, then submit one URL from your domain to Pinterest's Rich Pin validator. Approval is per-domain, so you only do it once.

Why is my Rich Pin not showing?

Usually the pin was created before the markup was added — repin it or wait for a recrawl — or your site is blocking Pinterest's crawler in robots.txt or at the firewall.

Which Rich Pin type do I need?

Article for blogs, Recipe for food sites, Product for shops. Recipe is the richest and the one that most visibly improves a pin.

Do Rich Pins improve ranking?

They are not a direct ranking factor, but they make a pin look more credible and informative, which affects the saves and clicks that do influence distribution.

Do I need to validate every page for Rich Pins?

No. One successful validation applies to the whole domain. Individual pages still need correct markup, but you do not resubmit each URL.

Why does my page validate in other tools but fail on Pinterest?

Usually because the markup is injected by JavaScript. Crawlers read the server-rendered HTML, so tags that only appear after hydration are invisible to Pinterest.

Do Rich Pins improve ranking?

They are not a direct ranking factor. They improve what the pin communicates — live price, ingredients, byline — which lifts click-through and keeps old pins accurate.

Do I have to claim my website first?

Yes. Rich Pins require a claimed domain, and claiming also unlocks the analytics you need to measure whether any of this is working.

What happens to Rich Pins if my page changes?

They update from the live page, including pins other people saved long ago. That is the main long-term benefit — you are not maintaining thousands of stale descriptions.

How do I tell whether my markup is server-rendered?

Compare "View source" with the element inspector. Tags that appear in the inspector but not in view-source were added by JavaScript, and Pinterest's crawler will not see them.

More free Pinterest tools

See all 30 free Pinterest tools →