You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jun 21, 2022. It is now read-only.
What happens when Google tries to crawl a site that uses a B3-based theme? What if a user's browser doesn't support JavaScript?
The theme should be able to detect these situations and serve the user/crawler a server-rendered version of the page. This can be done by:
Rendering the B3 application using Phantom.js
Pro: Visual fidelity.
Con: Requires Node.js on the server. While it's the best possible solution, this requirement alone makes me not want to go this route, since it severely hampers compatibility, ease of use and, ultimately, adoption.
Con: Anything not available on page load (as a result of further on-page interaction, timed events, etc.) may not be displayed.
Serving the content using a secondary theme
Pro: No extra dependencies, WordPress handles theme switching.
Pro: Fallback is possible using the theme's own PHP resources, it's not necessary to install a second theme for this.
Con: Unless the secondary theme is custom-built to look the same (read: extra work), the page will not match the B3 application's visual style.
Keeping a single theme, but reusing some components
Pro: We may be able to reuse WP API models.
Pro: We may be able to render the same Dust templates on the client and the server.
Con: Everything in between (views, custom helpers, controllers, etc.) has to be duplicated, in PHP and JavaScript.
The text was updated successfully, but these errors were encountered:
What happens when Google tries to crawl a site that uses a B3-based theme? What if a user's browser doesn't support JavaScript?
The theme should be able to detect these situations and serve the user/crawler a server-rendered version of the page. This can be done by:
Rendering the B3 application using Phantom.js
Serving the content using a secondary theme
Keeping a single theme, but reusing some components
The text was updated successfully, but these errors were encountered: