We've rebuilt how detail pages work, and the result is a faster, more reliable experience.

What Changed

Previously, detail pages loaded bag data dynamically after the page rendered. Now, each bag's page is generated at build time with all the information already embedded in the HTML.

This means:

  • Faster page loads – No waiting for JavaScript to fetch and render data
  • Better SEO – Search engines see the full page content immediately
  • Works without JavaScript – Core information displays even if JS fails to load
  • Reliable related items – Images for similar bags now load correctly

Technical Details

For those interested in how it works:

Each bag generates its own HTML file during the build process. The page includes the bag's specs, features, Reddit mentions, and related items-all pre-rendered. Interactive features like favorites and compare still use JavaScript, but they initialize from embedded config rather than fetching it.

We also cleaned up how the browser's back button works. Favorites and compare selections now restore correctly when navigating back to the listing page.

What's Next

We're working on a horizontal card layout option and fixing the hardcoded price column references.

Check out any bag's detail page to see the faster experience-try the Osprey Daylite Expandable Travel Pack 26+6 (2024) or browse the full listing.