Meta Descriptions

Craft meta descriptions that summarize the page and improve click-through.

Syntax<meta name="description" content="...">

The meta description is the snippet of text shown under the title in search results. It is not a direct ranking factor, but it strongly affects click-through rate.

Best practices

  • Aim for about 150-160 characters.
  • Summarize the page and include the primary keyword naturally.
  • Add a clear benefit or call to action.
  • Write a unique description for every page.

If you omit it, Google will pull a snippet from the page - sometimes well, sometimes not. Writing your own gives you control.

Example

Example · html
<meta name="description"
  content="Learn pour over coffee step by step: gear, grind size,
  water temperature and a foolproof brew ratio for beginners.">

When to use it

  • A travel agency rewrites meta descriptions to include a call to action and unique selling point, improving CTR on competitive flight search queries.
  • An SEO tool flags 300 pages with duplicate meta descriptions across a large news site, prompting a template fix that resolves them in one deploy.
  • A product team A/B tests two meta description variants in Google Ads ad copy, then rolls out the winner as the meta description to lift organic CTR.

More examples

Ideal meta description structure

Leading with the page's value proposition and ending with a soft call-to-action keeps descriptions under 155 characters and maximises click-through.

Example · html
<head>
  <!-- Formula: What the page does + key benefit + CTA (≤155 chars) -->
  <meta name="description"
    content="Compare 12 CRM tools by price, features and team size.
             See which fits startups vs enterprise. Read the 2024 guide.">
  <!-- Length: 141 chars — within safe display range -->
</head>

Templated meta description in CMS

Injecting structured product data into a meta description template ensures uniqueness and relevance across large catalogues.

Example · html
<!-- Blade / Twig snippet for product pages -->
<meta name="description" content="
  Buy {{ product.name }} for {{ product.price }}.
  {{ product.short_description }}
  Free shipping on orders over $50. In stock now.
">

Find missing or duplicate meta descriptions

Scanning pages for missing or repeated meta descriptions identifies the highest-priority on-page fixes in a site audit.

Example · bash
python3 - << 'EOF'
import requests
from bs4 import BeautifulSoup
from collections import Counter

urls = ["https://example.com/", "https://example.com/crm/", "https://example.com/about/"]
descriptions = []
for url in urls:
    soup = BeautifulSoup(requests.get(url, timeout=5).text, 'html.parser')
    tag = soup.find('meta', attrs={'name': 'description'})
    desc = tag['content'].strip() if tag else None
    print(f"{'MISSING' if not desc else 'OK':8} {url}")
    descriptions.append(desc)
dupes = [k for k, v in Counter(descriptions).items() if v > 1 and k]
if dupes:
    print(f"\nDuplicate descriptions found: {len(dupes)}")
EOF

Discussion

  • Be the first to comment on this lesson.