Technical SEO is everything that helps search engines crawl, render, index, and understand your site — and static sites built with Astro, Next.js, or similar frameworks start with a genuine head start. Content ships in the HTML, pages are fast, and there is no hydration gap for crawlers to trip over. This guide is the checklist that locks that advantage in, so your keyword research and topic clusters actually get indexed and rank. It complements the broader SEO for developer blogs guide with the infrastructure layer.
Why Static Sites Win the Technical Battle by Default
The hardest technical SEO problems are about crawlability and rendering: can the search engine actually see your content? Server-heavy and client-rendered apps often fail here, serving crawlers an empty shell that fills in only after JavaScript executes. Static generation sidesteps the whole problem — the content is in the HTML the moment the page loads.
That default gets you most of the way. The rest of this checklist is about not squandering the lead.
Rendering: Keep Content in the HTML
The cardinal rule: primary content must be in the server-rendered or statically generated HTML, not injected by client-side JavaScript.
- In Astro, components render to HTML at build time by default — this is ideal. Reserve
client:*directives for genuinely interactive widgets, not article text. - In Next.js, use static generation or server components for content pages; avoid making primary content depend on client-side data fetching.
- Test it: view source (not the inspector) or fetch the page with JavaScript disabled. If your content is there, crawlers see it. If you see an empty
<div id="root">, you have a problem.
Crawlability: robots.txt and Sitemaps
robots.txt at your domain root should allow crawling of your content and point to your sitemap:
User-agent: *
Allow: /
Sitemap: https://yoursite.com/sitemap-index.xml
XML sitemap lists your indexable URLs so crawlers discover them quickly. Generate it automatically from your routes — Astro’s sitemap integration and Next.js sitemap support both do this. Two things elevate a sitemap from present to useful:
- Accurate
lastmodper URL from your content’s real updated/published date, so updated pages get recrawled. Derive it from frontmatter rather than stamping build time on everything (which tells Google nothing changed meaningfully). - Submit it in Google Search Console and monitor the Coverage/Pages report for indexing errors.
Metadata: Titles, Descriptions, Canonicals
Every page needs:
- A unique
<title>with the primary keyword near the front, kept under ~60 characters so it does not truncate in results. If your title pattern appends a brand suffix, only add it when the title still fits. - A unique meta description (~150–160 chars) that earns the click. It is not a direct ranking factor but heavily influences click-through rate.
- A canonical URL (
<link rel="canonical">) pointing to the page’s preferred address, to prevent duplicate-content dilution across query strings and trailing-slash variants. - Open Graph and Twitter Card tags for clean social/link-preview rendering (indirectly helps distribution and link-building).
Centralize this in a base layout so every page inherits it and you set values via props — the pattern most Astro and Next.js projects already use.
Structured Data
Structured data (JSON-LD) tells search engines exactly what a page is, enabling rich results and helping AI search parse and cite you. The high-value types for a developer content site:
- Article with author and dates on blog posts.
- FAQPage for question-and-answer sections (eligible for rich results and easy for AI to extract).
- HowTo for step-by-step guides.
- BreadcrumbList for navigational context.
Generate it from the same frontmatter that drives your visible content so the two never drift apart. Full detail is in schema markup for AI search.
Core Web Vitals and Performance
Static sites are usually fast, but protect the win:
- LCP (loading): Optimize the largest above-the-fold element. Serve modern image formats, size images explicitly, and avoid render-blocking resources. Defer non-critical decorative elements until after first paint.
- INP (responsiveness): Ship minimal JavaScript. The less you hydrate, the snappier the page. This is where zero-framework or islands-architecture sites shine.
- CLS (stability): Reserve space for images, embeds, and fonts so content does not jump as it loads. Use
font-display: swapwith sized fallbacks.
Measure with PageSpeed Insights and the Search Console Core Web Vitals report, which uses real-user field data.
Mobile, HTTPS, and URL Hygiene
- Mobile-first: Google indexes the mobile version. Ensure responsive layouts and readable tap targets.
- HTTPS: Non-negotiable; static hosts provide it free.
- Clean URLs: Lowercase, hyphenated, descriptive slugs that match the page’s keyword (
/blog/keyword-research-for-developers). Pick one trailing-slash convention and redirect the other to avoid duplicates. - 301 redirects for any URL you change, so you keep accumulated ranking equity.
A Quick Technical SEO Audit
Run this checklist on a representative page:
- View source — is the content in the HTML?
- Is the
<title>unique and under ~60 chars? - Is there a unique meta description and a canonical tag?
- Is the page in your sitemap with an accurate
lastmod? - Does it have valid JSON-LD (test with Google’s Rich Results Test)?
- Do Core Web Vitals pass on mobile (PageSpeed Insights)?
- Is it indexed (search
site:yoursite.com/your-page)?
Fix any “no,” and your content has a clean runway to rank.
The Foundation, Not the Finish Line
Technical SEO does not earn rankings on its own — it removes the obstacles between your content and the search engine. Get it right once at the framework level and it keeps paying off on every page you publish. With the infrastructure solid, your effort goes where it compounds: keyword research, topic clusters, and the broader marketing system in the DRM 101 guide.
Topics
Related Articles
// frequently asked questions
Common Questions
What is technical SEO?
Technical SEO is the set of non-content optimizations that help search engines crawl, render, index, and understand your site: crawlability, sitemaps, metadata, canonical URLs, structured data, page speed, mobile-friendliness, and how your pages are rendered. It is the foundation that lets your content rank.
Are static sites better for SEO?
Static and statically-generated sites start with a real advantage: content ships in the HTML, pages are fast, and there is no server-rendering delay or client-side hydration gap for crawlers to stumble over. You still have to handle metadata, sitemaps, structured data, and Core Web Vitals, but the hardest crawlability problems are solved by default.
Does client-side rendering hurt SEO?
It can. If your content only appears after JavaScript runs, crawlers may index an empty shell or index it slowly and inconsistently. Static generation (Astro, Next.js static export, SSG) or server rendering puts the content directly in the HTML, which is the safest option for SEO. Reserve client-only rendering for interactive widgets, not primary content.
What are Core Web Vitals and do they affect rankings?
Core Web Vitals are Google's page-experience metrics: Largest Contentful Paint (loading), Interaction to Next Paint (responsiveness), and Cumulative Layout Shift (visual stability). They are a ranking factor, especially as a tiebreaker between similar pages, and they strongly affect user experience and conversion regardless of rankings.
Want More Marketing Tactics?
Subscribe to the CodeToCash newsletter for weekly articles, playbooks, and DRM strategies for developer entrepreneurs.
Trusted by indie developers shipping SaaS, tools, and templates. No spam.
// discussion
Questions? Thoughts?
Join the conversation below. You'll need a free GitHub account to comment.