What are Google Search Console enhancements?
Google Search Console Enhancements are reports that show how your site’s structured data performs in search. They highlight which types of rich results – like FAQs, reviews, or product info – Google has found on your pages, and flag issues that might block those features from appearing.
If you’re using schema markup, this is where you check if it’s working – and where to fix it if it’s not.

Check GSC Enhancements for Errors
See if your structured data blocks rich results and fix them in one click.
Where it’s located in GSC
You’ll find the Enhancements reports in the left-hand menu of Google Search Console, under the “Enhancements” section. If your site has valid structured data, this section will automatically appear. No setup needed – GSC detects the markup and creates the report for you. If you don’t see it, chances are your structured data is missing or not eligible.

Data it provides: Valid items, warnings, and errors
Each Enhancements report breaks your structured data into three buckets: valid, warning, and error. Valid items are good to go – Google can show them as rich results. Warnings mean the markup is incomplete but still eligible. Errors are dealbreakers – Google will ignore that markup entirely until you fix it. This breakdown helps you prioritize what needs attention fast.

Head to the Enhancements section in Google Search Console and click on Products. This report shows how Google reads your product markup – listing valid items, warnings, and errors.
Click any row to see which pages are affected and what’s wrong. Fix the issues on your site (like missing price or availability), then hit Validate Fix in GSC to trigger a recheck. This helps ensure your products stay eligible for rich search results.
Types of enhancements available
The Enhancements section covers a range of structured data types that can unlock rich results in search. Some of the most common include:
FAQ: Frequently asked questions displayed directly in search results
FAQ markup lets you display a list of questions and answers directly in Google’s search results, like a mini knowledge base under your page. It boosts visibility, takes up more SERP space, and can increase click-through rates by giving users instant answers.

Here’s an example of FAQPage in JSON-LD:
<html>
<head>
<title>Finding an apprenticeship - Frequently Asked Questions(FAQ)</title>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "How to find an apprenticeship?",
"acceptedAnswer": {
"@type": "Answer",
"text": "<p>We provide an official service to search through available apprenticeships. To get started, create an account here, specify the desired region, and your preferences. You will be able to search through all officially registered open apprenticeships.</p>"
}
}, {
"@type": "Question",
"name": "Whom to contact?",
"acceptedAnswer": {
"@type": "Answer",
"text": "You can contact the apprenticeship office through our official phone hotline above, or with the web-form below. We generally respond to written requests within 7-10 days."
}
}]
}
</script>
</head>
<body>
</body>
</html>
Here’s an example of FAQPage in Microdata:
<html itemscope itemtype="https://schema.org/FAQPage">
<head></head>
<body>
<h1>
Frequently Asked Questions(FAQ)
</h1>
<div itemscope itemprop="mainEntity" itemtype="https://schema.org/Question">
<h2 itemprop="name">How to find an apprenticeship?</h2>
<div itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer">
<div itemprop="text">
We provide an official service to search through available apprenticeships. To get started, create an account here, specify the desired region, and your preferences. You will be able to search through all officially registered open apprenticeships.
</div>
</div>
</div>
<div itemscope itemprop="mainEntity" itemtype="https://schema.org/Question">
<h2 itemprop="name">Whom to contact?</h2>
<div itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer">
<div itemprop="text">
You can contact the apprenticeship office through our official phone hotline above, or with the web-form below. We generally respond to written requests within 7-10 days.
</div>
</div>
</div>
</body>
</html>
Breadcrumb: Navigation links that help users understand your site’s structure
Breadcrumbs show a clear path of where the page sits in your site’s hierarchy, right in the search snippet. They replace long URLs with clean, readable navigation links, helping users and search engines better understand your structure.

Here’s an example in Microdata to support that breadcrumb:
<html>
<head>
<title>Award Winners</title>
</head>
<body>
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope
itemtype="https://schema.org/ListItem">
<a itemprop="item" href="https://example.com/books">
<span itemprop="name">Books</span></a>
<meta itemprop="position" content="1" />
</li>
›
<li itemprop="itemListElement" itemscope
itemtype="https://schema.org/ListItem">
<a itemscope itemtype="https://schema.org/WebPage"
itemprop="item" itemid="https://example.com/books/sciencefiction"
href="https://example.com/books/sciencefiction">
<span itemprop="name">Science Fiction</span></a>
<meta itemprop="position" content="2" />
</li>
›
<li itemprop="itemListElement" itemscope
itemtype="https://schema.org/ListItem">
<span itemprop="name">Award winners</span>
<meta itemprop="position" content="3" />
</li>
</ol>
</body>
</html>
Review snippets: Star ratings and short reviews pulled into the SERP
Review snippets add star ratings and review counts right below your page title in Google search. This eye-catching feature boosts credibility and helps attract clicks by showing instant social proof.
A review snippet is a brief excerpt or rating summary from a review source, often showing the average score based on multiple reviewers. It can apply to content types such as books, recipes, movies, products, software apps, and local businesses.

Here’s an example of a simple review in Microdata:
<html>
<head>
<title>Legal Seafood</title>
</head>
<body>
<div itemscope itemtype="https://schema.org/Review">
<div itemprop="itemReviewed" itemscope itemtype="https://schema.org/Restaurant">
<img itemprop="image" src="https://example.com/photos/1x1/seafood-restaurant.jpg" alt="Legal Seafood"/>
<span itemprop="name">Legal Seafood</span>
<span itemprop="servesCuisine">Seafood</span>
<span itemprop="priceRange">$$$</span>
<span itemprop="telephone">1234567</span>
<span itemprop="address">123 William St, New York</span>
</div>
<span itemprop="reviewRating" itemscope itemtype="https://schema.org/Rating">
<span itemprop="ratingValue">4</span>
</span> stars -
<b>"A good seafood place." </b>
<span itemprop="author" itemscope itemtype="https://schema.org/Person">
<span itemprop="name">Bob Smith</span>
</span>
<div itemprop="publisher" itemscope itemtype="https://schema.org/Organization">
<meta itemprop="name" content="Washington Times">
</div>
</div>
</body>
</html>
Video: Details like thumbnails and duration for video content
Video markup lets you highlight key details like thumbnails, duration, and even segment timestamps. It helps your videos stand out in search and makes content easier for users to navigate from the SERP.

Here’s an example of a single learning video:
<html>
<head>
<title>Learning video markup example</title>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": ["VideoObject", "LearningResource"],
"name": "An introduction to Genetics",
"description": "Explanation of the basics of Genetics for beginners.",
"learningResourceType": "Concept Overview",
"educationalLevel": "High school (US)",
"contentUrl": "https://www.example.com/video/123/file.mp4",
"thumbnailUrl": [
"https://example.com/photos/1x1/photo.jpg",
"https://example.com/photos/4x3/photo.jpg",
"https://example.com/photos/16x9/photo.jpg"
],
"uploadDate": "2024-03-31T08:00:00+08:00"
}
</script>
</head>
<body>
</body>
</html>
Product: Key product info like price, availability, and ratings
Product markup adds rich details like price, availability, and ratings to your search snippet. It’s beneficial for e-commerce sites, helping users compare options and boosting visibility in shopping-related searches.

Single page example: variants nested under ProductGroup:
<html>
<head>
<title>Wool winter coat</title>
<script type="application/ld+json">
[
{
"@context": "https://schema.org/",
"@type": "ProductGroup",
"name": "Wool winter coat",
"description": "Wool coat, new for the coming winter season",
"url": "https://www.example.com/coat",
"brand": {
"@type": "Brand",
"name": "Good brand"
},
"audience": {
"@type": "PeopleAudience",
"suggestedGender": "unisex",
"suggestedAge": {
"@type": "QuantitativeValue",
"minValue": 13,
"unitCode": "ANN"
}
},
"productGroupID": "44E01",
"pattern": "striped",
"material": "wool",
"variesBy": [
"https://schema.org/size",
"https://schema.org/color"
],
"hasVariant": [
{
"@type": "Product",
"sku": "44E01-M11000",
"gtin14": "98766051104214",
"image": "https://www.example.com/coat_small_green.jpg",
"name": "Small green coat",
"description": "Small wool green coat for the winter season",
"color": "Green",
"size": "small",
"offers": {
"@type": "Offer",
"url": "https://www.example.com/coat?size=small&color=green",
"priceCurrency": "USD",
"price": 39.99,
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"shippingDetails": { "@id": "#shipping_policy" },
"hasMerchantReturnPolicy": { "@id": "#return_policy" }
}
},
{
"@type": "Product",
"sku": "44E01-K11000",
"gtin14": "98766051104207",
"image": "https://www.example.com/coat_small_lightblue.jpg",
"name": "Small light blue coat",
"description": "Small wool light blue coat for the winter season",
"color": "light blue",
"size": "small",
"offers": {
"@type": "Offer",
"url": "https://www.example.com/coat?size=small&color=lightblue",
"priceCurrency": "USD",
"price": 39.99,
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock",
"shippingDetails": { "@id": "#shipping_policy" },
"hasMerchantReturnPolicy": { "@id": "#return_policy" }
}
},
{
"@type": "Product",
"sku": "44E01-X1100000",
"gtin14": "98766051104399",
"image": "https://www.example.com/coat_large_lightblue.jpg",
"name": "Large light blue coat",
"description": "Large wool light blue coat for the winter season",
"color": "light blue",
"size": "large",
"offers": {
"@type": "Offer",
"url": "https://www.example.com/coat?size=large&color=lightblue",
"priceCurrency": "USD",
"price": 49.99,
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/BackOrder",
"shippingDetails": { "@id": "#shipping_policy" },
"hasMerchantReturnPolicy": { "@id": "#return_policy" }
}
}
]
},
{
"@context": "https://schema.org/",
"@type": "OfferShippingDetails",
"@id": "#shipping_policy",
"shippingRate": {
"@type": "MonetaryAmount",
"value": 2.99,
"currency": "USD"
},
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "US"
},
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": {
"@type": "QuantitativeValue",
"minValue": 0,
"maxValue": 1,
"unitCode": "DAY"
},
"transitTime": {
"@type": "QuantitativeValue",
"minValue": 1,
"maxValue": 5,
"unitCode": "DAY"
}
}
},
{
"@context": "http://schema.org/",
"@type": "MerchantReturnPolicy",
"@id": "#return_policy",
"applicableCountry": "US",
"returnPolicyCountry": "US",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 60,
"returnMethod": "https://schema.org/ReturnByMail",
"returnFees": "https://schema.org/FreeReturn"
}
]
</script>
</head>
<body>
</body>
</html>
Job posting: Listings that appear in Google Jobs
Job posting markup makes your listings eligible in the Google Jobs search feature. It increases visibility, drives targeted traffic from job seekers, and can dramatically improve application rates.

Here’s an example of an individual job posting using JSON-LD code:
<html>
<head>
<title>Software Engineer</title>
<script type="application/ld+json">
{
"@context" : "https://schema.org/",
"@type" : "JobPosting",
"title" : "Software Engineer",
"description" : "<p>Google aspires to be an organization that reflects the globally diverse audience that our products and technology serve. We believe that in addition to hiring the best talent, a diversity of perspectives, ideas and cultures leads to the creation of better products and services.</p>",
"identifier": {
"@type": "PropertyValue",
"name": "Google",
"value": "1234567"
},
"datePosted" : "2024-01-18",
"validThrough" : "2024-03-18T00:00",
"employmentType" : "CONTRACTOR",
"hiringOrganization" : {
"@type" : "Organization",
"name" : "Google",
"sameAs" : "https://www.google.com",
"logo" : "https://www.example.com/images/logo.png"
},
"jobLocation": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"streetAddress": "1600 Amphitheatre Pkwy",
"addressLocality": "Mountain View",
"addressRegion": "CA",
"postalCode": "94043",
"addressCountry": "US"
}
},
"baseSalary": {
"@type": "MonetaryAmount",
"currency": "USD",
"value": {
"@type": "QuantitativeValue",
"value": 40.00,
"unitText": "HOUR"
}
}
}
</script>
</head>
<body>
</body>
</html>
For the full list and guidelines, check out Google’s Search Gallery.
How enhancements help SEO
Enhancements boost your presence in the SERP by enabling rich results – those extra visual elements like stars, FAQs, or video previews. These grab attention and improve CTR by making your listing more informative and clickable.
Fixing errors and warnings also ensures your content stays eligible for these features, helping you maximize visibility and indexing potential.
Standard enhancement issues and how to fix them
Enhancement reports in Google Search Console are great for surfacing structured data problems, but they can also be confusing if you’re unsure what the issues mean or how to resolve them.
Let’s break down the most common ones and how to fix them effectively.
1. Missing required properties
This is the most frequent error. For example, product markup might be missing a required field like price or availability. Without these, Google won’t display your rich result at all.

✅ Fix: Check the official schema documentation to identify the required properties for the enhancement type. Add the missing fields to your structured data using JSON-LD or your CMS plugin.
If you’re adding it manually, use JSON-LD (Google’s recommended format)
JSON-LD is a script-based format you insert into your page’s <head> or before the closing </body> tag.
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Classic Leather Shoes",
"image": [
"https://example.com/photos/1x1/photo.jpg"
],
"description": "Elegant leather shoes for formal occasions.",
"sku": "12345",
"offers": {
"@type": "Offer",
"priceCurrency": "USD",
"price": "79.99",
"availability": "https://schema.org/InStock",
"url": "https://example.com/classic-leather-shoes"
}
}
</script>
This snippet includes all the key fields Google expects: product name, image, description, price, availability, and a link to the product.
🧩 If you’re using a CMS (like WordPress, Shopify, Wix)
Use a plugin or built-in integration that supports structured data:
- WordPress: Use plugins like Yoast SEO or Schema & Structured Data for WP.
- Shopify: Many themes already include basic product schema; for full control, use apps like Smart SEO or edit the theme’s liquid templates.
- Wix / Squarespace: They add some structured data automatically, but you can usually extend it via the custom code feature.
After implementing the missing fields, test your changes using Google’s Rich Results Test and validate the fix in GSC to start the reprocessing.
2. Incorrect or invalid values
Sometimes fields are present but contain the wrong data type, like a date written in the wrong format or a boolean value expressed as a string.
✅ Fix: Validate your structured data using Google’s Rich Results Test or Schema.org Validator. Update the values to match the expected formats (e.g., use “true” instead of “yes” for boolean values).
3. Using unsupported markup types
Google only supports certain types of structured data for rich results. Adding schema types not recognized by Google (or applying them to irrelevant pages) won’t trigger Enhancements reports.

✅ Fix: Stick to supported markup types in Google’s Search Gallery. Remove or adjust unsupported types accordingly.
Google doesn’t support every schema type for rich results. You might be using valid Schema.org markup, but if it’s not in Google’s supported list, it won’t trigger an Enhancements report or show rich results.
🛑 Example of unsupported types:
@type: Article – While valid schema, it doesn’t trigger a rich result (unless it’s NewsArticle with AMP in Google News).
@type: Organization – Good for Knowledge Graph, but not for Enhancements reports.
@type: WebPage – Informational but not eligible for rich results by itself.
These may still be useful for context, but they won’t appear in Search Console’s Enhancements section.
4. Non-indexable pages
If the page containing the structured data is noindexed, blocked by robots.txt, or otherwise not indexable, GSC won’t show an Enhancements report, even if your markup is perfect.
✅ Fix: Ensure the page is indexable. It should return a 200 OK status, have no noindex tag, and not be blocked from crawling.

5. Slow validation or pending status
Even after fixing errors, GSC may still show a “pending” or unresolved status for several days, or longer.
✅ Fix: Be patient, but click Validate Fix once changes are live.

This prompts Google to recrawl the affected pages sooner.
In short, Enhancement issues are fixable but require attention to technical details and Google’s schema rules.
Regular audits and proper testing tools are your best friends here.
Conclusion
Google Search Console Enhancements provide vital insights into how structured data impacts your site’s visibility in search. These reports help you monitor rich results like FAQs, products, and reviews, identify errors or missing data, and validate fixes. With correct schema implementation, your content becomes more prominent and clickable in search results. Regularly reviewing these reports ensures your pages are eligible for rich features, improving SEO and user engagement.
For best results, use supported markup types, keep data accurate, and validate changes with Google’s Rich Results Test and GSC’s built-in tools.