SEO & AEO
And This Site Is the Proof
Search engine optimization meets answer engine optimization. Every technique described below is implemented live on this very website.
The Shift from Ranking to Being Cited
For two decades, SEO meant one thing: rank higher on Google’s blue links. That game hasn’t disappeared, but it has expanded. In 2026, search is no longer just a list of links; it is a conversation. Google AI Overviews, Perplexity, ChatGPT, and Claude don’t just link to your content. They cite it. They extract your answer, attribute it to you, and present it directly.
This new discipline, Answer Engine Optimization (AEO), is about structuring your content so that AI models can confidently identify, extract, and cite it. The signals that matter are different: entity clarity, structured data, direct answers, and the kind of first-hand expertise that Google’s E-E-A-T framework rewards.
This page is not a theoretical overview. Every technique below is implemented live on this website. The page itself carries triple structured data (Article, FAQPage, BreadcrumbList) as a working demonstration.
How Search Has Changed
Two parallel journeys for the same user query: one ends at a SERP blue link, the other ends as a direct AI citation.
Traditional SEO wins
High-ranking pages get clicks. Success is measured by organic traffic, keyword rankings, and click-through rates from the SERP.
AEO wins
Well-structured content gets cited directly. Success is measured by AI citation frequency, entity recognition, and zero-click authority.
Technical SEO Foundations
The unglamorous infrastructure that makes everything else work. Each practice below is implemented on this site.
Canonical URLs on every page
Prevents duplicate content issues and consolidates ranking signals to a single authoritative URL.
Dynamic sitemap with article-level entries
Ensures crawlers discover every page and know when content was last updated.
Robots with selective exclusions
Controls crawl scope so only published, high-quality content is indexed.
Self-hosted fonts (zero CDN latency)
Eliminates render-blocking external requests and prevents Flash of Unstyled Text (FOUT).
lang="en" on root <html> element
Declares content language for screen readers and crawlers. Required for i18n and accessibility.
Static export for edge caching
Pre-rendered HTML is served from CDN edge nodes worldwide. Fastest possible Time to First Byte.
Want me to audit your site’s SEO foundations and structured data?
Structured Data: The Language Machines Understand
JSON-LD schema implemented across this site. Each type serves a specific purpose for search engines and AI models.
Person + WebSite
Root layout (every page)
Entity declaration with sameAs links (LinkedIn, GitHub, X) for unambiguous identity. This is what tells AI models exactly who Daniel Carral is.
{ "@type": "Person", "name": "Daniel Carral", "knowsAbout": [...], "sameAs": [...] }Article
5 article pages
Full Article schema with datePublished, author, publisher (Organization), image, and keywords. Enables Article rich results in Google Search and Discover.
{ "@type": "Article", "headline": "...", "datePublished": "...", "image": "...", "publisher": { "@type": "Organization" } }FAQPage
4 pages (3 team + this page)
Maps FAQ accordion content to Question + AcceptedAnswer pairs. Unlocks "People also ask" rich results and makes content directly extractable by AI models.
{ "@type": "FAQPage", "mainEntity": [{ "@type": "Question", "name": "...", "acceptedAnswer": { "@type": "Answer" } }] }BreadcrumbList
Articles, case studies, team + about sub-pages
SERP breadcrumb display showing the page hierarchy. Helps both users and crawlers understand site structure at a glance.
{ "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Home" }, ...] }Review + AggregateRating
Testimonials page
9 individual Review entries with a 5/5 AggregateRating rollup. Can surface star ratings in SERPs for branded queries.
{ "@type": "Person", "aggregateRating": { "@type": "AggregateRating", "ratingValue": "5", "ratingCount": "9" } }DefinedTermSet
Glossary (118 entries)
Each glossary term is a DefinedTerm with name, description, and URL. AI models frequently cite well-structured glossaries for definitional queries.
{ "@type": "DefinedTermSet", "hasDefinedTerm": [{ "@type": "DefinedTerm", "name": "...", "description": "..." }] }How Schema Signals Flow
From a single JSON-LD block on a content page to rich SERP features and AI model citations.
AEO Signals: Writing for AI Citation
Beyond code: the content strategies that make this site citable by AI models.
FAQ format
Q&A content gets cited by AI models more often than dense prose. Three workshop pages use FAQ accordions backed by FAQPage schema, structured for both human readability and machine extraction.
Definitive answers
The 118-entry glossary provides concise, authoritative definitions: exactly the format AI models prefer when answering "What is X?" queries. Each term is a DefinedTerm in structured data.
Specificity and quantification
Case study stats like "+20% conversion rate" and "MVP in 3 weeks" are prime AI citation candidates. Vague claims get ignored; quantified outcomes get quoted.
Entity-linked content
GlossaryTerm components provide inline definitions and internal linking, reinforcing topic authority. Breadcrumbs and cross-links create a dense semantic web that crawlers can follow.
Author authority (E-E-A-T)
Person schema with knowsAbout, sameAs (LinkedIn, GitHub, X), publication credits, and review ratings. Google's E-E-A-T framework rewards first-hand experience, and every technique described on this page is implemented live on this site.
Core Web Vitals & Performance
Technical performance is a ranking signal and a user experience signal. Here is how this site handles it.
Hero images: <picture> + WebP + blur placeholder
Background hero images use native <picture> with WebP/JPEG fallback and inline Base64 blur data URLs. Deliberate choice over next/image, which doesn't support CSS background use cases in static export.
Font loading: self-hosted with display: swap
Playfair Display and Lato are fetched at build time via next/font/google and served as self-hosted files. Zero CDN round-trips at runtime, no FOUT.
Preload hints for LCP images
Pages with hero background images automatically emit <link rel="preload" as="image"> hints, telling the browser about the LCP element before the stylesheet is even parsed.
Real-user monitoring
Vercel Speed Insights and Cloudflare Web Analytics provide real-user Core Web Vitals data, not just synthetic Lighthouse scores.
Useful SEO & AEO Tools
The tools I use to validate structured data, monitor search performance, and keep this site technically sound.
Google Rich Results Test
Validates JSON-LD and structured data markup. Shows exactly which rich result types your page is eligible for.
Schema.org Validator
Checks schema markup conformance against the official Schema.org specification. Catches subtle errors the Rich Results Test may miss.
Google Search Console
Monitors index coverage, Core Web Vitals, sitemap health, and search performance. The single most important SEO tool for any site owner.
PageSpeed Insights
Measures Core Web Vitals (LCP, CLS, INP) with both lab and real-user data. Performance is a ranking signal; this tool shows where you stand.
Screaming Frog SEO Spider
Crawl-level SEO audit covering titles, meta descriptions, canonicals, redirects, and broken links. Essential for technical SEO audits.
OpenGraph Preview
Previews how your OG tags render on Facebook, LinkedIn, Slack, and other platforms. Catches missing images and truncated descriptions before sharing.
Frequently Asked Questions
This FAQ section itself uses FAQPage schema, exactly the technique it describes.
What is the difference between SEO and AEO?+
SEO (Search Engine Optimization) focuses on ranking in traditional search results: blue links on Google. AEO (Answer Engine Optimization) focuses on being cited by AI-powered answer engines like Google AI Overviews, Perplexity, ChatGPT, and Claude. AEO requires structured data, entity clarity, and authoritative content that AI models can confidently extract and cite.
How does structured data help AI models cite my content?+
Structured data (JSON-LD) gives AI models machine-readable context about your content: who wrote it, when, what it's about, and how it relates to other entities. Without it, AI models have to infer these relationships from unstructured text, which is less reliable and less likely to result in a citation.
Which schema types matter most for a consulting website?+
Person schema (entity identity), Article schema (content attribution), FAQPage (Q&A rich results), BreadcrumbList (site structure), and Review/AggregateRating (social proof). These cover the core signals that both search engines and AI models use to evaluate expertise and authority.
How long does it take to see results from structured data?+
Rich results (FAQ snippets, breadcrumbs, star ratings) can appear within days of Google recrawling the page. AEO effects take longer; AI model training data is updated on different cycles, but well-structured content tends to surface in AI Overviews within weeks.
Do I need a developer to implement JSON-LD?+
Not necessarily. JSON-LD is a JavaScript snippet that sits in the page head; many CMS platforms support it via plugins. For custom implementations, a developer can set up reusable schema builders (like the ones on this site) that generate correct structured data automatically for every page.
Related Skill Deep-Dives
Each skill deep-dive on the Skills & Framework page explores a specific domain in depth, combining theory, practical frameworks, and real-world application.
Want Your Site to Rank and Get Cited by AI?
I help organisations implement the exact SEO and AEO strategies demonstrated on this site, from structured data and Core Web Vitals to content architecture that AI models prefer to cite.