Meta tag checker: check one page's title, description and schema

Enter a page URL and see how it presents itself to Google and social networks: title and meta description with their lengths and a search-result preview, canonical, robots directives, H1, hreflang, Open Graph and Twitter tags, schema.org JSON-LD with missing required properties, and a list of issues. Free, no sign-up, one page at a time.

Reads the page once (HTML as served, up to 600 KB) after checking robots.txt. Up to 10 checks per minute.

What the checker looks at

CheckRule
TitlePresent, 30 to 60 characters (longer titles are often cut in Google results)
Meta descriptionPresent, only one, 70 to 160 characters
CanonicalPresent, only one, pointing to the page itself; otherwise the page is not counted as indexable
Robotsnoindex or none in the robots or googlebot meta tag, or in the X-Robots-Tag header
HeadingsExactly one H1
Mobile and languageA viewport meta tag and a lang attribute on <html>
Social previewsog:title, og:description, og:image and twitter:card
hreflangValid language codes, and the set includes the page itself
Structured dataJSON-LD blocks parse (including @graph); 18 common types (Product, Offer, Article, Organization, LocalBusiness, BreadcrumbList, FAQPage, Event, Recipe, JobPosting, VideoObject…) are checked for the properties Google requires or recommends
ContentImages without an alt attribute (alt="" counts as decorative) and pages under 200 words

The rules and issue codes are the same as in our SEO Meta Tags & Schema.org Extractor actor, so a page checked here and a crawl there give the same answers.

How it works

  1. The address is checked (public host, http or https, standard ports) and the site's robots.txt is read; a page disallowed for our bot AdamHaleTools is not fetched.
  2. The page is fetched once, following up to five redirects, and read as served: what Google's first pass and social networks' preview bots see.
  3. Tags are extracted and checked; nothing is stored.

Limits of the free checker

  • No JavaScript. Titles, canonicals or JSON-LD added by client-side code are not seen. Google renders JavaScript later; social networks' preview bots usually do not.
  • Not a full schema validator. It checks the main required and recommended properties of common rich-result types. Use Google's Rich Results Test for the final word on one page.
  • One page per check, 10 checks per minute per visitor. Sites behind bot protection are reported as refused, not bypassed.

Need bulk or scheduled runs? Run it on Apify

The SEO Meta Tags, Open Graph & Schema.org Extractor on Apify runs the same checks on up to 10,000 URLs per run or crawls a whole site, with one spreadsheet row per page, issue counts across the site, and Social tags and Structured data views. Schedule it after every release.

Run it on Apify Read the guide: Bulk meta tag and schema check

Use it from code

The same lookup is available as JSON for light use (10 requests per minute per IP, no key):

curl "https://tools.adamhaleworks.workers.dev/api/meta-tags?url=https://www.python.org/"

For regular or high-volume use, call the actor through the Apify API instead; the guide shows how. AI agents can use the pay-per-call API instead: several items per call, no rate limit, paid in USDC, no account.

FAQ

How long should a title tag be?

This checker flags titles under 30 or over 60 characters. Google cuts titles by pixel width, roughly 50 to 60 characters on desktop, and may rewrite titles it finds unhelpful, so 60 is a practical upper limit rather than a rule.

Why does my page show the wrong image when shared?

Facebook, LinkedIn, Slack and others use og:image, and X uses twitter:image with a fallback to og:image. If the tag is missing, relative or blocked, they pick another image or none. The checker shows the absolute og:image URL it found.

What does 'canonical points to another URL' mean?

The page tells search engines that a different URL is the main version, so this URL is unlikely to be indexed itself. That is right for duplicates and filtered views, and a common mistake on main pages.

Does it check structured data like the Rich Results Test?

Partly. It parses every JSON-LD block, lists the types and flags missing required or recommended properties for 18 common Google rich-result types. It does not render JavaScript or check every rule.

Can I check many pages at once?

Not here. The SEO Meta Tags & Schema.org Extractor actor on Apify checks up to 10,000 URLs per run or crawls a site, and exports CSV or Excel.