A page can have one meta description and display different Google snippets for different searches. That is expected behaviour, not evidence that the description field has failed.
Google creates snippets automatically and primarily draws from visible page content. It can use the meta description when that text represents the page more accurately for a search. Publishers cannot select the final snippet, but they can supply a useful description and control whether Google may show all, part or none of the page’s text.
Three controls handle distinct jobs: nosnippet blocks a textual snippet for the page, max-snippet limits its permitted length, and data-nosnippet excludes selected page sections from snippet extraction. Choosing between them requires a clear publishing objective because stricter settings can reduce the information available in a search result.
Table of Contents
ToggleA meta description is a candidate, not a fixed snippet
The meta description belongs in the HTML <head>:
<head>
<meta name="description" content="Compare nosnippet, max-snippet and data-nosnippet, with WordPress implementation and verification steps.">
</head>The value describes the page, but it does not reserve the description area beneath a Google title link. Google’s snippet documentation states that snippets are created automatically from page content and are designed to preview content related to a user’s specific search. The same URL can therefore display one extract for a broad query and another for a detailed query.
Consider a page about maintaining electric bicycles. Its meta description says:
Learn how to maintain an electric bicycle, inspect key components and plan routine servicing.
For the query “electric bicycle maintenance,” that summary can fit the search intent. For “when should I check e-bike brake pads,” Google can select a body passage that answers the narrower question. The alternate snippet does not invalidate the description; it reflects query-dependent selection.
The description field sits within the wider metadata and rendered-HTML system covered in Mastering On-Page SEO Elements. A snippet audit should compare the CMS field, delivered source and rendered page instead of assessing the WordPress editor alone.
Useful descriptions identify the page without fixed-length rules
Google sets no maximum length for the meta description element. Search snippets are truncated as needed to fit the result and device. Character-count previews can support editorial review, but they cannot promise where Google will cut a result or whether it will use the description.
A useful description gives a reader enough page-specific information to judge relevance. It should:
identify the main subject and task;
reflect content that is available on the page;
distinguish the URL from neighbouring pages;
use readable prose rather than repeated keyword variations; and
include material details such as a product attribute, location, author or publication date only when they help describe that page.
Weak descriptions tend to be vague, duplicated or disconnected from the content:
<meta name="description" content="SEO, SEO tips, best SEO, SEO guide, SEO services">A page-specific version gives a usable summary:
<meta name="description" content="Learn why Google changes search snippets and how nosnippet, max-snippet and data-nosnippet control eligible page text.">The second version does not guarantee display or clicks. It gives Google a concise candidate and gives editors a stable summary for systems that read the field.
Programmatic descriptions need page-specific inputs
Large catalogues, property directories and database-driven sites may need generated descriptions. Google’s guidance supports programmatic generation when the output is accurate, readable and diverse. The template should combine attributes present in each record.
[Product name] in [material], available in [sizes]. View [verified feature], delivery information and current availability.Template logic must handle missing fields. Otherwise, the live output can expose empty punctuation or false claims:
<meta name="description" content="Oak desk in , available in . Free next-day delivery.">Run three checks before deploying a rule across thousands of URLs:
Test records with complete, partial and unusual data.
Compare generated claims with visible product information.
Crawl a representative sample for empty, duplicate and over-repeated output.
A generated description should not insert “in stock,” a price or delivery promise unless the underlying data is current and the page supports the statement.
Snippet controls serve different publishing decisions
The controls differ by scope and effect. None is a substitute for noindex.
| Control | Scope | What it tells Google | Page can remain indexed? | Main use |
|---|---|---|---|---|
nosnippet | Whole page | Do not show a text snippet or video preview | Yes | Suppress descriptive text for an indexed result |
max-snippet:[number] | Whole page | Use no more than the stated number of characters for a text snippet | Yes | Set a maximum permitted extract length |
data-nosnippet | Selected span, div or section | Do not use text inside that element for a snippet | Yes | Exclude sensitive, volatile or unhelpful sections |
noindex | Whole URL | Do not show the page in Google Search results after the rule is processed | No | Remove the URL from search results |
Google’s robots meta-tag specification also states that nosnippet applies across Google web search, Images, Discover, AI Overviews and AI Mode. It prevents page content from being used as direct input for AI Overviews and AI Mode. max-snippet limits the amount available as direct input, subject to Google’s documented exceptions for content supplied through separately permitted arrangements such as certain structured data or licensing.
These effects make snippet controls access decisions, not cosmetic formatting switches. A publisher should evaluate search presentation and reuse implications before selecting a restrictive rule.
Interactive visual guide
Meta Descriptions & Snippet Controls
See how page text becomes a query-dependent snippet—and what each directive changes.
Drag to pan · pinch or wheel to zoom · choose a control to compare outcomes
nosnippetBlocks text and video previews; the URL can remain indexed.max-snippet:0Equivalent to nosnippet; -1 lets Google choose length.data-nosnippetWorks on span, div and section; every written value activates it.noindexRemoves the page from results after Google crawls and processes the rule.Sources: Google snippet guidance (updated 20 April 2026) · Google robots meta specification (updated 24 March 2026).
nosnippet suppresses the page’s textual preview
nosnippet
Apply nosnippet through a robots meta tag for all supporting crawlers:
<meta name="robots" content="nosnippet">Target Google’s text results specifically with:
<meta name="googlebot" content="nosnippet">Google says the rule prevents a text snippet and video preview. A static image thumbnail can still appear when available. The page can remain indexed and its title link can still appear, so nosnippet should not be used as a removal instruction.
This control fits a narrow requirement: the URL should be discoverable, but its page text should not appear as the result description. It is a broad restriction. If only a price, user comment or account-specific message must be excluded, data-nosnippet gives closer control.
Google treats max-snippet:0 as equivalent to nosnippet:
<meta name="robots" content="max-snippet:0">Use one deliberate rule rather than emitting equivalent directives from several plugins or templates.
max-snippet sets a ceiling rather than a target
The value after max-snippet: is a maximum number of characters Google may use as a textual snippet:
<meta name="robots" content="max-snippet:120">This does not instruct Google to show exactly 120 characters. The selected extract can be shorter, or a result can appear without a text snippet. Two special values have defined meanings:
<meta name="robots" content="max-snippet:0">
<meta name="robots" content="max-snippet:-1">0 means no snippet and matches nosnippet. -1 allows Google to choose the snippet length it considers effective. If the number cannot be parsed, Google ignores the rule.
Combined directives can be written in one tag:
<meta name="robots" content="max-snippet:160, max-image-preview:large">Conflicting rules do not create a compromise. Google applies the more restrictive rule; a page containing both max-snippet:50 and nosnippet receives the nosnippet treatment.
data-nosnippet excludes selected visible text
Add the boolean data-nosnippet attribute to a span, div or section whose text should not be extracted:
<p>
Annual hosting costs start at £120.
<span data-nosnippet>Promotional price ends Friday.</span>
</p>The surrounding text remains eligible. The promotional sentence is excluded from snippet selection after Google processes the markup.
The attribute is boolean. Any written value activates it, including a value that looks false:
<div data-nosnippet="false">This text is still excluded.</div>Use the attribute without a value to make its effect apparent to editors:
<div data-nosnippet>Account-specific notice</div>Valid, closed HTML matters. An unclosed container can unintentionally place the rest of the page inside the excluded region. Google supports the attribute on span, div and section, not on arbitrary custom elements.
Google can extract data-nosnippet before or after rendering and advises against adding or removing the attribute from existing nodes through JavaScript. If a script creates an element that needs the restriction, include the attribute when the element first enters the DOM.
The attribute controls snippet extraction, not indexing. It also does not prevent structured data inside the element from being used for search presentation. Manage structured data separately when a value should not be supplied through markup.
nosnippet and noindex produce different outcomes
Confusing these directives can remove a page from search when the intent was to hide its preview.
<!-- Indexed result may remain, but no text snippet -->
<meta name="robots" content="nosnippet">
<!-- Page should not appear in Google Search results -->
<meta name="robots" content="noindex">Google processes noindex after crawling the tag or HTTP header and drops the page from its search results. Google’s noindex documentation warns that the crawler must be allowed to access the URL. If robots.txt blocks crawling, Google cannot read the noindex instruction.
The same access principle applies to snippet rules. A directive hidden on a robots.txt-blocked page cannot be read and followed. Allow crawling when Google needs to process metadata that governs indexing or search presentation.
WordPress and Elementor can introduce conflicting output
WordPress sites can generate metadata from an SEO plugin, theme, custom function, Elementor template or server header. Establish which layer owns each directive before editing.
For the meta description, use one field that writes a valid tag in the document head. For nosnippet or max-snippet, use a page-level robots setting or controlled head output. Google can respect robots meta tags found in the body, but placing page metadata in the head keeps ownership easier to audit.
Use an Elementor HTML widget for data-nosnippet only when the restricted text and wrapper are controlled within that widget. A wrapper added around unrelated containers can exclude more text than intended. Dynamic widgets also need a rendered-DOM check.
Watch for four WordPress faults:
two plugins output different meta descriptions;
a staging
noindexsetting remains after launch;a theme or custom header emits a robots rule beside the plugin rule; and
caching serves an older head after the editor shows a new value.
Google applies the stricter instruction when robots rules conflict. Deactivate duplicate ownership rather than hoping tag order will decide the outcome.
Verify source, headers and rendered HTML
Verification should cover each delivery layer:
CMS field: confirm the intended description and robots selection.
HTML response: view source and locate every description or robots meta tag.
HTTP headers: check for an
X-Robots-Tagthat adds another rule.Rendered DOM: inspect
data-nosnippetplacement and closed containers.Google view: use URL Inspection after publication to check the HTML Google received and request indexing after a material correction.
Google’s valid page metadata guidance explains that invalid elements in the head can cause later metadata to be ignored. Validate the head structure as well as the wording of each tag.
After changes, record the URL, old rule, new rule, release date and verification result. Snippet selection remains query-dependent, so a manual search cannot prove that a meta description will appear across searches. Review representative queries and devices after recrawling.
Snippet-control checklist
Write one accurate, page-specific meta description.
Avoid fixed display-length promises.
Confirm whether the goal is page removal, full suppression, length control or section exclusion.
Use
noindexonly when the URL should leave search results.Use
nosnippetwhen an indexed result should have no textual preview.Use
max-snippet:[number]as a ceiling, not a target.Use
data-nosnippeton supported, properly closed elements.Remember that
data-nosnippet="false"still activates the attribute.Keep crawl access open so Google can read the instruction.
Check meta tags and
X-Robots-Tagheaders for conflicts.Verify both source HTML and the rendered DOM.
Purge caches after changing WordPress metadata.
Reinspect the live URL after Google recrawls it.
Questions about meta descriptions and snippet controls
Does Google always use the meta description?
No. Google primarily creates snippets from page content and can use the meta description when it provides a more accurate description for the search. Different queries can produce different snippets for the same URL.
Does nosnippet prevent indexing?
No. nosnippet suppresses the textual snippet and video preview but allows the page to remain indexed. Use noindex when the page should not appear in Google Search results.
What is the difference between nosnippet and data-nosnippet?
nosnippet applies to the whole page. data-nosnippet excludes text inside selected span, div or section elements while leaving other page text eligible for snippet selection.
Can a meta description be generated programmatically?
Yes. Google supports programmatic descriptions for database-driven sites when each output is accurate, readable and based on page-specific data. Templates should handle missing fields and avoid keyword lists.
How can I verify snippet controls in WordPress?
Compare the WordPress setting with page source, HTTP headers and the rendered DOM. Check every robots directive, inspect data-nosnippet containers, clear caches and use Search Console URL Inspection after publication.
Give Google accurate text and deliberate boundaries
A meta description supplies a page summary; it does not dictate the search snippet. Accurate descriptions and clear visible passages give Google relevant candidates for different queries. Snippet directives then define the permitted boundaries.
Choose the least restrictive control that meets the publishing need. Exclude one volatile block with data-nosnippet, set a page-level ceiling with max-snippet, or suppress the textual preview with nosnippet. Use noindex only for removal. This separation keeps metadata decisions aligned with the complete on-page SEO framework while avoiding accidental loss of search visibility.
References
Google Search Central. Control your snippets in search results. Updated 20 April 2026.
Google Search Central. Robots meta tag, data-nosnippet, and X-Robots-Tag specifications. Updated 24 March 2026.
Google Search Central. Block Search indexing with noindex.
Google Search Central. Use valid HTML to specify page metadata.
WHATWG. HTML Standard: The meta element.







