SEO Checklist

TL;DR

A complete, actionable checklist for every page and site-wide audit. Covers on-page (content & HTML), technical (speed & crawlability), off-page (backlinks & authority), and content strategy. Use it when launching a new site or auditing an existing one.

Explain Like I'm 12

This is like a pre-flight checklist for airplane pilots. Before every flight (or webpage), you go through a list of things to make sure everything works: seatbelts, engines, fuel. If you skip something, the plane might have problems. This SEO checklist makes sure your website doesn't crash in Google rankings.

The SEO Audit Flow

SEO checklist flow: on-page, technical, off-page, and content audit steps
How to use this: Work through each section in order. Check items off as you complete them. Items marked with 🔴 are critical — fix these first. Items marked with 🟡 are important. 🟢 items are nice-to-have optimizations.

Per-Page: On-Page SEO

Run through these for every page you publish or audit.

HTML & Meta Tags

PriorityCheckDetails
🔴<title> tagUnique, 50-60 chars, primary keyword near front, brand at end
🔴<meta description>Unique, 120-160 chars, includes keyword, has a call to action
🔴One <h1> per pageContains primary keyword, matches search intent
🔴Heading hierarchyH1 → H2 → H3, never skip levels, include secondary keywords
🟡Canonical tag<link rel="canonical"> pointing to the preferred URL
🟡Open Graph tagsog:title, og:description, og:image, og:url
🟡Twitter Card tagstwitter:card, twitter:title, twitter:description
🟢lang attribute<html lang="en"> on every page
🟢robots meta<meta name="robots" content="index, follow">

Content Quality

PriorityCheckDetails
🔴Matches search intentContent type (guide/list/tool) matches what ranks for the target keyword
🔴Comprehensive coverageCovers the topic at least as well as the current top 3 results
🔴Primary keyword in first 100 wordsNaturally placed in the opening paragraph
🟡Readable formattingShort paragraphs, bullet points, tables, visuals — scannable
🟡Original valueUnique data, insights, examples, or perspective not found elsewhere
🟡Updated date visible"Last updated: YYYY-MM-DD" shown on the page
🟢E-E-A-T signalsAuthor bio, credentials, citations to authoritative sources
🟢FAQ sectionTargets "People Also Ask" queries with clear Q&A pairs

Internal Links & Navigation

PriorityCheckDetails
🔴Internal links to related pages3-10 contextual internal links per page
🔴Descriptive anchor textKeywords in anchor text, not "click here" or "read more"
🟡Breadcrumb navigationShows the page path, uses schema markup
🟡No orphan pagesEvery page is linked from at least one other page
🟢Hub-and-spoke linkingPillar page links to all spoke pages, spokes link back

Images

PriorityCheckDetails
🔴Descriptive alt textDescribes the image, includes keyword where natural
🟡Compressed file sizeUnder 100KB per image when possible; use WebP format
🟡Explicit dimensionswidth and height attributes set (prevents CLS)
🟡Lazy loadingloading="lazy" on below-the-fold images
🟢Descriptive file namesseo-title-tag-example.webp not IMG_2847.jpg

URL

PriorityCheckDetails
🔴HTTPSEvery page served over HTTPS
🟡Clean URL slugLowercase, hyphens, keyword, 3-5 words after domain
🟡No parameters in canonicalCanonical URL is the clean version without ?utm= etc.
Info: For detailed explanations of each on-page element, see the On-Page SEO deep dive.

Site-Wide: Technical SEO

Run through these once for the entire site, then re-check quarterly.

Crawling & Indexing

PriorityCheckDetails
🔴XML sitemap submittedSubmitted in Google Search Console, includes all important pages
🔴robots.txt configuredAllows crawling of all important paths, blocks admin/API/junk URLs
🔴No accidental noindexCheck <meta name="robots"> isn't blocking key pages
🟡Canonical tags consistentSelf-referencing canonicals on all pages, no conflicting signals
🟡No redirect chainsEvery redirect goes directly to final destination (no A→B→C)
🟡404 errors fixedCheck GSC Coverage report, redirect or fix broken URLs
🟢Hreflang tags (if multilingual)Correct hreflang and x-default for each language

Performance & Core Web Vitals

PriorityCheckDetails
🔴LCP ≤ 2.5sLargest Contentful Paint — optimize images, preload critical resources
🔴INP ≤ 200msInteraction to Next Paint — minimize JavaScript, break long tasks
🔴CLS ≤ 0.1Cumulative Layout Shift — explicit image dimensions, reserve ad space
🟡Mobile-friendlyResponsive design, 48px tap targets, no horizontal scroll
🟡Image optimizationWebP format, lazy loading, responsive srcset
🟡Font optimizationPreload critical fonts, use font-display: swap
🟢CDN in useServe assets from edge locations for faster global delivery
🟢HTTP/2 or HTTP/3Modern protocol for multiplexed requests
Tip: Run Google PageSpeed Insights on your 5 most important pages. Fix anything red. Then check field data in GSC → Core Web Vitals for real-user metrics.

Structured Data

PriorityCheckDetails
🟡BreadcrumbList schemaOn all pages — improves SERP breadcrumb display
🟡Article/TechArticle schemaOn blog/guide pages — enhances article listings
🟡FAQPage schema (where applicable)On FAQ sections — triggers FAQ rich result
🟢Organization schemaOn homepage — populates knowledge panel
🟢Validated with Rich Results TestNo errors or warnings in Google's testing tool

Security & Infrastructure

PriorityCheckDetails
🔴HTTPS everywhereAll pages, all resources — no mixed content
🔴HTTP → HTTPS redirects301 redirect all HTTP URLs to HTTPS versions
🟡www/non-www consistentPick one, redirect the other, update canonical tags
🟢Security headersHSTS, X-Content-Type-Options, X-Frame-Options
Info: For detailed explanations of each technical item, see the Technical SEO deep dive.

Off-Page SEO

These happen outside your website and build authority over time.

PriorityCheckDetails
🔴Google Search Console set upVerify ownership, submit sitemap, monitor coverage & performance
🔴Google Business Profile (if local)Complete listing with NAP (name, address, phone), hours, photos
🟡Backlink profile auditCheck for toxic links (spammy, irrelevant), disavow if needed
🟡Competitor backlink analysisFind where competitors get links, pursue similar opportunities
🟡Content promotion planShare on social, email to newsletter, reach out to relevant sites
🟢Brand mention monitoringFind unlinked brand mentions, request link additions
🟢Guest posting strategyWrite for authoritative sites in your niche, with link back

Post-Launch: Get Discovered

You've published your website — now make sure Google (and your audience) actually finds it. Complete these steps within the first week after launch.

Step 1: Google Search Console (GSC)

This is your direct line to Google. It tells you what Google sees, what it can't crawl, and how your pages perform in search.

PriorityActionHow
🔴Create a GSC accountGo to search.google.com/search-console, sign in with your Google account
🔴Add your propertyChoose Domain (covers all subdomains) or URL prefix (specific URL). Domain is preferred.
🔴Verify ownershipOptions: DNS TXT record (recommended for domain), HTML file upload, HTML meta tag, Google Analytics, or Google Tag Manager
🔴Submit your sitemapGo to Sitemaps → enter sitemap.xml → click Submit. GSC will crawl the listed URLs.
🟡Request indexing for key pagesURL Inspection → paste URL → click "Request Indexing". Do this for your homepage and top 5-10 pages.
🟡Check index coverageAfter 2-3 days, go to Pages report. Ensure pages are "Indexed" not "Excluded" or "Error".
Tip: Bookmark the GSC Performance tab. After 1-2 weeks, you'll start seeing which queries your pages appear for, your average position, and click-through rates. This is your SEO dashboard.

Step 2: Google Analytics (GA4) & Gtag

Analytics tells you what visitors do on your site — where they come from, which pages they view, and whether they convert.

PriorityActionHow
🔴Create a GA4 propertyGo to analytics.google.com → Admin → Create Property. Choose "Web" as the platform.
🔴Get your Measurement IDAdmin → Data Streams → Web → copy the G-XXXXXXXXXX ID
🔴Add the Gtag snippet to your sitePaste in the <head> of every page (or use a tag manager / server-side solution like Cloudflare Zaraz)
🟡Set up conversion eventsAdmin → Events → Mark key actions as conversions (sign-ups, purchases, form submissions)
🟡Link GA4 to GSCAdmin → Product Links → Search Console. This lets you see search queries alongside on-site behavior.
🟢Configure data retentionAdmin → Data Settings → Data Retention → set to 14 months (max for free tier)

Gtag Code Snippet

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-XXXXXXXXXX');
</script>
Warning: If you have a cookie consent banner (GDPR), make sure analytics only fires after the user consents. Load the Gtag conditionally, or use a server-side solution like Cloudflare Zaraz which handles consent automatically.

Step 3: Submit Sitemap & Verify Indexing

PriorityActionHow
🔴Generate XML sitemapMost frameworks auto-generate. For static sites, use a script or tool like xml-sitemaps.com. Include all important pages with <lastmod> dates.
🔴Upload to site rootSitemap must be accessible at https://yourdomain.com/sitemap.xml
🔴Reference in robots.txtAdd Sitemap: https://yourdomain.com/sitemap.xml at the bottom of your robots.txt
🔴Submit in GSCSitemaps → Add → sitemap.xml → Submit
🟡Submit to BingAlso submit in Bing Webmaster Tools (bing.com/webmasters) — Bing powers DuckDuckGo, Yahoo, and some AI chatbots
🟡Verify indexing after 3-7 daysSearch site:yourdomain.com in Google. If pages don't appear, check GSC for errors.

Step 4: Set Up Bing Webmaster Tools

PriorityActionHow
🟡Create account & verifyGo to bing.com/webmasters. You can import your site directly from GSC (easiest method).
🟡Submit sitemapSitemaps → Submit Sitemap → enter your sitemap URL
🟢Submit to IndexNowBing supports IndexNow — instant indexing via API when you publish/update pages. Cloudflare supports this natively.
Info: Bing is more important than you think. It powers Bing Search, DuckDuckGo, Yahoo Search, and is used by AI tools like Copilot. Setting it up takes 5 minutes.

Step 5: Social & Business Profiles

PriorityActionWhy
🔴Google Business Profile (if local)Required for local search and Google Maps visibility. Add NAP (name, address, phone), hours, photos, description.
🟡Social media profilesCreate profiles on relevant platforms (LinkedIn, Twitter/X, GitHub, etc.) with a link back to your site. These count as brand signals.
🟡Test Open Graph / Twitter CardsShare a page URL on social — verify the preview shows the correct title, description, and image. Use Facebook Sharing Debugger or Twitter Card Validator.
🟢Directory listings (if applicable)Submit to relevant industry directories (Product Hunt, Crunchbase, etc.) for additional backlinks and discoverability.

Step 6: Monitoring & First-Week Checks

PriorityActionWhen
🔴Run PageSpeed Insights on top 5 pagesDay 1 — fix any red scores immediately
🔴Check all pages return HTTP 200Day 1 — no broken pages at launch
🔴Verify GA4 is collecting dataDay 1 — check Realtime report while browsing your site
🟡Check GSC for crawl errorsDay 3-5 — fix any "Couldn't crawl" or "Excluded" pages
🟡Verify pages are being indexedDay 5-7 — search site:yourdomain.com in Google
🟡Check for mobile usability issuesDay 1 — GSC → Mobile Usability report
🟢Set up uptime monitoringDay 1 — Use UptimeRobot (free) or similar. Downtime kills rankings.
Tip: Don't panic if you see zero organic traffic in the first 2-4 weeks. Google needs time to discover, crawl, index, and rank your pages. Focus on making sure everything is technically correct and your content is high quality. Traffic will come.

Content Strategy Checklist

Ongoing activities to maintain and grow organic traffic.

PriorityCheckFrequency
🔴Keyword research for new contentMonthly
🔴Update existing content (freshness)Quarterly per page
🔴Check for content cannibalizationMonthly
🟡Monitor rankings for target keywordsWeekly
🟡Analyze GSC performance reportsWeekly
🟡Add internal links to new contentPer new page publish
🟡Review and fix 404sMonthly
🟢Competitor content gap analysisQuarterly
🟢Review page experience signals (CWV)Monthly

Essential SEO Tools

ToolFree?Best For
Google Search ConsoleYesIndex coverage, performance, Core Web Vitals, sitemaps
Google PageSpeed InsightsYesCore Web Vitals, performance scoring
Google Keyword PlannerYesKeyword research, search volume, competition
AhrefsPaidBacklink analysis, keyword research, competitor research, site audit
SemrushPaidKeyword tracking, site audit, competitor analysis
Screaming FrogFree (500 URLs)Site crawl, find broken links, duplicate content, redirect chains
Rich Results TestYesValidate structured data / schema markup
Lighthouse (Chrome DevTools)YesPerformance, accessibility, SEO, best practices audit
Tip: You can do a surprisingly thorough SEO audit with just the free tools: Google Search Console + PageSpeed Insights + Screaming Frog (free tier) + Chrome DevTools. Paid tools add depth but aren't required to start.

Test Yourself

You're launching a new website. What are the first 5 SEO things you'd set up?

(1) HTTPS — SSL certificate, redirect HTTP→HTTPS. (2) Google Search Console — verify ownership, submit sitemap. (3) XML sitemap — generate and submit it. (4) robots.txt — allow all important pages, block admin areas. (5) Unique title tags + meta descriptions — on every page. These are the minimum foundation before any content optimization.

What's the difference between a 🔴 critical check and a 🟢 nice-to-have?

🔴 Critical items can prevent indexing or cause significant ranking loss (e.g., accidental noindex, no sitemap, missing title tags). 🟢 Nice-to-have items provide incremental improvements but won't cause disasters if missing (e.g., security headers, Organization schema). Always fix 🔴 items first.

How often should you update existing content for SEO?

Review each page quarterly. Update statistics, add new information, and refresh the "last updated" date. Pages that start losing rankings often just need a content refresh to regain positions. Set a content calendar to track this.

Name three free tools for a basic SEO audit.

(1) Google Search Console — indexing, performance, CWV. (2) Google PageSpeed Insights — speed and performance. (3) Screaming Frog (free tier) — crawl up to 500 URLs, find broken links, duplicates, redirect chains. Together, these cover ~80% of what paid tools do.

What should you do right after publishing a new page?

(1) Add it to your XML sitemap. (2) Request indexing in Google Search Console via "Inspect URL". (3) Add 3-5 internal links from existing relevant pages. (4) Share on social / email. (5) Verify all on-page elements (title, meta, H1, canonical). Steps 2-3 help Google discover and rank the page faster.

Interview Questions

Walk me through how you'd conduct a full SEO audit of a website.

(1) Crawl the site with Screaming Frog — find broken links, duplicate content, redirect chains, missing metas. (2) Check GSC — index coverage errors, Core Web Vitals, manual actions. (3) On-page audit — title tags, H1s, meta descriptions, content quality for top pages. (4) Technical audit — robots.txt, sitemap, HTTPS, canonical tags, schema markup. (5) Backlink audit — check quality in Ahrefs/Moz, disavow toxic links. (6) Content gap analysis — compare against competitors, find missing topics. (7) Prioritize fixes — 🔴 critical first, then 🟡, then 🟢.

A site redesign caused a 40% drop in organic traffic. What would you check?

(1) URL changes without redirects — the #1 cause. Check if old URLs 301-redirect to new ones. (2) Accidental noindex — dev/staging robots meta tags left on production. (3) Content changes — did the redesign remove content Google was ranking? (4) Internal link structure — did navigation changes orphan important pages? (5) Canonical tags — do they point to the correct new URLs? (6) Sitemap — does it reflect the new URL structure? (7) Page speed — did new design elements slow the site? Check all of these in GSC.

How do you prioritize SEO improvements when you have limited resources?

Use an impact vs effort matrix: (1) High impact, low effort — fix broken redirects, add missing title tags, submit sitemap. Do these immediately. (2) High impact, high effort — content overhaul, site speed optimization, backlink campaign. Plan these for next sprint. (3) Low impact, low effort — add schema markup, optimize image alt text. Batch these for downtime. (4) Low impact, high effort — deprioritize or skip. Focus on pages closest to page 1 (positions 5-20) for the quickest ranking gains.