SEO Website Design Checklist (2026): 24 Things to Verify
Twenty-four checks, ordered by how much damage skipping them does. The first one takes thirty seconds and most sites fail it.
The highest-impact SEO check you can run takes thirty seconds: disable JavaScript and reload your homepage. If the content disappears, your site is invisible to most AI crawlers and harder for Google to index.
GPTBot, ClaudeBot, PerplexityBot and CCBot do not execute JavaScript. They parse the HTML that arrives and stop. A site whose content is injected client-side — or hidden until an animation library reveals it — ships those crawlers an empty page, regardless of how good its structured data is. Google does render JavaScript, but rendering is queued and delayed, so it's a cost even there. Everything below is ordered by how much damage skipping it does.
Tier 1 — breaks indexing entirely
- Content present without JavaScript. Disable JS, reload, and confirm your headings and body copy are still there. Or run
curl -sA "GPTBot" https://yoursite.com/ | grep "your headline". - No accidental
noindex. Staging directives shipped to production are a classic and catastrophic launch bug. robots.txtdoesn't block what matters. A strayDisallow: /from staging will deindex the entire site.- One canonical version of the site. www vs non-www, http vs https — pick one and 301 the rest.
- Self-referencing canonical on every page. Canonicals pointing at a staging domain silently prevent indexing.
- XML sitemap exists and lists only indexable URLs. Submitted in Search Console.
Tier 2 — determines whether you rank
- One
<h1>per page, describing that page specifically. - Logical heading hierarchy. H2s under the H1, H3s under H2s. Don't pick heading levels for their font size.
- Unique title tag per page, roughly 50–60 characters, primary term near the front.
- Unique meta description per page, around 150–160 characters, written to earn a click.
- Descriptive URLs.
/restaurant-website-design/beats/services?id=7. - Internal links with real anchor text. "Restaurant website design", not "click here".
- No orphan pages. Every page reachable by a crawler following links from the homepage.
- Alt text on meaningful images; empty
alt=""on decorative ones.
Tier 3 — Core Web Vitals
- LCP under 2.5s on mobile. Usually the hero image or headline.
- INP under 200ms. The metric that replaced FID — it measures every interaction, not just the first.
- CLS under 0.1. Set explicit width and height on images so nothing jumps.
- No render-blocking scripts in
<head>. Adddefer. In-browser CSS compilers like the Tailwind CDN are a common and expensive offender. - Modern image formats, WebP or AVIF, lazy-loaded below the fold.
- Fonts with
display=swapand preconnect to the font host.
Tier 4 — structured data and AI search
- Organization or LocalBusiness schema with address, geo and
sameAslinks to your real profiles. - FAQPage schema that matches visible content verbatim. Marking up questions that aren't on the page is a structured-data violation, and it's remarkably common.
- A front-loaded, self-contained answer block. Open a key section with a plain "X is…" definition of roughly 130–170 words. This is the format AI engines extract.
- AI crawlers allowed in
robots.txt. Not justGPTBot—OAI-SearchBot,ClaudeBot,PerplexityBot,Google-Extended,GoogleOther. A wildcard allow covers them, but explicit entries prevent a future edit from silently excluding them.
Two things that are not on this list
Keyword density. Not a ranking factor and hasn't been for well over a decade. Write for a reader.
Hidden keyword text. Zero-opacity divs, 1px containers and off-screen text stuffed with terms are named directly in Google's spam policies. They risk a manual action and pass no value. If an agency has done this to your site, remove it.
For the commercial side of this — what a build should include and cost — see small business website design and website costs in India.