Friday I mentioned something new that Google introduced named Dynamic Rendering. Google has still not come out with anything official about it, outside of what was mentioned in the video I posted last week. In short, dynamic rendering is Google's way of helping you get your JavaScript sites indexed by Google.
Google's John Mueller began explaining it a the 21 minute mark into the video. He said "we have a another option [for JavaScript and search] that we'd like to introduce, we call it Dynamic Rendering." He explained "dynamic rendering is the principle of sending normal client-side rendered content to users and sending fully server-side rendered content to search engines and to other crawlers that need it."
Of course, some might call this out as cloaking, but Google said there is a specific policy change for dynamic rendering for this. You serve the server-side rendering to Googlebot and the client-side or hybrid rendering to the user. Here is John's slide on that:
Tools to help you set it up are from Puppeteer and Rendertron:
Here is a diagram on how to set it up with the tools mentioned above:
Google says you should use dynamic rendering when the site is large and changing rapidly, when it uses modern JavaScript features supported in Chrome 41 or above and sites that have strong social media presences should also consider using it:
I don't know much more outside that Google will share more information about this in the future:
Yes, we're going to have some docs about this over time.
— John ☆.o(≧▽≦)o.☆ (@JohnMu) May 14, 2018
— John ☆.o(≧▽≦)o.☆ (@JohnMu) May 15, 2018
Here is the video embed when John first began talking about dynamic rendering:
Forum discussion at Twitter.
Update: Some folks asked by social sites? It is because the social sharing buttons need rendered pages in order to serve up the images and content to be shared:
Some social media & chat sites try to extract information from the page that you share, titles, descri.. um.., and images, etc. If they can't render the pages to get that information, they're gonna have a bad time & your shared URLs will look bad. If you care about that, then DR.
— John ☆.o(≧▽≦)o.☆ (@JohnMu) May 15, 2018