What this meta tag generator gives you
Meta tags are lines in a page’s <head> that visitors never see. Search engines, browsers and the apps that unfurl links read them to decide what to show and what to do with the page. Getting them right is not hard, but it is fiddly: a relative image URL, a stray noindex left over from staging, or a title a few pixels too wide all fail quietly.
The tool above builds the tags from one form and checks them as you go. Title and description widths are measured in pixels against the same budgets as our SERP preview: about 600 px for a desktop title and 920 px for a description, figures SEO tools have measured rather than limits Google publishes. URLs are checked for being absolute, the share image is loaded in your browser to read its real size, and robots rules are checked for conflicts.
Which meta tags matter in 2026
Google keeps a short list of the meta tags it supports: description, robots and googlebot, notranslate, nopagereadaloud, google-site-verification, Content-Type and charset, refresh, viewport and rating. Everything else is ignored: “You can use other meta tags if they are important to your site, but Google will ignore meta tags that it doesn’t support”[1]. The title element and the canonical link are not meta tags, but they sit in the same head and matter as much as any of them. Our guide to meta tags for SEO goes through both of Google’s lists, what 14 big sites actually send, and what AI crawlers document.
| Tag | What it does | Who reads it | Verdict |
|---|---|---|---|
| <title> | The page's name in the browser tab and, usually, the result's title link | Google, Bing, browsers, AI crawlers | Needed |
| meta name="description" | The summary Google may show as the snippet | Google, Bing, link cards as a fallback | Recommended |
| link rel="canonical" | Which URL to index when the page has more than one address | Google, Bing | Recommended |
| meta name="robots" | Rules: noindex, nofollow, nosnippet, max-snippet and more | Google, Bing | Situational |
| meta name="viewport" | How a phone sizes the page | Browsers; Google reads it as mobile friendly | Needed |
| meta charset="utf-8" | The character encoding | Browsers | Needed |
| og: tags | The link card on Facebook, LinkedIn, WhatsApp and Slack | Apps that unfurl links | Recommended |
| twitter: tags | The card type and accounts on X | X | Recommended |
| link rel="alternate" hreflang | Other language or region versions | Situational | |
| meta name="theme-color" | The browser bar colour on some browsers | Browsers | Situational |
| meta name="keywords" | Nothing, in Google | Not Google Search | Ignored |
Built from Google’s supported-tags list[1], the Open Graph protocol[16] and X’s card markup[17]. “Who reads it” is about these tags’ documented uses, not every crawler on the web.
The title and the description
Google asks you to “make sure every page on your site has a title specified in the <title> element”, and says there is no limit on its length: the title link is “truncated in Google Search results as needed, typically to fit the device width”[4]. The meta description works the same way; there is no limit on how long it can be, but the snippet is truncated to fit[5]. Neither is a ranking factor in itself. Google wrote in 2009 that even though it sometimes uses the description for snippets, it does not use the description meta tag in ranking[2]. Both decide what a searcher reads before choosing a result, which is why the generator measures them in pixels. For the wording itself, our meta description generator writes three options from your page, and the guide to title tags covers the other half of the result.
The canonical link
A canonical tells search engines which URL to show when the same page is reachable at several addresses: with and without a trailing slash, with tracking parameters, on a print view. Google’s guidance is to “use absolute paths rather than relative paths” in it, and it advises against using noindex to steer canonical selection, because noindex “will completely block the page from Search”[6]. The generator flags both. To see which canonical a live page actually sends, and where it leads, use the canonical tag checker.
The meta tags Google ignores
The best known is the keywords tag. Google’s documentation is blunt: “The meta-keyword tag is not used by Google Search, and it has no effect on indexing and ranking at all”[1]. That has been true for a long time. In 2009 Matt Cutts wrote that “because the keywords meta tag was so often abused, many years ago Google began disregarding the keywords meta tag”, and the post now carries a note that Google still doesn’t support it[2].
The robots meta tag and X-Robots-Tag
Robots rules tell search engines what they may index and show. With no tag at all a page is indexable and its links are followed; Google’s list says “the default values are index, follow and don’t need to be specified”[1], so the generator writes no robots tag unless you change something. These are the rules Google documents[3]:
| Rule | What it does at Google |
|---|---|
| noindex | Keeps the page out of search results. |
| nofollow | Asks Google not to follow the links on the page. |
| none | The same as noindex, nofollow. |
| nosnippet | No text snippet, in every form of result, including AI Overviews and AI Mode, and no use of the content as a direct input for them. |
| max-snippet:[n] | Caps the snippet at n characters. 0 means no snippet (the same as nosnippet); -1 lets Google choose. |
| max-image-preview:[setting] | none, standard, or large: a larger preview, up to the width of the viewport. |
| max-video-preview:[n] | Caps a video preview at n seconds; -1 means no limit. |
| noimageindex | Keeps the page's images out of indexing. |
| notranslate | No translation of the page in results. |
| indexifembedded | Only with noindex: allows the content to be indexed when embedded in another page. |
| unavailable_after:[date] | Stops showing the page after a date and time. |
| noarchive, nocache | Listed by Google as rules it no longer uses. |
Three details catch people out. First, conflicts: “the more restrictive rule applies. For example, if a page has both max-snippet:50 and nosnippet rules, the nosnippet rule will apply”[3]. Second, robots.txt: if a page is disallowed from crawling, “any information about indexing or serving rules will not be found and will therefore be ignored”[3], so a page you want out of Google needs to be crawlable for its noindex to be seen. Third, mobile: Google indexes the mobile version of a site and asks you to “use the same robots meta tags on the mobile and desktop site”[7].
To aim a rule at Google alone, replace robots in the name attribute with googlebot (or googlebot-news); Google says other values are ignored[3]. For files with no HTML head, such as PDFs and images, send the same rules as an X-Robots-Tag response header. Google says “to block indexing of non-HTML resources, such as PDF files, video files, or image files, use the X-Robots-Tag response header instead”[3].
X-Robots-Tag: noindex, nofollow
<Files ~ "\.pdf$"> Header set X-Robots-Tag "noindex, nofollow" </Files>
location ~* \.pdf$ {
add_header X-Robots-Tag "noindex, nofollow";
}async headers() {
return [{ source: "/files/:path*", headers: [{ key: "X-Robots-Tag", value: "noindex" }] }];
}Robots meta rules are about indexing and display. Crawling is controlled in robots.txt, which our robots.txt generator builds and tests.
Viewport and charset
The viewport tag decides how a phone sizes the page. Google says it “tells the browser how to render a page on a mobile device”, and that its presence “indicates to Google that the page is mobile friendly”[1]. MDN’s recommended setting is width=device-width, and it notes that adding initial-scale=1 is a common practice that’s usually unnecessary[13]. The generator starts with width=device-width, initial-scale=1 because that is what Next.js writes by default; either is fine.
user-scalable=no “prevents people experiencing low vision conditions from being able to read and understand page content”, and that WCAG requires a minimum of 2 times scaling[13]. The generator flags user-scalable=no and a maximum-scale under 2.The charset tag names the text encoding. MDN is specific: the value must be utf-8, “because UTF-8 is the only valid encoding for HTML5 documents”, and the tag “must be located entirely within the first 1024 bytes of the document”[14]. That is why the generator puts it on the first line. Google recommends UTF-8 where possible[1].
The theme colour tag suggests a colour for the browser’s interface around the page, and can take a media attribute for dark mode. MDN marks it as limited availability, not working in some of the most widely used browsers[15], so treat it as polish, not a requirement.
Open Graph and X cards
When someone pastes your link into LinkedIn, Slack, WhatsApp or Facebook, the app builds a card from Open Graph tags. The protocol names four required properties for every page: og:title, og:type, og:image and og:url, the last being “the canonical URL of your object”. It also says a page that sets og:image should set og:image:alt, a description of what is in the image[16]. The generator fills og:title, og:description and og:url from your title, description and canonical when you leave them blank, so the minimum is one extra field: the image.
X reads its own tags first and falls back to Open Graph: “it first checks for the Twitter-specific property, and if not present, falls back to the supported Open Graph property”. Its markup reference gives the title a maximum of 70 characters and the description 200, and twitter:site and twitter:creator take @usernames[17]. So the generator writes only twitter:card and the handles, and lets X use the Open Graph values.
For the image, Meta’s sharing best practices ask for at least 600 pixels wide, and 1080 or more for high-resolution screens[18]. Set og:image:width and og:image:height: Meta says they “ensure that the image loads properly the first time it’s shared”, and that images are cached by URL, so a changed image needs a new URL[19]. A 1200 by 630 PNG or JPEG covers every card; our guide to OG image sizes has the per-app detail. Once the page is live, the Open Graph checker fetches it the way the apps do and shows each card.
What AI crawlers and answer engines read
Less is documented here than many guides suggest. This is what the engines themselves have published.
- Google AI Overviews and AI Mode. There are “no additional requirements” and no special optimizations; to be a supporting link, a page “must be indexed and eligible to be shown in Google Search with a snippet”[9]. So
noindexremoves a page from them, and Google’s robots specification saysnosnippetapplies to AI Overviews and AI Mode and prevents the content being used as a direct input for them[3]. - Gemini training. Google-Extended is a robots.txt token, not a meta tag. It controls whether crawled content may be used to train future Gemini models, and Google says it does not affect inclusion or ranking in Search[10].
- ChatGPT. OpenAI documents robots.txt controls: sites opted out of OAI-SearchBot “will not be shown in ChatGPT search answers”, and disallowing GPTBot means content should not be used in training. Its crawler page says nothing about meta robots tags[11].
- Bing. In 2023 Bing said content tagged
noarchive“will not be included in Bing Chat answers”, thatnocachecontent may be included with only the URL, snippet and title, and that both still appear in search results[12]. That is why the generator keeps anoarchiveoption even though Google ignores it.
Meta tags in Next.js and WordPress
Next.js App Router
In the App Router you do not write head tags by hand. You export a metadata object, and Next.js writes the tags; the export is “only supported in Server Components”. metadataBase lets relative URLs resolve, and using a relative URL without it causes a build error. Next.js always adds <meta charset="utf-8" /> and a viewport of width=device-width, initial-scale=1[20]. The viewport and theme colour moved out of metadata in Next.js 14 into a separate viewport export, and the docs say manual viewport configuration is usually unnecessary[21].
One behaviour matters when you paste the generated export: metadata from different segments is merged shallowly, so nested fields such as openGraph and robots defined in a layout “are overwritten by the last segment to define them”[20]. Set the whole openGraph object on any page that sets part of it. The Next.js SEO guide covers what AI crawlers receive from a Next.js site.
WordPress
In WordPress an SEO plugin writes the tags, so you type values into its fields rather than paste HTML. In Yoast SEO, the noindex switch is in the Advanced tab under “Allow search engines to show this content in search results”, and only editors and administrators see that tab by default[22]. Rank Math’s Advanced tab carries Robots Meta (No Index, No Follow, No Archive, No Image Index, No Snippet), Advanced Robots Meta (Max Snippet, Max Video Preview, Max Image Preview) and the canonical URL[23]. The WordPress tab in the generator maps every value to its field in both plugins.
Language versions (hreflang)
If a page exists in other languages or for other regions, hreflang links tell Google which version to show to whom. Google accepts them in HTML, in HTTP headers or in a sitemap, and calls the three equivalent. Two rules break most setups: “each language version must list itself as well as all other language versions”, and “if two pages don’t both point to each other, the tags will be ignored”. The x-default value covers visitors no other version matches[8]. The generator warns when your list leaves out the page itself, repeats a language, or uses en-UK: the United Kingdom’s region code is GB.
Every page, not one
This generator writes one page’s tags. The mistakes that cost traffic tend to be site-wide: a template that prints the same description on every product, a staging noindex that survives launch, a plugin and a theme that both write og:title. CoreCited’s GEO Audit crawls your site and runs 31 checks on every page, including whether each page is indexable, and lists the pages that fail.
The free account audits 10 pages with an email address and no card. Paid plans audit more and re-run on a schedule; every limit is on the pricing page.
Meta tag checklist
Run through this before you ship a page. Your ticks are saved in this browser only.
Questions people ask
What does a meta tag generator do?
It turns a short form into the tags that go in a page's head: the title, meta description, canonical link, robots rules, viewport and charset, language versions, and the Open Graph and X card tags that link previews read. This one checks each field as you type, previews the Google result and a link card, and gives the result as HTML, as a Next.js metadata export, or as the fields to fill in Yoast SEO and Rank Math.
Which meta tags does Google still use?
Google's list of supported meta tags covers description, robots (and googlebot), notranslate, nopagereadaloud, google-site-verification, Content-Type and charset, refresh, viewport and rating. It says it ignores meta tags it doesn't support. The title element and the canonical link are not meta tags, but Google reads both, and the robots rules can also be sent as an X-Robots-Tag HTTP header.
Do meta keywords help SEO?
Not in Google. Its documentation says the keywords meta tag is not used by Google Search and has no effect on indexing and ranking at all. Google first said so in 2009, explaining that it began disregarding the tag many years earlier because it was so often abused. This generator does not write one.
What is the difference between the robots meta tag and X-Robots-Tag?
They take the same rules. The robots meta tag sits in a page's HTML head; X-Robots-Tag is an HTTP response header, so it also works for files with no head, such as PDFs and images. Google says to use the header to block indexing of non-HTML resources. Either way, a page blocked in robots.txt is never fetched, so Google never sees its noindex.
Do I need a viewport and a charset tag?
Yes, on almost every page. Google says the viewport tag tells the browser how to render a page on a mobile device and that its presence signals the page is mobile friendly; MDN recommends width=device-width. For charset, MDN says UTF-8 is the only valid encoding for HTML5 and the tag must sit within the first 1024 bytes of the document. Next.js adds both by default.
Do AI search engines read meta tags?
Some rules reach them. Google's robots specification says nosnippet applies to AI Overviews and AI Mode and stops content being used as a direct input for them, and a page must be indexed to be a supporting link there. OpenAI controls ChatGPT search access through robots.txt (OAI-SearchBot), not meta tags. Bing said in 2023 that pages tagged noarchive are left out of Bing Chat answers, while nocache limits them to the URL, snippet and title.
How do I add meta tags in Next.js or WordPress?
In the Next.js App Router, export a metadata object from a page.tsx or layout.tsx (Server Components only), and a separate viewport export for theme colour or a custom viewport. In WordPress, an SEO plugin writes the tags, so you type the values into its fields: the generator's WordPress tab lists where each one goes in Yoast SEO and Rank Math.
