Hi Andrew,
I see what you are asking about now. What you are seeing is the "performance bottleneck" that I mentioned around SSR (server side rendering). Any bot which cannot process Javascript will *only trigger SSR* (essentially they require each page to be translated into HTML on each request). That process *does require a number of requests* from the Server-Side Javascript to the REST API, which is what you are seeing in your logs.
(As a sidenote, since you are grepping in your Apache Logs you may also seeing a mix of Angular and REST API requests... when I was tracking requests, I was doing it in my browser and only viewing the direct REST API requests, which excludes things like requesting the images, CSS and Javascript files necessary to run the frontend.)
When you access the page initially, you are also triggering SSR (server side rendering) for the first page you access. But, then your browser switches you quickly to CSR (client side rendering). Bots may *never* switch to CSR because they cannot process the Javascript required to switch to CSR... in which case every request may be SSR and result in a larger number of REST API requests.
As I linked to previously, we have ways to minimize the SSR processing (but it never goes away entirely) documented on our "
Performance Tuning DSpace" page.
One option listed there is to "Limit which pages are processed by SSR": This will ensure only some pages in your site undergo SSR, while others *ignore* SSR requests. This essentially limits which pages bots can access (but only if the bot doesn't understand how to process Javascript).
Another option listed there is to "Turn on caching of SSR pages": This essentially caches the generated HTML for specific pages and serves later bot requests with a cached copy of that page. This can also be achieved via external tools (e.g. Apache has some caching plugins I believe that do a similar thing). This essentially means the first bot will make a larger number of those REST API requests, but later bots may make *zero requests* (until the cached page times out and needs to be refreshed).
In summary, the behavior you are seeing is a side effect of SSR & the fact that bots trigger SSR *heavily*. The tips above can help lessen the number of times bots will trigger SSR, but it won't go away entirely. (And, as I noted previously, some AI bots are getting much smarter and may find ways to bypass those settings on that Performance Tuning DSpace page, especially by performing client side rendering themselves.)
I hope that helps better explain what you are seeing.
Tim