01 — Purpose

Discoverability is a frontend deliverable

Search engines and social platforms read what you ship in the document — not what you meant in the design file.

Run this checklist on new public pages, landing pages, and any change to titles, URLs, or share previews. It complements the Frontend QA checklist: that one catches interaction; this one catches how the page is described, linked, and indexed.

You do not need every tag on every page — but indexable marketing and product pages should pass the core sections before release.

02 — Document

Core document metadata

Title and description are your pitch in search results — write them for humans, not keyword stuffing.

  • unique, descriptive <title> — primary topic first; site name appended consistently if you use a suffix pattern
  • meta name="description" present on indexable pages — accurate summary, roughly 120–160 characters, not duplicated across URLs
  • lang on <html> matches the page language — use regional codes where it matters (e.g. en-GB)
  • canonical URL set when duplicates exist — parameters, trailing slashes, and www vs non-www handled deliberately
  • one clear h1 per page that aligns with the title — not a different topic smuggled in for styling

03 — Social

Social and link previews

Slack, LinkedIn, and iMessage show Open Graph tags — if you skip them, platforms guess badly.

  • og:title, og:description, and og:url set for pages you expect to be shared
  • og:image provided — absolute URL, sensible dimensions (often 1200×630), readable at small preview sizes
  • og:type appropriate — website, article, or product-specific types where relevant
  • Twitter/X card tags present if you still target that platform — twitter:card, twitter:title, twitter:description, twitter:image
  • share preview checked in staging — Facebook Sharing Debugger, LinkedIn Post Inspector, or similar; not assumed from markup alone

04 — Crawl

Crawlability and indexation

Telling crawlers what to index is as important as polishing what they see.

  • indexation intent explicit — noindex only on pages that should stay out of search (staging, thank-you, internal tools)
  • robots.txt does not block assets or pages you need indexed — explicitly allow preview crawlers (facebookexternalhit, etc.) for social shares
  • sitemap includes new public URLs and excludes junk — updated when routes change
  • internal links use real <a href> — critical paths not JavaScript-only navigation
  • pagination and faceted URLs handled — canonical or parameter rules documented so you do not flood the index with duplicates
  • hreflang in place when you ship multiple language or regional variants of the same content

05 — Content

On-page content signals

Metadata gets clicks; the page body earns rankings and satisfied users.

  • heading hierarchy logical — keywords in headings because they describe structure, not because you stacked h3s for SEO
  • primary content available in HTML — not hidden behind client-only render without a server or prerendered fallback
  • images that matter for the topic have descriptive alt text — decorative images marked accordingly
  • meaningful link text — not “click here” clusters for important destinations
  • thin or duplicate pages merged, redirected, or noindexed — not left competing with each other

06 — Structured

Structured data

JSON-LD helps rich results — invalid JSON-LD helps nothing and can erode trust.

  • structured data only where it matches visible page content — no fake ratings or breadcrumbs you do not show
  • JSON-LD valid — parseable JSON, correct @type, required properties for the schema you chose
  • common types justified — Organization, WebSite, Article, FAQPage, Product as appropriate
  • validated with Google Rich Results Test or equivalent before release on high-traffic templates

07 — Sign-off

Before you ship

A quick pass in production beats discovering a wrong canonical in Search Console weeks later.

  • view rendered <head> in staging — not only the CMS fields or framework props
  • spot-check with “site:yourdomain.com” or URL inspection after deploy on important new pages
  • release readiness checklist completed if this ships as part of a production release
  • redirects for renamed or removed URLs in place — 301 to the best successor, not chains of soft 404s