Click Below to Get the Code

Browse, clone, and build from real-world templates powered by Harper.
Blog
GitHub Logo

Prerender with Dynamic Attributes: Solving the Speed vs. Freshness Dilemma for E-commerce

Retailers no longer need to choose between site speed and data freshness. Harper’s new pre-rendering pattern injects dynamic attributes like price and availability into a static page shell at request time—delivering lightning-fast load times with real-time accuracy, all without re-platforming.
Blog

Prerender with Dynamic Attributes: Solving the Speed vs. Freshness Dilemma for E-commerce

By
Aleks Haugom
August 5, 2025
By
Aleks Haugom
August 5, 2025
By
Aleks Haugom
August 5, 2025
August 5, 2025
Retailers no longer need to choose between site speed and data freshness. Harper’s new pre-rendering pattern injects dynamic attributes like price and availability into a static page shell at request time—delivering lightning-fast load times with real-time accuracy, all without re-platforming.
Aleks Haugom
Senior Manager of GTM & Marketing

In e‑commerce, speed is revenue.

A study by Deloitte found that reducing mobile site load times by just 0.1 seconds can increase conversion rates by 8.4% for retail sites and 10.1% for travel sites. Another by Portent shows that site speed under 1 second results in 3x higher conversions than sites loading in 5 seconds.

It’s no wonder every millisecond is scrutinized—by engineers, marketers, and even search bots. However, the faster you try to go, the more you encounter a significant challenge: dynamic content.

Prices, inventory, promotions, local availability, flash sales. These are the lifeblood of e‑commerce, and they change constantly. Which has led to a frustrating trade-off:

  • Either you prerender your pages for maximum speed,
  • Or you load them dynamically to reflect real-time data.

At Harper, we’re helping retailers erase that trade-off entirely.

The Old Excuse: “My Pages Change Too Often to Prerender”

We’ve heard this line again and again from retailers, travel brands, marketplaces, and SaaS companies alike:

“I love the idea of prerendering, but my pages are just too dynamic. My [price/inventory/promo slots] change every few minutes.”

It’s a fair concern—most prerendering tools weren’t designed for live commerce. They’re built to generate HTML ahead of time and cache it, but they don’t control the underlying data layer. This means that if the price changes, you have to re-render the entire page, invalidate caches, and hope the update propagates globally before a bot (or worse, a buyer) sees stale data.

But what if you could prerender most of the page, cache it for a long time, and inject just the dynamic attributes at the moment of the request?

That’s exactly what Harper enables.

A New Pattern: Prerendered Shell + Dynamic Attributes

Let’s break it down.

  1. Prerender the shell. Generate and cache the bulk of the page, including layout, product descriptions, imagery, SEO metadata, reviews, and other content. This is the stable stuff that rarely changes.

  2. Store dynamic fields separately. Place fast-changing data (like price, inventory, sale status, availability) in a small attributes table in the database.

  3. Inject on request. When a customer or bot loads the page, those dynamic fields are fetched from the database embedded in Harper and injected into the page in real time—usually in single-digit milliseconds.

This pattern solves the “too dynamic to prerender” problem. And it’s only possible because Harper combines the applications, database, cache, and messaging functions into one distributed runtime.

Instead of bouncing between SaaS layers (CDN ➝ origin ➝ DB ➝ back again), everything happens inside a unified environment—where logic, data, and distribution are tightly integrated.

While frameworks like Next.js use approaches like Incremental Static Regeneration (ISR) to blend static and dynamic rendering, they still rely on external APIs or origin data sources to fetch live content. This introduces latency and complexity—especially at scale. In contrast, Harper brings the data layer into the same runtime as the application, enabling dynamic attribute injection with significantly lower overhead and faster response times.

What Needs to Stay Dynamic?

You don’t need to dynamically render everything—just the parts that drive action or reflect real-time availability.

According to Google’s Merchant Center product data spec, there are 15+ baseline data attributes needed for SEO/SEM-rich snippets and product listing ads (PLAs). These include:

  • id
  • title
  • description
  • link
  • image_link
  • availability
  • price
  • brand
  • GTIN / MPN
  • condition
  • sale_price
  • shipping
  • product_category

In many enterprise use cases—especially B2B—this list expands. A Fortune 100 retailer we’ve worked with added 12–15 custom attributes to their business portal to distinguish it from their direct-to-consumer (D2C) experience. These include negotiated pricing, stock at distribution centers, customer segment visibility, and more.

By dynamically injecting just these fields at runtime, you can cache the rest of the page for hours, days, or even weeks without worrying about stale data.

CDNs Can’t Do This Alone

This isn’t something a traditional CDN can pull off.

They’re great at serving static content. But they don’t own the app tier, can’t connect to your live database in milliseconds, and can’t process business logic inline.

That’s why most prerendering solutions stop at “generate + cache.” They offer speed, but at the cost of flexibility.

Part of the issue is that traditional CDNs treat caching as an all-or-nothing operation—either the whole page is cached or it isn't. This forces developers into brittle cache-invalidation strategies or frequent rebuilds. Modern frameworks have tried to solve this at the rendering layer, but without owning the underlying data infrastructure, these workarounds can’t match the speed or cost efficiency of Harper’s native dynamic prerendering.

Harper breaks that ceiling by collapsing the stack into one runtime:

  • Database for storing structured dynamic attributes
  • Cache for keeping both static shells and attribute values regionally distributed
  • MQTT / APIs for real-time updates across regions
  • App tier to merge and serve content inline

This setup enables global distribution without the latency tax. Your customer in Frankfurt sees fresh prices as fast as your customer in San Francisco—because their data is already there.

What This Unlocks Next

Once you’ve mastered dynamic attribute injection, you open the door to true micro-personalization at scale.

Imagine identifying individual divs on a page by id—and tying them to live queries that reflect:

  • Loyalty-tier-specific discounts
  • Store-level inventory
  • Location-based messaging
  • AI-recommended bundles

Beyond performance, this expands what’s possible. You can deliver hyper-relevant experiences without compromising your architecture or introducing seconds of latency.

And because all of it lives in a distributed fabric with linear scaling, the cost and complexity remain predictable, even at enterprise scale.

How to Get Started

Unlike other solutions that require re-platforming or deeper integration with custom caching layers, Harper can sit in front of your existing stack. You don’t have to rewrite your app or re-architect your frontend. Just plug in attribute injection and start delivering dynamic content at static speeds.

You don’t need to rewrite your app to take advantage of this.

Here’s a simple roadmap:

  1. Audit your PDPs or landing pages. Which fields are dynamic? Which aren’t?
  2. Split your templates. Create a “static shell” and define “dynamic slots” for attribute injection.
  3. Set up a lightweight attributes table. Use Harper’s built-in DB (this is the lowest latency option) or connect your own via API or MQTT.
  4. Prerender your shells. Cache them globally with Harper’s infrastructure.
  5. Inject live data at request time. Keep the experience fast and fresh.

You’ll instantly benefit from improved Core Web Vitals, better SEO crawl efficiency, and a faster path to conversion—without rebuilding your front end.

Final Thoughts

The traditional trade-off between speed and flexibility is fading.

Thanks to Harper’s integrated architecture, prerendering is no longer just for blogs or marketing pages. It’s now viable—and essential—for high-velocity commerce sites where milliseconds matter.

By separating what’s dynamic from what’s stable, and bringing data closer to your customers, you get the best of both worlds: static speed and live accuracy.

It’s the next step in the evolution of performance—and the path is ready for you to walk.

→ Want to see it in action? Reach out to our team to learn more.

In e‑commerce, speed is revenue.

A study by Deloitte found that reducing mobile site load times by just 0.1 seconds can increase conversion rates by 8.4% for retail sites and 10.1% for travel sites. Another by Portent shows that site speed under 1 second results in 3x higher conversions than sites loading in 5 seconds.

It’s no wonder every millisecond is scrutinized—by engineers, marketers, and even search bots. However, the faster you try to go, the more you encounter a significant challenge: dynamic content.

Prices, inventory, promotions, local availability, flash sales. These are the lifeblood of e‑commerce, and they change constantly. Which has led to a frustrating trade-off:

  • Either you prerender your pages for maximum speed,
  • Or you load them dynamically to reflect real-time data.

At Harper, we’re helping retailers erase that trade-off entirely.

The Old Excuse: “My Pages Change Too Often to Prerender”

We’ve heard this line again and again from retailers, travel brands, marketplaces, and SaaS companies alike:

“I love the idea of prerendering, but my pages are just too dynamic. My [price/inventory/promo slots] change every few minutes.”

It’s a fair concern—most prerendering tools weren’t designed for live commerce. They’re built to generate HTML ahead of time and cache it, but they don’t control the underlying data layer. This means that if the price changes, you have to re-render the entire page, invalidate caches, and hope the update propagates globally before a bot (or worse, a buyer) sees stale data.

But what if you could prerender most of the page, cache it for a long time, and inject just the dynamic attributes at the moment of the request?

That’s exactly what Harper enables.

A New Pattern: Prerendered Shell + Dynamic Attributes

Let’s break it down.

  1. Prerender the shell. Generate and cache the bulk of the page, including layout, product descriptions, imagery, SEO metadata, reviews, and other content. This is the stable stuff that rarely changes.

  2. Store dynamic fields separately. Place fast-changing data (like price, inventory, sale status, availability) in a small attributes table in the database.

  3. Inject on request. When a customer or bot loads the page, those dynamic fields are fetched from the database embedded in Harper and injected into the page in real time—usually in single-digit milliseconds.

This pattern solves the “too dynamic to prerender” problem. And it’s only possible because Harper combines the applications, database, cache, and messaging functions into one distributed runtime.

Instead of bouncing between SaaS layers (CDN ➝ origin ➝ DB ➝ back again), everything happens inside a unified environment—where logic, data, and distribution are tightly integrated.

While frameworks like Next.js use approaches like Incremental Static Regeneration (ISR) to blend static and dynamic rendering, they still rely on external APIs or origin data sources to fetch live content. This introduces latency and complexity—especially at scale. In contrast, Harper brings the data layer into the same runtime as the application, enabling dynamic attribute injection with significantly lower overhead and faster response times.

What Needs to Stay Dynamic?

You don’t need to dynamically render everything—just the parts that drive action or reflect real-time availability.

According to Google’s Merchant Center product data spec, there are 15+ baseline data attributes needed for SEO/SEM-rich snippets and product listing ads (PLAs). These include:

  • id
  • title
  • description
  • link
  • image_link
  • availability
  • price
  • brand
  • GTIN / MPN
  • condition
  • sale_price
  • shipping
  • product_category

In many enterprise use cases—especially B2B—this list expands. A Fortune 100 retailer we’ve worked with added 12–15 custom attributes to their business portal to distinguish it from their direct-to-consumer (D2C) experience. These include negotiated pricing, stock at distribution centers, customer segment visibility, and more.

By dynamically injecting just these fields at runtime, you can cache the rest of the page for hours, days, or even weeks without worrying about stale data.

CDNs Can’t Do This Alone

This isn’t something a traditional CDN can pull off.

They’re great at serving static content. But they don’t own the app tier, can’t connect to your live database in milliseconds, and can’t process business logic inline.

That’s why most prerendering solutions stop at “generate + cache.” They offer speed, but at the cost of flexibility.

Part of the issue is that traditional CDNs treat caching as an all-or-nothing operation—either the whole page is cached or it isn't. This forces developers into brittle cache-invalidation strategies or frequent rebuilds. Modern frameworks have tried to solve this at the rendering layer, but without owning the underlying data infrastructure, these workarounds can’t match the speed or cost efficiency of Harper’s native dynamic prerendering.

Harper breaks that ceiling by collapsing the stack into one runtime:

  • Database for storing structured dynamic attributes
  • Cache for keeping both static shells and attribute values regionally distributed
  • MQTT / APIs for real-time updates across regions
  • App tier to merge and serve content inline

This setup enables global distribution without the latency tax. Your customer in Frankfurt sees fresh prices as fast as your customer in San Francisco—because their data is already there.

What This Unlocks Next

Once you’ve mastered dynamic attribute injection, you open the door to true micro-personalization at scale.

Imagine identifying individual divs on a page by id—and tying them to live queries that reflect:

  • Loyalty-tier-specific discounts
  • Store-level inventory
  • Location-based messaging
  • AI-recommended bundles

Beyond performance, this expands what’s possible. You can deliver hyper-relevant experiences without compromising your architecture or introducing seconds of latency.

And because all of it lives in a distributed fabric with linear scaling, the cost and complexity remain predictable, even at enterprise scale.

How to Get Started

Unlike other solutions that require re-platforming or deeper integration with custom caching layers, Harper can sit in front of your existing stack. You don’t have to rewrite your app or re-architect your frontend. Just plug in attribute injection and start delivering dynamic content at static speeds.

You don’t need to rewrite your app to take advantage of this.

Here’s a simple roadmap:

  1. Audit your PDPs or landing pages. Which fields are dynamic? Which aren’t?
  2. Split your templates. Create a “static shell” and define “dynamic slots” for attribute injection.
  3. Set up a lightweight attributes table. Use Harper’s built-in DB (this is the lowest latency option) or connect your own via API or MQTT.
  4. Prerender your shells. Cache them globally with Harper’s infrastructure.
  5. Inject live data at request time. Keep the experience fast and fresh.

You’ll instantly benefit from improved Core Web Vitals, better SEO crawl efficiency, and a faster path to conversion—without rebuilding your front end.

Final Thoughts

The traditional trade-off between speed and flexibility is fading.

Thanks to Harper’s integrated architecture, prerendering is no longer just for blogs or marketing pages. It’s now viable—and essential—for high-velocity commerce sites where milliseconds matter.

By separating what’s dynamic from what’s stable, and bringing data closer to your customers, you get the best of both worlds: static speed and live accuracy.

It’s the next step in the evolution of performance—and the path is ready for you to walk.

→ Want to see it in action? Reach out to our team to learn more.

Retailers no longer need to choose between site speed and data freshness. Harper’s new pre-rendering pattern injects dynamic attributes like price and availability into a static page shell at request time—delivering lightning-fast load times with real-time accuracy, all without re-platforming.

Download

White arrow pointing right
Retailers no longer need to choose between site speed and data freshness. Harper’s new pre-rendering pattern injects dynamic attributes like price and availability into a static page shell at request time—delivering lightning-fast load times with real-time accuracy, all without re-platforming.

Download

White arrow pointing right
Retailers no longer need to choose between site speed and data freshness. Harper’s new pre-rendering pattern injects dynamic attributes like price and availability into a static page shell at request time—delivering lightning-fast load times with real-time accuracy, all without re-platforming.

Download

White arrow pointing right

Explore Recent Resources

Tutorial
GitHub Logo

Real-Time Pub/Sub Without the Stack

Explore a real-time pub/sub architecture where MQTT, WebSockets, Server-Sent Events, and REST work together with persistent data storage in one end-to-end system, enabling real-time interoperability, stateful messaging, and simplified service-to-device and browser communication.
Harper Learn
Tutorial
Explore a real-time pub/sub architecture where MQTT, WebSockets, Server-Sent Events, and REST work together with persistent data storage in one end-to-end system, enabling real-time interoperability, stateful messaging, and simplified service-to-device and browser communication.
A man with short dark hair, glasses, and a goatee smiles slightly, wearing a black shirt in front of a nature background.
Ivan R. Judson, Ph.D.
Distinguished Solution Architect
Tutorial

Real-Time Pub/Sub Without the Stack

Explore a real-time pub/sub architecture where MQTT, WebSockets, Server-Sent Events, and REST work together with persistent data storage in one end-to-end system, enabling real-time interoperability, stateful messaging, and simplified service-to-device and browser communication.
Ivan R. Judson, Ph.D.
Jan 2026
Tutorial

Real-Time Pub/Sub Without the Stack

Explore a real-time pub/sub architecture where MQTT, WebSockets, Server-Sent Events, and REST work together with persistent data storage in one end-to-end system, enabling real-time interoperability, stateful messaging, and simplified service-to-device and browser communication.
Ivan R. Judson, Ph.D.
Tutorial

Real-Time Pub/Sub Without the Stack

Explore a real-time pub/sub architecture where MQTT, WebSockets, Server-Sent Events, and REST work together with persistent data storage in one end-to-end system, enabling real-time interoperability, stateful messaging, and simplified service-to-device and browser communication.
Ivan R. Judson, Ph.D.
News
GitHub Logo

Harper Recognized on Built In’s 2026 Best Places to Work in Colorado Lists

Harper is honored as a Built In 2026 Best Startup to Work For and Best Place to Work in Colorado, recognizing its people-first culture, strong employee experience, and values of accountability, authenticity, empowerment, focus, and transparency that help teams thrive and grow together.
Announcement
News
Harper is honored as a Built In 2026 Best Startup to Work For and Best Place to Work in Colorado, recognizing its people-first culture, strong employee experience, and values of accountability, authenticity, empowerment, focus, and transparency that help teams thrive and grow together.
Colorful geometric illustration of a dog's head resembling folded paper art in shades of teal and pink.
Harper
News

Harper Recognized on Built In’s 2026 Best Places to Work in Colorado Lists

Harper is honored as a Built In 2026 Best Startup to Work For and Best Place to Work in Colorado, recognizing its people-first culture, strong employee experience, and values of accountability, authenticity, empowerment, focus, and transparency that help teams thrive and grow together.
Harper
Jan 2026
News

Harper Recognized on Built In’s 2026 Best Places to Work in Colorado Lists

Harper is honored as a Built In 2026 Best Startup to Work For and Best Place to Work in Colorado, recognizing its people-first culture, strong employee experience, and values of accountability, authenticity, empowerment, focus, and transparency that help teams thrive and grow together.
Harper
News

Harper Recognized on Built In’s 2026 Best Places to Work in Colorado Lists

Harper is honored as a Built In 2026 Best Startup to Work For and Best Place to Work in Colorado, recognizing its people-first culture, strong employee experience, and values of accountability, authenticity, empowerment, focus, and transparency that help teams thrive and grow together.
Harper
Comparison
GitHub Logo

Harper vs. Standard Microservices: Performance Comparison Benchmark

A detailed performance benchmark comparing a traditional microservices architecture with Harper’s unified runtime. Using a real, fully functional e-commerce application, this report examines latency, scalability, and architectural overhead across homepage, category, and product pages, highlighting the real-world performance implications between two different styles of distributed systems.
Comparison
A detailed performance benchmark comparing a traditional microservices architecture with Harper’s unified runtime. Using a real, fully functional e-commerce application, this report examines latency, scalability, and architectural overhead across homepage, category, and product pages, highlighting the real-world performance implications between two different styles of distributed systems.
Person with short dark hair and moustache, wearing a colorful plaid shirt, smiling outdoors in a forested mountain landscape.
Aleks Haugom
Senior Manager of GTM & Marketing
Comparison

Harper vs. Standard Microservices: Performance Comparison Benchmark

A detailed performance benchmark comparing a traditional microservices architecture with Harper’s unified runtime. Using a real, fully functional e-commerce application, this report examines latency, scalability, and architectural overhead across homepage, category, and product pages, highlighting the real-world performance implications between two different styles of distributed systems.
Aleks Haugom
Dec 2025
Comparison

Harper vs. Standard Microservices: Performance Comparison Benchmark

A detailed performance benchmark comparing a traditional microservices architecture with Harper’s unified runtime. Using a real, fully functional e-commerce application, this report examines latency, scalability, and architectural overhead across homepage, category, and product pages, highlighting the real-world performance implications between two different styles of distributed systems.
Aleks Haugom
Comparison

Harper vs. Standard Microservices: Performance Comparison Benchmark

A detailed performance benchmark comparing a traditional microservices architecture with Harper’s unified runtime. Using a real, fully functional e-commerce application, this report examines latency, scalability, and architectural overhead across homepage, category, and product pages, highlighting the real-world performance implications between two different styles of distributed systems.
Aleks Haugom
Tutorial
GitHub Logo

A Simpler Real-Time Messaging Architecture with MQTT, WebSockets, and SSE

Learn how to build a unified real-time backbone using Harper with MQTT, WebSockets, and Server-Sent Events. This guide shows how to broker messages, fan out real-time data, and persist events in one runtime—simplifying real-time system architecture for IoT, dashboards, and event-driven applications.
Harper Learn
Tutorial
Learn how to build a unified real-time backbone using Harper with MQTT, WebSockets, and Server-Sent Events. This guide shows how to broker messages, fan out real-time data, and persist events in one runtime—simplifying real-time system architecture for IoT, dashboards, and event-driven applications.
A man with short dark hair, glasses, and a goatee smiles slightly, wearing a black shirt in front of a nature background.
Ivan R. Judson, Ph.D.
Distinguished Solution Architect
Tutorial

A Simpler Real-Time Messaging Architecture with MQTT, WebSockets, and SSE

Learn how to build a unified real-time backbone using Harper with MQTT, WebSockets, and Server-Sent Events. This guide shows how to broker messages, fan out real-time data, and persist events in one runtime—simplifying real-time system architecture for IoT, dashboards, and event-driven applications.
Ivan R. Judson, Ph.D.
Dec 2025
Tutorial

A Simpler Real-Time Messaging Architecture with MQTT, WebSockets, and SSE

Learn how to build a unified real-time backbone using Harper with MQTT, WebSockets, and Server-Sent Events. This guide shows how to broker messages, fan out real-time data, and persist events in one runtime—simplifying real-time system architecture for IoT, dashboards, and event-driven applications.
Ivan R. Judson, Ph.D.
Tutorial

A Simpler Real-Time Messaging Architecture with MQTT, WebSockets, and SSE

Learn how to build a unified real-time backbone using Harper with MQTT, WebSockets, and Server-Sent Events. This guide shows how to broker messages, fan out real-time data, and persist events in one runtime—simplifying real-time system architecture for IoT, dashboards, and event-driven applications.
Ivan R. Judson, Ph.D.
Podcast
GitHub Logo

Turn Browsing into Buying with Edge AI

Discover how Harper’s latest features streamline development, boost performance, and simplify integration. This technical showcase breaks down real-world workflows, powerful updates, and practical tips for building faster, smarter applications.
Select*
Podcast
Discover how Harper’s latest features streamline development, boost performance, and simplify integration. This technical showcase breaks down real-world workflows, powerful updates, and practical tips for building faster, smarter applications.
Person with short hair wearing a light blue patterned shirt, smiling widely outdoors with blurred greenery and trees in the background.
Austin Akers
Head of Developer Relations
Podcast

Turn Browsing into Buying with Edge AI

Discover how Harper’s latest features streamline development, boost performance, and simplify integration. This technical showcase breaks down real-world workflows, powerful updates, and practical tips for building faster, smarter applications.
Austin Akers
Dec 2025
Podcast

Turn Browsing into Buying with Edge AI

Discover how Harper’s latest features streamline development, boost performance, and simplify integration. This technical showcase breaks down real-world workflows, powerful updates, and practical tips for building faster, smarter applications.
Austin Akers
Podcast

Turn Browsing into Buying with Edge AI

Discover how Harper’s latest features streamline development, boost performance, and simplify integration. This technical showcase breaks down real-world workflows, powerful updates, and practical tips for building faster, smarter applications.
Austin Akers