afaqrashid.com  ·  portfolio · 2026 ed.

Next.js metadata checker

Paste a page’s HTML to see what’s missing from its metadata and how to fix it in Next.js. It runs in your browser, so nothing you paste leaves this page.

4 things to fix.

  • TitleOKPricing | Example (17 characters)
  • DescriptionOKSimple plans for small teams. (29 characters)
  • CanonicalFixhttp://localhost:3000/pricingThe canonical points to your own machine, so nobody else can load it. Set metadataBase to your production domain.
  • IndexingOKNo noindex tag
  • Open GraphFixMissing og:type, og:urlIf a page sets openGraph, it replaces the layout's whole openGraph object. Set these fields again in the page.
  • Share imageFixMissing og:imageAdd an opengraph-image file or set openGraph.images. If your layout sets an image, a page's own openGraph removes it.
  • X cardFixMissing twitter:cardSet twitter.card in your metadata, for example summary_large_image.
  • LanguageOKen

What it checks

It looks for the title, description, canonical, noindex tags, Open Graph tags, share image, X card and page language. It also flags a canonical or share image that points to localhost, and one that points to a vercel.app address.

To get the HTML, open your page and choose View Page Source, then copy all of it. This tool reads only what you paste, so it can’t see a noindex sent in an HTTP header.

Two Next.js behaviors to know

A page’s openGraph replaces the layout’s. Next.js merges metadata shallowly, so a page that sets only openGraph.title loses the image set in your layout. This checker found 14 pages on this site that had lost their share image that way.

Tags in the body can be normal. On a dynamic page, Next.js can stream metadata into the <body>. Googlebot reads it there, and crawlers that can’t run JavaScript get it in the <head>.

More checks

Read why Next.js share images go missing, then check that Google can load your pages with the Next.js robots.txt checker.