Dynamic Serving
Dynamic serving occurs when the server responds with a different HTML or CSS file dependent on the user agent accessing the site. Ideal for mobile devices, dynamic serving enables a website to be fully accessible, however it is important to understand how search engine bots crawl this function. Our Hangout Notes cover examples and insights from Google for best practice implementation of dynamic serving.
Look Into Server-side Rendering For Improved UX as Dynamic Rendering is a Temporary Workaround for Crawlers
Dynamic rendering is a temporary workaround to allow search engine crawlers and social media crawlers to be able to access content even if they can’t render JavaScript. John foresees dynamic rendering being less useful in a few years as all crawlers get better at processing JavaScript, but look into server-side rendering for an improved experience for users.
Ensure Meta Data is Available on Mobile Version of Dynamic Sites
Dynamic sites should make sure that meta data isn’t stripped out on the mobile version of the page e.g. structured data.
Don’t Dynamically Serve AMP Pages
John thinks that AMP pages are crawled with normal Googlebot, so this would make it tricky if you were dynamically serving AMP pages, as Googlebot wouldn’t see this. Dynamically served AMP pages would also be tricky for non-Google services like Twitter if they wanted to pull out the AMP version of a page.
Google Doesn’t Recommend Dynamically Serving AMP Content
You can dynamically serve AMP content but it’s not recommended as tricky to get right and diagnose issues. They recommend using separate URLs for AMP or putting the entire site on AMP.
Ensure Dynamically Served Sites Show Full Content on Mobile for Mobile-First
With dynamic serving, Googlebot might not see full the content when they move to mobile-first, which would mean less to look at for indexing. Responsive design is less of an issue as has the same HTML across devices.
Dynamic Mobile Pages Take Precedence over Responsive
If you have a vary header which returns a different page for a mobile user agent, Google will use that as the mobile page instead of the responsive page.