KB Building SEO & AEO essentials

SEO & AEO essentials researched

The per-page technical requirements and content patterns that keep every site we ship visible in both classic search engines and AI answer systems.

Use this when

You are implementing or reviewing a page before it goes live, or auditing an existing page for search and answer-engine readiness.

Definition of done

(1) Every page has a unique title and meta description, a canonical URL, and is reachable from sitemap.xml. (2) At minimum one WebPage or domain-appropriate JSON-LD block is present in the <head>. (3) Core Web Vitals pass in PageSpeed Insights for mobile (LCP ≤ 2.5 s, CLS < 0.1, INP ≤ 200 ms). (4) The page opens with a clear, entity-resolved H1 and a direct answer paragraph within the first 100 words.

Requirements

Technical SEO baseline

  1. Write a unique, descriptive <title>. Keep it 50–60 characters. Lead with the primary keyword; brand name goes last, separated by a dash or pipe. Google truncates at roughly 600 px of rendered width — measure in the Google Search Central title-link docs (verified 2026-05).
  2. Set a meta name="description" of 50–160 characters. This is not a ranking factor, but it is the snippet text Google often shows. Make it a complete, accurate sentence — not a keyword list.
  3. Declare a canonical URL. Add <link rel="canonical" href="https://example.com/page-slug"> in the <head> of every page. On Webflow and HubSpot the canonical is set in page settings; on custom builds the KB build step generates it from the file path (Google canonical docs, verified 2026-05).
  4. Submit a sitemap.xml to Google Search Console. The sitemap must include all indexable URLs and be referenced in robots.txt as Sitemap: https://example.com/sitemap.xml. Webflow generates one automatically; HubSpot does too but excludes landing pages by default — check the setting.
  5. Configure robots.txt deliberately. The default Allow: / is usually correct. If staging or private paths exist, disallow them explicitly rather than relying on a password gate. Never disallow CSS or JS — Googlebot needs them to render the page correctly (Google robots.txt reference, verified 2026-05).
  6. Add structured data via JSON-LD in the <head>. Choose the type that fits: WebPage for a generic page, Article or BlogPosting for editorial content, Product for e-commerce, FAQPage or HowTo for instructional content. At minimum, include name, url, description, and dateModified. Validate with the Rich Results Test and the schema.org validator.
  7. Use semantic heading hierarchy. One <h1> per page, matching or closely echoing the <title>. Subheadings in <h2>/<h3> order — never skip levels for visual styling. This is how crawlers and screen readers build an outline of the page.
  8. Hit Core Web Vitals targets. Google uses CWV as a tiebreaker ranking signal (Google CWV docs, verified 2026-05). The thresholds for a "Good" rating: LCP ≤ 2.5 s (largest contentful paint), CLS < 0.1 (cumulative layout shift), INP ≤ 200 ms (interaction to next paint). Measure in PageSpeed Insights for mobile, not just desktop. Preload the LCP image, set explicit width/height on images to prevent CLS, and keep third-party scripts deferred.

AEO — answer engine optimization

AEO is the practice of structuring content so that AI answer systems (ChatGPT, Perplexity, Google AI Overviews, Bing Copilot) cite or summarize your pages accurately. As of 2026, AEO best practices are still consolidating — the guidance below reflects current practitioner consensus and Stormfors internal testing; treat AEO claims as verified 2026-05 unless a primary source is linked.

  1. Open with a direct answer. Place a 1–3 sentence answer to the page's primary question within the first 100 words — before any background or context. AI retrieval systems prefer passages that answer cleanly rather than passages that build toward an answer. Classic SEO rewards the same pattern in featured snippets.
  2. Resolve entities explicitly. Name people, companies, products, and places fully on first mention. AI models ground extraction on named entities; an ambiguous pronoun or abbreviation breaks citation quality. If the page is about a company, include full legal name, location, and industry in the first paragraph.
  3. Use FAQ and HowTo schema for instructional content. FAQPage schema marks up Q&A pairs and triggers Google's FAQ rich results; it also makes individual question-answer blocks easy for LLMs to extract. HowTo schema does the same for step-by-step procedures. Both types are documented at schema.org/FAQPage and eligible for rich results per Google's FAQ structured data docs (verified 2026-05).
  4. Date content explicitly. Add datePublished and dateModified to your JSON-LD. AI systems weight freshness heavily when retrieving factual content. Stale-looking content — or content with no visible date — is deprioritized for citation even when accurate.
  5. Write complete, self-contained sections. Structure each <h2> section so it can be read in isolation and still make sense. AI retrieval operates at the passage level, not the page level; sections that depend on prior context for meaning get cited less.

Per-page developer checklist

This is a build-time checklist, shorter than the go-live launch checklist. Apply it to every new page before it merges.

Gotchas

Webflow's auto-generated canonical uses the Webflow subdomain unless overridden. Set the custom domain canonical explicitly in page settings. The same applies to the sitemap — Webflow's generated sitemap references the primary domain, but only after the custom domain is set as primary in Webflow hosting settings.

HubSpot landing pages are excluded from the auto-sitemap by default. Check the "Include in sitemap" toggle on each landing page. HubSpot also injects its own canonical for pages it hosts; you cannot override it via custom code in the <head> — the platform's canonical wins.

AEO and SEO can conflict on length. Classic SEO rewards comprehensive, long-form pages. AI systems prefer dense, self-contained passages. The practical resolution: write the direct answer first (AEO), then expand with depth (SEO). Don't pad sections with filler just to hit a word count — AI extractors treat filler as noise and skip the whole passage.

INP replaced FID as a Core Web Vitals metric in March 2024 — tools or docs referencing First Input Delay are outdated. If a CWV report still shows FID, the data is from an old collection window (web.dev INP reference, verified 2026-05).

Why & sources

Technical SEO requirements derive directly from Google's crawler and ranking documentation, which is unusually transparent on these points. Canonicals, sitemaps, robots.txt, and structured data are all covered in Google Search Central. Core Web Vitals thresholds are published at web.dev/vitals with measurement methodology; the March 2024 INP swap is covered in the INP article. Schema types and JSON-LD syntax are at schema.org.

AEO guidance is synthesized from Stormfors internal AIO research (context vault: "Stormfors AEO & B2B SEO Strategy Guide", "Stormfors AIO internprojekt", 2026-04), practitioner writing on AI Overviews and Perplexity citation patterns, and We Know AEO's live testing. Because answer-engine behavior is undocumented and changes frequently, the AEO section above is dated 2026-05 and should be reviewed quarterly.

Last reviewed

2026-05-27