Schema Markup for AI Search: What It Does and How to Add It, Step by Step
What schema markup does for AI search, what it doesn't, and how to add it step by step: check crawlability, choose types, write JSON-LD, validate and track results.
for AI search
When we walk clients through their AI visibility reports, schema markup often gets a shrug. It sounds like an old SEO chore, the kind of thing you set up once in a plugin and forget.
Sometimes that’s fair. In some industries, schema barely seems to matter. In others, nearly every page AI engines cite has it, and the brands without it are missing a basic layer.
The trouble is that most advice online sits at one of two extremes. Some guides promise schema is a shortcut to AI citations. Others say it does nothing at all. Neither helps you decide what to do on Monday morning.
This guide takes the middle path, with our own data. By the end, you’ll know:
- what schema markup is, in plain English
- what it can and can’t do for AI search
- how to check that AI crawlers can read your site first
- how to choose, write, validate and deploy schema, step by step
- how to tell whether it’s working
What is schema markup?
Schema markup is a small block of code on a web page that describes the page’s content in a standard, machine-readable format. It tells search engines and AI systems what things are: this is an organization, this is its logo, this is the author, this is a product, this is its price. Instead of leaving machines to guess, you label the facts.
The vocabulary comes from Schema.org, a shared standard backed by Google, Microsoft, Yahoo and Yandex. The most common format is JSON-LD, a short script that sits in the page’s code and doesn’t change what visitors see.
Here’s a tiny example. It tells machines that a company called SEOPulse exists, where its website is, and what it does:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "SEOPulse",
"url": "https://www.seopulse.io",
"description": "SEOPulse is an AI visibility and intelligence platform. It tracks how AI engines mention, cite and recommend brands in ChatGPT, Gemini, Perplexity, Google AI Overviews and Google AI Mode, across markets and languages."
}You can think of schema as a labeled spreadsheet about your page. Each item has properties, and those properties can have their own properties. A product has an offer. The offer has a price. The price has a currency.
Schema, entities and the knowledge graph
To see why schema matters for AI, you need two more terms.
- Entity: a distinct, identifiable thing. A company, a person, a product, a place or a concept.
- Knowledge graph: the connected map of entities that search engines and AI systems use to understand how things relate. This author wrote this article. This company makes this product. This product is in this category.
Imagine 100 companies called “Apex.” When an AI engine reads about “Apex,” it has to work out which one you mean. Schema helps it decide. By stating your name, website, location and official profiles in one place, you make it easier for machines to connect your pages, your mentions and your reviews to the right business.
That’s the real job of schema in AI search. Schema doesn’t make AI pick you. It helps AI know it’s you.
Does schema markup help you get cited in AI search?
Schema markup helps AI systems understand your pages and your brand, but there’s no evidence it earns citations on its own. Google states that structured data isn’t required for its generative AI features. Our own data shows most cited pages do carry schema, which makes it a baseline worth having, not a shortcut.
Here’s what we know, and what we don’t.
What Google says
Google’s guide to optimizing for generative AI features, last updated July 2026, is direct:
- Structured data isn’t required for generative AI search, and there’s no special schema to add for it.
- Google still recommends structured data, because it helps pages qualify for rich results in regular search.
- You don’t need AI text files like llms.txt to appear in Google Search. Google Search ignores them.
In short, optimizing for Google’s AI features is still SEO.
What our data shows
In SEOPulse’s GEO & AI Search Benchmark (data collected August 2026), we analyzed 30,106 web pages cited by five AI engines: ChatGPT, Gemini, Perplexity, Google AI Overviews and Google AI Mode.
- 72.32% of cited pages carried JSON-LD schema.
- 77.2% carried some form of structured markup (JSON-LD, tables or charts).
- Only 21.7% were plain text pages with no structured elements.
So most of the pages AI engines choose to cite have schema.
But be careful how you read that. It doesn’t prove schema caused those citations. Cited pages also tend to come from larger, well-maintained sites that do many things well, schema included. Our dataset also grouped schema with other structured formats like tables and charts, so we can’t isolate the effect of schema alone.
The fair conclusion: schema is table stakes. Most of the pages you’re competing against already have it. Not having it won’t necessarily sink you, but it’s one fewer signal working in your favor.
Schema matters more in some industries
We also see big differences by industry. In some categories, the pages AI engines cite almost always carry structured data. In others, schema barely shows up as a pattern. That’s why we treat schema as industry-dependent, not a universal rule.
Some patterns from our benchmark:
| Industry | What AI engines tended to cite | What it means for schema |
|---|---|---|
| Insurance | Objective, well-structured policy explanations over marketing pages | Clear coverage FAQs with matching JSON-LD are worth the effort |
| Investment brokerage | Fee and pricing data pulled from structured tables | Tables and Product/Offer markup that match visible prices |
| Luxury and hotels | Curated lists, publishers and community posts | Organization schema helps identity, but third-party mentions matter more |
Patterns observed in SEOPulse’s August 2026 benchmark sample. They describe what was cited, not what caused the citation.
How do you fix crawlability before adding schema?
Make sure AI crawlers are allowed to visit your site and can read your content without running JavaScript. Schema can’t help a page that AI systems can’t access. Check your robots.txt rules, your firewall, your page rendering and your indexing before you write a single line of markup.
This is the step most schema guides skip. It’s also where we see the biggest early wins.
The crawlability checklist
| Check | What to look for | Why it matters |
|---|---|---|
| 1. robots.txt | You aren’t blocking the AI crawlers you want, such as OAI-SearchBot (ChatGPT search), PerplexityBot and Googlebot | Blocked crawlers can’t read your pages |
| 2. Search vs training bots | Understand which bot does what. OpenAI uses OAI-SearchBot for ChatGPT search and GPTBot for model training | You can block training without blocking search visibility |
| 3. Firewall and CDN settings | Bot protection isn’t returning 403 errors to AI crawlers | Security tools often block AI bots without anyone noticing |
| 4. Rendering | Your main text, and your schema, appear in the raw HTML, not only after JavaScript runs | Many AI crawlers only read first-load HTML |
| 5. Indexing | Key pages aren’t set to noindex and are in your sitemap | AI search engines often build on search indexes |
Why rendering matters so much
Google can render JavaScript. Many AI crawlers can’t. They read the HTML your server sends when the page first loads, and if your content is tucked inside JavaScript, they may only see a blank page.
That has two consequences:
- 1If your page content loads with JavaScript, AI crawlers may see a blank page.
- 2If your schema is added with JavaScript, for example through Google Tag Manager, AI crawlers may never see it.
A quick test: open your page, choose “View page source” (not “Inspect”), and search for a sentence from your main content and for application/ld+json. If you can’t find them in the source, AI crawlers probably can’t either.
Example: from 0% to 1% visibility with a technical fix alone
Tenfold AI is a legal technology brand targeting Taiwan in English and Traditional Chinese. When tracking started in SEOPulse, its AI visibility was 0%.
SEOPulse’s technical audit found rendering issues that kept AI crawlers from reading the site’s content. Once the team fixed how pages were delivered, visibility moved to 1%. Targeted content work on 10 pages then lifted it to 7%, and average AI engine rank moved from #50 to #28.
The technical fix didn’t win the citations by itself. But nothing else could work until it was in place. (This fix was about rendering, not schema. It’s here because crawlability always comes first.)
How to add schema markup for AI search: step by step
Here’s the full process at a glance:
- 1Build your entity kit
- 2Choose schema types for each page template
- 3Write connected JSON-LD
- 4Match every value to visible content
- 5Validate the code, then validate the live page
- 6Deploy it in the page HTML
- 7Log changes and keep schema up to date
Let’s go through each one.
Step 1: How do you prepare your brand facts for schema?
Before writing any code, collect one approved version of your core brand facts: your official name, a one-line description, your logo, contact details, and a list of every official profile. Schema only helps if it’s accurate and consistent with what the rest of the web says about you.
AI systems compare what you say about yourself with what other sites say. If your website, LinkedIn page and directory listings describe you in four different ways, schema can’t fix the confusion. It just adds a fifth version.
Create a simple entity kit:
| Item | Example |
|---|---|
| Official name | SEOPulse |
| Alternate names | SEOPulse, SEOPulse.io, local-language names |
| One-line description | An AI visibility and intelligence platform |
| Website | https://www.seopulse.io |
| Logo URL | A full, absolute URL to a PNG or SVG |
| Official profiles (sameAs) | LinkedIn, Crunchbase, Wikidata, X, regional directories |
| Key people | Founders and authors, with their own profile links |
Then check each profile against the kit. Look for:
- Hard conflicts: different headquarters, an outdated business category, old product names
- Drift: small differences like “nearly 10 years” vs “10+ years”
Fix the hard conflicts first. Those are the ones most likely to confuse an AI system about who you are.
The sameAs property is your “this is also us” list. It links your schema to your official profiles elsewhere, so machines can be confident that your LinkedIn page, your Crunchbase entry and your website all describe the same business.
Step 2: Which schema types should you use?
Choose schema types based on what each page actually is, not on a list of every type available. Most sites need a small set: Organization and WebSite site-wide, then Article for content, Product or Service for offers, and Person for authors.
Work by page template, not page by page. Your blog posts share one template, your product pages another.
| Page type | Schema types to use | Priority |
|---|---|---|
| Homepage | Organization (or LocalBusiness), WebSite | High |
| About page | Organization, AboutPage | High |
| Product or service page | Product, Service or SoftwareApplication, with Offer, plus WebPage and BreadcrumbList | High |
| Blog post or guide | Article or BlogPosting, Person (author), BreadcrumbList | High |
| Author page | ProfilePage, Person with sameAs links | Medium |
| Visible FAQ section | FAQPage | Medium |
| Step-by-step guide | HowTo | Low to medium |
| Physical location | LocalBusiness with address and opening hours | High for local businesses |
Only use a type if the page really is that thing. A blog post isn’t a Product. A service page doesn’t need Recipe markup. Wrong types add noise rather than clarity.
Step 3: How do you write connected JSON-LD?
Write one JSON-LD block per page that links its entities together using @id identifiers. Your Organization, WebSite, WebPage, Article and author should reference each other, so machines see one connected picture rather than five separate facts.
The key is the @id. It’s a stable identifier, usually your URL plus a label like #organization. Define your organization once, then point to it from every page using the same @id.
Here’s a connected example for a blog post on the SEOPulse site:
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://www.seopulse.io/#organization",
"name": "SEOPulse",
"alternateName": "SEO Pulse",
"url": "https://www.seopulse.io",
"logo": "https://www.seopulse.io/[FILL: logo-file].png",
"description": "SEOPulse is an AI visibility and intelligence platform. It tracks how AI engines mention, cite and recommend brands in ChatGPT, Gemini, Perplexity, Google AI Overviews and Google AI Mode, across markets and languages.",
"sameAs": [
"https://www.linkedin.com/company/[FILL]",
"https://www.crunchbase.com/organization/[FILL]"
]
},
{
"@type": "WebSite",
"@id": "https://www.seopulse.io/#website",
"url": "https://www.seopulse.io",
"name": "SEOPulse",
"publisher": { "@id": "https://www.seopulse.io/#organization" },
"inLanguage": "en"
},
{
"@type": "Person",
"@id": "https://www.seopulse.io/#[FILL: author-slug]",
"name": "[FILL: author name]",
"jobTitle": "[FILL: job title]",
"worksFor": { "@id": "https://www.seopulse.io/#organization" },
"sameAs": [
"https://www.linkedin.com/in/[FILL]"
]
},
{
"@type": "BlogPosting",
"@id": "https://www.seopulse.io/blog/schema-markup-for-ai-search/#article",
"headline": "Schema Markup for AI Search: What It Does and How to Add It, Step by Step",
"description": "What schema markup does for AI search, what it doesn't, and how to add it step by step.",
"datePublished": "[FILL: YYYY-MM-DD]",
"dateModified": "[FILL: YYYY-MM-DD]",
"inLanguage": "en",
"author": { "@id": "https://www.seopulse.io/#[FILL: author-slug]" },
"publisher": { "@id": "https://www.seopulse.io/#organization" },
"isPartOf": { "@id": "https://www.seopulse.io/#website" },
"mainEntityOfPage": "https://www.seopulse.io/blog/schema-markup-for-ai-search/"
}
]
}What each part does:
- @graph holds several entities in one block.
- @id gives each entity a stable identifier that other entities can point to.
- publisher, author, worksFor and isPartOf connect the entities: this article belongs to this website, was written by this person, who works for this company.
- sameAs links the organization and author to their official profiles.
- dateModified gives a clear freshness signal. Keep it accurate.
Using AI to generate schema
You don’t have to write JSON-LD by hand. Claude, ChatGPT and Gemini can all draft it from a page’s content. The output is usually close to ready, but you still need to check it. Expect blanks where the AI couldn’t find something, most often a logo or image URL.
Copy this prompt and paste your page content (or URL, if your AI tool can browse) underneath:
You are a technical SEO specialist. Generate JSON-LD schema markup for the page below. Rules: 1. Choose schema types based on what the page actually is. Explain your choices first. 2. Use a single @graph. Connect entities with @id values based on the site URL (e.g. https://example.com/#organization). 3. Only include facts that appear on the page or in the brand details I provide. Never invent ratings, reviews, prices, dates or awards. 4. FAQ questions and answers must match the visible page text word for word. 5. Where a value is missing, write [FILL: description] instead of guessing. 6. Use straight double quotes only, and return valid JSON. 7. After the code, list every [FILL] field and anything I should double-check. Brand details: - Official name: - Website: - Logo URL: - One-line description: - Official profiles (sameAs): - Author name, title and profile links: Page content or URL: [PASTE HERE]
Step 4: Why must schema match the visible page?
Every value in your schema should match what a visitor can see on the page. If your schema says a service costs $3,000 and the page says $3,500, you’ve created a conflict. When structured data says one thing and the visible text says another, AI systems have less reason to trust either.
Follow three rules:
- 1Mark up only what’s on the page. If it isn’t visible, leave it out of the schema.
- 2Copy FAQ text exactly. Questions and answers in FAQPage markup should match the visible FAQ word for word.
- 3Edit the page first, then the schema. Never change schema to say something the page doesn’t.
Never add fake reviews or ratings. Only mark up genuine reviews that are visible on the page.
Step 5: How do you validate schema markup?
Validate twice: once on the code before you publish, and again on the live URL after you publish. The first check catches errors in the code. The second confirms the schema actually made it onto the page.
Use two different tools, because they check different things:
| Tool | What it checks | What it doesn’t prove |
|---|---|---|
| Schema Markup Validator | Whether your code is valid Schema.org vocabulary, for any type | That Google will show a rich result, or that AI engines will cite you |
| Google Rich Results Test | Whether the page qualifies for Google’s supported rich results | Anything about ChatGPT, Perplexity or other AI engines |
How to fix errors:
- Missing fields: usually a blank logo or image URL. Add the full, absolute URL.
- Broken syntax: often caused by curly “smart” quotes or a missing comma. Replace curly quotes with straight ones.
- Stuck? Screenshot the error message and paste it back into the AI tool that generated the code. Ask it to fix only that error.
A clean result means your schema is valid. It doesn’t mean AI engines will use it. That’s what Step 7 is for.
Step 6: Where should you add schema on your site?
Add schema in the page’s HTML, ideally in the <head>, so it’s there when the page first loads. This is the safest option for AI crawlers, because they read the raw HTML and don’t run JavaScript.
| Method | Good for | AI crawler risk |
|---|---|---|
| Site template or theme code | Site-wide Organization and WebSite schema, and article templates | Low. Schema is in the raw HTML. |
| CMS plugin (e.g. Yoast, Rank Math on WordPress) | Article, author and breadcrumb schema at scale | Low, as long as the plugin outputs it server-side |
| Custom code block in a page builder | One-off pages like a pricing or service page | Low, if the code block is rendered in the HTML |
| Google Tag Manager | Quick tests when you can’t edit the site | High. Schema is added by JavaScript, which most AI crawlers don’t run. |
Watch for duplicates. If your CMS plugin already adds Organization schema and you add your own, you may end up with two conflicting versions. Check the page source and keep one.
After you deploy, run the live URL through the Schema Markup Validator again. If the schema shows up there and in “View page source,” you’re done.
Step 7: How do you maintain schema over time?
Keep a simple change log and re-validate whenever facts, templates or products change. Schema goes stale quietly. A price change, a rebrand or a new CMS theme can break it without anyone noticing.
Log every change with the date, the pages affected and what changed:
| Date | Pages | Change |
|---|---|---|
| [date] | All blog posts | Added Person schema with author sameAs links |
| [date] | /pricing | Updated Offer prices to match new pricing |
| [date] | Site-wide | Fixed missing logo URL in Organization schema |
This log matters later. When your AI visibility changes, you’ll want to know what else changed at the same time.
Set reminders to re-validate:
- after any theme, template or CMS update
- when prices, products, team members or contact details change
- at least once a quarter for your most important pages
Should you still use FAQ and HowTo schema?
Yes, if the page has a real FAQ or step-by-step section, but don’t expect special treatment in search results. Google no longer shows FAQ rich results. The markup is still valid Schema.org vocabulary and still describes your content clearly.
What changed is the display, not the value of the content itself:
- Keep visible FAQs. People read them, and they’re often written in the same question-and-answer shape AI engines use to build answers.
- FAQPage markup is cheap to add when the FAQ already exists. Just keep it word-for-word with the page.
- Don’t add FAQs only for the markup. A list of thin questions written to fill a schema block helps no one.
There’s no reliable evidence that FAQ or HowTo markup multiplies AI citations. Add it because it accurately describes the page.
How should you use schema for multilingual and Asian markets?
Use one consistent entity across every language version of your site, and tell machines which language each page is in. If your brand has an English name and a Chinese, Japanese or Thai name, list both. This helps AI systems connect mentions in different languages to the same business.
This matters a lot in Asia, where buyers often search in more than one language, and AI answers can change depending on the language of the question.
What to add:
- alternateName for local-language brand names, such as a Traditional Chinese or Japanese name
- inLanguage on every WebPage and Article, using codes like en, zh-Hant-TW, ja or th
- The same @id for your organization on every language version, so it’s one entity, not several
- sameAs links to regional profiles, such as local business directories or market-specific social accounts
- hreflang tags connecting each page to its translations (these sit in the HTML, outside your schema)
A short example for a brand that publishes in English and Traditional Chinese:
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://www.example.com/#organization",
"name": "Example Legal Tech",
"alternateName": ["範例法律科技", "Example LT"],
"url": "https://www.example.com",
"areaServed": "TW",
"sameAs": [
"https://www.linkedin.com/company/example-legal-tech"
]
}SEOPulse tracks AI answers by market and language, so you can see whether your brand is visible in English for Singapore, Traditional Chinese for Taiwan, or both. Treat each language as its own track when you measure.
What are the most common schema mistakes?
These are the issues that most often stop schema from doing its job.
| Mistake | Why it’s a problem | Fix |
|---|---|---|
| Schema facts don’t match the page | Conflicting facts undermine trust | Edit the page first, then the schema |
| Schema added only through JavaScript | Most AI crawlers won’t see it | Move it into the page HTML or template |
| No @id connections | Machines see separate facts, not one brand | Use stable @id values and reference them |
| Wrong schema type | Adds noise and confuses machines | Match the type to what the page actually is |
| Fake or self-written reviews | Misrepresents your brand and breaks trust | Only mark up genuine, visible reviews |
| Blank or relative logo URLs | Causes validation errors | Use a full URL starting with https:// |
| Duplicate Organization blocks | Conflicting versions of your brand | Check plugin output and keep one |
| Outdated prices, names or dates | Stale facts spread into AI answers | Re-validate after every change |
| Every type on every page | Clutter without meaning | Use the template table in Step 2 |
Where does schema fit in your content workflow?
Add schema as a line in every content brief, so it’s planned with the page rather than patched on after. The writer handles the visible facts and FAQs. The developer or SEO lead handles the markup and validation.
When we review AI visibility reports with clients, the brief is where it all comes together. As one client put it while reading their report: “it serves as the guideline, and we write the content from there.” Schema belongs in that guideline.
Add these fields to your content brief:
| Brief field | Example |
|---|---|
| Schema types | BlogPosting, Person, FAQPage |
| Entities to reference | SEOPulse (Organization), author (Person) |
| Visible facts that need markup | Author name, publish date, FAQ section |
| Owner | Writer: visible content. Developer: JSON-LD and validation. |
| Validation | Code checked before publishing, live URL checked after |
Schema is one part of making a page easy for AI to use. The page also needs answer-first sections, clear headings, specific data and passages that make sense on their own. Schema reinforces good content. It can’t replace it.
How do you know if schema markup is working?
Track a fixed set of questions in AI engines before and after you add schema, but don’t credit schema alone for any change. AI visibility moves for many reasons: new content, new links, competitor changes and engine updates. Your change log helps you separate them.
Here’s a practical way to measure it:
- 1Choose your questions. Pick the questions where you want to appear. Our guide to building a prompt tracking workflow explains how.
- 2Record a baseline before you deploy schema: brand mentions, cited URLs and competing sources, by engine and market.
- 3Deploy and log your schema changes with dates.
- 4Compare after a few weeks. Look at the same questions, engines and markets.
- 5Read the answers, not just the scores. Are AI engines now describing your brand correctly? Are they citing the right pages?
One sign schema and entity work are helping: AI answers start describing your brand more accurately, with the right category, location and products, even before your citation numbers move.
Can smaller sites win these questions?
Yes, but not every time. For the exact question “How to fix website crawlability and schema markup for AI search engines?”, SEOPulse recorded 156 citations in October 2026. 23.7% of them went to pages with a Domain Authority under 25 and fewer than five backlinks. Large, established sites took most citations, but smaller sites with clear, well-structured answers still earned a real share.
Where SEOPulse fits
SEOPulse shows how your brand appears across ChatGPT, Gemini, Perplexity, Google AI Overviews and Google AI Mode, in the markets and languages you care about. For every question you track, you see the full AI answer, the exact URLs cited and which competitors appeared.
That makes schema decisions easier:
- Technical audit. SEOPulse’s weekly technical audit (Pro and Agency plans) checks your own pages for blocked AI crawlers, missing schema and hard-to-extract structure.
- White-label content. If your team doesn’t have time to rebuild pages, SEOPulse’s content team can write them for you: answer-first structure, FAQ schema and internal links, localised into Asian languages, and delivered unbranded for agencies.
- Gap analysis. See which pages AI engines cite instead of yours, then check how those pages are built and what structured data they use.
- Before-and-after tracking. Track the same questions by engine, market and language, so you can see what changed after a technical or content update.
Frequently asked questions
Schema markup is code, usually JSON-LD, that describes a page’s content in a standard format that machines can read. For AI search, it helps engines identify your brand, your authors and your products, and connect them to the right entity. It doesn’t guarantee citations.
OpenAI hasn’t published guidance saying ChatGPT search uses schema markup. Its publisher guidance focuses on allowing OAI-SearchBot to crawl your site. Schema is still useful, because it describes your content clearly for any system that reads it, and it supports how other search engines understand your brand.
No. Google states that structured data isn’t required for its generative AI features and that there’s no special schema to add. Google still recommends structured data for rich result eligibility in regular search.
JSON-LD is the format Google recommends, and it’s the easiest to write, read and maintain because it sits in one block, separate from your visible content. Either format is valid, but JSON-LD is the practical choice for most sites.
Your site-wide Organization and WebSite schema should be present everywhere. Beyond that, add page-specific schema where it accurately describes the page: Article for content, Product or Service for offers, Person for authors. Pages like login screens or thank-you pages don’t need it.
Schema that misrepresents the page can. Marking up content that isn’t visible, inventing reviews or stating facts that conflict with the page all undermine trust. Accurate schema that matches the page can only help.
It’s optional. Google says Google Search doesn’t use llms.txt or other AI text files. Some other AI services may read them, but it’s not a substitute for crawlable pages and accurate schema.
There’s no fixed timeline. Crawlers need to revisit your pages before they see new schema, and AI answers change for many reasons. Track a fixed set of questions for several weeks and log your changes so you can compare fairly.
Check what AI engines see
See where you stand first. Run SEOPulse’s free brand scan at app.seopulse.io/brand-scan to see your visibility across five AI engines and which competitors show up instead. It’s a one-off snapshot, not ongoing tracking.
Want to know what’s blocking you? Book an SEOPulse demo. We’ll show you the full AI answers, the pages being cited, and the technical and content gaps in the markets that matter to you.
Next, build your tracking set. Read our guide to building a prompt tracking workflow, or compare AI visibility tools.
Sources
- SEOPulse, GEO & AI Search Benchmark: 755 buyer prompts, 6,811 AI answers and 30,106 cited web pages across ChatGPT, Perplexity, Gemini, Google AI Overviews and Google AI Mode. Data collected 16 August 2026.
- SEOPulse, Citation Analysis, October 2026: query-level citation records, including domain authority and backlink data.
- SEOPulse, Tenfold AI case study (client-reported).
- SEOPulse conversations with clients and partners, 2026.
- Google Search Central: Optimizing for generative AI features in Google Search (last updated July 2026)
- OpenAI: Publishers and Developers FAQ
- Google Search Central: Documentation updates (FAQ rich results)
- Schema.org: Schema Markup Validator
A tech lead with more than ten years of engineering leadership, scaling high-load systems and running technical audits. Tom architected the SEOPulse engine: the data pipelines that collect AI answers as real users see them and turn citations into clear next steps.
Jessica leads content at SEOPulse: product-led content, SEO strategy, AI citation strategy and thought leadership.