We have created an e-commerce platform that uses ReactJS and Redux state for the front-end. Our API requests are async using Ajax calls and due to that fact we are facing issues with what the Google Search Console actually see and can crawl/index. The platform uses Client-Side Rendering and it's a Single Page Application. Needless to say that we cannot switch to Server-Side Rendering at the moment.

The first website we shipped over a year ago is already crawled and the sections: "This is how Googlebot saw the page", "This is how a visitor to your website would have seen the page", are both identical and showing the content.

We are now launching a new website with the exact same codebase hosted on the same server. Unfortunately, the search console only displays a blank page in both sections. Due to that fact, we are using a logic in our backend so that we can prerender the pages of our website and serve those to the Google Bot instead. Those files are generated every time a change is performed on the server in order to have zero difference in what the Google Bot can see compared to what the visitors see.

However, even though the Google Bot can now successfully crawl the page there is still a blank page on the "how a visitor to your website would have seen the page" section.

My questions are: 1. Why there is no consistency between those two sites even though it's the exact same code base? Is there a reason for that? 2. My client already has an e-commerce which we created a while back and we are now updating using ReactJS. Will he be blacklisted if the Google Bot can successfully see the page but the User Bot in search console continues to see the blank page?

Needless to say that we do not want to switch to server-side rendering as many of forums here and there suggest.

New contributor
Vassilis Koulianos is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
  • If you want a site that ranks well in search engines you shouldn't use SPA technology such as React or Angular. Googlebot is the best search engine crawler at being able to read such sites, but even Googlebot's support is spotty at best. – Stephen Ostermiller Sep 14 at 11:04
  • I really appreciate your input on this. I am just trying to have an official answer from Google whether or not my client will be blacklisted cause SPA is fantastic in terms of user experience so I'm sure there must be a way to overcome the issue (not by prerendering the whole website though even for users). Thanks again – Vassilis Koulianos Sep 14 at 11:24
  • Google rarely gives official answers on ANYTHING. We get lots of people asking here about why their SPA isn't getting crawled or indexed properly. We don't usually get good answers to those questions,. From what I've seen, those frameworks are just to complicated for search engine bots to deal with reliably. Furthermore, I often see people use them in non-search engine friendly ways: not changing the URL when the content changes (pushState) and not using <a href links to let Googlebot know about content/URL changes. SPAs work great for private content, but not usually for public. – Stephen Ostermiller Sep 14 at 11:41

Your Answer

Vassilis Koulianos is a new contributor. Be nice, and check out our Code of Conduct.
 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.