Essential HTML Tags for SEO

A comprehensive checklist of essential HTML tags for SEO, covering core document tags, technical SEO, social metadata, and structured data to improve site performance and search rankings.


This comprehensive checklist combines core SEO, technical site performance, social sharing, and structured data into a single "master list."

The Ultimate On-Page SEO Checklist


1. Core Document Tags (Required)

These are the non-negotiables for every single page.

  • <title>: The single most important on-page element. Keep it between 50–60 characters.
  • <meta name="description">: The "ad copy" for your page. Keep it between 150–160 characters to avoid truncation.
  • <meta charset="UTF-8">: Ensures text renders correctly across all browsers.
  • <meta name="viewport" content="width=device-width, initial-scale=1">: A requirement for mobile-first indexing.
  • <html lang="en">: (Inside the <html> tag) Vital for screen readers and search engines to identify the target audience.

2. Technical & International SEO

These tags control how crawlers interact with your site and handle performance.

  • <link rel="canonical" href="...">: Prevents duplicate content by telling Google which version of a URL is the "master" copy.
  • <meta name="robots" content="index, follow">: Use index, follow for public pages and noindex, nofollow for admin, thank-you, or search results pages.
  • <link rel="alternate" hreflang="x" href="...">: Essential if you have versions of the site in different languages (e.g., es for Spanish, en-ca for English Canada).
  • **<link rel="preconnect"> / <link rel="dns-prefetch">**: Speeds up the loading of external assets (like Google Fonts or CDNs).
  • <link rel="icon" href="/favicon.ico">: Now displayed directly in Google SERPs on both mobile and desktop.

3. Social SEO (Open Graph & Twitter Cards)

These ensure your content looks professional and clickable when shared on social platforms.

Tag Purpose
og:title The headline used in social snippets.
og:description The summary displayed below the headline.
og:image The thumbnail image (1200x630px recommended).
og:type Usually website or article.
twitter:card Set to summary_large_image for the most visual impact.

4. Semantic Content Structure

Google uses the hierarchy of your content to understand the context.

  • <h1>: Only one per page. It should contain your primary keyword.
  • **<h2> to <h6>**: Use these to break up content logically.
  • <img> alt="...": Essential for accessibility and Image Search rankings.
  • Internal Links: Use descriptive anchor text rather than "click here."

5. Advanced Structured Data (JSON-LD)

Schema markup helps Google generate "Rich Snippets" (stars, prices, breadcrumbs).

  • Organization Schema: Defines your brand, logo, and contact info.
  • Breadcrumb Schema: Changes the URL display in search results to a hierarchy (e.g., Home > Products > Solar).
  • Product Schema: (If applicable) Displays price, availability, and review ratings directly in search results.

6. The "Do Not Use" List

Avoid these outdated practices:

  • ❌ Meta Keywords: Google has ignored <meta name="keywords"> for over a decade.
  • ❌ Multiple H1s: This confuses the content hierarchy.
  • ❌ Hidden Text: Placing keywords in white text on a white background will get you penalized.

If you want your website to have all these by default check https://mangoblogger.com

Ready-to-Use HTML Head Template

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Primary Keyword | Brand Name</title>
    <meta name="description" content="A compelling summary of your page under 160 characters.">
    <link rel="canonical" href="https://www.example.com/page-url">

    <meta name="robots" content="index, follow">
    <link rel="icon" href="/favicon.ico">

    <meta property="og:type" content="website">
    <meta property="og:title" content="Page Title for Social Media">
    <meta property="og:description" content="Social media specific description.">
    <meta property="og:image" content="https://www.example.com/social-image.jpg">
    <meta property="og:url" content="https://www.example.com/page-url">

    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:title" content="Page Title for Twitter">
    <meta name="twitter:description" content="Twitter specific description.">
    <meta name="twitter:image" content="https://www.example.com/social-image.jpg">

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "BreadcrumbList",
      "itemListElement": [{
        "@type": "ListItem",
        "position": 1,
        "name": "Category",
        "item": "https://www.example.com/category"
      },{
        "@type": "ListItem",
        "position": 2,
        "name": "Current Page",
        "item": "https://www.example.com/category/page"
      }]
    }
    </script>
</head>

links

social