SEO
Meta descriptions that work: writing and measuring them
A meta description works when it sums up the page under 155 characters and answers one precise question. It is not a ranking factor: it moves clicks.
Key points
- A meta description is not a ranking factor: it decides the click, not the position.
- Past 155 characters the snippet is cut, so the first sentence must stand alone.
- On a catalogue the description is generated from the record; when two records match, a field is missing.
A meta description works when it sums up the page in one sentence under 155 characters and carries the question the page answers. It is not a ranking factor: Google uses it as the snippet when it is relevant, and ignores it when text on the page describes the query better.
What it actually does
The description is the text Google may show under the title. Search Central treats it as a suggestion: it is ignored when the query asks something else, when it repeats across a hundred pages, or when the visible paragraph answers better. Google stated in 2009 that it does not use it for ranking, and has not changed position since.
The length that matters
The cut happens around 920 pixels on desktop and 680 on mobile: about 155 characters in English, about 130 in Italian. It is not an HTML limit, it is the space a result takes. A longer description is not penalised, it is cut, and the cut part convinces nobody.
Find all of them, not one
cat > check-descriptions.mjs line.trim())
.filter(Boolean);
const seen = new Map();
for (const url of urls) {
const html = await (await fetch(url)).text();
const tag = html.match(/]+name="description"[^>]*>/i);
const d = tag ? (tag[0].match(/content="([^"]*)"/i) || [])[1] || "" : "";
const key = d.toLowerCase();
if (!d) console.log("MISSING " + url);
else if (seen.has(key)) console.log("DUPLICATE " + url + " == " + seen.get(key));
else seen.set(key, url);
console.log(String(d.length).padStart(3) + " chars " + url);
}
EOF
printf '%s\n' https://ui.eneawork.it/ https://ui.eneawork.it/blog https://ui.eneawork.it/blocks > urls.txt
node check-descriptions.mjs urls.txt
The script fetches each URL, extracts the content of the meta description and flags identical copies and missing ones. A site with two pages sharing one description has no SEO problem: it has two pages saying the same thing, and Google will index one of them.
What to put inside
- The answer first: the opening sentence must stand alone, without the title above it.
- A benefit someone can check instead of an adjective: “delivery in 48 hours” is verifiable, “innovative solution” is not.
- The keyword once, in natural form: repeating it burns characters and does not move the click.
- No “click here”: the reader already saw the title, the description says what comes after.
The generated-page case
Across 111,985 catalogue records the description is not written by hand. It is composed from name, library and licence, and kept short: glass-blog-card-shadcnui, MIT licence, puts a title, a date and preview text in the DOM, the three elements Google may lift as a snippet. feature and blog are the two lists to start from. The rule that holds is one: when two records produce the same sentence, a field is missing in the record. Checked on 1 November 2026.
The limitation
A description cannot be measured in isolation. A drop in clicks can come from an AI Overview, a shift in intent or a stronger neighbouring result. The honest comparison is before and after on the same query group in Search Console, with at least four weeks of data.
Where to continue
The field above the description is in how to write a title tag; the sequence for getting into the index is in getting a site indexed by Google. On WordPress, Wix or React components what you can edit changes: the comparison is in WordPress, Wix or React components.
Frequently asked questions
How long should a meta description be?
About 155 characters in English and 130 in Italian: past that mark the snippet is cut at roughly 920 pixels on desktop.
Is the meta description a ranking factor?
No. Google said so in 2009: the description does not move the position, it moves the click-through rate when it matches the query.
Should every page have one?
Yes, at least every page you want clicked. Pages without a description leave the snippet choice to Google, and that choice is rarely the one you would make.
What happens when two pages share one description?
Google picks one and ignores the other, because two pages with the same text are two candidates for the same answer. The fix is differentiating the content, not just the description.
Can I use HTML inside a meta description?
No. The content attribute takes plain text: tags show up as characters, and HTML entities have to be written as entities.