/ โ† Competitor Analysis Fixes / Schema Gaps
In this guide
  1. Why schema gaps matter, and why many do not
  2. Comparing like with like
  3. Which differences change what searchers see
  4. Markup you should not copy
  5. An example: closing a LocalBusiness gap
  6. The fix, step by step
  7. Measuring the effect
  8. Questions and answers

Why schema gaps matter, and why many do not

Structured data is code, usually JSON-LD, that describes what a page is about in a form search engines can read without guessing. The Competitor Analysis compares the structured data types and properties each site uses, so you can see where a rival has markup you lack.

That difference only matters in three situations:

  1. It makes a page eligible for a rich result that is currently shown, such as product price and availability, review stars on a product, breadcrumbs in place of the address, or event dates.
  2. It clarifies who you are, for example Organization or LocalBusiness details that help search engines and AI systems connect your site to your business name, address and profiles elsewhere.
  3. It describes something on the page that is otherwise hard to parse, such as a video's key moments or a recipe's ingredients.

Many differences fall outside all three. A rival might use a dozen extra properties that Google does not use for any feature, or a type Google no longer shows. Copying them costs time and changes nothing. Structured data also does not work as a general ranking boost; Google describes it as a way to understand the page and to make it eligible for certain displays.

โš ๏ธ Eligibility is not a promise. Even with perfect markup, Google decides whether to show a rich result for each search. Treat a schema fix as removing a barrier, not buying a feature.

Comparing like with like

Site-wide counts of schema types are misleading. A rival's blog might use Article markup on 300 posts while their service pages have none. Compare pages that compete with each other for the same searches.

Your pageRival page to compareMarkup worth checking
HomepageTheir homepageOrganization or LocalBusiness, WebSite
Service or location pageTheir equivalent page ranking for the same local searchLocalBusiness (or a subtype such as Plumber or Dentist), BreadcrumbList
Product pageTheir page for the same or a similar productProduct with Offer, shipping and returns, AggregateRating
Guide or articleTheir article ranking for the same questionArticle, author details, BreadcrumbList, VideoObject if there is a video
Event or course listingTheir listingEvent with dates, location and offers

How to see a competitor's markup

Use both testers. The first tells you what Google does with the markup; the second tells you everything that is there.

Which differences change what searchers see

Google's search gallery documentation lists the structured data features it currently supports, and the list changes. Features have been retired over the years, including HowTo rich results in 2023, and in 2025 Google announced it was phasing out several less-used features. Check the current gallery before investing in a type.

Rival hasTypical visible effectPriority for you
Product with Offer (price, availability)Price and stock in results; merchant listing eligibilityHigh for shops
AggregateRating on productsStar ratings under the listingHigh, if you have genuine on-site reviews
BreadcrumbListA readable path in place of the address on some resultsMedium; quick to add
Organization or LocalBusinessHelps with business details and entity understanding; no guaranteed displayMedium; one-off job
EventEvent dates and venue in resultsHigh for event pages
VideoObjectVideo thumbnails and key momentsMedium where the page has its own video
RecipeImage, rating and cooking time in resultsHigh for recipe sites
FAQPageRich result limited to well-known government and health sitesLow for most businesses
HowToNo rich result since 2023None for search display
Review stars on their own LocalBusiness or OrganizationNot shown: Google treats these as self-serving reviewsNone; do not copy

Types with no visible effect in Google can still help other systems understand your page, so there is no harm in accurate markup. They just belong at the bottom of the list.

Markup you should not copy

A competitor having markup does not make that markup correct. Common problems in rivals' structured data:

If the Rich Results Test shows errors or warnings on the rival's page, their markup may be doing them no good at all. The gap you see might not be a gap.

An example: closing a LocalBusiness gap

A fictional firm, Brookside Heating, finds that two rivals ranking for "boiler repair chesterfield" both have LocalBusiness markup with hours and service area, and breadcrumbs on their service pages. Brookside has nothing. Both differences are worth closing. Here is a block for its homepage, using real details from its contact page:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Plumber",
  "@id": "https://www.example.co.uk/#business",
  "name": "Brookside Heating",
  "url": "https://www.example.co.uk/",
  "logo": "https://www.example.co.uk/images/logo.png",
  "image": "https://www.example.co.uk/images/van.jpg",
  "telephone": "+44 1246 000000",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "12 Example Road",
    "addressLocality": "Chesterfield",
    "postalCode": "S40 1AA",
    "addressCountry": "GB"
  },
  "areaServed": ["Chesterfield", "Dronfield", "Bolsover"],
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
    "opens": "08:00",
    "closes": "17:30"
  }],
  "sameAs": ["https://www.facebook.com/example-brookside-heating"]
}
</script>

Plumber is a schema.org subtype of LocalBusiness; choose the most specific type that fits your business. Every value must match what the page and your Google Business Profile say. For which type to choose when none fits exactly, see choosing the right schema type.

Where to add it

WordPress: most SEO plugins have a local business or organisation setting; fill that in rather than pasting a second block, or you will create duplicates. Shopify: many themes output Organization and Product markup already; check before adding an app, and switch off overlapping output. Custom and static sites: add the block to the page template's <head> and generate values from the same data the page displays.

The fix, step by step

Step 1

Pair your pages with the rival pages they compete with

For each important search in your Competitor Analysis, note the rival page that ranks and your page that should compete with it: homepage with homepage, service page with service page, product with product. Comparing matching pairs rather than whole sites stops you copying markup from parts of a rival's site that have nothing to do with your competing pages, such as Article markup on hundreds of blog posts.

Step 2

Extract the structured data from both sides

Run each rival page and your matching page through the Rich Results Test to see which Google features each is eligible for, then through the Schema Markup Validator to see every type and property present. Both tools render JavaScript, so they find markup that does not appear in the raw source. Save or screenshot the results so you have a record of what each page carried on the day you checked.

Step 3

List the differences in a comparison grid

In a spreadsheet, put one row per page pair and columns for each schema type and important property: Product, Offer, price, availability, AggregateRating, LocalBusiness, opening hours, BreadcrumbList, VideoObject and so on. Mark which side has each one. Note errors and warnings from the Rich Results Test too, because a rival carrying broken markup is not ahead of you, whatever the raw count of types suggests.

Step 4

Keep only differences that change what searchers see

Check each difference against the features in Google's current search gallery documentation. Keep types that make a page eligible for a displayed rich result or clarify your business details, such as Product with offers, product ratings, breadcrumbs, Event, Recipe and LocalBusiness. Move FAQPage, HowTo and properties Google does not use to the bottom of the list. The result is usually a short list of genuinely useful additions rather than dozens of properties.

Step 5

Check the rival's markup is valid and allowed

Before copying any pattern, confirm that it follows Google's structured data guidelines. Reject review stars on a business's own LocalBusiness or Organization block, ratings or prices that do not appear on the visible page, invented figures and markup of the wrong type. If the rival page shows errors in the Rich Results Test, their markup may be earning them nothing, and matching it would only add the same risk to your own pages.

Step 6

Add the markup using your own real data

Write JSON-LD for each type on your list, using values that match what your page shows: your real prices, stock, hours, address and reviews collected on your own site. Generate the values from the same data the page uses so they stay in step. On WordPress or Shopify, use the plugin, theme or app setting where one exists, and switch off any other source of the same type so you do not end up with duplicate blocks.

Step 7

Validate, then measure the search appearance

Test each updated page in the Rich Results Test until it shows no errors, then request indexing with URL Inspection in Search Console. Watch the enhancement reports, such as Product snippets, Merchant listings and Breadcrumbs, as pages are recrawled. After a few weeks, use the Search appearance filter in the Performance report to compare impressions and click-through rate for the rich result against the period before the change.

Measuring the effect

Schema gaps are among the quickest to close, but measuring them needs care because rich results come and go by query and by day.

๐Ÿ’ก If your markup is valid but no rich result appears after several weeks, that is Google's choice for those searches, not necessarily an error. Keep the markup accurate and look at content and other gaps instead of adding more types.
Questions and answers

1. Will adding the same schema as my competitor help me rank higher?

Not directly. Google describes structured data as a way to understand a page and to make it eligible for certain rich results, not as a general ranking boost. Where the rival's markup earns them a visible feature, such as price and stock or product ratings, matching it can make your listing more informative and may improve click-through. Where it earns nothing visible, adding it will not change your position, so it belongs lower on your list.

2. How can I see what structured data a competitor uses?

Enter their page address in Google's Rich Results Test to see which Google features the page is eligible for, then in the Schema Markup Validator to see every schema.org type and property on the page. Both tools render JavaScript, so they catch markup added by scripts that would not appear in the page source. Compare pages that compete with each other, such as your service page against theirs, rather than whole sites.

3. My competitor shows review stars on their homepage. Why can I not do the same?

Google does not show review stars for reviews a business collects about itself and marks up on its own LocalBusiness or Organization pages. It calls these self-serving reviews. If a rival's stars appear to come from such markup, they may be showing from a different source, or the markup may not be producing stars at all. Review stars remain available for things like products and recipes when the reviews are genuine and shown on the page.

4. Is it worth adding FAQ or HowTo schema because rivals have it?

For search display, usually not. Google stopped showing HowTo rich results in 2023, and FAQ rich results are limited to well-known, authoritative government and health websites. Accurate markup does no harm and can still help other systems read the page, but it will not earn most businesses any visible feature in Google. Put the time into markup that does produce a visible result, such as Product, BreadcrumbList or Event, where it applies.

5. Can I copy a competitor's JSON-LD and change the details?

You can use its structure as a starting point, but check every type and property against your own page and Google's guidelines before publishing. Rivals' markup often contains errors, duplicated blocks, the wrong type or values that do not appear on the page. Every value in your version must match what your page actually shows. It is usually safer to build from a clean example of the type you need and fill in your own real data.

6. How long does it take for a rich result to appear after I add schema?

Google has to recrawl and reprocess the page before the markup can be used, which usually takes from a few days to a few weeks depending on how often your site is crawled. Requesting indexing with URL Inspection can speed up individual pages. Even then, the rich result may appear for some searches and not others, because Google decides for each query whether to show it. Measure over several weeks rather than day to day.

7. Does schema help with AI search as well as Google?

Clear, accurate structured data can help AI systems and search engines understand who you are, what you sell and how pages relate, particularly Organization, LocalBusiness and Product details. It is not a guaranteed route to being cited in AI answers, which depend heavily on the content itself and what other sites say about you. Treat it as one supporting signal, kept accurate and consistent with your visible pages and your business profiles elsewhere.

Compare your schema with your rivals

Our Competitor Analysis compares your site with named rivals across keywords, content, backlinks, technical health, schema and AI visibility, including the structured data types and properties each site uses, so you can see which gaps are worth closing.

Open Competitor Analysis Fixes โ†’
๐Ÿ’ฌ Got a problem?
Related Guides: All Competitor Analysis Fixes  ·  Product Schema Errors  ·  Local Business Schema  ·  Schema Debugger Guide  ·  Learning Hub

About aiwebpageseo

aiwebpageseo.com is a data-driven SEO and AEO (Answer Engine Optimisation) platform providing a free suite of technical SEO tools. Rather than relying on AI-theorised assumptions, the platform analyses live URL performance, delivering objective diagnostics, page speed metrics, CLS debugging, and site crawl data alongside actionable technical tutorials.