Meta Tag Audit avatar

Meta Tag Audit

Pricing

$3.99/month + usage

Go to Apify Store
Meta Tag Audit

Meta Tag Audit

Meta tag audit tool that reads title tags, meta descriptions, Open Graph fields, and Twitter Cards from any webpage, returning character counts, length checks, and a 0-100 SEO score per page.

Pricing

$3.99/month + usage

Rating

0.0

(0)

Developer

ZeroBreak

ZeroBreak

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 hours ago

Last modified

Categories

Share

Meta Tag Audit: Check Meta Tags and SEO Issues on Any Webpage

Meta tag audit tool that reads every tag in a page's HTML head and flags what's broken. Drop in one URL or a batch, and it returns title tags, meta descriptions, Open Graph data, Twitter Cards, canonical URLs, robots directives, viewport settings, and charset for each page. Every field includes a character count and a length check against Google's recommended limits, plus a 0-100 SEO score and a list of issues found.

Use cases

  • SEO auditing: check title and description tags across hundreds of pages without opening DevTools on each one
  • Content QA: catch missing or oversized titles and descriptions before a page goes live
  • Open Graph validation: verify og:title, og:description, and og:image are present for proper social sharing previews
  • Technical SEO: detect noindex directives, missing canonical tags, and absent viewport meta in one pass
  • Site migrations: audit meta tags after a domain move or CMS switch to spot regressions early
  • Competitor research: pull structured meta tag data from competitor pages for analysis

What data does this actor extract?

Each URL produces one output record with the following fields:

  • Title tag: text, character count, and status (ok / missing / too_short / too_long)
  • Meta description: text, character count, and status
  • Open Graph: og:title, og:description, og:image, og:type, og:url
  • Twitter Cards: twitter:card, twitter:title, twitter:description, twitter:image
  • Canonical URL
  • Robots meta directive (noindex, nofollow, etc.)
  • Viewport meta content
  • Charset
  • Hreflang tags (for international SEO)
  • Issues list (plain strings, one issue per item)
  • SEO score (0-100)
  • HTTP status code and error message (if the page failed to load)

Input

ParameterTypeDefaultDescription
urlstringSingle URL to audit
urlsarrayList of URLs to audit, one per line
maxUrlsinteger100Maximum URLs to process per run
timeoutSecsinteger300Total run timeout in seconds
requestTimeoutSecsinteger30Per-page request timeout in seconds
proxyConfigurationobjectDatacenter (Anywhere)Proxy type and location for requests. Supports Datacenter, Residential, Special, and custom proxies. Optional.

At least one of url or urls must be provided. Both can be used together.

Example input

{
"urls": [
"https://apify.com",
"https://docs.python.org/3/"
],
"maxUrls": 50,
"requestTimeoutSecs": 30,
"proxyConfiguration": { "useApifyProxy": true }
}

Output

The actor saves one record per URL to the default dataset.

{
"url": "https://apify.com/",
"statusCode": 200,
"pageTitle": "Apify: Full-stack web scraping and data extraction platform",
"titleLength": 58,
"titleStatus": "ok",
"metaDescription": "Cloud platform for web scraping, browser automation, and data extraction. Build, deploy, and monitor your scrapers at scale.",
"descriptionLength": 123,
"descriptionStatus": "ok",
"metaKeywords": "",
"canonicalUrl": "https://apify.com/",
"robotsDirective": "",
"ogTitle": "Apify: Full-stack web scraping and data extraction platform",
"ogDescription": "Cloud platform for web scraping, browser automation, and data extraction.",
"ogImage": "https://apify.com/og-image.png",
"ogPageType": "website",
"ogUrl": "https://apify.com/",
"twitterCard": "summary_large_image",
"twitterTitle": "Apify",
"twitterDescription": "Web scraping and automation platform.",
"twitterImage": "https://apify.com/og-image.png",
"viewport": "width=device-width, initial-scale=1",
"charset": "utf-8",
"hreflang": [],
"issues": [],
"seoScore": 100,
"scrapedAt": "2025-01-15T12:34:56.789000+00:00",
"errorMessage": ""
}
FieldTypeDescription
urlstringFinal URL after redirects
statusCodeintegerHTTP response status code
pageTitlestringText content of the title tag
titleLengthintegerCharacter count of the title
titleStatusstringok, missing, too_short, or too_long (30-60 chars is ok)
metaDescriptionstringMeta description content
descriptionLengthintegerCharacter count of the description
descriptionStatusstringok, missing, too_short, or too_long (70-160 chars is ok)
metaKeywordsstringMeta keywords content (deprecated by Google, still extracted if present)
canonicalUrlstringCanonical link href
robotsDirectivestringRobots meta content
ogTitlestringOpen Graph title
ogDescriptionstringOpen Graph description
ogImagestringOpen Graph image URL
ogPageTypestringOpen Graph type (e.g. website, article)
ogUrlstringOpen Graph URL
twitterCardstringTwitter Card type
twitterTitlestringTwitter title
twitterDescriptionstringTwitter description
twitterImagestringTwitter image URL
viewportstringViewport meta content
charsetstringDocument charset
hreflangarrayHreflang link tags, each with lang and href
issuesarraySEO issues found, one string per issue
seoScoreintegerScore from 0 to 100
scrapedAtstringISO 8601 audit timestamp
errorMessagestringSet if the page failed to load

How it works

  1. Accepts one or more URLs from the url and urls inputs, deduplicates them, and applies the maxUrls cap
  2. Fetches each page with a realistic browser User-Agent header, following redirects automatically
  3. Parses the HTML head section with BeautifulSoup
  4. Extracts the title tag, all meta tags, link tags (canonical, hreflang), and charset declarations
  5. Checks title and description character counts against Google's recommended ranges
  6. Evaluates presence of canonical, viewport, Open Graph, and Twitter Card tags
  7. Computes a 0-100 SEO score and assembles a plain issues list
  8. Saves the full audit record to the dataset

How the SEO score works

The score starts at 100 and loses points for each missing or out-of-range tag:

ConditionPoints deducted
Missing title25
Title too short or too long10
Missing meta description20
Description too short or too long8
Missing canonical URL5
Missing viewport meta5
Missing og:title5
Missing og:description5
Missing og:image5
Missing twitter:card5

A page with all tags present and within recommended lengths scores 100.

Integrations

Connect Meta Tag Audit with other tools using Apify integrations. You can pipe results into Google Sheets, trigger Slack alerts via Make or Zapier, or sync data with Airbyte. Use webhooks to kick off a downstream action whenever audit results land.

FAQ

What character limits does this actor use for titles and descriptions? Titles between 30 and 60 characters get a status of "ok". Under 30 is "too_short", over 60 is "too_long". For meta descriptions, 70-160 characters is "ok". These match Google's commonly cited recommendations. Google does not publish hard limits, so treat these as guidelines rather than rules.

Does this actor handle JavaScript-rendered pages? No. It fetches raw HTML and parses the static document. Most meta tags are server-rendered and appear in the initial HTML response, so this works for the majority of sites. If a site injects meta tags via JavaScript after page load, those tags will not be captured.

How many URLs can I audit per run? Up to 1000, controlled by maxUrls. The default is 100. For large batches, consider scheduling multiple runs or increasing maxUrls.

Will websites block this actor? The actor sends requests with a realistic Chrome User-Agent and supports Apify proxies. For sites with aggressive bot detection, switch to Residential proxies in the proxy configuration.

What does a noindex flag mean in the results? If a page's robots meta tag contains "noindex", the issues list will note it. This is not always a problem (login pages and staging sites are often intentionally noindexed), but it is worth checking on pages you expect to rank in search.

Meta tag audits take minutes and often surface quick SEO wins. Run this actor to get a structured snapshot of any site's meta tag coverage before starting optimization work.