I am working on an enterprise website project as an SEO manager.

They were using Angular.js by now but I made them switch to SSR (server-side rendering) since Google robots were not able to render the pages, follow the links and there were other huge indexing/SEO issues.

They are convinced to deliver SSR version of website Only to Google bots, Bing bots and other major search engine robots by identifying them by user-agent.

The reason that they only choose the robots to receive SSR version is limited server resources. As you know, SSR requires huge amount of server resources since the content of the application is rendered on the server, not the client.

They won't accept to switch to SSR version for both search engine robots and real users anytime soon.

I want to put this to debate and kindly asking if you have any similar experience and the outcome.

My concerns

  • Google robots are receiving a different version of website from what the users receive.
  • Since the website is based on JS, some of the pages are not directly accessible through directly inpputing the URL.

Feel free to ask for more information.

Regards, Shayan Davoodi~

  • Why is the SSR and CSR content different?
    – Qwerty
    Nov 12, 2019 at 9:48

2 Answers 2


Here's what Pierre Benneton from SEOchat found to answer my question from Deliver search-friendly JavaScript-powered websites (Google I/O '18).

In this video at 21:07, John Mueller said that what we did to serve SSR content to search engine robots is something right to do. It is called "Dynamic Rendering".

  • Is that means... is it ok to create a separate version of a page for bots?
    – VJAI
    Aug 5, 2019 at 16:06
  • Exactly. You should try to deliver the same content in both versions. Aug 6, 2019 at 9:27
  • Can you point to a specific minute in the video? Also the first link is dead.
    – Qwerty
    Nov 12, 2019 at 10:13
  • It‘s explained at 21:07. The technique is called „Dynamic Rendering“.
    – fabb
    Jan 1, 2020 at 10:53
  • Here are docs on it: developers.google.com/search/docs/guides/dynamic-rendering
    – fabb
    Jan 1, 2020 at 11:26

Serving a different version to bots is a big no-no. It's against Google's guidelines and likely to get you in trouble. See related: Is it cheating to serve different versions of the same content to users and crawlers?

Go back to Angular, use prerendering, and make all the URLs search-engine friendly (no hashtags): https://geoffkenyon.com/angularjs-seo-crawling/

  • 1
    Hello there. Please let me get myself clear. I am not serving bots and users with different content. That's the exact same content which is already rendered on server for Google bot (using SSR technology) and javascript client-side rendered (CSR) for real users. For example users will see '<title ng-bind="PageHeader"></title>' in the source-code and "Blue cafe" in the browser's title bar while Google bot will see <title>Blue cafe</title> in the source. Is this considered as some sort of cloaking? Or anything which violates their guidelines? May 12, 2018 at 11:20
  • If it's the same content with slightly different HTML you may be okay. But because of cases like you mentioned where you simply cannot access certain URLs directly, I think you'd still be better off building a single version of the site, not only because your server resources will be used more effectively but also because the general principle behind serving bots differently than humans is against Google's guidelines. They want to make sure that users get the same experience their bot had so that human visitors get the best search results.
    – WebElaine
    May 14, 2018 at 21:40
  • Building some static pages is exactly what I'm planning to do and there are no worries about it anymore. May 16, 2018 at 6:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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