Meta Description Analyzer avatar

Meta Description Analyzer

Pricing

$2.99/month + usage

Go to Apify Store
Meta Description Analyzer

Meta Description Analyzer

Meta description analyzer that checks any URL for missing or incorrectly sized meta descriptions, so SEO teams can catch and fix issues before they cost search rankings.

Pricing

$2.99/month + usage

Rating

0.0

(0)

Developer

ZeroBreak

ZeroBreak

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Meta Description Analyzer: Audit Meta Descriptions Across Any List of URLs

Meta Description Analyzer fetches pages and checks whether their meta description tags are present, the right length, and formatted correctly for search engines. Give it a list of URLs and get back a result per page showing the description text, character count, and a plain status: ok, too_short, too_long, or missing.

It also pulls Open Graph and Twitter card descriptions alongside the standard meta tag, so you're not guessing about what social platforms read. No full site crawl needed.

Use cases

  • Pre-launch SEO audits: catch missing or oversized meta descriptions before a site goes live
  • Post-migration checks: verify meta descriptions survived a CMS or template change intact
  • Content team reviews: build a list of pages that need description work, without manual clicking
  • Client reporting: pull bulk meta tag data for SEO audits faster than any manual process
  • Scheduled monitoring: run on a schedule to catch regressions when new pages are published

What data does this actor extract?

Each result maps to one URL and looks like this:

{
"inputUrl": "https://apify.com",
"url": "https://apify.com/",
"httpStatus": 200,
"pageTitle": "Apify: Full-Stack Web Scraping and Data Extraction Platform",
"titleLength": 56,
"metaDescription": "Apify is the full-stack web scraping and data extraction platform. Get started with ready-made scrapers or build your own.",
"metaDescLength": 121,
"metaDescStatus": "ok",
"ogDescription": "Apify is the full-stack web scraping and data extraction platform.",
"twitterDescription": "",
"scrapedAt": "2025-01-15T10:23:45.123456+00:00",
"error": null
}

Input

ParameterTypeDefaultDescription
urlstring-Single URL to analyze. Combined with urls if both are provided.
urlsarray-List of URLs to check, one per line.
maxUrlsinteger100Maximum number of URLs to process per run (hard cap: 1,000).
requestTimeoutSecsinteger30Per-request timeout in seconds. Increase for slow servers.
proxyConfigurationobjectDatacenter (Anywhere)Proxy type and location for requests. Optional.

Example input

{
"urls": [
"https://apify.com",
"https://apify.com/about",
"https://apify.com/pricing"
],
"maxUrls": 100,
"requestTimeoutSecs": 30,
"proxyConfiguration": { "useApifyProxy": true }
}

Output

The metaDescStatus field is the quickest way to find problems:

StatusMeaning
okMeta description is 70-160 characters.
too_shortUnder 70 characters. Consider expanding.
too_longOver 160 characters. Likely truncated in search results.
missingNo meta description tag found on the page.
errorPage could not be fetched. Check the error field.

Full output field reference:

FieldTypeDescription
inputUrlstringThe original URL submitted.
urlstringFinal URL after following any redirects.
httpStatusintegerHTTP status code (200, 404, etc.).
pageTitlestringText of the <title> tag.
titleLengthintegerCharacter count of the page title.
metaDescriptionstringContent of the meta description tag. Empty string if missing.
metaDescLengthintegerCharacter count of the meta description. 0 if missing.
metaDescStatusstringSEO status: ok, too_short, too_long, missing, or error.
ogDescriptionstringOpen Graph og:description content. Empty if not present.
twitterDescriptionstringTwitter card twitter:description content. Empty if not present.
scrapedAtstringISO 8601 UTC timestamp of when the page was fetched.
errorstringError message if the request failed. Null on success.

How it works

  1. Takes the URL list from input (single url, urls list, or both combined and deduplicated)
  2. Caps the list at maxUrls and logs a warning if URLs were dropped
  3. Fetches each page with a realistic browser User-Agent, following redirects automatically
  4. Parses the HTML to extract the meta description, OG description, and Twitter card description
  5. Classifies the meta description by character length against the 70-160 character range
  6. Pushes each result to the dataset

FAQ

What counts as the right meta description length?

Google typically truncates descriptions longer than 155-160 characters in search snippets. Descriptions under 70 characters tend to look thin. The actor flags anything outside 70-160 as too_short or too_long.

Does the actor work on JavaScript-rendered pages?

It uses standard HTTP requests and reads what the server returns before JavaScript runs. If a site builds its meta description client-side (React, Vue, etc.) without server-side rendering, the tag may be empty or absent in the response. Check whether the site uses SSR or pre-rendering if results look off.

Can I check hundreds of URLs at once?

Yes. Pass a list of up to 1,000 URLs via the urls input. The actor processes them in sequence and rotates proxies if you have that configured.

What happens if a page returns a 404 or other error?

The actor records the HTTP status and an error message in that row and keeps processing the rest of the list. It does not stop the run.

Does it follow redirects?

Yes. The final URL after all redirects goes into the url field. The original input stays in inputUrl, so you can see both.

Integrations

Connect Meta Description Analyzer with other tools using Apify integrations. Push results to Google Sheets, trigger a Slack alert when missing descriptions are found, or wire it into Make and Zapier. You can also use webhooks to kick off a downstream action as soon as the run finishes.