Yoast SEO 27.1, released on 3 March 2026, added Schema Aggregation: an opt-in feature that collects the structured data Yoast already outputs on a WordPress site and serves it as one connected graph. AI agents and other consumers can read the site's entities from a few REST endpoints instead of crawling every page.
This feature was developed in collaboration with the Microsoft NLWeb team. According to the Yoast release post, Yoast announced its NLWeb collaboration in November 2025, and the work included R.V. Guha, a co-founder of Schema.org. The schema output of individual pages does not change. The same data is reorganised at site level.
What is Yoast schema aggregation
Schema Aggregation combines all schema data from a WordPress site into a unified entity graph. Instead of requiring AI agents to visit each individual page, Yoast exposes a central access point containing the site’s articles, authors, products, organisation and other entities. Yoast calls this combined output a “schemamap”.
In practice, an AI agent that reads a WordPress site with the endpoint switched on can fetch the structured data of a whole post type in one request: information about articles, their authors, products, the organisation and the relations between them. Duplicate entities are merged, so an author who appears on many posts becomes one Person record linked to all of those articles.
Why schema aggregation helps large sites
Think of a WordPress site as a large library. In the traditional approach, a visitor (or an AI bot) had to walk into every room, open every book and read every page to learn what the library holds. With Schema Aggregation, the visitor gets the catalogue at the entrance: a map of the library’s contents, organised by topic, author and the relations between them.
For business sites with hundreds or thousands of pages, that difference matters most. A crawler that only reaches part of the site sees only part of the entity graph, while the schemamap lists the endpoint of every included post type.
How Yoast schema aggregation works
How the unified entity graph works
The Yoast Schema Aggregation system aggregates the schema.org data types present on the WordPress site. When a user configures Yoast SEO, the plugin generates structured data for various content types: articles, authors, products, organisations, locations and more.
Traditionally, this data was dispersed across individual pages. An article contained Article schema, an author page Person schema, a product Product schema. Schema Aggregation collects this information and connects it into a coherent graph that can be processed as a whole. Alex Moss, Principal SEO at Yoast, described the merge step on X, as quoted by Search Engine Journal: “It merges duplicate entities so your ‘Author X’ or ‘Article Y’ exist as a single node.”
What the schema aggregator endpoints return
The developer API reference documents two REST routes:
GET /wp-json/yoast/v1/schema-aggregator/get-schema/{post_type}[/{page}]returns the aggregated schema pieces of one post type in JSON-LD, for examplepost,pageorproduct. The optional page number starts at 1.GET /wp-json/yoast/v1/schema-aggregator/get-xmlreturns the schemamap: an XML index that lists every get-schema URL with its last modification date, change frequency and priority.
Splitting the output by post type keeps responses manageable. By default a page of results holds 1,000 items, and post types with large schema pieces hold 100. Out of the box only product is treated as such a “big schema” type, because product markup carries offers, prices and reviews. Both routes send Cache-Control: max-age=300.
Yoast’s overview for developers adds that WooCommerce product schema and Easy Digital Downloads download schema are picked up automatically. The release post names two Schema API partners whose markup is included as well: The Events Calendar and WP Recipe Maker. If you run a WooCommerce store, the product catalogue therefore reaches the endpoint without extra code.
What is Microsoft NLWeb
Collaboration with Microsoft NLWeb is a central element of this initiative. NLWeb (Natural Language Web) is an open project from Microsoft for building conversational interfaces on websites. The NLWeb repository contains a Python reference implementation under the MIT licence and describes itself as a set of open protocols plus sample code.
Every NLWeb instance supports a core method called ask, which sends a natural-language question to a website and returns JSON built on Schema.org vocabulary. Each instance also works as an MCP server. The repository sums up the relationship this way: “NLWeb is to MCP/A2A what HTML is to HTTP.”
Yoast’s part in this is the data layer. The schemamap is a ready source for an NLWeb instance, and Yoast’s feature page says developers can use the endpoint together with the NLWeb GitHub repository. A WordPress site does not answer natural-language questions by itself once the toggle is on. Someone still has to run NLWeb, load the data into one of the vector stores it supports (Qdrant, Milvus, Postgres, Elasticsearch, Azure AI Search, Snowflake or Cloudflare AutoRAG) and connect a language model.
Does schema aggregation improve AI search visibility
How AI changes site indexing
Traditional SEO focused on optimising content for search engines like Google. Schema Aggregation is a step toward optimising for AI systems and voice assistants.
Alex Moss summed up the change on X, again as quoted by Search Engine Journal: “An agent no longer needs to crawl all individual pages to understand its meaning.” For SEO strategy this means the site-level picture of your entities becomes something you publish, not something a crawler has to reconstruct.
Instead of focusing solely on traditional search engines, website owners now need to think about how their content will be read by AI systems. Schema Aggregation is a step in that direction, because it exposes the data Yoast already generates in a format meant for those systems.
What answer engine optimisation requires
Schema Aggregation fits the shift from traditional SEO toward AEO, answer engine optimisation. A growing share of searches ends in an AI assistant that gives a direct answer instead of a list of blue links.
To appear as a source in those answers, your site needs:
- Complete structured data: the schemamap exposes it, but it can only expose what your pages already declare.
- Topical authority: the entity graph shows how broadly and deeply you cover specific topics.
- Author attribution: author profiles linked to content support E-E-A-T (experience, expertise, authoritativeness, trustworthiness).
What schema aggregation brings to WordPress sites
For WordPress site owners, Yoast Schema Aggregation offers several things:
- A clearer picture for AI systems: an agent reads one deduplicated graph instead of stitching together markup from many pages.
- One switch, no rebuild: Yoast’s feature page says nothing new needs to be installed and no additional tools are required.
- Existing privacy settings respected: only public, indexable content is shared, and private or hidden pages stay out.
- NLWeb compatibility: the schemamap can feed an NLWeb instance directly.
Why Yoast integrated with NLWeb
What Alain Schlesser says about the NLWeb integration
Alain Schlesser, Principal Architect at Yoast, summarised the philosophy behind the feature in the release post: “You can’t stop the AI wave, but you can direct it. Our integration with NLWeb puts you back in charge.”
The statement reflects Yoast’s approach to AI. Instead of treating artificial intelligence only as a threat, Yoast tries to give WordPress users more control over how their content is read and summarised.
Schema Aggregation answers a concern many site owners have about the growing role of AI in processing information. Instead of leaving AI systems to interpret site content however they like, Yoast gives webmasters a tool for presenting that information in a controlled way.
How to control what AI says about your brand
Without clear structured data, language models can produce inaccurate or incomplete descriptions of your business. The schemamap is where you state which facts about your organisation, your services and your content are authoritative. What it says depends on the data you enter in Yoast, so the organisation and author settings are worth a careful pass.
Schema aggregation requirements and setup in Yoast
Which Yoast SEO and WordPress versions are required
To use Yoast Schema Aggregation, you need:
- Yoast SEO 27.1 or newer. The endpoint is part of the free plugin and is also included in Yoast SEO Premium, Yoast WooCommerce SEO and Yoast SEO AI+.
- A WordPress and PHP version that the current plugin supports. On 14 October 2026 the wordpress.org plugin directory lists Yoast SEO 28.7, which requires WordPress 6.9 and PHP 7.4.
- Yoast’s schema output switched on. The help article warns that the endpoint does not work without it.
- Published, public, indexable content (articles, products, authors).
How to enable the schema aggregation endpoint
The feature is off by default. On the first login after the update, Yoast shows a short walkthrough with the same switch. To turn it on manually:
- In the WordPress dashboard, open Yoast SEO.
- Go to Settings.
- Under Site features, open AI tools.
- Switch on Schema aggregation endpoint. A purple checkmark shows that it is enabled.
- Click Save changes.
On sites managed in code, the developer overview gives the programmatic equivalent: WPSEO_Options::set( 'enable_schema_aggregation_endpoint', true );. The same switch turns the feature off again at any time.
Which structured data to complete first
The endpoint can only aggregate what Yoast already knows, so complete the data it draws from:
- Author profiles with photos and biographies that show experience and expertise
- Organisation data in the Yoast settings, including logo, address and contact details
- Product schema, if you run a WooCommerce store
- Location data, if you have a physical business
- FAQ schema for articles that answer common questions
- HowTo schema for step-by-step tutorials and guides
How to check that schema aggregation works
To confirm that the feature is working on your site:
- Open
https://example.com/wp-json/yoast/v1/schema-aggregator/get-xml(with your domain). You should see one entry per public post type. - Follow one of the listed URLs, for example
.../get-schema/post, and check that your articles, authors and organisation appear as JSON-LD. - Open
/robots.txt. Yoast adds aSitemap:line pointing to the get-xml address. - With shell access, run
wp yoast aggregate_site_schema post, which prints the same JSON-LD to the terminal. - Use Yoast’s Schema Visualizer to see the graph.
Google’s Rich Results Test is still useful, but it checks the markup of individual URLs. It does not read the aggregation endpoint. Checks like these belong in regular WordPress maintenance, especially after plugin updates.
Developer controls for the Yoast schema aggregator
The filter reference documents what can be changed in code. Five areas matter in practice.
Which post types and schema types the aggregator includes
By default the aggregator processes every public post type: posts, pages and custom post types. The wpseo_schema_aggregator_post_types filter narrows or extends that list, for example to keep a technical post type out of the schemamap.
Schema types are sorted into contexts. The developer overview lists Website, Content, Commerce, Entity, Event, Data, Medical, Action, Enumeration, Meta and Website meta. Action, enumeration and meta types are filtered out by default. These map to schema.org’s own hierarchy: an Action describes something an agent can do, and an Enumeration is a fixed list of values such as an availability status. Neither describes a thing your site is about. Two filters change the mapping: wpseo_schema_aggregator_elements_context_map replaces it entirely, and wpseo_schema_aggregator_elements_context_map_{context} adjusts one context. A custom wpseo_schema_aggregator_filtering_strategy can decide piece by piece what goes in.
How caching and pagination work
Each post type has its own cache, and the cache is cleared automatically when a post is updated. wpseo_schema_aggregator_cache_enabled switches caching off, and wpseo_schema_aggregator_cache_ttl sets the lifetime in seconds.
The default lifetime is described differently in two places. The overview ties it to the number of posts on the site, while the filter reference ties it to the size of the payload. If the timing matters for your setup, set the TTL explicitly instead of relying on either description. Page sizes have their own filters: wpseo_schema_aggregator_per_page (default 1,000), wpseo_schema_aggregator_per_page_big (default 100) and wpseo_schema_aggregator_big_schema_post_types (default product).
How the schemamap is announced in robots.txt
Yoast advertises the schemamap in robots.txt with a standard sitemap directive, as shown in the API reference:
Sitemap: https://example.com/wp-json/yoast/v1/schema-aggregator/get-xmlCrawlers that read sitemap lines will find the endpoint without any other link. If you prefer to share the address only with specific partners, the wpseo_disable_robots_schemamap filter removes the line. The entries inside the schemamap use daily as the change frequency and 0.8 as the priority, adjustable with wpseo_schema_aggregator_schemamap_changefreq and wpseo_schema_aggregator_schemamap_priority.
What the aggregated Article and Person records contain
The aggregator enriches some records beyond the page markup. For articles, the wpseo_article_enhance_* filters control three additions: the article body, the excerpt and keywords. With the defaults, the excerpt is used, and the body text is only added when no excerpt exists. That body is stripped of HTML and shortcodes and limited by article_body_max_length, whose default is 500. Categories are not turned into keywords unless categories_as_keywords is set.
For people, the person_job_title enhancement is on by default, so an author’s job title can travel with the Person record. The wpseo_person_enhance_* filters control it.
Which WP-CLI commands the aggregator adds
Two commands come with the feature:
wp yoast aggregate_site_schema post --page=1
wp yoast clear_schema_aggregator_cache postThe first prints the JSON-LD of a post type to standard output, which makes it easy to save a snapshot before and after a change. The second clears the cache of one post type, or of all of them when you leave the argument out.
What role structured data plays in SEO, GEO and AEO
How AI is changing search
The development of Yoast Schema Aggregation fits a broader trend in search. More and more users rely on AI assistants to find information, ask questions and make decisions. Traditional search engines are also integrating AI, which changes how results are presented.
In this context, structured data becomes a central part of SEO strategy. Sites that offer clear, organised information in a format AI systems can read are in a better position than those relying only on traditional optimisation.
What is the difference between SEO, GEO and AEO
The lines between traditional SEO, GEO (generative engine optimisation) and AEO (answer engine optimisation) are blurring. Structured data serves all three:
- SEO: page-level structured data remains important for classic search results
- GEO: an entity graph gives generative engines a structured source when they summarise content
- AEO: direct answers from AI assistants draw on data they can verify and attribute
Is WordPress ready for AI search
Yoast Schema Aggregation strengthens WordPress as a platform that is easy to maintain and extend. The collaboration with the NLWeb team shows that the WordPress ecosystem is working on AI-related challenges.
For businesses and website creators, the practical point is that the data layer AI agents need can be switched on in an existing WordPress site without a rebuild.
Schema aggregation vs per-page schema markup
How per-page schema works
In the traditional approach to structured data, each page contained its own set of schema data. Search engine bots had to visit each page individually to understand its content. This process was slow and did not always lead to a complete understanding of the site structure.
The main limits of that approach were:
- Incomplete crawling of large sites
- Lost context between related pages
- The same entity described again on every page
- No single place to see relations between entities
Benefits of a single schema endpoint
Schema Aggregation simplifies this by centralising the data. An AI agent can get a complete picture of the site without having to visit each page. The new approach offers:
- Efficiency: one schemamap that lists everything the site exposes
- Completeness: every public, indexable post of the included post types is covered
- Context: relations between entities are kept and made explicit
- Freshness: the cache of a post type is cleared when one of its posts is updated
Summary
Yoast Schema Aggregation, built with the Microsoft NLWeb team, gives WordPress sites a site-level view of their structured data. It is free, opt-in and switched on in one place, and it exposes the same data Yoast already outputs on each page, merged and deduplicated.
For WordPress site owners, the quality of that graph depends on the data behind it: complete author profiles, organisation details and product information. For developers, the filters and WP-CLI commands make it possible to decide which post types go in, how long responses are cached and whether the schemamap is announced in robots.txt.
We’ll be watching how AI agents and NLWeb instances use the schemamap. In the meantime, update Yoast SEO, switch the endpoint on and check what your get-xml address returns.
Need help preparing your WordPress site for AI search? See our SEO and GEO optimization services or contact WPPoland.






