Technical SEO has a reputation for being either mysterious or trivial, and it's usually somewhere in between: a fairly short, mechanical checklist that's easy to get right and surprisingly easy to accidentally skip under a launch deadline. This is the list we run through on every static site before it ships.
Crawlability first
Before worrying about rankings, confirm search engines can actually reach the page. We check that no page critical to discovery is blocked in robots.txt, that there's no accidental noindex meta tag left over from a staging environment, and that internal links use real anchor tags rather than JavaScript-only click handlers that a crawler might not execute.
A surprisingly common issue on JavaScript-heavy sites: content that only renders after a client-side fetch can be invisible to crawlers that don't wait for it. Since we build primarily with vanilla HTML/CSS/JS and server-rendered content, this is less of a concern for our own builds, but it's the first thing we check when auditing an existing site.
Titles, descriptions, and canonicals
Every page needs a unique title tag under roughly 60 characters and a meta description under about 160 characters that accurately summarizes the page rather than repeating the title. We write these by hand for every page rather than generating them programmatically, because a templated description reads as generic to both users and search engines.
Canonical tags matter more than most teams realize, especially on sites with any URL parameter variations (filtering, sorting, tracking parameters). Every page should have a self-referencing canonical unless it's intentionally a duplicate of another URL, in which case the canonical should point to the preferred version.
Structured data that's actually correct
JSON-LD structured data is only useful if it validates and accurately reflects the page content. We add Organization schema sitewide, Article schema on every blog post, FAQPage schema on pages with genuine accordion FAQs, BreadcrumbList schema matching the visible breadcrumb, and SoftwareApplication schema on product pages.
The most common mistake here isn't missing schema, it's mismatched schema — marking up review counts or ratings that don't correspond to anything real on the page. Google has taken action against sites with structured data that doesn't match visible content, so every field we mark up needs a visible, matching counterpart on the page.
Heading hierarchy and internal linking
Each page should have exactly one <h1>, with subsequent headings nested logically rather than chosen for font size. We treat heading level as a semantic decision, then style it separately in CSS, rather than picking an <h3> because it happens to look right in a given spot.
Internal linking is the most underused lever on most sites we audit. Every blog post should link to at least two to three genuinely relevant pages elsewhere on the site — related articles, relevant service pages, or product pages — using descriptive anchor text rather than "click here."
Images and alt text
Every meaningful image needs alt text that describes its content or function, not its filename. Purely decorative images should have empty alt attributes (alt="") so screen readers skip them rather than reading a meaningless description aloud — this is an accessibility requirement that happens to help SEO too, since the two disciplines overlap more than people expect.
Sitemaps and robots.txt
A sitemap.xml listing every canonical, indexable URL, with accurate lastmod dates, submitted through Search Console after launch. A robots.txt that disallows nothing important — we've seen launches where an entire site was accidentally blocked by a leftover Disallow: / from staging, which is one of the most costly one-line mistakes possible in SEO.
Frequently Asked Questions
Crawlability fixes can be reflected within days once a page is recrawled; ranking improvements from broader technical health typically take weeks to a few months to show clearly.
It's not a direct ranking factor on its own, but it enables rich results (FAQ dropdowns, breadcrumbs in search) that improve click-through rate, which indirectly matters.
Static HTML removes an entire category of rendering-related crawlability risk, though modern frameworks with proper server-side rendering can perform comparably when configured correctly.