How to write a meta description that passes findable
Contents
A meta description is one sentence or two in the head of your page. Search results and link previews often use it as the summary under your title. findable runs three checks on it.
What does findable check about meta descriptions?
| Check id | What it tests | Passes when |
|---|---|---|
desc_exists | A meta description is present | The tag exists and has content |
desc_length | The length in characters | 120 to 160 characters |
desc_single | How many description tags there are | Zero or one, never two |
The length range is a rule of thumb. Longer text is usually cut off in results, and very short text wastes the space. The check counts characters, not pixels, so treat it as a guide.
What does the tag look like?
Put one tag inside <head>:
<meta name="description" content="Plain guides to SEO, AEO and GEO and to every check findable runs, so you can see why a page is hard to find and fix it.">
That example is 120 characters, inside the range.
How do you write a good one?
- Say what the page offers in the first half. Readers skim.
- Use the words someone would type to find the page. Do not stuff them.
- Write one description per page. Do not reuse the site tagline everywhere.
- Do not repeat the title word for word. Add something the title leaves out.
- Count characters before you ship. Most editors show a count.
Why does desc_single fail?
It fails when a page has two description tags. This usually happens when a theme adds one and an SEO plugin adds another. Search engines pick one of them, and you lose control of which. Remove one source.
Where else does the description get used?
Open Graph and Twitter tags have their own description fields. See Open Graph and share cards. The description in your JSON-LD is a third copy, and it should say the same thing. See JSON-LD basics.
Key takeaways
- Add exactly one
<meta name="description">per page. - Keep it between 120 and 160 characters.
- Write a different one for each page.
- Fix
desc_singleby removing the duplicate source, not by editing text. - The other basic metadata checks are in every SEO check.
FAQ
- Does a meta description change my ranking?
- Not directly. It is a summary that search results and link previews often show. A clear one can earn more clicks, but findable only tests that it exists, has a sane length and appears once.
- Will Google always show my description?
- No. Search engines may rewrite it from the page text. Write it as if it will be shown, and make the first sentence of the page a good fallback.
- Should every page have its own description?
- Yes. Copying one description across pages gives each page the same summary in results, so none of them stand out.
How does findable score a page?
| Family | Weight | Question it asks |
|---|---|---|
| SEO | 50% | Can crawlers read and index this page? |
| AEO | 25% | Is it easy to lift an answer from this page? |
| GEO | 25% | Does the page give a generative model a reason to cite it? |
The hosted audit waits up to 10 s for a page and fetches at most 5 MB. It reads robots.txt and llms.txt up to 512 KB each.
More guides
- Every findable AEO Check ID and How to Fix It
- All 35 AEO checks in findable explained, from aeo_faq to aeo_summary. See what each id tests, how loose the test is and how to fix it. AEO is 25% of the score.
- Canonical Tags and Duplicate Content: How to Get Them Right
- Use one canonical link per page that points to its own absolute URL. Learn the checks canonical, canonical_self and canonical_absolute and fix them.
- FAQ Schema for Answer Engines: Markup and Checks
- How to add FAQPage JSON-LD that answer engines can lift, and how findable tests aeo_faq, aeo_faq_count and faq_valid. Includes a working example.
- Get Findable in 15 Minutes: A Step by Step Checklist
- Install findable, audit a page and your site, fix the top failures, then add MCP, the web UI, the API and a CI gate. Every step has a copy-paste command.
- Every findable GEO Check ID, Plus AI Crawler Checks
- All 27 GEO checks in findable explained, plus the unscored Site checks for GPTBot, ClaudeBot and llms.txt. GEO is 25% of the score. Fixes included.
- Image Alt Text, Dimensions and Lazy Loading Explained
- Fix img_alt, img_dimensions, img_alt_quality, img_lazy_loading and img_modern_format. See what each image check in findable tests and how to pass.
- JSON-LD Schema Basics: What findable Checks and Why
- Learn what JSON-LD is, which schema.org types findable validates, and how to fix jsonld_valid, jsonld_context and empty or relative values.
- llms.txt: What It Is and How findable Checks It
- llms.txt is a plain Markdown file at your site root that points AI tools to your key pages. See the llms-txt check and how to write the file.
- Open Graph and Twitter Cards: Fix Your Share Previews
- Add og:title, og:description, og:image, og:url and twitter:card so links unfurl well. See every social check findable runs and how to pass it.
- robots.txt and AI Crawlers: GPTBot, ClaudeBot, PerplexityBot
- How robots.txt rules decide whether GPTBot, ClaudeBot, PerplexityBot and Google-Extended can fetch your page, and how findable tests each one.
- Every findable SEO Check ID and How to Fix It
- A plain guide to all 98 SEO checks in findable, from title_length to csp. See what each id tests, when it passes and the fix. SEO is 50% of your score.
- SEO vs AEO vs GEO: The Difference in Plain Words
- SEO, AEO and GEO each target a different reader: a search crawler, an answer box, or a generative AI model. See what wins in each and how to check them.
- Why AI Answer Engines Skip Your Site and How to Fix It
- ChatGPT, Perplexity and Claude may ignore your pages for five fixable reasons, from robots.txt blocks to missing answers. Learn each cause and its check id.