Nesting multiple Schema types (LocalBusiness + FAQ + Product)?
I am optimizing a service page for a client. We want the local map pack snippet, the FAQ dropdowns, and the review stars.
Can I just dump three different JSON-LD scripts onto the page, or do they need to be nested? Will Google get confused if I have LocalBusiness, FAQPage, and Product all firing at once?
You can put them on the same page, but do not just dump three separate scripts. Google prefers “connected” graphs. If they are disconnected, Google’s parser might not understand that the FAQs belong to that specific Local Business.
You need to nest them using the @id node.
The best way to handle this is to define the LocalBusiness as the primary entity, and then use the mainEntity or subjectOf property to connect the FAQPage schema to it.
Instead of writing this by hand and risking syntax errors, use our Free Schema Generator tool (/schema-markup-generator-json-ld/). It will properly format the JSON-LD for you so it passes the Rich Results test instantly. You can validate your code here: search.google.com/test/rich-results