The Short Answer
Most review snippet warnings in Search Console come from one of three things: a required field is missing, a review sits on a type Google does not support for reviews, or the markup says the same thing twice in a way that contradicts itself. The newest of these, and the one that confuses people most, reads: a nested parent_node object cannot contain the itemReviewed field, remove itemReviewed to avoid directional conflict. It means a review is already inside the thing it reviews, and also points at that thing a second time. Delete the inner itemReviewed, keep the name on the parent, test the page, then ask Search Console to validate the fix.
The one sentence version
When a review is nested inside the item it reviews, Google assumes the parent is the reviewed item, so remove itemReviewed from the nested review and leave everything else alone.
What the Warning Says, Word for Word
Search Console groups this under the Review snippets report as a warning, not an error. The two lines it shows are: A nested parent_node object cannot contain the itemReviewed field. Remove itemReviewed to avoid directional conflict, and Object type parent_node is incompatible with this object. The placeholder parent_node is literal; the report does not fill in the real type, which is why the message reads like a template. On our own reviews page it appeared with a last update date of 9 October 2026.
Directional conflict is the useful phrase. Review markup can be written in two directions. Either a Review stands on its own and points at the thing it reviews with itemReviewed, or the thing being reviewed contains the Review in its review property. Google accepts both. What it does not accept is both at once, because then the review is inside one object and pointing at another, even when the two are the same.
| Pattern | Where the reviewed item is named | itemReviewed on the review? |
|---|---|---|
| Standalone review | Inside the Review, through itemReviewed with a name | Required |
| Review nested in the item | The parent object, through its own name | Omit it |
| Standalone aggregate rating | Inside the AggregateRating, through itemReviewed | Required |
| Aggregate rating nested in the item | The parent object, through its own name | Omit it |
| Both directions at once | Twice, once by nesting and once by pointing | The cause of the warning |
Why Nested Reviews Trip This Warning
Google documents the rule directly: if a review is nested under another type through the review property, you can omit itemReviewed, because Google assumes the parent item is the reviewed item. The same applies to an AggregateRating nested under aggregateRating. You still need the name of the reviewed item, but it lives on the parent.
Templates are the usual source of the duplicate. A component written to output standalone reviews, which must carry itemReviewed, gets reused inside an Organization or Product block that already wraps the reviews. Each review then carries its own copy of the reviewed item. Nothing breaks visibly, the page looks the same, and the structured data testing tools show every field as present, which is exactly why it survives review until Search Console flags it.
Check every template that prints reviews
If one component prints reviews in several places, fix it once at the source. Patching the output page by page leaves the next page built from the same template with the same warning.
How to Fix It, Step by Step
Find the affected pages
Open Search Console, then Review snippets under Enhancements, and click the warning to list every affected address. Export the list.
Read the markup on one page
Open the page source or run it through the Rich Results Test. Find where the Review objects sit and what contains them.
Decide the direction
If the reviews sit inside the reviewed item through its review property, they are nested. If they stand alone, they are standalone.
Remove the duplicate pointer
For nested reviews, delete itemReviewed from each review. For standalone reviews, make sure nothing wraps them as well.
Keep the name on the parent
The parent object must still carry a name, because the nested reviews now inherit the reviewed item from it.
Test before you deploy
Run the changed page through the Rich Results Test and confirm the review items parse with no warnings.
Validate in Search Console
After the change is live, press Validate Fix in the report. Google rechecks the affected pages over the following days.
On our own site the fix was five lines per review. Each testimonial inside the Organization block carried an itemReviewed object naming the same Organization, with its name and web address. We deleted that object from the nested reviews on 10 October 2026, one day after the warning appeared, and left the Organization name, the aggregate rating and every review body untouched. The visible page did not change at all.
A Worked Example: Before and After
Here is the shape of our reviews page markup before and after the change, described field by field rather than pasted, because the structure is what matters. The page has one Organization object. It carries the company name, its web address, an aggregate rating computed from the testimonials shown on the page, and a review list with one Review per testimonial.
| Part of the markup | Before the fix | After the fix |
|---|---|---|
| Organization | Name, web address, aggregateRating, review list | Unchanged |
| aggregateRating | ratingValue and reviewCount, nested in the Organization | Unchanged, already correct |
| Each nested Review | Author, rating, review text, and an itemReviewed pointing at the same Organization | Author, rating and review text only |
| Visible page | Testimonials with names and ratings | Identical |
| Search Console | Nested itemReviewed warning on the reviews page | Fix deployed on 10 October 2026, ready for validation |
Two details are worth copying. The review count is generated from the same list that renders the visible testimonials, so the number in the markup can never drift from the number on the page. And the aggregate rating sits on the Organization, not on each review, so there is exactly one claim about the overall score. Count drift between markup and page is one of the quieter reasons structured data gets ignored, and it is invisible unless you compare the two.
Two plugins, two blocks
A theme and a reviews plugin both print review markup for the same item, so one block nests and the other points.
A reused component
A standalone review component, correct on its own, gets dropped inside a product or organization block.
A migration
A rebuilt page keeps the old markup generator and wraps it in a new parent object.
The Other Review Snippet Warnings and Errors
The nested conflict is only one of the messages the report can show. The others map closely to the required and recommended fields in Google documentation, so most of them are a missing or malformed property.
| What the report complains about | What it means | How to fix it |
|---|---|---|
| Missing field author | A Review has no author | Add an author of type Person or Organization with a real name |
| Invalid author name | The author field holds something that is not a name, such as a promotion line | Use the reviewer name, and keep it under 100 characters |
| Missing field itemReviewed | A standalone review does not say what it reviews | Add itemReviewed with a name, or nest the review inside the item |
| Missing name of the reviewed item | itemReviewed exists but has no name | Add the name of the product, business or work |
| Missing reviewRating or ratingValue | A Review has no score | Add a Rating with ratingValue, and bestRating and worstRating if the scale is not one to five |
| Missing ratingCount or reviewCount | An AggregateRating has no count | Add at least one of the two counts |
| Invalid object type for itemReviewed | The reviewed item is not a supported type | Use one of the 17 supported types listed below |
| Nested object cannot contain itemReviewed | Directional conflict, covered above | Remove itemReviewed from the nested review |
Google currently lists 17 types that can be reviewed: Book, Course, CreativeWorkSeason, CreativeWorkSeries, Episode, Event, Game, HowTo, LocalBusiness, MediaObject, Movie, MusicPlaylist, MusicRecording, Organization, Product, Recipe and SoftwareApplication. Reviews attached to anything else, a Service or a WebPage for example, will not produce a review snippet, however complete the rest of the markup is. If you sell software, SoftwareApplication is usually the right type; a wider guide to schema for AI search covers how the types fit together.
Self Serving Reviews: Why Some Pages Never Get Stars
This is the part most fixes miss. Google treats reviews as self serving when the entity being reviewed controls the reviews about itself. Pages that use LocalBusiness or other Organization markup in that situation are ineligible for the star review feature. The example Google gives is a review about a business placed on that business's own website.
So a company that marks up its own testimonials as reviews of itself can fix every warning in the report and still never see stars in results. Our own reviews page is exactly that case: client testimonials, marked up as reviews of our own Organization. We fixed the warning anyway, for two reasons. A clean report makes real errors visible when they appear, and structured data that contradicts itself is worse than none for any system that reads it. We did not fix it expecting stars.
| Situation | Eligible for review stars? | What to do |
|---|---|---|
| A business marks up testimonials about itself on its own site | No, self serving | Keep the markup accurate, expect no stars |
| A shop marks up customer reviews of the products it sells | Yes, if complete and visible | Product with review and aggregateRating |
| A publisher reviews a product it does not make | Yes, if complete and visible | Standalone Review with itemReviewed |
| Reviews written by the company, not customers | No | Do not mark them up as reviews |
| Reviews not visible on the page | No | Show every marked up review to visitors |
Do not invent a third party
Moving testimonials into markup that pretends they came from another site, or attaching them to a product type to get stars, breaks Google guidelines for structured data. That is the kind of mismatch that can earn a manual action and switch off rich results across a whole site.
Do Review Snippets Matter for AI Answers?
Not in the way people hope. Google documentation for AI Overviews and AI Mode says there are no extra technical requirements and no special markup needed to appear, and that structured data should match the visible text. Review markup does not buy a place in an AI answer. What does matter is the visible content the markup describes: real reviews with names, dates and specifics are the material assistants quote when someone asks whether a product is any good.
That is why accuracy matters more than eligibility. A review section that shows ten detailed customer reviews, marked up correctly, is useful to a person, to a search engine and to an assistant at the same time. A review section built to win stars and nothing else is useful to none of them. Our guide on review platforms and AI citations covers the reviews that live on other sites, which assistants tend to trust more than the ones you host yourself.
Validate the Fix and Keep It Fixed
Press Validate Fix once
Start validation only after every affected template is fixed, or the check fails on the pages you missed.
Watch the validation state
The report moves from started to passed or failed as Google recrawls the listed pages.
Add a markup check to deploys
Parse every structured data block on build and fail the deploy on invalid markup, so the next template mistake never ships.
Recheck after redesigns
Most review markup breaks when a page is rebuilt, because the new component prints reviews differently.
If you publish many pages with reviews, a periodic crawl that extracts every Review object and checks the direction of each one catches this class of warning before Google does. The same habit belongs in a technical SEO checklist, next to canonical tags and redirect checks.
The Bottom Line
The nested itemReviewed warning is harmless to fix and easy to cause again. Delete the inner pointer, keep the name on the parent, test, deploy and validate. Then be honest about what the markup can do: if the reviews are about your own business on your own site, the warning will go away and the stars still will not come, because Google treats those reviews as self serving. Fix it for accuracy, not for decoration, and put your effort into the reviews themselves.
