The Developer's Meta Tag Checklist: SEO, Social Sharing, and Beyond

6 April, 2026 Web

The Developer's Meta Tag Checklist: SEO, Social Sharing, and Beyond

I once spent three weeks debugging why a client's site disappeared from Google. We checked backlinks, server logs, crawl budgets, everything. The culprit was a single line in the base template: <meta name="robots" content="noindex"> — left over from staging. One forgotten meta tag wiped out six months of SEO work overnight. Meta tags are small, easy to overlook, and capable of catastrophic damage if misconfigured. This checklist exists so you never miss one.


Essential SEO Meta Tags

These tags should be on every public page. Missing any of them means leaving search traffic on the table.

<title>

Not technically a meta tag — it is its own HTML element — but it is the single most important on-page SEO signal. Google uses it as the blue clickable link in search results.

  • Keep it under 60 characters. Google truncates longer titles with an ellipsis.
  • Put the primary keyword near the front. "UUID Generator - RichDevTools" ranks better for "UUID Generator" than "RichDevTools - UUID Generator".
  • Make it unique per page. Duplicate titles across pages confuse search engines about which page to rank.
  • Do not keyword-stuff. Google rewrites titles that look spammy. A clear, descriptive title performs better.

<meta name="description">

The description tag controls the snippet shown below your title in search results. Google does not use it as a ranking factor, but a compelling description directly impacts click-through rate — which does affect rankings indirectly.

  • Aim for 120-155 characters. Mobile search results truncate earlier than desktop.
  • Include a call to action. "Learn how to..." or "Generate a..." gives users a reason to click.
  • Make it unique per page. Google ignores duplicate descriptions and generates its own instead.

<link rel="canonical">

The canonical tag tells search engines which URL is the "official" version of a page. Without it, search engines may index multiple versions: https://example.com/page, https://www.example.com/page, https://example.com/page?ref=twitter, and http://example.com/page are all different URLs pointing to the same content.

  • Always use absolute URLs. <link rel="canonical" href="https://example.com/page"> — never relative.
  • Self-referencing canonicals are good practice. Every page should point to itself, even if there are no duplicates yet.
  • Only one canonical per page. Multiple canonical tags confuse crawlers; they may ignore all of them.

<meta name="robots">

Controls what search engines can do with your page. The default (no tag at all) is index, follow — crawl the page, index it, and follow all links.

Directive Effect
noindex Remove from search results entirely
nofollow Do not follow links on this page
noarchive Do not show a cached version
nosnippet Do not show a text snippet in results
max-snippet:N Limit snippet to N characters
max-image-preview:large Allow large image previews in search
notranslate Do not offer automatic translation

Danger zone: Adding noindex removes the page from search. This is correct for login pages, admin panels, and staging environments. It is catastrophic if applied to your public content by accident. Always verify the robots tag on production deployments — the Meta Tag Analyser catches this instantly.

<meta name="viewport">

Required for mobile-first indexing. Without it, Google treats your page as desktop-only, which can hurt rankings.

<meta name="viewport" content="width=device-width, initial-scale=1">

This tag should be on every page. There is no reason to omit it.


Open Graph Tags for Social Sharing

When someone shares your link on Facebook, LinkedIn, Discord, Slack, WhatsApp, or Telegram, these platforms read Open Graph tags to build a visual preview card. Without them, your link appears as a plain URL with no image, no title, and no description. I have covered the full Open Graph specification in the Open Graph meta tags guide — here is the minimum you need on every page.

Tag Required Purpose
og:title Yes Title shown in the preview card
og:description Practically yes Description below the title
og:image Yes Preview image (1200x630px recommended)
og:url Yes Canonical URL for the shared page
og:type Yes Content type: website, article, etc.
og:site_name Recommended Your brand name, shown separately on some platforms
og:locale Optional Defaults to en_US if omitted

For blog posts and articles, add:

<meta property="og:type" content="article">
<meta property="article:published_time" content="2026-04-06T10:00:00+00:00">
<meta property="article:author" content="https://example.com/authors/jane">

Generate the complete set of tags with the Open Graph Generator — it produces copy-paste HTML for all required properties.


Twitter Card Tags

Twitter (X) has its own meta tag format. The critical tag is twitter:card — without it, Twitter may show no preview at all, even if all Open Graph tags are present.

Tag Required Purpose
twitter:card Yes Card type: summary or summary_large_image
twitter:site Recommended Your site's Twitter handle
twitter:creator Optional The content author's Twitter handle

Twitter falls back to Open Graph for title, description, and image. So in practice, you only need:

<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@yourhandle">

Everything else is pulled from your OG tags. Preview how the card will look on each platform using the Social Media Preview tool.


Beyond the Basics

hreflang for International Sites

If your site serves content in multiple languages or targets different regions, hreflang tags tell Google which version to show in each locale.

<link rel="alternate" hreflang="en" href="https://example.com/page">
<link rel="alternate" hreflang="de" href="https://example.de/seite">
<link rel="alternate" hreflang="x-default" href="https://example.com/page">
  • Always include x-default for the fallback version.
  • hreflang is bidirectional — page A must point to page B and page B must point back to page A. Orphaned one-way references are ignored.
  • Bing ignores hreflang — use <meta http-equiv="content-language"> for Bing.

Dublin Core

Dublin Core meta tags (DC.title, DC.creator, DC.date, etc.) were designed for academic and library cataloguing. In practice, they are only relevant if you work on government, academic, or archival websites. For commercial websites, Open Graph and standard HTML meta tags cover all the same ground with better platform support.

Schema.org Structured Data

Schema.org markup is not a meta tag — it lives in a <script type="application/ld+json"> block — but it serves a similar purpose of providing machine-readable metadata. Google uses structured data to generate rich results: star ratings, FAQ accordions, recipe cards, event details, and more.

The most impactful Schema.org types:

Type Rich Result Impact
Article Article headline, date, author in search Medium
FAQPage Expandable FAQ accordion in search results High
HowTo Step-by-step instructions with images High
Product Price, availability, reviews in search Very High
BreadcrumbList Breadcrumb path shown below the URL Medium
LocalBusiness Business info in Google Maps and search Very High

Structured data and meta tags are complementary, not alternatives. Meta tags handle baseline SEO and social sharing. Structured data unlocks enhanced search features. You need both. Use the Meta Tag Analyser to verify your standard meta tags, and Google's Rich Results Test for structured data.


The <meta name="keywords"> Tag

Remove it. Google has not used the keywords meta tag since 2009. Matt Cutts publicly confirmed it. Bing has said they treat keyword stuffing as a potential spam signal. The tag provides zero SEO benefit and can only hurt you. If your site still has it, delete it today.


Automated Meta Tag Auditing

Manually checking meta tags on every page before every deploy is unsustainable. Here is how to automate it.

Lighthouse CI

Google's Lighthouse includes an SEO audit category that checks for:

  • Missing <title> and meta description
  • Missing viewport tag
  • Unresolvable robots.txt
  • Non-crawlable links
  • Invalid hreflang

Add it to your CI pipeline:

npm install -g @lhci/cli
lhci autorun --collect.url=https://your-staging-site.com

Custom Validation Script

For Open Graph and Twitter Card validation, a simple curl-based check works:

#!/bin/bash
URL="$1"
HTML=$(curl -sL "$URL")

check_tag() {
    if echo "$HTML" | grep -q "$1"; then
        echo "OK: $1"
    else
        echo "MISSING: $1" && exit 1
    fi
}

check_tag 'og:title'
check_tag 'og:description'
check_tag 'og:image'
check_tag 'og:url'
check_tag 'twitter:card'
check_tag 'rel="canonical"'

Run this against your staging URL before promoting to production. A failed check blocks the deployment — preventing that catastrophic noindex scenario.

Monitoring in Production

For ongoing monitoring, set up a scheduled job that crawls your key pages and alerts on missing tags. Even a weekly cron job that checks your top 20 pages catches regressions before they accumulate. If you are working with cron expressions, a weekly schedule like 0 9 * * 1 runs the check every Monday at 9 AM.


The Printable Checklist

Copy this into your deployment review process:

Category Tag Check
SEO <title> Unique, under 60 chars, keyword near front
SEO meta description Unique, 120-155 chars, includes CTA
SEO link canonical Absolute URL, self-referencing
SEO meta robots Not noindex on public pages
SEO meta viewport Present with width=device-width
Social og:title Set, matches or complements <title>
Social og:description Set, under 155 chars
Social og:image Absolute HTTPS URL, 1200x630px
Social og:url Absolute URL, matches canonical
Social og:type website or article as appropriate
Social twitter:card summary_large_image for content pages
Social twitter:site Your Twitter handle
i18n hreflang Bidirectional, includes x-default (if multilingual)
Schema JSON-LD Article, FAQ, or Product as applicable

Run the Meta Tag Analyser against your live URL to validate everything in one click. Generate missing Open Graph tags with the Open Graph Generator, and preview how your links will appear on each platform with the Social Media Preview.


The One Thing to Remember

If you take nothing else from this checklist: automate your meta tag checks. The tags are too easy to break accidentally and too invisible to catch manually. A deployment script that validates five tags takes ten minutes to write and prevents the kind of silent SEO disasters that take months to recover from. Set it up today.

More Articles

CSV vs JSON for Data Exchange: When Each Format Wins

A practical comparison of CSV and JSON for APIs, data pipelines, and file exports. Covers structure, parsing, streaming, schema enforcement, size, tooling, and clear guidelines for choosing the right format.

15 April, 2026

SEO for AI Search: How to Optimise for ChatGPT, Perplexity, and Google AI Overviews

How AI-powered search engines discover, evaluate, and cite web content. Practical strategies for optimising your pages for ChatGPT Browse, Perplexity, Google AI Overviews, and other AI answer engines.

14 April, 2026

Image to Base64 Data URIs: When to Inline and When Not To

A practical guide to embedding images as Base64 data URIs. Covers the data URI format, size overhead, performance trade-offs, browser caching, Content Security Policy, and clear rules for when inlining helps vs hurts.

10 April, 2026