

Pull requests get isolated preview URLs for affected apps. A merge to main triggers a separate production build using Production configuration.
GitHub Actions builds each affected app on the runner and deploys the prebuilt artifact. Preview checks run against the artifact deployed for that pull request.
As you add locales and content, the canonical URLs, hreflang clusters, sitemap entries, and JSON-LD update themselves from the same config and helpers — there is no per-page SEO bookkeeping to forget.
Replace this post (and its cover image) with your own, point the environment at your services, and ship.
Copy this template, point it at your own services, and start with the interesting part.

About the author
Product Engineer
Jordan Lee is a product engineer who writes about shipping web apps — internationalization, SEO, and the wiring that makes a codebase pleasant to build on.