A meta robots tag is an HTML element or HTTP response header that tells crawlers which indexing, link-following, and snippet rules apply to a specific page or resource, and the Meta Robots Generator builds both forms from one validated set of choices without producing contradictory combinations. The phrase "metal robot" is a phonetic cousin of "meta robot": people searching how to make a "metal robot" often arrive here looking for the meta robots tag that governs how search engines treat a URL. The tag itself does not authenticate content or block a determined visitor, and it cannot force a crawler to obey, but it is a standardized channel Google documents for requesting index removal, snippet limits, and preview controls on a per-page basis. The rest of this article walks through what those controls actually mean, which format to pick, and exactly how to generate and deploy the markup or header the search engine will read on its next crawl.

What a Meta Robots Tag Actually Does
A meta robots tag is a per-URL instruction that targets a specific crawler and carries one or more directives describing how the page should be treated in search results. Google's documentation lists the directives this generator supports: noindex, nofollow, nosnippet, max-snippet, max-image-preview, max-video-preview, notranslate, noimageindex, and indexifembedded, all attached to a name attribute of either robots, googlebot, or googlebot-news inside an HTML <meta> element. According to Google's robots meta tag specifications, these are crawler directives, not access control: anyone who knows the URL can still request the content, and crawlers that ignore the rule can still process it. Sensitive material must be protected by real authentication, not by a metadata tag.
Behind that surface simplicity sit a handful of dependencies that cause most production incidents. Noindex requests removal from search results. Nofollow requests that links on the page not be followed. Nosnippet requests that Google not show a text snippet or video preview; Google also states that this prevents the page content from being used as direct input for AI Overviews and AI Mode, while a static image thumbnail may still appear. Max-snippet instead limits the length of a textual snippet in characters, accepting -1 (lets Google choose an effective length) or a non-negative whole number, with 0 documented as equivalent to no snippet. Max-video-preview takes seconds, with 0 allowing at most a static image and -1 removing the duration cap. Max-image-preview takes one of three documented values: none, standard, or large. Each of these limits can be superseded when a publisher has granted specific permission through structured data, AMP relationships, or licensing, so the generated string is not a universal content-use switch.
Meta Robots vs. X-Robots-Tag: Where Each One Goes
The same directive set can be expressed as an HTML <meta> element embedded in a page's <head> or as an X-Robots-Tag HTTP response header sent by the server. Choosing the wrong one is the most common reason a tag appears to do nothing, so the table below summarizes where each form belongs and what it requires from the deployment environment.
| Aspect | HTML <meta> element | X-Robots-Tag HTTP header |
|---|---|---|
| Best for | HTML pages where you control the markup | PDFs, images, video, and other non-HTML resources |
| Configured by | CMS template, theme file, or HTML editor | Web server, application, reverse proxy, or CDN |
| Crawler target syntax | name="robots", name="googlebot", or name="googlebot-news" | Header value begins with the user-agent token (googlebot or googlebot-news) followed by directives |
| Where it travels | Rides inside the page body the crawler fetches | Rides in the response headers before the body |
| Common failure mode | Placed in the <body> instead of <head> | Pasted into page content where it has no effect |
| Crawl access requirement | robots.txt must not block the URL | robots.txt must not block the URL |
Because the same logic feeds both forms, the generator outputs them in parallel. The general robots target emits a meta element whose name is robots and an unqualified X-Robots-Tag header. A Google-specific target uses googlebot or googlebot-news as the meta name and prefixes that user agent in the HTTP header value, matching the two tokens Google documents for its text and news results. Other crawler names and vendor-specific behavior sit outside this focused interface.
How to Make a Meta Robots Tag with the Generator
- Pick the crawler target. Select general search crawlers for an unqualified robots rule, Googlebot for text results, or Googlebot News for the news-specific token. The choice determines the meta name attribute and whether the HTTP header carries a user-agent prefix.
- Choose only the indexing, following, and preview restrictions that match the resource policy. Toggle noindex, nofollow, nosnippet, the numeric max-snippet and max-video-preview values, the max-image-preview setting (none, standard, large), notranslate, noimageindex, and indexifembedded only if the page actually needs that control.
- Generate and copy the output. The generator serializes the same content as an HTML <meta> element suitable for page markup and an equivalent X-Robots-Tag HTTP header suitable for server configuration. Generation runs entirely in the browser, so the output can be copied without contacting a search service.
- Deploy the form that matches the resource. Paste the meta element into the <head> of an HTML page you control. For PDFs, images, video, or any deployment where headers are the controlled channel, configure the X-Robots-Tag header on the web server, application, reverse proxy, or CDN. Pasting header text into page content has no effect.
- Verify in the public source and response headers. Fetch the public URL as the intended crawler can access it, inspect the served HTML for the meta element, and inspect the response headers for the header. Confirm no contradictory declaration exists from a CMS, SEO plugin, reverse proxy, or CDN that would make the more restrictive rule win.
- Allow time for recrawling. Search engines process changes on their own crawl schedule, and other engines may interpret Google-specific directives differently. The generator produces exact syntax; it cannot guarantee deindexing, timing, or a particular search-result presentation.
Rules the Generator Enforces to Prevent Contradictions
The tool refuses to emit combinations that would either be silently ignored by Google or create false confidence. Knowing these rules helps you choose the right option rather than wondering why a checkbox will not save.
| Conflict or dependency | How the generator handles it | Why it matters |
|---|---|---|
| nosnippet together with max-snippet | Refuses to emit both | nosnippet is more restrictive; a numeric snippet length under it would mislead |
| indexifembedded without noindex | Refuses to emit until noindex is also selected | Google documents indexifembedded as only effective when paired with noindex |
| max-snippet values | Accepts only -1 or a non-negative whole number | Zero equals no snippet; -1 lets Google pick an effective length |
| max-video-preview values | Accepts only integers down to -1 | Zero permits at most a static image; values below -1 are rejected rather than copied into a rule Google would ignore |
| max-image-preview values | Accepts only none, standard, large | These are the documented Google settings; arbitrary strings would be ignored |
| noarchive checkbox | Deliberately omitted | Google lists noarchive as historical and unused because its cached-link feature no longer exists |
| unavailable_after field | Deliberately omitted | Correct date-time formatting, time zones, and publication workflows need more context than a small generic form should guess |
Eight source-backed fixtures cover the all-clear output, noindex, combined noindex and nofollow, nosnippet, a 20-character text limit, large image preview, unlimited video preview, and combined translation and image controls. Negative tests cover indexifembedded without noindex, nosnippet with a numeric snippet limit, malformed numbers, and values below the documented minimum. Knowing that the fixtures exist lets you confirm a behavior change did not regress the output you actually deploy.
Deploying the Tag Without Creating Conflicts
Google interprets conflicting rules from multiple meta tags, HTTP headers, or crawler-specific declarations by combining restrictions, and the more restrictive rule applies. A CMS, an SEO plugin, a reverse proxy, and a CDN can each inject their own directive, so inspect the delivered HTML and the actual response headers rather than only the editor setting before you assume the page is clean. The same applies when switching between the general robots target and a Google-specific googlebot target on the same URL: the generator emits exactly what you select, so any additional crawler-targeted rule that arrives from elsewhere will combine with it.
Crawl access is a separate layer that must be solved before any directive has effect. A crawler must be allowed to fetch the resource before it can read either form. If robots.txt disallows crawling, Google may never see the noindex rule, and the URL can remain known from external links without the page content being processed. To remove an accessible page from results, permit crawling and serve the directive until the search engine processes it. For a practical walkthrough on the access-control file itself, see the guide to creating a robots.txt file, which covers the companion file that decides what crawlers can reach in the first place.
Limits and Caveats to Know Before You Publish
The meta robots tag is a request, not a guarantee. Google may apply additional signals, such as structured-data permissions, AMP relationships, or licensing grants, that supersede a generated limit; a static image thumbnail may still appear under nosnippet; and other search engines may interpret Google-specific tokens differently. The HTTP header must be configured by the web server, application, or CDN, so any deployment that lacks header control should use the HTML form on an HTML page rather than paste header syntax into the body.
If the goal is to remove a page from search results, expect a delay. Search engines process changes on their own crawl schedule, and the generator produces exact syntax only; it cannot guarantee deindexing, timing, or a particular search-result presentation. After deployment, fetch the public URL as the intended crawler can access it, inspect the source or response headers, and confirm there is no contradictory declaration until recrawling occurs. Once the URL has been recrawled and processed, the directive stays in effect for as long as the page continues to serve it.
Related reading: How to Get a Meta Tag Block (Without the SEO Bloat).