Free Meta Description Checker: Audit Titles, Length and Robots Tags
99Visibility Research · Updated October 21, 2026 · 6 min read
You can check titles and meta descriptions for free with curl and a spreadsheet. Pull the head of each key page, measure each title and description, flag duplicates, and read every robots directive. The length check is a tidy-up. The robots check matters more: a stray noindex or nosnippet makes a page ineligible for Google's AI Overviews and AI Mode.
What the free check tells you
A title and meta description audit answers three questions about each key page:
- Length. Is the title or description so long it gets cut off, or so short it says nothing?
- Duplicates. Do several pages share the same title or description, so a reader can't tell them apart in results?
- Robots directives. Does the head, or the HTTP response, carry a
noindex,nosnippetormax-snippetvalue someone forgot about?
The first two are about how your listing reads to a person. The third is about whether the page is eligible at all. Google's documentation on AI features says that to be shown as a supporting link in AI Overviews or AI Mode, a page must be indexed and eligible to be shown in Search with a snippet, and that there are no additional technical requirements. A noindex tag fails the first condition. A nosnippet tag fails the second.
So run the length check, but treat the robots check as the part that can cost you real visibility.
How to run it by hand
Say you want to audit your homepage, pricing page and top ten product or service pages. Here is the method with free tools only.
- Make a URL list. Put one URL per line in a file called
urls.txt. Use your most important pages first: homepage, pricing, top product pages, top guides. - Pull the title, description and robots tags from the raw HTML. This fetches each page without running JavaScript, which is also how most AI crawlers read it:
while read u; do
echo "== $u"
curl -sL "$u" | grep -ioE '<title>[^<]*</title>|<meta[^>]+name="(description|robots|googlebot|bingbot)"[^>]*>'
done < urls.txt
- Check the HTTP header too. Robots directives can live in the response header, not the page:
curl -sIL https://example.com/pricing | grep -i x-robots-tag
- Paste the results into a spreadsheet. One row per URL, with columns for title, description and any robots value.
- Measure length. Add a column with
=LEN(B2)for titles and=LEN(C2)for descriptions. This site uses a house rule of 60 characters for titles and 140 to 160 for descriptions. That is our own target, not a limit Google publishes. - Flag duplicates. Add
=COUNTIF(B:B,B2)>1to mark any title that appears more than once. Repeat for descriptions. - Search the page body for data-nosnippet. Run
curl -sL URL | grep -ic data-nosnippet. Any count above zero means some block is hidden from snippets. - Compare with the rendered page. Open the page in Chrome, right-click, choose Inspect, and search the Elements panel for
robots. If the rendered head differs from the raw HTML, JavaScript is changing it. Read whether AI crawlers see robots tags added by JavaScript before you trust either version.
How to read the result
Sort your spreadsheet by risk, not by length.
Fix first: robots directives
- noindex on a page you want found. It keeps the page out of Google's index, which removes it from AI Overviews and AI Mode as well as classic results.
- nosnippet or max-snippet:0. The page can still be indexed, but it is no longer snippet-eligible, which Google lists as a condition for AI feature links.
- data-nosnippet on key content. Bing says content marked this way is still indexed but excluded from snippets and AI summaries. Google documents the same attribute among its snippet controls.
- A directive in X-Robots-Tag you didn't set. Often a CDN, staging rule or plugin added it.
If a directive is intentional (a login page, a thank-you page), leave it. If nobody can explain it, remove it. A free noindex, nosnippet and data-nosnippet check goes deeper on each control.
Fix next: duplicates and empties
Shared titles usually come from a template default. Give each page a title that names what it is. Missing descriptions are not a crisis, but they are a quick win for how the listing reads.
Fix last: length
Trim titles that run long and expand descriptions that say nothing. If you want help drafting them, see our guide to writing better SEO titles.
What this check does not tell you
Be clear about the limits, so you don't spend effort in the wrong place.
- It doesn't predict AI citations. As of October 2026, Google's guide to generative AI features says no special optimizations are needed to appear in AI Overviews or AI Mode. A well-sized description is good housekeeping, not a citation lever. Read whether AI search uses your meta description for what the evidence actually shows.
- It doesn't confirm index membership. A clean head means the page is eligible. Only Google Search Console and Bing Webmaster Tools show whether it is actually indexed.
- It doesn't check crawler access. A page can carry perfect tags and still be unreachable if robots.txt blocks a search bot or a firewall returns 403 to it.
- It doesn't cover Search Console's AI inclusion control. Google documents a property-level setting for generative AI features that a crawl cannot see.
- It is a snapshot. Templates, plugins and CDN rules change. Rerun it after every major release or CMS update.
The free tool that does the fix faster
The manual method finds the problems. Writing clean replacement tags for a dozen pages is the slow part. The free Meta Tag Generator on 99Visibility writes title, description and related meta tags you can paste into your CMS, which saves you hand-coding each one.
Use it after the audit, not instead of it. Run the curl check first so you know which pages carry a stray robots directive, then generate replacements only for the pages that need them. If you also want Open Graph tags for social previews, our free meta tag generator walkthrough covers those fields.
Then rerun step 2 on the live pages. The fix only counts once the raw HTML, the header and the rendered page all agree.
Does Google use a fixed character limit for titles and meta descriptions? None of the Google documentation we rely on publishes a fixed character limit. Search results cut off long text based on display space, so any number you use is a working target. This site uses 60 characters for titles and 140 to 160 for descriptions as a house rule. Pick a target, apply it consistently, and spend more of your time on the robots directives, which affect eligibility rather than appearance.
Will a better meta description get my page cited in AI Overviews? No evidence shows that. Google says pages need to be indexed and snippet-eligible to appear as AI Overview or AI Mode links, and that no special optimization is required beyond that. A clear description helps people choose your result. What you control for AI features is not blocking yourself: no stray noindex, nosnippet or max-snippet:0 on pages you want found.
What is the difference between noindex and nosnippet? noindex tells search engines not to keep the page in their index, so it cannot appear in results or in Google's AI features. nosnippet lets the page stay indexed but stops a text snippet being shown. Because Google requires snippet eligibility for AI Overview and AI Mode links, nosnippet also removes that eligibility. Both are legitimate when intended and harmful when inherited by accident.
Can a robots directive hide outside the HTML head? Yes. The X-Robots-Tag HTTP response header carries the same directives as the robots meta tag, and a server, CDN or plugin can add it without anyone editing the page. Run curl -sIL on the URL and look for x-robots-tag in the output. Also search the page body for data-nosnippet, which applies to individual blocks rather than the whole page.
How often should I rerun this audit? Rerun it after any template change, CMS or plugin update, site migration, or CDN configuration change, since those are the usual sources of stray directives. For a stable site, a quarterly pass over your key pages is a reasonable habit. Keep your urls.txt file and spreadsheet so each rerun takes minutes and you can compare against the previous result.
Sources
This page is AI-assisted. It was written from a verified evidence base and checked against our editorial policy. Engine behaviour changes often; facts are as of October 21, 2026.