Acting on Competitor Schema Changes
Competitor Watch has noticed that a rival's structured data has changed: a new type has appeared on one of their pages, properties have been added, or markup has been removed. It is tempting to copy whatever they added.
The better question is narrower: has the change given them something visible in the search results you both appear in, such as review stars, prices or availability, and could your own pages honestly qualify for the same? This guide shows you how to read their markup, check what Google currently displays for that type, look at the real results page, and act only where it genuinely applies to you.
Why a schema change is a clue, not a command
Structured data is code, usually JSON-LD in a script tag, that describes a page's content in a standard vocabulary from schema.org. Search engines use it to understand pages and, for a limited set of types, to show enhanced results such as prices, star ratings, event dates or recipe details. Other systems, including some AI assistants, may also read it, although nobody can promise that markup alone makes a page appear in their answers.
When a competitor changes their markup, three things could be going on. They may have added a type that produces a visible enhancement, in which case their listing might now stand out next to yours. They may have added markup that describes their business more completely but produces nothing visible. Or a plugin or theme update may have changed the markup without anyone intending it, which happens more often than people expect.
Only the first of these gives you a reason to act quickly, and even then only if the same enhancement is available to you on honest terms. The rest are worth noting and nothing more.
How to read a competitor's structured data
You can inspect any public page's markup without special access.
- Google's Rich Results Test accepts any public address. Paste the competitor's page in and it shows which rich result types Google detects and whether they are valid. It uses Google's own renderer, so it also catches markup added by JavaScript.
- The Schema Markup Validator at validator.schema.org shows every schema.org type and property on the page, including types Google does not use for rich results.
- View source in your browser and search for
application/ld+jsonto read the raw JSON-LD. Search foritemtypeto find older microdata.
Note the types and the properties that are new. A Product type that now includes aggregateRating
and offers is a very different change from an Organization type that gained a sameAs
list of social profiles.
Which markup changes can affect what searchers see
Google's list of supported rich results changes over time, and several types have been retired or restricted. Before responding, check the current Search Gallery in Google Search Central. As of this guide's last update, the picture for common types looked like this:
| Type added by the competitor | Visible effect in Google today | Worth matching? |
|---|---|---|
| Product with offers and reviews | Price, availability and rating can appear in product snippets and shopping experiences | Yes, if you sell products with visible prices and genuine reviews |
| AggregateRating on a LocalBusiness or Organization about itself | Not eligible for star ratings, because Google treats reviews a business hosts about itself as self-serving | No, stars will not appear |
| FAQPage | FAQ rich results are limited to well-known authoritative government and health sites | Rarely, for visibility purposes |
| HowTo | HowTo rich results were removed in 2023 | No visible benefit in Google |
| Event | Event dates and venues can appear for public events | Yes, if you run public events |
| Recipe, VideoObject, JobPosting | Supported enhancements in the relevant result types | Yes, where the content really exists |
| BreadcrumbList | Can show the site path in desktop results | Worth having on most sites anyway |
| Organization with logo and sameAs | Helps Google understand the business; no guaranteed visible feature | Worth having, but not urgent |
Types that produce no visible result can still help search engines understand pages, so they are not useless. They simply do not justify dropping other work because a competitor added them.
The fix, step by step
Step 1
Read the competitor markup that changed
Take the page address from the Competitor Watch alert and run it through Google's Rich
Results Test and the Schema Markup Validator. List the types present and the properties that are new
since the last check. Then view the page source and search for application/ld+json to read
the raw code. Note whether the markup describes content that is actually visible on their page, because
invisible or exaggerated markup is not worth imitating.
Step 2
Check whether that type produces a visible result today
Look up the type in Google's Search Gallery documentation to see whether it currently supports a rich result, and read any eligibility limits. Remember that HowTo results were removed, FAQ results are limited to authoritative government and health sites, and self-serving review stars on local business and organisation markup are not shown. If the type has no visible feature, record the change as informational and close the alert unless it also improves page understanding for you.
Step 3
Look at the results page you share
Search two or three queries where you and the competitor both appear, in a private browser window from a location like your customers. Check whether their listing now shows anything new, such as stars, a price, stock status or event dates, and whether yours shows anything. Markup does not guarantee a rich result, so a valid competitor type that shows nothing in the actual results is not a threat, however complete it looks.
Step 4
Confirm the markup would be true on your page
Before adding anything, check that the information the markup describes is visible on your own page and accurate: the real price, real availability, genuine reviews collected from customers, a real public event. Google's guidelines require markup to reflect visible content, and misleading markup can lead to a manual action that removes rich results across your site. If you do not have the underlying content yet, the task is creating that content first, not writing code.
Step 5
Add or improve the markup on your template
Add the markup to the page template rather than to single pages by hand, so every product, event or article of that kind gets it consistently and it stays in step with the visible content. Generate values from the same data source that fills the page, such as the product price field. On WordPress or Shopify, check whether your SEO plugin or theme already outputs the type, so you do not end up with two competing blocks.
Step 6
Validate, then watch Search Console
Test a few representative pages in the Rich Results Test and fix any errors before worrying about warnings. Once live, request indexing for one or two key pages with URL Inspection, then watch the relevant enhancement report in Search Console, such as Product snippets or Merchant listings, over the following weeks. Recheck the shared results page after a month and record whether your listing now shows the enhancement.
Example: matching a product rating enhancement properly
Suppose a fictional garden supplies shop, Fernhill Garden Supplies, sees that a rival's product pages now show star ratings and prices in search. Fernhill collects genuine product reviews through its checkout and displays them on each product page, so the same enhancement is honestly available. Its product template outputs markup like this, with every value filled from the product record:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Galvanised steel watering can, 9 litres",
"image": "https://fernhill.example.co.uk/images/watering-can-9l.jpg",
"description": "Hot-dip galvanised watering can with a detachable brass rose.",
"sku": "FH-WC-9",
"brand": {"@type": "Brand", "name": "Fernhill"},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6",
"reviewCount": "38"
},
"offers": {
"@type": "Offer",
"url": "https://fernhill.example.co.uk/watering-can-9l",
"price": "34.00",
"priceCurrency": "GBP",
"availability": "https://schema.org/InStock"
}
}
</script>
The rating and review count match what customers see on the page. If the product had no reviews, the
template would leave out aggregateRating altogether rather than inventing a value or showing
zero.
Platform notes
- WordPress: most SEO plugins output Organization, WebSite, BreadcrumbList and Article markup automatically, and WooCommerce adds Product markup. Before adding a new type through a second plugin or custom code, view the page source to see what already exists, because duplicate or conflicting blocks are a common source of errors.
- Shopify: many themes include Product markup in the product template, but quality varies. Check whether reviews apps add their own rating markup, which can duplicate the theme's. Edit the theme's product section or snippet rather than pasting code into individual descriptions.
- Custom and static sites: generate JSON-LD on the server from the same data as the page content, and include it in the initial HTML rather than injecting it later with JavaScript where you can.
For detailed help building and debugging markup on each platform, see building schema on WordPress, building schema on Shopify and the Schema Builder Guide.
Edge cases
- The competitor's markup is invalid. If the Rich Results Test shows errors on their page, the change will not produce an enhancement until they fix it. Log it and recheck later.
- The rival's listing shows stars from a third-party review platform. Some review services supply their own markup. The same route may be open to you if you use a comparable service, provided the reviews are genuine and shown on your pages.
- Markup disappeared after their redesign. A redesign or platform change often drops structured data by accident. It may be temporary, so do not read strategy into it.
- AI answers. Clear, accurate markup can help machines understand your pages, but there is no published evidence that adding a type guarantees being cited by AI assistants. Treat any such benefit as a bonus.
If your own markup changes unexpectedly after an update, fixing changed schema types covers what to check.
1. A competitor added FAQ schema. Should I add it too?
Not for visibility in Google. FAQ rich results are now shown only for well-known, authoritative government and health websites, so for most businesses FAQ markup will not produce the expandable questions it once did. A genuinely helpful questions section on the page can still serve your visitors well. If you already have FAQ markup that matches visible content, there is no need to remove it, but it is not worth prioritising because a rival added it.
2. Can I see what structured data a competitor uses?
Yes. Any public page's markup can be inspected. Paste the address into Google's Rich Results Test to see which rich result types Google detects and whether they are valid, or into the Schema Markup Validator at validator.schema.org to see every schema.org type present. You can also view the page source and search for application/ld+json. Use what you learn as a clue about opportunities, not as code to copy and paste.
3. Why does the competitor show star ratings in search but I do not?
Several reasons are possible. Stars appear only for eligible types such as products, and not for reviews a local business or organisation hosts about itself. Your markup may be missing, invalid or not matching visible reviews. Google may also simply choose not to show the enhancement for your page, since valid markup makes you eligible but does not guarantee display. Test your page in the Rich Results Test and check the relevant Search Console report.
4. Will adding the same schema as my competitor improve my rankings?
Structured data is not a direct ranking boost. What it can do is make your page eligible for enhanced displays such as prices or ratings, which may make your listing more noticeable and informative, and it helps search engines understand your content. If the competitor's markup changed what their listing looks like, matching it where it is true for you may improve how your listing compares. It will not, on its own, move you above them.
5. Is it risky to add review markup?
It is risky if the reviews are not genuine, not visible on the page, selectively chosen, or self-serving in a way Google does not allow. Misleading structured data can result in a manual action that removes rich results. It is also a consumer protection issue: fake or misleading reviews are unlawful in the UK. If you collect real reviews from customers and show them on the relevant product page, marking them up accurately is normal and safe practice.
6. How long after adding markup will a rich result appear?
There is no fixed timescale. Google needs to recrawl the page and process the markup, which can take from a few days to several weeks depending on how often your site is crawled. Requesting indexing for a key page through URL Inspection can help it be seen sooner. Even then, valid markup only makes you eligible; Google decides whether to show the enhancement for each query. Monitor the relevant Search Console report to see when pages are detected.
Competitor Watch tracks the competitors you name for new content, backlinks, schema changes, page redesigns, pricing, keyword rankings, product launches and tech changes, so you learn when a rival changes its structured data.
Open Competitor Watch Fixes โ