Dynamically generated pages, regardless of the platform, have been a challenge for SEO professionals for a couple of decades now.
How do you get pages indexed that don’t exist until they are needed?
New content management systems bring some new tricks to how pages are created but in the end, dynamic content is nothing new.
And there are several ways to handle dynamic content from an SEO perspective.
Dynamic Rendering:
The official word from Mountain View on how to create SEO value from dynamic content is a technique knows as dynamic rendering.
Dynamic rendering detects the user-agent of a browser or bot and serves up content specifically for that bot.
This allows webmasters to show Googlebot and other crawlers fully-rendered pages rather than an empty dynamic template.
Some of you may sense red flags here – is this cloaking?
Dynamic rendering is not cloaking.
It’s a completely white hat technique recommended by Google for dynamically generated content; specifically, single-page apps and progressive web apps.
However, if dynamic rendering is abused, it can be considered cloaking.
For example, if you use dynamic rendering to serve up content that is not the same or very similar to the content that a regular visitor would see, you could end up in violation of Google’s terms of service.
The best practice is to make sure the content served to specific crawlers is the same as the content seen by your typical visitors.
When you implement dynamic rendering, make sure to check the speed of the site on different user agents.
A common mistake many make when implementing this technique is creating slow-loading pages, particularly mobile versions of these pages.
Always check the page speed of your alternate, dynamically rendered pages.
I’m not going to go into the nuts and bolts of setting up dynamic rendering in the column, but Google’s Martin Splitt has an excellent video on the subject that you can see here.
Cannonball: An Alternative to Dynamic Rendering:
If you don’t want to mess with dynamic rendering, you can go “old school” and create what I call a cannonball.
A cannonball is when you create static HTML pages to represent the pages that would normally be dynamically generated.
Creating a cannonball can be very time-consuming, especially for sites with many dynamically generated pages.
But cannonballs work for getting content indexed that otherwise might not show up if the crawler can’t access the dynamically generated pages.
Typically, when using a cannonball approach, the dynamically generated content is hidden from the crawlers.
This approach makes sense when using heavy personalization on a site.
For example, a site where users log in and have personal account information dynamically generated while shopping or surfing would use a cannonball approach to show the crawler the pages without any personalized information.
You can also use a cannonball approach in conjunction with dynamic rendering if you just have a few dynamically generated pages that need to be indexed.
The downside to a cannonball approach is it can be very resource-intensive to maintain.
It’s easy for the content in the cannonball to be out of date, especially on a site where things change rapidly.
For example, if your pricing changes, you must make sure that the pricing changes on the cannonball pages, as well.
There are numerous software solutions that will help you to maintain your cannonball pages. However, be aware that not every tool works with every platform.
In Conclusion:
Dynamically generated pages can be a powerful part of the overall user experience.
But they do create some headaches for SEO pros.
Thankfully, workarounds like dynamic rendering and cannonballs can help ensure we can have dynamically generated content and show up well in the search results.