This issue is automatically created based on existing pull request: magento/pwa-studio#3058: [FEATURE] Added default Rendertron support
Description
Many frontend frameworks rely on JavaScript to show content. This can mean Google might take some time to index your content or update the indexed content. One workaround option is to implement dynamic rendering. Dynamic rendering means switching between client-side rendered and pre-rendered content for specific user agents. This codelab will walk you through implementing dynamic rendering using Rendertron, which is an open source solution based on headless Chromium.
With 3 new environment variables you can easily setup Server Side Rendering with Rendertron.
RENDERTRON_URL
Specify the Base URL of the Rendertron proxy service.
RENDERTRON_USER_AGENTS
Regular expression to match user agent to proxy. Defaults to a set of bots that do not perform well with pages that require JavaScript.
RENDERTRON_EXCLUDE_URL_PATTERN
Regular expression used to exclude request URL paths. Defaults to a set of typical static asset file extensions.
It is possible to self-host Rendertron or even refer to SeoSnap (https://seosnap.io/)
Acceptance
Verification Stakeholders
Specification
Verification Steps
Add the following lines to your .env (important: in this example i use the appspot rendertron which shouldn't be used in production)
RENDERTRON_URL=https://localhost:3000/render
RENDERTRON_USER_AGENTS="PreCacher|SeoScan|SitemapCacheWarmer|Screaming|Mojolicious|googlebot|bingbot|yandex|Whatsapp|baiduspider|twitterbot|facebookexternalhit|rogerbot|linkedinbot|embedly|quora link preview|showyoubot|outbrain|pinterest|slackbot|vkShare|W3C_Validator|Lighthouse"
RENDERTRON_EXCLUDE_URL_PATTERN="graphql|\.(js|css|xml|less|png|jpg|jpeg|gif|pdf|doc|txt|ico|rss|zip|mp3|rar|exe|wmv|doc|avi|ppt|mpg|mpeg|tif|wav|mov|psd|ai|xls|mp4|m4a|swf|dat|dmg|iso|flv|m4v|torrent|ttf|woff|svg|eot)"
This issue is automatically created based on existing pull request: magento/pwa-studio#3058: [FEATURE] Added default Rendertron support
Description
Many frontend frameworks rely on JavaScript to show content. This can mean Google might take some time to index your content or update the indexed content. One workaround option is to implement dynamic rendering. Dynamic rendering means switching between client-side rendered and pre-rendered content for specific user agents. This codelab will walk you through implementing dynamic rendering using Rendertron, which is an open source solution based on headless Chromium.
source: https://codelabs.developers.google.com/codelabs/dynamic-rendering#0
With 3 new environment variables you can easily setup Server Side Rendering with Rendertron.
It is possible to self-host Rendertron or even refer to SeoSnap (https://seosnap.io/)
Acceptance
Verification Stakeholders
Specification
Verification Steps
closeBrowser
in the rendertron configuration to trueChecklist