I'm working on a platform where you can post events, among other things. I would like them to be found on Google and displayed as rich search results.
Briefly about the structure of the site. According to Google, it is recommended that you only display one event per page. That's why I have an overview page where you can scroll through all the events. This page is also linked in the sitemap so that Google crawls and indexes it regularly. Then there is a separate page for each event, on which only the information for the respective event is stored. However, this page is not in the sitemap and should not be stored there.
I then tried to store a BreadcrumbList (https://developers.google.com/search/docs/appearance/structured-data/breadcrumb) on the overview page. I then always specified the entire Event (https://developers.google.com/search/docs/appearance/structured-data/event) with the URL for the individual view as the "Item".
I then stored the Event as structured data in the individual view.
I then also set up a Google Search Console and could see that Google found my events from the overview page. However, these are not yet displayed as rich search results. I assume this will take some time.
The problem I have now is that the individual views are found as duplicates of the overview page and Google therefore does not index these pages. Probably because the events then have the same ID.
How can I structure this better? My next thought would be that I only place the links to the individual views on the overview page and place the information about the event exclusively on the individual view.
Since indexing always takes a while, I wanted to get some advice before making the next adjustment. Do you have any better suggestions? Does it even make sense to use a BreadcrumbList on the overview page?
It is important that the structured data is set exclusively via the JSON-LD. In addition, the individual pages cannot be stored in the sitemap.