Technical SEO / AEO / AIO Requirements

The Goal:

Ensure all pages are pre-rendered, semantically structured, schema-rich, internally connected, and AI-readable — with strict control over indexing and duplication.

Structured Data (Schema)

All schema must be implemented using JSON-LD format only.

Organization Schema

Defines business identity and improves trust signals.

Reference: https://schema.org/Organization

FAQ Schema

Structures Q&A content for rich results and AI extraction.

Reference: https://developers.google.com/search/docs/appearance/structured-data/faqpage

Breadcrumb Schema

Defines page hierarchy and improves search understanding.


Why we need this: Search engines and AI systems can't reliably infer meaning from raw HTML alone — schema gives them explicit, labeled context.

What Schema Is

Schema is structured data added to help search engines and AI systems clearly understand content. It acts as a labeled layer, making content machine-readable.

Semantic HTML Structure

Use semantic elements instead of generic containers.

<article> <section> <header> <nav>


Why we need this: Generic <div> soup gives crawlers no meaningful signal — semantic tags communicate purpose and hierarchy directly to the parser.

What This Means (DOM Context)

The DOM is the structured representation of HTML that search engines read. They interpret structure, not visual design.

Indexing Control & Duplication

Canonical Tags

Prevents duplicate content issues and consolidates ranking signals.

Duplicate URL Control

Prevent indexing of filtered and parameter-based pages.


Why we need this: Without canonical signals, Google may split ranking authority across duplicate URLs, diluting visibility for the pages that actually matter.

What Canonical Tags Are

Canonical tags define the main version of a page when multiple URLs contain similar content.

Performance (Core Web Vitals)

LCP < 2.5s  ·  CLS < 0.1  ·  INP optimized


Why we need this: Google uses Core Web Vitals as a ranking factor — slow, unstable pages are downgraded regardless of content quality.

What LCP, CLS, INP Mean

LCP: Main content load time

CLS: Layout stability

INP: Interaction responsiveness

HTML Structure for AI Parsing

Content Accessibility in DOM


Why we need this: Crawlers and AI agents only read what's present in the initial DOM — content revealed by JavaScript interactions is often invisible to them.

What This Means

Content must be present in the DOM on load. Content hidden behind interactions may not be indexed.

Clean HTML Output

Priority Checklist

High Priority
Medium Priority
Lower Priority