We are using static html, combined with partial page hydration via javascript. Visitors download a full html page when they first arrive at the website, from there javascript intercepts any internal link clicks, fetching a json file with the content that changes and then hydrates the existing DOM with the new content.
However our schema data is included in the page as ld+json, so not contained within the content that gets hydrated.
I am wondering, when Googlebot and Bingbot visit a webpage such as ours, do they look at the html and simply fetch the url listed in links getting the full static version? Or do they simulate a link click in which case the js would preform the page hydration which they would sub-sequentially crawl?
I ask because we have not yet figured out how to extract the content within <script type="application/ld+json">.....</script>
with PHP and then later reinsert it with javascript. If the bots simply go to the next url, then they will always get the correct schema data, but with page hydration we would need to update the schema data.