On-Page SEO

Meta Description: what it is and how to write it

Article cover: meta description — what it is and how to write it

What meta description is, how it affects CTR in search results, how to add the tag in HTML and popular CMS platforms — with templates and examples.

What is meta description and why you need it

Meta description is an HTML tag placed inside the <head> of a page. The content attribute holds a short description of the page — usually one or two sentences, 150–160 characters long. Users see this text in search results below the blue title link: that text block is the snippet.

The main job of a description is to convince the user to click. A well-written tag lifts CTR by 5–15% without any change in rankings. That means more traffic at the same visibility — one of the cheapest ways to get more clicks from search.

Meta description forms the bottom line of the snippet — the very text that convinces users to click your result instead of a neighbour's.

Meta description by the numbers

~70%

Rewrite rate

Google rewrites the description in roughly 70% of cases (Portent, 2020). The closer your tag matches the query, the more likely Google keeps your text

150–160

Optimal length

Characters for desktop: Google displays about 920 pixels of text. Longer descriptions are cut off mid-phrase with an ellipsis

0

Direct ranking impact

Meta description is not a ranking factor — Google confirmed this officially. Impact is indirect: through CTR, which signals relevance to the search engine

5–15%

CTR lift

Average click-through rate increase after optimising description on pages where Google uses your text instead of the auto-generated version

The tag must be placed inside the <head> of the HTML document — that is where the crawler reads the description during indexing. If the tag is missing or empty, Google automatically generates a snippet from the page text: usually the first paragraph or a fragment that contains the user's search query.

HTML
<head>
  <meta charset="UTF-8">
  <title>Buy Winter Workwear Wholesale — SpecOpt</title>
  <meta name="description" content="Winter workwear wholesale from the manufacturer: suits, overalls, gloves. Delivery across Russia. Prices from $12, bulk discounts from 50 units.">
</head>

Description meaning and role in the snippet

"Description" simply means a brief account of something. In HTML, "meta description" is the page's meta-description — a short summary of the document's content for external systems: search crawlers, social networks, and messaging apps. When a page is shared in Telegram or LinkedIn, the description typically becomes the link preview text.

In search results, the description forms the bottom line of the snippet — the text below the blue title link. This is where users decide whether to click. A good description answers "what will I find on this page" and gives a concrete reason to visit: a price, a delivery window, exclusive content, or a direct answer to the query.

Myth: meta description affects search rankings. Google officially stated in 2009 that description is not a ranking factor. Bing and Yandex hold the same position. The tag's impact is indirect: a better description → higher CTR → more clicks → the search engine may read the page as more relevant. But there is no direct link between "better description" and "higher position".

Google rewrites the description in about 70% of cases — when its algorithm decides a snippet pulled from the page text answers a specific query better. The more your description reflects the target keywords and actual page content, the higher the chance Google keeps your text rather than generating its own.

How to add meta description: syntax and optimal length

The tag syntax is simple and has not changed since early HTML. The <meta> tag is self-closing and requires no closing tag. It always goes inside <head>. Two required attributes: name="description" identifies the tag type, and content holds the description text.

HTML
<!-- Basic syntax -->
<meta name="description" content="Page description text, 150–160 characters long.">

<!-- Full document structure -->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Page Title — Brand</title>
  <meta name="description" content="Short description of the page for search results.">
</head>
<body>...</body>
</html>

The optimal description length for desktop is 150–160 characters. In mobile search, Google shows around 120 characters. If most of your traffic is mobile, target 120–130 characters. A longer description is not lost — it is indexed — but it is cut off in the snippet, so the user sees an ellipsis instead of your call to action.

Description lengthResult in searchWhen to use
Under 70 charsShown in full, but too little information for the userSimple pages only (404, utility pages)
120–130 charsFull on mobile, slight cut-off on desktopMobile-first audiences
150–160 charsOptimal for desktop, minor cut-off on mobileMost pages: homepage, categories, blog
Over 160 charsTruncated with ellipsis on both formatsNot recommended: important text is lost

  • Empty content. <meta name="description" content=""> is worse than no tag at all. The crawler logs a technical defect and generates a snippet from the page content anyway.
  • Duplicate descriptions. The same text on dozens of pages signals low content quality. Find with Screaming Frog → Meta Description → Duplicate.
  • HTML tags inside content. content="<b>Buy</b> workwear" is invalid. The content attribute accepts plain text only — no markup.
  • Unescaped quotes. content="Buy "winter" suits" breaks the HTML. Use single quotes inside the value or &quot; entities.
E-commerce tip: do not write descriptions by hand for every product page — that is thousands of pages. Use a CMS template: [Product name] — buy for [Price]. [Store USP]. Delivery [condition]. Even a simple template beats duplicates or missing tags.

For dynamically generated pages, description is created programmatically — via CMS templates or server-side code. The core principle: every page must have a unique description that accurately reflects its content.

PHP
<?php
// Description template for a product page (PHP / E-commerce)
$description = sprintf(
    '%s — buy for %s. %s. Delivery across the US from %d days.',
    $product->name,
    '$' . number_format($product->price, 2),
    $product->short_benefit,
    $product->delivery_days
);
// Trim to 160 characters without breaking a word
$description = mb_strimwidth($description, 0, 157, '...', 'UTF-8');
?>
<meta name="description" content="<?= htmlspecialchars($description) ?>">

When and how to write description for different page types

A good description's structure depends on page type and user intent. The homepage describes the business as a whole. A category page covers the range and benefits. A product card focuses on the specific item with price and USP. A blog article tells the reader what they will learn. In every case, two principles apply: specificity and a call to action.

Page typeDescription formulaExample
Homepage[What you do] for [whom]. [Key benefit]. [CTA].We make fire-resistant workwear for industrial enterprises. In-house manufacturing, certified to ISO standards. Request a catalogue.
Category[Range/count]. [Price from]. [Terms: delivery, payment]. [CTA].Winter workwear for welders: 120+ models from $12. Delivery across the US in 1–3 days. Bulk discounts from 50 units.
Product card[Name]. [Feature/USP]. [Price]. [Delivery/guarantee].TK-1 fire-resistant welding suit — ISO 11612 certified. Price $48. Same-day delivery in NYC, 3 days nationwide.
Blog article[What the article covers]. [What the reader will learn]. [Fact or detail].How to add meta description in HTML and CMS: syntax, optimal length, templates for different page types, and common mistakes.
Service page[Service] for [audience]: [what they get]. [Timeline]. [CTA].Technical SEO audit for e-commerce: indexation, speed, and structure. Full report in 5 business days. Request a quote.
Contact page[Contact options]. [Business hours]. [CTA].Get in touch with the SEO agency: phone, email, Telegram. Mon–Fri 9 am–6 pm. We respond within one business day.

Keywords in the description increase the chance of bold highlighting in the snippet — Google and Bing bold words that match the user's query. Bold text catches the eye and lifts CTR. Include the page's primary query naturally — for the reader's benefit, not the bot's.

Good description formula: Specificity (what exactly?) + Benefit (what does the user get?) + Call to action (what to do?). All three fit in 150–160 characters with a well-crafted sentence.

A call to action in the description is not clickbait — it is a useful signal. "Learn", "Read", "Compare prices", "Order with delivery" — these phrases tell users exactly what happens after they click. Studies show descriptions with a CTA have 10–15% higher CTR than neutral ones.

How to add description in CMS: WordPress, Bitrix, Tilda

Most modern CMS platforms let you manage description through an interface or SEO plugins. Manual code editing is only needed for custom builds or plugin-free setups. Here are the three most common platforms.

WordPress: Yoast SEO and Rank Math

In WordPress, the easiest way to manage description is through Yoast SEO or Rank Math — both are free and support templates. In Yoast SEO: open the post editor → "Yoast SEO" tab → "Google Preview" → "Edit snippet" → "Meta description" field. The plugin shows a character counter and flags errors. Rank Math: "Rank Math" tab → "Meta" section → "Description". Both support variables: %title%, %category%, %excerpt% — for post-type-level templates.

PHP
<?php
// functions.php — manual meta description without a plugin
// Use only if you are NOT using Yoast SEO / Rank Math
add_action('wp_head', function() {
    if (is_single() || is_page()) {
        $description = get_the_excerpt();
        if (empty($description)) {
            $description = mb_strimwidth(
                strip_tags(get_the_content()),
                0, 157, '...', 'UTF-8'
            );
        }
        echo '<meta name="description" content="'
            . esc_attr($description) . '">' . "\n";
    }
}, 1);
Plugin conflict: do not use Yoast SEO and Rank Math at the same time. Both inject a meta description tag, which creates duplicates in the <head> — a technical defect that crawlers flag as an error. Pick one plugin.

Bitrix

In 1C-Bitrix, description is set via page or component properties. In the admin panel: Content → select a section or page → "SEO" tab → "Description (meta description)" field. For auto-generated descriptions in a component template, use the SetPageProperty method — it passes the value to the site's header.php, where the tag is output in <head>.

PHP
<?php
// catalog.element template.php — auto-generate description
if (!empty($arResult['NAME']) && !empty($arResult['PREVIEW_TEXT'])) {
    $description = $arResult['NAME']
        . ' — ' . strip_tags($arResult['PREVIEW_TEXT']);
    $description = mb_strimwidth($description, 0, 157, '...', 'UTF-8');
    $APPLICATION->SetPageProperty('description', $description);
}

// site header.php — output the tag
$metaDesc = $APPLICATION->GetPageProperty('description');
if ($metaDesc): ?>
  <meta name="description" content="<?= htmlspecialchars($metaDesc) ?>">
<?php endif; ?>

Tilda

In Tilda, description is configured in two places. Site-wide: Site Settings → SEO → "Description" field. Per page: open the page → "Page Settings" (gear icon) → "SEO" tab → "Description" field. The page-level setting takes priority over the site-wide one. Tilda automatically inserts the tag in <head> — no code editing required. Best practice: fill in the description for each important page individually rather than relying on the global default.

Common mistakes and how to audit description across a site

The same description problems appear repeatedly in site audits. Most are easy to find with a crawler and easy to fix systematically via templates — not by hand for every page.

Most common mistake: Google shows a generated snippet instead of your description. This signals that the tag is missing, empty, too short, or does not reflect the page content. Check in Google Search Console → Search Appearance → Search results.
  • Duplicate descriptions site-wide. The same text on dozens of pages — the CMS inserts the site name or tagline as the default. Find with Screaming Frog → Meta Description → Duplicate. Fix: unique texts or at least unique templates per page type.
  • Missing description. Pages without the tag — Google generates a snippet from the content, often a poor choice. Find with Screaming Frog → Meta Description → Missing. Fix: write manually for priority pages, use a template for the rest.
  • Description too long. Cut off mid-sentence in search results — the user sees "..." instead of your CTA. Limit: 150–160 characters. Check with SEMrush Site Audit → Meta description too long.
  • Description too short. Under 70 characters — not enough information to drive a click decision. Google often replaces this with its own auto-generated version.
  • Description does not match page content. The title promises one thing, description another, page a third. Mismatch → high bounce rate: the user clicks and immediately leaves.
  • Target keyword missing from description. No bold highlighting in the snippet — a missed visual cue. Google bolds words matching the user's query — take advantage of that.
Description checklist: 1) Unique for every page? 2) 150–160 characters long? 3) Contains the primary keyword? 4) Includes a call to action? 5) Reflects the actual page content? 6) No HTML tags inside content? 7) content attribute not empty? All yes — description is optimised.

FAQ

Answers to the most common questions about meta description that come up in audits and consultations.

No — not directly. Google officially confirmed this in 2009, and Bing and Yandex hold the same position. The impact is indirect: a better description → higher CTR → more clicks → the search engine may treat the page as more relevant. But there is no direct link between "better description" and "higher ranking".
Google rewrites the description in about 70% of cases when it believes a snippet pulled from the page content answers the specific query better. This most often happens when the description does not contain the query keyword, is too short, too long, or does not match the page content. Fix: include the target keyword and make sure the description accurately reflects what's on the page.
Ideally yes. In practice, for large sites (thousands of pages) manual writing is not feasible. Priority: homepage, categories, high-traffic product pages, landing pages, and blog articles. For the rest, a unique CMS template is enough. Pages without a description do not break the site, but you lose control over the snippet.
For desktop search: 150–160 characters (~920 pixels). For mobile: 120–130 characters. If most of your traffic is mobile (check Google Analytics → Audience → Devices), target 120–130. A universal safe range for both formats is 140–150 characters.
Three approaches: 1) Screaming Frog SEO Spider (free up to 500 URLs) — Meta Description tab, filters: Missing / Duplicate / Over 160 / Under 70. 2) Google Search Console → Search Appearance — shows where Google generates snippets instead of using your description. 3) SEMrush or Ahrefs Site Audit — automatically surfaces duplicates and length issues, prioritised by traffic.