Back to Blog

Technical SEO & AEO Checklist for Developers

·, Founder·Updated ·Technical SEO
technical seoseo checklistdeveloper seoaeoanswer engine optimization

Most SEO guides are written for marketers. This one is written for you — the developer who actually ships the fixes. Below is a concrete technical SEO checklist you can work through in a single sprint, complete with code snippets and verification steps.

1. Crawlability & Indexing

Search engines can only rank pages they can find. Start here.

robots.txt

Your robots.txt should live at the site root and explicitly allow the pages you want indexed:

User-agent: *
Allow: /
Disallow: /api/
Disallow: /admin/

Sitemap: https://example.com/sitemap.xml

Verify: Run curl -s https://yoursite.com/robots.txt and confirm it returns the expected rules. Check the robots.txt report in Google Search Console (Settings) to see the version Google fetched and any parse errors.

XML Sitemap

Generate your sitemap dynamically so it stays in sync with your pages. In Next.js, export a sitemap.ts in your app directory:

export default function sitemap() {
  return [
    { url: "https://example.com", lastModified: new Date() },
    { url: "https://example.com/blog", lastModified: new Date() },
    // Add all public routes
  ];
}

Verify: Submit your sitemap in Google Search Console under Sitemaps and check how many URLs were discovered. Then filter the Page indexing report by that sitemap to see how many are indexed.

Canonical Tags

Every page needs a canonical URL to prevent duplicate content issues. Next.js handles this via the metadata export:

export const metadata = {
  alternates: { canonical: "https://example.com/page" },
};

2. Core Web Vitals

Google uses three metrics (LCP, INP and CLS) as ranking signals. The thresholds below are the "good" values from web.dev's Core Web Vitals guide. Here is how to hit them.

Largest Contentful Paint (LCP < 2.5s)

  • Preload hero images with priority in Next.js <Image>:
    <Image src="/hero.webp" alt="Hero" priority width={1200} height={630} />
    
  • Eliminate render-blocking CSS — inline critical styles or use next/font to self-host fonts.
  • Use a CDN for static assets. Vercel and Cloudflare Pages do this automatically.

Interaction to Next Paint (INP < 200ms)

  • Keep main-thread JavaScript under 50ms per task. Break long tasks with requestIdleCallback or scheduler.yield().
  • Avoid layout thrashing — batch DOM reads and writes.
  • Use React.lazy() and dynamic imports to keep initial bundle lean.

Cumulative Layout Shift (CLS < 0.1)

  • Always set explicit width and height on images and videos.
  • Avoid injecting content above the fold after initial paint.
  • Use CSS aspect-ratio for responsive media containers.

Verify: Run Lighthouse in Chrome DevTools for lab data. For field data from real users, check PageSpeed Insights or the Core Web Vitals report in Search Console.

3. Meta Tags & Open Graph

Each page needs unique, descriptive meta tags. Use your framework's metadata API:

export const metadata = {
  title: "Your Page Title — Brand",
  description: "A concise summary of the page, around 120-155 characters.",
  openGraph: {
    title: "Your Page Title",
    description: "Same or similar description for social sharing.",
    images: [{ url: "/og-image.png", width: 1200, height: 630 }],
  },
};

Key rules:

  • Title: unique and descriptive, primary keyword near the front. Google sets no fixed limit but truncates long titles, so about 50-60 characters is a safe range
  • Description: a short summary with a call to action, around 120-155 characters. Google may show it as the snippet or write its own
  • OG image: 1200×630px, text legible at thumbnail size

4. Structured Data (JSON-LD)

Structured data can make pages eligible for rich results in search. Add JSON-LD to your pages, or build it with the free schema markup generator:

const jsonLd = {
  "@context": "https://schema.org",
  "@type": "Article",
  headline: "Your Article Title",
  datePublished: "2026-03-24",
  author: { "@type": "Person", name: "Author Name" },
};

<script
  type="application/ld+json"
  dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
/>

Common types: Article, SoftwareApplication, BreadcrumbList, Organization, Product.

AEO note: Google removed HowTo rich results in 2023, and FAQ rich results stopped appearing in Google Search on 7 May 2026. FAQPage markup is still valid schema, but it no longer earns a rich result, and no schema type guarantees an AI citation. For AEO (Answer Engine Optimization), what matters more is visible content an answer engine can quote: a clear question heading followed by a short, direct answer.

Verify: Use Google's Rich Results Test at search.google.com/test/rich-results.

5. Performance & Rendering

Server-Side Rendering vs Static Generation

  • Static (SSG): Use for content that changes infrequently (blogs, docs, landing pages). Best for SEO because pages are pre-rendered and served instantly.
  • SSR: Use when content depends on the request (personalized pages, dashboards).
  • Avoid client-only rendering for pages you want indexed. Googlebot can execute JavaScript, but it is slower and less reliable than serving HTML directly.

Image Optimization

  • Use WebP or AVIF, which are usually smaller than JPEG or PNG at similar quality.
  • Implement responsive images with srcset or Next.js <Image>.
  • Lazy-load below-the-fold images with loading="lazy".

6. URL Structure & Internal Linking

  • Use descriptive, hyphenated slugs: /blog/technical-seo-checklist not /blog/post?id=123.
  • Keep URLs shallow when possible.
  • Link between related pages to distribute page authority. Every important page should be reachable in a few clicks from the homepage.

7. HTTPS, Mobile, & Accessibility

  • HTTPS everywhere. No excuses — it is a ranking signal and a trust signal.
  • Mobile-first. Google indexes the mobile version of your site. Test with Chrome's device emulator and ensure tap targets are at least 48×48px.
  • Semantic HTML. Use <main>, <nav>, <article>, <h1>–<h6> correctly. Screen readers and search engines both benefit.

8. AEO (Answer Engine Optimization)

As AI answer engines (ChatGPT, Perplexity, Google AI Overviews) increasingly drive traffic, optimizing for citation is now as important as optimizing for ranking.

Key AEO Signals

  • Schema markup: Add accurate JSON-LD (Article, Organization, BreadcrumbList) so machines can tell what the page is. It helps parsing; it does not guarantee citations
  • Concise answers: Write a short paragraph (under 50 words) directly after each heading that answers it, so an AI engine can lift it as a standalone answer
  • Definitions: Use "X is..." patterns, which make clean, quotable definitions
  • Lists and tables: Lists (ol/ul) and tables are easy to extract
  • External citations: Link to authoritative sources to signal trustworthiness
  • Short sentences: Keep sentences short. XeoRank's AEO score gives full credit for an average of 15 words or fewer
  • Heading hierarchy: Maintain proper H1→H2→H3 nesting without skipping levels
  • Date modified: Include dateModified in JSON-LD or <time> tags for freshness signals

Check Your AEO Score

$ xyle crawl --url https://yoursite.com/post --json
# Returns 18 AEO and 15 GEO signals plus technical SEO checks

$ xyle analyze --url https://yoursite.com/post --content "..." --json
# Returns SEO, AEO and GEO scores (0-1) with recommendations

Or use the XeoRank dashboard analysis page for a visual view with score rings and a signal checklist. For a quick check without the CLI, the free page analysis scores any URL for SEO, AEO and GEO from 0 to 100.

Automate Your SEO Workflow

Manually checking all of this is tedious. Tools like XeoRank connect to Google Search Console, run AI-powered SEO, AEO and GEO analysis, and show what needs fixing, with scores and actionable recommendations, from your terminal or dashboard.

$ npm install -g @xyleapp/cli
$ xyle login
$ xyle queries --site yoursite.com
$ xyle rewrite --url https://yoursite.com/post --type title --query "technical seo checklist"

Whether you use a checklist or a tool, the key is making SEO and AEO part of your development workflow, not an afterthought. Ship these fixes incrementally, measure with real data, and iterate. Optimizing for AI answer engines today gives your content a better chance of being cited tomorrow.

Ready to optimize your search rankings?

XeoRank connects to Google Search Console, analyzes content gaps with AI, and gives you actionable fixes — from the terminal or dashboard.