New: Yoast releases performance optimizations for larger websites

With our latest 27.8 release, we introduced performance optimizations that should reduce loading times throughout the plugin’s functionalities, especially noticeable in large sites with lots of posts and users. 

Note: This post contains technical content and implementation details.

Offering well-tuned software with minimal overhead in servers and fast loading times is always at the forefront of everything Yoast developers do. However, Yoast SEO is installed in millions of websites so the variance of setups that we must be well-tuned for is big. This means we should be continuously going back to search for windows in optimizing the performance of the plugin. We’ve been known to do that consistently in the past, like when we improved our database system

The 27.8 release is the outcome of one of those targeted reviews. We deliberately picked features whose behavior at scale offered the most headroom and reworked them to be leaner and faster. From modifying queries to make pages faster for sites with many users and shaving heavy operations in the admin for sites with many posts, to reducing rounds trips to the database for multiple features and generally applying performance best practices, this is a release meant to improve the user and developer experience in the Yoast SEO plugin. 

We would also like to offer a technical summary of the improvements in this release here, focusing on their nitty-gritty details because it’s always nice to raise awareness about performance best practice (not to mention that it’s always fun to talk about code). 

Significantly reduce loading times of the root sitemap on sites with many users 

For context, for Yoast SEO to calculate the Last Modified value of the author sitemap, when it outputs the root sitemap, it uses the usermeta of the all the users that are eligible to be included in the author sitemap.  

Calculating the eligible users was traditionally done by checking user capabilities. This was done by adding the ‘capability’ => [ ‘edit_posts’ ] argument in the get_users() call that was used. As a result, a very heavy query with multiple joins and no use of the indexes of the database was triggered.  

Specifically, the resulting query added a clause like this: 

AND ((((mt1.meta_key = 'wp_capabilities'
        AND mt1.meta_value LIKE '%"edit_posts"%')
       OR (mt1.meta_key = 'wp_capabilities'
           AND mt1.meta_value LIKE '%"administrator"%')
       OR (mt1.meta_key = 'wp_capabilities'
           AND mt1.meta_value LIKE '%"editor"%')
       OR (mt1.meta_key = 'wp_capabilities'
           AND mt1.meta_value LIKE '%"author"%')
       OR (mt1.meta_key = 'wp_capabilities'
           AND mt1.meta_value LIKE '%"contributor"%')
       OR (mt1.meta_key = 'wp_capabilities'
           AND mt1.meta_value LIKE '%"wpseo_manager"%')
       OR (mt1.meta_key = 'wp_capabilities'
           AND mt1.meta_value LIKE '%"wpseo_editor"%'))))

Since LIKE ‘%…%’ cannot use any B-tree index, MySQL must read each matching wp_capabilities row in full and do seven substring scans of the serialized PHP meta_value per row. 

By modifying that calculation from using the capability check to looking for users with published posts (via using the ‘ has_published_posts ‘ => true argument), we instantly turned the resulting query to be one that uses indexes and that performs way better in sites with many users.  

In fact, on one of our tests, on a site with around 2 million users, the time it took to complete each query (so approximately the time that took the root sitemap to render), went from over 300 seconds down to just 25 milliseconds! This means that the change has the potential for drastic improvements in loading times of root sitemaps in similar sites.  

Finally, considering that the ‘ has_published_posts ‘ => true argument was already used in a later stage of the sitemap generation, the change itself should have little to no negative impact on the actual functionality of the feature. 

Reduce loading times of the author sitemap on sites with many users 

For Yoast SEO to render author sitemaps, it needs to calculate the eligible users. On sites with many users, this can be a very heavy operation. Aside from the above optimization, we noticed that while Yoast SEO was calculating eligible users, it also added a meta query to check whether the user_level of each user was over 0.  

It turned out that this was a remnant from old times, because the user_level framework had been deprecated by WP core since version 3.0. While this didn’t break things in our sitemap feature, it unnecessarily added an INNER JOIN in the resulting query without much purpose and in sites with very big user and usermeta tables that was degrading performance. So we went and removed the unnecessary JOIN: 

INNER JOIN wp_usermeta AS mt1 ON wp_users.ID = mt1.user_id 

... 

AND ( mt1.meta_key = 'wp_user_level' AND mt1.meta_value != '0' )

Since the user_level framework was deprecated a long time ago, we made the deliberate call to drop support for it, especially since doing so would make our feature smoother. In fact, we are comfortable shipping this optimization and expect minimal disruption as a result, exactly because of how old that deprecation is. 

Prevent unnecessary expensive database queries in admin pages 

In order to timely notify admins that they need to perform the necessary actions for their site data to be indexed optimally in our internal storage, Yoast SEO used to run a database query daily while admins navigated throughout the backend. For big sites, that database query had the potential to run for several seconds, slowing the rendering of admin pages periodically. 

Specifically, the Limited_Indexing_Action_Interface::get_limited_unindexed_count() function that can run complex queries like below, was running periodically in admin pages slowing the speed of bigger sites’ rendering.  

SELECT Count(P.id) 

FROM   wp_posts AS P 

WHERE  P.post_type IN ( 'post', 'page' ) 

       AND P.post_status NOT IN ( 'auto-draft' ) 

       AND P.id NOT IN (SELECT I.object_id 

                        FROM   wp_yoast_indexable AS I 

                        WHERE  I.object_type = 'post' 

                               AND I.version = 2)

We managed to re-arrange the logic of the code responsible for the notification that told admins about pending actions in such a way that those heavy queries now run only once, at the moment it’s first detected that such a notification should be created.  

That way, we effectively cache the results of the Limited_Indexing_Action_Interface::get_limited_unindexed_count() and rely on cache invalidation that existed before our changes but weren’t properly utilized. As a result, a potentially very heavy database query went from being triggered daily (and in cases of very busy sites, with lots of concurrent users, once per 15 minutes) to being triggered only once, in most sites. 

Optimize expensive database queries in admin pages  

Related to the above query-preventing change, not only did we manage to avoid running that aforementioned heavy database query more than once per site, but we also managed to optimize the query itself. An added benefit from that is that we made the SEO optimization tool much faster in sites with lots of posts. 

Specifically, we went from: 

AND P.ID NOT IN ( 

    SELECT I.object_id FROM wp_yoast_indexable AS I 

    WHERE I.object_type = 'post' 

)

To:  

AND NOT EXISTS ( 

    SELECT 1 FROM wp_yoast_indexable AS I 

    WHERE I.object_id = P.ID 

      AND I.object_type = 'post' 

)

Since NOT IN (subquery) builds the entire list of object_ids, while the second query short-circuits the moment one row matches, the query runs considerable faster in sites with multiple thousands of posts. 

Reduce roundtrips to the database 

As a rule of thumb, roundtrips to the database are considered to be expensive operations that should be reduced to a minimum whenever possible. Our reviews discovered instances where we were retrieving data for multiple posts in sequential SELECT queries where we could have done a single batched SELECT query to gather data for all posts at once. 

For example, a piece of code that looked like this: 

$indexables = []; 

foreach ( $post_ids as $post_id ) { 

	$indexables[] = $this->repository->find_by_id_and_type( (int) $post_id, 'post' ); 

}

was refactored into something that looked like this: 

$ indexables = $this->repository->find_by_multiple_ids_and_type( 

	array_map( 'intval', $post_ids ), 

	'post', 

);

That meant that for a chunk of 1000 posts, instead of performing 1000 SELECT queries that yielded a maximum of one row, we now perform a single SELECT query that yields a maximum of 1000 rows. Naturally, we made sure that the posts that will be requested each time do not exceed a certain threshold, to avoid reaching MySQL usage limits. 

As a result, sites with e.g. 1000 posts would save 960 roundtrips to the database for certain operations like part of their SEO optimization or part of the output of the schema aggregation feature

Improve post editor performance by preventing unnecessary re-renders 

The WordPress editor re-renders Yoast’s sidebar panels whenever the data they pull from the store appears to have changed. Unfortunately, “appears to have changed” is decided by reference equality (JavaScript’s ===) not by comparing values. A selector that returns { items: [‘foo’] } looks identical to a human, but if it’s a fresh object literal each time, React treats it as new and re-renders the panel. And if we multiply that by a busy editor that dispatches state updates on every keystroke, the result is panels that re-render constantly for no reason. 

With the 27.8 release, we identified multiple instances where data that weren’t actually changed triggered unnecessary re-renders in the post editor and patched them, making our editor integration much more robust and performant. 

New: Track your brand visibility in Claude with Yoast AI Brand Insights

Yoast AI Brand Insights, part of the Yoast SEO AI+ plan now lets you scan how your brand appears in answers generated by Claude. You can see your Claude data alongside ChatGPT, Perplexity, and Gemini, all in one dashboard. 

Why Claude is worth paying attention to

Think about how your own customers are making decisions right now. They’re not just Googling anymore. Nearly half of consumers used AI to research purchases in 2025, and 64 percent plan to use it in 2026, for everything from big investments to everyday buys. At the same time, the businesses they’re choosing between are catching on too. AI adoption among small businesses tripled in just two years according to the JPMorganChase Institute

What that means for your brand is that the conversation is happening across more places than ever. Your customers are using ChatGPT, Perplexity, Gemini, and now Claude, often for different reasons and in different contexts. Each platform forms its own view of the brands it mentions, drawing on different sources and applying different reasoning. So the same question about your business can get a very different answer depending on where it’s asked. 

With Claude now added to Yoast AI Brand Insights, you can see how all four platforms describe your brand, in one place. 

What’s new

You can now:

  • Run brand visibility analyses in Claude, in addition to ChatGPT, Perplexity, and Gemini
  • Compare how all four platforms describe your brand, with a built-in historical view
  • Track brand mentions, sentiment, and citations across every platform in one place
  • Monitor changes over time in your AI Visibility Index

How to get started

If you’re already using Yoast SEO AI+, nothing changes in how you work. Log in through MyYoast and Claude will appear as a new option in your dashboard at your next analysis, at no extra cost.

If you’re not yet on Yoast SEO AI+, upgrading gives you access to AI Brand Insights along with on-page SEO tools, content optimisation, and AI-powered insights, so you can see how your brand is mentioned and act from the same workflow.

Get Yoast SEO AI+ to start scanning your brand across Claude, ChatGPT, Perplexity, and Gemini.

Security patch: Yoast SEO Premium 27.6.1

Yoast SEO Premium 27.6.1 is out now. This release contains a security fix affecting the Redirect Manager in Yoast SEO Premium. The good news: the vast majority of users are not impacted. If you’re a customer of Yoast SEO Premium, Yoast WooCommerce SEO, or Yoast SEO AI+, please read on. 

Are you affected? 

The vast majority of customers are not impacted. Your site is only potentially at risk if all three of the following are true: 

  • You are using a plan that includes the Yoast SEO Premium plugin. This includes Yoast SEO Premium, Yoast WooCommerce SEO, and Yoast SEO AI+ 
  • Your server runs Apache and you have manually changed your redirect method to write to .htaccess. If you’re using the default PHP-based redirects, you are not affected 
  • A user who has access to your site with edit_posts capability. Without this, the vulnerability cannot be exploited even if the other conditions are met 

What was the issue? 

An authenticated user could inject unexpected configuration into a site’s .htaccess file by including special characters in a redirect. Depending on what was injected, this could range from a site crash to, in the most serious cases, remote code execution.  

We have reviewed a sample of sites using the affected configuration and found no evidence of exploitation. There are no known cases of abuse. 

What’s fixed 

The patch includes three layers of protection: 

  • Input sanitization: control characters are now stripped from redirect fields before they’re saved 
  • Removed unused code: the specific endpoint involved in the vulnerability has been removed, as it was no longer used by the plugin anyway 
  • In-plugin warning: we’ve added a proactive notification that will alert you if anything unusual is detected in your redirects or .htaccess file, so you can review and act quickly without the need to go looking for it 

What you should do 

Please update to 27.6.1 from the WordPress plugins screen, your Admin can do this in under two minutes. 

If you meet all three conditions above, we recommend updating as soon as possible. Should you not, the security fix doesn’t apply to your setup, but keeping your plugins current is always good practice, and 27.6.1 is the version we recommend for everyone. 

If you’re unsure whether you’re affected, check your redirect settings directly at [www.yoursite.com]/wp-admin/admin.php?page=wpseo_redirects#/redirect-method if you don’t see .htaccess mode enabled, you’re not at risk. 

A full security advisory will be published soon. If you have any questions or concerns in the meantime, our support team is here to help you. 

Thank you for your continued trust in Yoast. 

New: Yoast AI Content Planner turns a blank post into a structured draft

If you’ve ever opened a new post and immediately closed it again because you had no idea what to write, this one’s for you. 

Yoast AI Content Planner is now available for Yoast SEO Premium users. Open a new post in your WordPress editor and you’ll find five relevant post ideas waiting for you, built from your existing site content. Pick one and Yoast builds out a structured draft, ready to write into. 

What does it do? 

Yoast AI Content Planner scans your existing site content, spots the gaps that matter, and gives you five relevant post ideas, right inside the WordPress editor. Pick the one that feels right and Yoast turns it into a structured starter draft, complete with a title, an outline, a focus keyphrase, a meta description, and content notes for each section. 

You go from blank page to ready-to-write in minutes. 

What do you get? 

Here’s what Yoast builds for you once you choose an idea: 

  • Site-specific post ideas. The suggestions come from your existing content and site structure, so they’re relevant to what you’ve already built, not generic topics that could apply to anyone.
  • A structured starter draft. Your chosen idea becomes a full draft framework: title, H2 outline, focus keyphrase, meta description, and content notes for each section. The structure is already there. You just fill it in.
  • A focus keyphrase suggestion. Yoast suggests a keyphrase for you, giving your post a strong SEO foundation from the very first step, without requiring you to research one yourself. A focus keyphrase is simply the main word or phrase you want your post to be found for in search. 
  • Idea regeneration. If the first set of five ideas doesn’t feel right, you can generate a fresh set with one additional spark per session. 

A couple of things worth knowing 

Yoast AI Content Planner lives inside the WordPress post editor. You access it from any new empty post. There’s nothing new to install, no separate login, and no additional setup required. 

The Content Planner feature appears when you create a new post.

For the feature to work well, your site needs to have enough published content for Yoast to build a meaningful picture of what you already cover. If there isn’t quite enough yet, you’ll see a low-confidence warning rather than suggestions. 

How to get it 

Yoast AI Content Planner is available now for Yoast SEO Premium users. Open a new post in your WordPress editor to get started.  

Not on Premium yet? Find out more about Yoast SEO Premium here

Three new tasks, better navigation, and a bug fix in the Yoast SEO Task List 

We launched the Yoast SEO Task List in December to give you a clear, actionable to-do list for your site’s SEO. In this update, we’ve added two new tasks, improved how you navigate to fixes, and resolved a bug that was showing tasks in the wrong language. 

A quick recap: what does the Task List do? 

The Task List scans your site and surfaces specific content that needs attention, ranked by priority with an estimated time to fix. Instead of guessing what to work on next, you click a task and Yoast takes you directly to the right place to make the improvement. Think of it as a personal SEO assistant that knows your site. 

What’s new in this update 

New task: improve your meta descriptions 

Meta descriptions are the short snippets that appear under your page title in Google search results. They don’t directly affect rankings, however they have a significant impact on whether someone clicks your link. The Task List will now flag recent posts where the meta description is missing or could be stronger, and point you to where you can fix it. Premium users can use the AI Generate button to write one in seconds. 

New task: delete your sample page 

Every new WordPress site comes with a default “Sample Page” that most people never delete. It adds no value and can create unnecessary noise for search engines. The Task List will now remind you to remove it if it’s still there. It’s a two-minute job that’s easy to overlook. 

New task: set social sharing images  

Available with Yoast SEO Premium, Yoast WooCommerce SEO, and Yoast SEO AI+

When someone shares your content on Facebook or X, the image that appears alongside it can make a real difference to whether people click. The Task List will now remind you to set a custom social sharing image for your posts and pages, so your content looks its best every time it gets shared. 

Go directly to the right place in the editor 

Previously, clicking a task would open the post editor and leave you to find the right section yourself. Now, Yoast takes you to the exact part of the editor you need: the SEO tab, the readability panel, or the meta description field. Less scrolling, faster fixing. 

Bug fix: tasks now appear in your language 

We fixed a bug where task descriptions were showing up in the site’s language rather than the logged-in user’s language. If you manage a multilingual site, or your personal language settings differ from your site’s default, tasks will now display correctly for you. 

Also in this release 

  • We’ve added a new Yoast tab to the WordPress Plugins screen that groups all your installed Yoast plugins in one place. This requires WordPress 7.0+. 
  • We fixed a bug where alt text changes made via the inline image editor in How-to and FAQ blocks weren’t saving correctly to the frontend. Thanks to @param-chandarana for the report. 

What’s coming next 

We’re continuing to expand the Task List with improvements that surface high-impact changes specific to your content. Users of paid plans will see additional tasks in upcoming releases.

Update to Yoast SEO 27.4 to get these improvements automatically, or download the latest version from the WordPress plugin directory. 

See how your brand appears in AI-generated answers, for free

Eligible Yoast customers can now run a free Yoast AI Brand Insights scan and get a personalized report showing how ChatGPT, Perplexity, and Gemini see your brand. Your brand is part of the AI conversation whether you’re monitoring it or not. Yoast AI Brand Insights, part of the Yoast SEO AI+ plan gives you visibility into what AI tools say about you, how often you appear, and whether the picture they paint matches reality. To help you see that for yourself, we’re offering eligible customers a free, one-time scan

What you’ll see

  • Your AI Visibility Index: a clear score showing how present your brand is across ChatGPT, Perplexity, and Gemini 
  • Sentiment analysis: whether AI describes you positively, neutrally, or in a way that needs attention 
  • Competitor benchmarking: how often your competitors appear alongside you, so you know where you stand 
  • Citation tracking: which sources AI is drawing on when it talks about your brand 

How it works

Add your brand details, set your location, and generate your queries. Your personalized report is ready in minutes.

Current customers can locate Yoast AI Brand Insights inside their MyYoast account

Who is eligible

Existing customers on one of the following plans can log in and try a brand scan for free today.

  • Yoast SEO Premium 
  • Yoast WooCommerce SEO 
  • Yoast SEO Google Docs add-on 

Look out for your invitation inside the product the next time you log in. 

Claim your free scan for the Yoast AI Brand Insights tool from your MyYoast. 

Introducing llms.txt to Shopify: Give AI a map to your best products 

You’ve worked hard to build your product catalog. The last thing you want is AI tools like ChatGPT or Google Gemini describing your products inaccurately to potential customers. 

AI tools don’t browse your whole store the way a search engine does. They grab what they can find, quickly, and fill in the gaps. For a store with a large catalog, that means incomplete answers, outdated information, or worse, sending shoppers to a competitor. 

The new llms.txt feature, available in Yoast SEO for Shopify bridges that gap. 

What does it actually do? 

It creates a file that tells AI tools which parts of your store matter most: your top products, your collections, your policies, and your key pages. Think of it as handing AI a well-organized store guide instead of letting it wander around on its own. 

You switch it on once. We handle the rest. 

Two ways to use it 

Let Yoast handle it automatically 

Turn it on and we’ll build and update the file each week based on your Shopify data. No decisions needed. The file automatically highlights: 

  • Your 10 most-sold products over time
  • Up to 5 of your largest collections, plus a link to your full product range 
  • Your store policies, including shipping, returns, and privacy 
  • Your homepage, latest blog posts, and most recently updated pages 
  • Any pages you’ve already marked as cornerstone content 

Or choose exactly what’s included 

If you’d rather have full control, switch to manual selection. You can hand-pick the products and pages you want to feature, and there’s a dedicated spot to add your “About us” page so AI knows the story behind your brand. 

Either way, the file updates weekly and removes deleted products automatically. 

No technical knowledge needed

Setting this up from scratch would normally mean editing code. We’ve built it directly into your Yoast SEO for Shopify settings so any member of your team can turn it on in seconds. If you already have a redirect set up for /llms.txt, we’ll respect it and let you know, so nothing breaks. 

You decide when it’s right for your business 

We believe every merchant should have a say in how their content is seen and used as AI plays a bigger role in how people discover products online. That’s why this feature is opt-in. 

Turn on the llms.txt toggle in Yoast SEO for Shopify next time you log in to your store

New: Yoast Duplicate Post 4.6

Version 4.6 of Yoast Duplicate Post is here, and it’s all about making your editing experience feel more natural in WordPress’s Block Editor, and making sure “Rewrite & Republish” works reliably every time you need it.

A more modern editing experience

Everything where you’d expect it. The Duplicate Post controls now sit in the Block Editor’s sidebar, right alongside WordPress’s own settings, no more hunting around. If you’re still on the Classic Editor, nothing changes for you.

Buttons that look the part. The “Copy to a new draft” and “Rewrite & Republish” actions are now proper bordered buttons, consistent with the rest of the WordPress interface. Cleaner, clearer, and easier to use.

Built for the future. Under the hood improvements ensure Duplicate Post stays stable and compatible as WordPress continues to evolve, so you don’t have to think about it.


Yoast Duplicate Post has always been about reliability. While the plugin has served millions of you faithfully since our last release, we’re excited to bring you version 4.6. This update is packed with long-awaited fixes and thoughtful interface refinements that ensure the plugin stays modern, stable, and ready for the future of WordPress.

Enrico Battocchi – Plugin team lead and creator of Duplicate Post


More reliable “Rewrite & Republish” workflows

Your posts won’t get stuck. If something goes wrong mid-process, like a redirect being interrupted, the plugin now handles it gracefully and cleans up automatically. Your content will never be left in a stuck state.

Attachments copied completely. All attachment metadata, including captions and descriptions, is fully preserved when you duplicate a post. Nothing gets left behind.

International & security improvements

The right words, in your language. Buttons and notices in the Block Editor are now correctly translated across all languages, with none of the behind-the-scenes errors that some locales were seeing.

Consistent styling, always. Buttons display correctly regardless of your admin configuration, including when the WordPress admin bar is turned off.

Version 4.6 is available now. As always, we recommend testing in a staging environment before updating your live site.

New: Futureproof your website for the agentic web with Yoast SEO Schema Aggregation 

In November 2025, Yoast announced a collaboration with NLWeb, an open web protocol developed by Microsoft designed to simplify building conversational interfaces for the web.

Today, we are proud to introduce the first major result of that work: Yoast SEO Schema Aggregation. This is an opt in feature that brings your website’s structured data together in a clearer and more consistent way. By choosing to enable it, you can help search engines and intelligent agents better understand and use your content.

If you want to see which schema types are available for your WordPress setup, our schema overview explains what is included across different product plans.

Bridging the gap: from discovery to conversation

Yoast has a history of helping WordPress websites be represented fairly and responsibly in the open web.

2019: Yoast introduced the first of its kind schema graph and API, helping search engines better understand your content as they moved beyond keywords and evolved into discovery engines.

Today: we are taking the next step. As the agentic web becomes more important, we are helping your WordPress site move from being discovered to being understood and engaged with through conversation.

Starting today, the new Schema Aggregation feature in Yoast SEO is here. It establishes a standardized connection between your website’s structured data and the systems that power AI-driven discovery and interaction. These include large language models, agents, and conversational assistants such as Copilot. It helps ensure your published content can be understood correctly by AI. This matters as AI becomes part of how people find and use information online.

The NLWeb + Yoast integration is built in collaboration with the NLWeb team, including R.V. Guha, co-founder of Schema.org. Together, we are extending the open web standards you already rely on, so your WordPress website can participate confidently in the emerging agentic web in a responsible and future ready way.

Benefits of the Schema Aggregation feature

Questions about AI often come down to one thing: who can access your data. This feature is built with a privacy first approach from the start.

  • Complete: All indexable content included
  • Clean: No duplicate entities, no navigation clutter
  • Connected: Relationships between entities preserved (author → articles)
  • Compliant: Respects exisiting privacy settings
  • Fast: Sub-100ms cached responses, pagination for large sites

For developers and technical users who want more control, we have developer documentation on schema markup. It explains how to inspect and extend your schema graph. This gives you maximum personalization, while retaining standardization at scale.

“You can’t stop the AI wave, but you can direct it. Our integration with NLWeb puts you back in charge. It allows you to manage server load efficiently and ensures that when AIs do access your content, they get the rich, semantic understanding necessary to represent you correctly.” Alain Schlesser – Principal Architect, Yoast.

What’s new

The next time you log in and open Yoast SEO (updated to 27.1), you’ll see a short guided walkthrough. It introduces the new Schema Aggregation feature. It also shows how to enable it using a simple toggle.

We have added a new endpoint to Yoast SEO (free), making the Schema Aggregation feature available to all customers who choose to enable it. The endpoint exposes your site’s full structured data graph in a proposed new standard called a schemamap.

That means, instead of an AI system crawling hundreds of pages individually (or however many pages you have on your website), it can now retrieve your site’s schema, including articles, authors, products, and organizational data, in one optimized request.

Before and after: from pages to a connected site

Below is an example of the structured data Yoast already outputs on an individual page. This page level schema helps search engines understand what that specific page is about, including its content type, author, and relationships.

An example of Yoast schema markup at the individual page level, the example shown is yoast.com

With Schema Aggregation enabled, Yoast provides a site-level view. Instead of looking at pages in isolation, your entire website’s structured data is connected. It consolidates into a single output called a schemamap. This can appear quite overwhelming to look at. It makes it easier for AI systems to understand your content. They can see how your articles, authors, products, and organisation relate to each other across the site.

Nothing about your existing schema changes. The same data is reused, simply organized in a way that reflects how your website works as a whole. Here is a schema map example from Yoast.com, displayed with the Yoast SEO Schema Visualizer.

How it works: Standardized, connected, and deduplicated

The Schema Aggregation feature doesn’t just share data; it organizes it for AI consumption:

  • Eliminates data mess: It merges duplicate mentions of authors, products, or articles into one scalable, connected record.
  • Integrates automatically: If you use one of our Schema API partners like The Events Calendar or WP Recipe Maker, those schema types are included in the graph automatically.

Developers can also explore our Schema Integrations page to see how Schema API partners connect to and extend the Yoast SEO Schema Framework (the graph).

Collaborative innovation

When working at scale across tens of millions of websites, careful testing is essential to ensure a safe and reliable launch. This feature was developed with agencies and advanced users in mind, and tested in controlled environments.

We collaborated closely with Syde, our Innovation Partner, to test the new feature across a diverse range of real-world client scenarios. The approach for this release was tested in controlled environments to confirm scalability and consistent output quality before deployment.

Syde’s feedback has been instrumental in refining the schema aggregation logic. We look forward to continuing this partnership, working together to help clients remain visible and accurately represented as AI driven systems evolve.

Be visible, understood, and represented

The rules of discovery are shifting, but your site doesn’t have to be left behind. With NLWeb and Yoast, your website stays at the center of the conversation.

Ready to see it in action? Update to the latest version of Yoast SEO and enable the NLWeb integration in your Yoast SEO settings today. For more information about how to enable Schema Aggregation, visit this help article.

New to Yoast SEO for Shopify: Enhanced pricing visibility in product schema 

We are excited to announce an update to our Offer schema within Yoast SEO for Shopify. This update introduces a more robust way to communicate pricing to search engines, specifically introducing sale price strikethroughs

What’s new? 

Previously, communicating a “sale” was often limited to showing a single price. With this update, we’ve refined how our schema handles the Offer object. You can now clearly define: 

  • The original price: The “base” price before any discounts. 
  • The sale price: The current active price the customer pays. 

Why this matters 

When search engines understand the relationship between your original and sale prices, they can better represent your deals in search results. This update is designed to help trigger those eye-catching strikethrough price treatments in Google Shopping and organic snippets, improving your click-through rate by visually highlighting the value you’re offering. 

How to use it 

The schema automatically bridges the gap between your product data and the structured data output. Simply ensure your product’s “Regular Price” and “Sale Price” are populated, and our updated schema handles the rest. For more information about the structured data included with all our products, check out our structured data feature page.

Get started

If you are a Yoast SEO for Shopify customer, you can access your product schema by opening a product in the Yoast product editor in your Shopify store. If you are not a customer and want to learn more, you can start a 14 day free trial of Yoast SEO for Shopify from the Shopify App Store.