Add server driven meta tags #9
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Inertia.js allows you to define meta tags in your React app, similar to something like Helmet. However, these will not render until the JS code executes. And while some search crawlers can execute JS, most link preview services (such as posting links to social networks) will not.
One solution to this is server side rendering of the React application. InertiaRails supports SSR via a separate Node process. But if you don't want to run a separate process, InertiaRails has an alternative. With a little setup, you can define meta tags that the Inertia renderer will render both in the Rails application layout and on the client.
This is a lighter weight option if you care most about link sharing with your meta tags.
Steps
application.html.erband replaced it withinertia_meta_tags.set_default_meta_tagsmethod inApplicationController.