Building Mid Engine Co with Prerender.io
Prerender.io renders JavaScript pages for search crawlers and returns cached HTML through an integration in your request path. That integration identifies crawler requests and routes them to Prerender.io; human visitors continue to the existing storefront. Prerender.io · How Prerender.io works
For Mid Engine Co, the storefront could stay a browser-rendered Mithril SPA. Product pages would be rendered for crawlers, while shoppers would load the normal app and keep their own live Shopify cart. This is a focused way to make crawler requests receive HTML without rebuilding the storefront around SSR.
The key difference is who gets the prepared page
Prerender.io is primarily a crawler-rendering path: your server, CDN, or proxy must recognize the relevant crawler user agents and send those requests to the service. Spache sits in front of the site for ordinary visits too, so people as well as crawlers can receive prepared HTML. The browser app then starts normally, keeps the visitor-specific cart live, and can reuse captured API responses during startup. That last part means the app can receive matching captured data without waiting for another request to the origin.
| Consideration | With Prerender.io… | With Spache… |
|---|---|---|
| Routing crawler requests | Configure middleware, server, or CDN logic to detect crawler user agents and forward those requests to Prerender.io. | Automatic |
| Keeping crawler coverage current | Use the integration’s bot list and add user agents when needed. | Automatic |
| Serving rendered HTML to shoppers | The regular visitor path still serves the storefront; the browser app renders the page for shoppers. | Automatic |
| Reusing API data during app startup | The rendered snapshot includes the result in its HTML; the live browser app still makes its normal API requests. | Eligible responses are captured and replayed to the app; JSON GET capture is automatic, and non-GET capture is configurable. |
| Refreshing rendered pages | Configure cache expiration, and arrange refreshes or invalidation when content changes sooner. | Automatic, configurable |
| Hosting rendered output | Prerender.io manages its rendered-page cache; your integration must connect it to crawler requests. | Automatic |
| Keeping the cart visitor-specific | The shopper’s normal browser app loads and manages their live cart. | Automatic |
Prerender.io is a good fit when the goal is to provide rendered pages to crawlers and you are comfortable maintaining the crawler-routing integration. Spache takes a broader role: prepared HTML is part of the normal serving path for every visitor, with rendering, refreshing, and delivery managed together. For Mid Engine Co, that means no crawler-specific routing rules to maintain and no separate SSR implementation.
Further reading: configure crawler user agents and Prerender.io cache expiration and waiting for AJAX-backed content to finish rendering
