Every SEO tag: required, recommended, or optional
2026-08-11
Every page ships the same handful of HTML tags — but which ones actually matter for SEO, and which are just nice to have? This is the one-page answer. There is no single official Google page that lists them all (Google's docs are split across many pages, and og: / twitter: aren't Google's specs at all), so here is the consolidated cheat-sheet, with an official reference for every tag.
How to read the labels:
- Required — always include it; the page has real problems without it.
- Recommended — strongly improves ranking or how your result looks. Add it on almost every page.
- Optional — situational; add it when it applies (video, social sharing, multiple languages).
One caveat: Google technically requires almost nothing beyond a page being crawlable and indexable. "Required" below means "you should always have it," not "the page won't load."
Every tag at a glance
| Tag | Mandatory | What it does | Ref | Group |
|---|---|---|---|---|
<title> | Required | Clickable title in search; the page's topic. ~60 chars. | Head | |
<meta name="description"> | Recommended | Snippet under the title; not a ranking factor. ~150 chars. | Head | |
<meta charset="utf-8"> | Required | Character encoding so text and accents render. | MDN | Head |
<meta name="viewport"> | Required | Mobile rendering; Google indexes mobile first. | MDN | Head |
<link rel="canonical"> | Recommended | Preferred URL when content has duplicates. | Head | |
<meta name="robots"> | Optional | Per-page indexing control (noindex, nofollow…). | Head | |
<html lang> | Recommended | Page language for browsers and assistive tech. | MDN | Head |
<link rel="icon"> | Optional | Favicon shown beside the result on mobile. | Head | |
<meta name="google-site-verification"> | Optional | One-time Search Console verification. | Head | |
<h1> | Recommended | One descriptive main heading = the page's topic. | MDN · Best practice | Body |
<h2> / <h3> | Recommended | Logical section hierarchy; don't skip levels. | Body | |
<img alt> | Recommended | Describe images; powers Image search and a11y. | Body | |
<a href> | Required | Real links let crawlers discover your pages. | Body | |
<video> + VideoObject | Optional | Only if you host video; enables video results. | Body | |
JSON-LD <script type="application/ld+json"> | Recommended | Structured data → rich results (stars, FAQ…). | Google · schema.org | Structured data |
Open Graph og:* | Optional | Preview card when shared (Facebook, Zalo, Slack…). | ogp.me | Social |
Twitter / X twitter:* | Optional | Preview on X; falls back to Open Graph. | X | Social |
hreflang | Optional | Multi-language: which version for which user. | i18n |
The sections below explain each one in more detail — or click any tag above to jump straight to it.
The head: meta & link tags
<title>— Required. The single most important on-page tag. It becomes the clickable title in search results and tells Google the page's topic. One per page, aim for ~60 characters. Google: title links<meta name="description">— Recommended. Not a ranking factor, but Google often uses it as the snippet under your title — think of it as your ad copy in search. Aim for ~150 characters. Google: how to write meta descriptions<meta charset="utf-8">— Required. Declares the character encoding so text — including Vietnamese accents — renders correctly. Put it first in the head. MDN: meta charset<meta name="viewport" content="width=device-width, initial-scale=1">— Required. Makes the page render properly on phones — and Google indexes the mobile version first. MDN: viewport meta tag<link rel="canonical">— Recommended. Points to the preferred URL when the same content is reachable at several addresses, so ranking signals don't get split across duplicates. Google: canonicalization<meta name="robots">— Optional. Per-page indexing control — e.g.noindexto keep a page out of results,nofollow, ormax-snippet. Only add it when you need that control; its absence means "index normally." Google: robots meta tag
Content structure: the body
<h1>— Recommended. One clear, descriptive top heading that says what the page is about. See the H1 best practice below for brand vs. page topic. MDN: heading elements<h2>/<h3>— Recommended. A logical heading hierarchy (don't skip levels) helps people skim and helps Google understand your sections. Google: SEO starter guide<img alt="...">— Recommended. Describe every meaningful image. Alt text powers Google Images and is essential for screen-reader accessibility. Google: image SEO<a href="...">— Required. Realhreflinks are how crawlers discover your other pages. Use descriptive anchor text — a JavaScript click handler with nohrefis not a crawlable link. Google: make links crawlable<video>+ VideoObject markup — Optional. Only if you host video. Helps Google index it and show video rich results. Google: video SEO
H1 best practice: brand or page topic?
One of the most common H1 questions: should it be your brand name, or the specific thing the page is about? Make the H1 describe the specific page, and let the brand live in the site header (logo) and the <title>. Google's own advice for titles — keep each one unique to the page and describing that page's content — applies just as well to the H1. The homepage is the exception: it introduces the whole site, so a brand-led H1 belongs there.
- A game or story page:
<h1>Space Explorer</h1>— the item's own name, not your brand repeated on every page. - The homepage:
<h1>KidSafe Play: safe games and stories for kids</h1>— brand plus what you do. - The brand stays in the header as a logo or
<span>, so it repeats site-wide without competing with each page's real headline.
An honest nuance: Google says heading count and order are not a ranking factor — a page can rank with several H1s or none. So a unique, descriptive H1 helps readers, screen readers, and AI answer extraction more than it moves rankings directly — but it's still the right way to build the page. Google: SEO starter guide · MDN: heading elements
Structured data (rich results)
<script type="application/ld+json">— Recommended (optional but powerful). JSON-LD structured data (schema.org) unlocks rich results — review stars, FAQs, breadcrumbs, recipes, events. It doesn't change rankings directly, but it makes your result stand out and is machine-readable for AI answers. Google: intro to structured data · schema.org
Social sharing (not a Google ranking factor)
These don't affect Google rankings — they control how your link looks when shared. Worth adding for the extra click-through.
- Open Graph —
og:title,og:description,og:image,og:url,og:type— Optional. Controls the preview card on Facebook, LinkedIn, Zalo, Slack, iMessage and most apps.og:imageis the one that matters most. The Open Graph protocol - Twitter / X card —
twitter:card,twitter:image— Optional. Fine-tunes the preview on X; it falls back to your Open Graph tags if omitted. X: about cards
Multiple languages
hreflangalternates — Optional. Only if you serve more than one language or region. Tells Google which version to show which user, and the links must be reciprocal. Google: localized versions
Nice-to-have head tags
<html lang="en">— Recommended. The page's language, for browsers, assistive tech, and correct-language results. MDN: lang attribute<link rel="icon">(favicon) — Optional. Google can show your favicon next to the result on mobile. Google: favicon in Search<meta name="google-site-verification">— Optional. One-time verification for Google Search Console — only if you verify ownership that way. Google: supported meta tags
Quick reference
- Always have these (Required):
<title>,<meta charset>,<meta name="viewport">, real<a href>links. - Add on almost every page (Recommended):
<meta name="description">,<link rel="canonical">, one<h1>plus a heading hierarchy,<img alt>,<html lang>, JSON-LD. - Add when they apply (Optional):
<meta name="robots">(indexing control), Open Graph + Twitter cards (social sharing),hreflang(multi-language),<video>markup, favicon, site-verification.
Run any page through iSEO's checker and it flags which of these are missing or malformed — this list is exactly what those checks map to.