I am building a social media blog react website (basically like Medium.com) with virtual routing. E.g if user visits my-website.com/user456/post478 react will make an API Call to my cloud function to retrieve post478 of user456 from my BigTable DB. And then render it.

Is the Google SEO Indexing able to crawl this API while indexing the link? It's very important to me that it crawls it, because of SEO.

If it doesn't crawl, how can I solve that problem? Using nextjs SSR would be an option, but it's pretty cost/processing intensive. React-Helmet is also not really an option since the content will be crawled again by an API, since it's user generated.

Instead of storing the post in my BigTable DB, maybe I shall upload it as a static .json file to cloud-storage? But if my react app fetches the cloud function it will basically return user456post478.json , and if I just retrieve from cloud storage I will also get user456post478.json get.

The only difference is, that retrieving the user456post478.json from cloud-storage (with CDN) will be very much faster than getting it from my cloud function. is that the hitting key point for moving the content to static .json files instead of saving it in my BigTable DB?

Should I maybe somehow host the .json file to Firebase Hosting instead of Cloud Storage? But then I will end up storing 99999999 .json files in Firebase Hosting (because the files are user generated and with every day new ones will be uploaded). Is that OK? Does it make even a difference, storing the stuff on Hosting vs Storage? The only difference that I can think of, is that if it's stored on Hosting, and is a dependency, it will get directly delivered with the index.html, is that true? But how to make it a dependency? I need some kind of logic or not? Since there will be 999999 json files and not everyone can be a dependency (since it will be 100GB big after time).


1 Answer 1


Googlebot is able to crawl content that is rendered via requests to an API. Server-side rendering, as far as I understand it, is not needed for Googlebot to crawl the page content, but for speed enhancement.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.