Skip to content
Building Web & Apps Knowledge Base

Low-Involvement Sites: Static Generation and HTML Caching

Listen or read this article

15:06

Listen, or read the text only.

Low-Involvement Sites: Static Generation and HTML Caching

Kokoro 82M AI-generated voice 16 min read

0:00 15:06

Advertisement

Download audio

File name
low-involvement-web-static-generation-html-cache-en.mp3
Format
MP3 (audio/mpeg)
Duration
15:06
File size
10.4 MB
Engine
Kokoro 82M

This audio was generated by AI.

You may download and use it freely for personal use.

Advertisement

Low-Involvement Sites: Static Generation and HTML Caching

11 min read

Low-Involvement Sites: Static Generation and HTML Caching
Technical design for low-involvement websites requires checking both the body content in the initial HTML and the CDN's HTML cache. A TTFB of 0.8 seconds is a reference value for performance improvements, and cache coverage and updates after edits are also part of the design.
Including the main content in the initial HTML can reduce reliance on JavaScript execution.
Google runs JavaScript, so React use alone is not enough to conclude that search crawling will fail.
A TTFB of at most 0.8 seconds is a reference value for performance improvements, not the total page load time.
Cloudflare CDN does not cache HTML by default, so you need to check the cache rules for public pages.
HTML caching requires excluding login pages and setting a policy for refreshing the cache after content edits.
To help search engines crawl low-involvement websites, include the core content in the initial HTML. Static generation and CDN caching of HTML are useful for public content. However, achieving a TTFB of 0.8 seconds alone does not guarantee visibility in search results.
The TTFB figure is based on the web.dev document updated on November 18, 2025.
Technical conditions to check first on low-involvement websites
In this article, low-involvement websites are websites where people briefly check the information they need. Rendering and delivery speed are technical checkpoints for these sites. However, these two factors alone cannot explain all differences in search visibility.
Crawling is the process by which a bot fetches a page. Indexing is the process of preparing the fetched content for search. Google explains that not every crawled page is included in the index. Google crawl budget guide
Checkpoint | What to check | Problem to address Initial HTML | Whether the response includes the title and core content | Dependence on additional execution to read the content Rendering | Whether content appears correctly after JavaScript runs | Missing content caused by execution errors or blocking TTFB | Time until the first response arrives | Delays in connections and server responses HTML caching | Whether public documents are reused through the CDN | The cost of repeatedly requesting the origin server Indexing status | How Google has processed the URL | Confusing successful crawling with inclusion in search
Why React pages can appear as empty HTML
The initial HTML of a React page depends on how it is implemented. Generating the content in the browser is called CSR. With this approach, the first response may contain only executable code, without the content.
Google uses Chromium to run JavaScript. Pages may wait for rendering after they are crawled. Blocked pages or files may be excluded from rendering. Not all bots run JavaScript, either. Google JavaScript SEO basics
So do not judge crawling status solely by whether the page looks correct on screen. First, check whether the initial response contains the content. You can check Google's rendered output using URL Inspection in Search Console.
Comparing static generation and server rendering
You can choose how to generate HTML based on how the public content is updated. Static generation creates HTML before a request. Server rendering creates HTML on the server when a request arrives. These approaches can also be used with React. web.dev guide to rendering approaches
Approach | When HTML is generated | When to consider it | Operational checks Client-side rendering CSR | When JavaScript runs in the browser | Screens with frequent user interaction | Execution and requests needed before the content appears Static generation SSG | At build time or when content is created | Public documents that show the same content to visitors | Regeneration and deployment after edits Server rendering SSR | When a page request is processed | Screens that assemble up-to-date content for each request | Time spent retrieving data and generating HTML Prerendering | When the app runs before deployment to produce HTML | Providing the initial content of an existing app in advance | JavaScript needed for subsequent functionality
Static generation and CDNs serve different roles. Static generation is a choice about when HTML is created. A CDN is a system for delivering and reusing content. Server-generated HTML can also be cached on a CDN if it meets the conditions.
What does a TTFB of 0.8 seconds mean?
TTFB is the time from the start of navigation to the first byte of the response. web.dev suggests at most 0.8 seconds as a rough target for most sites. This differs from the time it takes to display the entire page. TTFB itself is not a Core Web Vitals metric. web.dev explanation of TTFB
TTFB includes delays beyond internal server processing. A DNS lookup finds the connection address for a domain. Establishing TCP and TLS connections can also take time. Redirects to another address also have an effect.
· Time spent on DNS lookups and connection setup · Time for requests and responses to travel across the network · Time for the origin server to retrieve data and generate HTML · Time spent on redirects before the first response
A server's location in Seoul alone does not mean its TTFB is more than 0.8 seconds. Results vary depending on the connection location and whether connections are reused. Google's crawlers primarily use US IP addresses. However, they may also connect from IP addresses in other countries. Technical characteristics of Google crawlers
Persistent response delays affect Google's crawl capacity. Server errors also cause crawl volume to decrease. However, there is no rule that crawling stops if TTFB exceeds 0.8 seconds once. Page quality and update frequency also affect crawl demand. Google crawl budget guide
Why you need to check HTML caching on a CDN
The Cloudflare CDN does not cache HTML by default. Even if images or CSS are cached, you need to check the content document separately. For the default behavior of other CDNs, check the service's documentation.
The Cloudflare CDN does not cache HTML or JSON by default. Cloudflare, Default cache behavior
This means that HTML and JSON are not cached by default. You can use Cache Rules to make public HTML eligible for caching. Conditions such as response headers and cookies also affect whether it is actually stored. Cloudflare default cache behavior
Caching reuses stored responses. Connecting to a CDN does not instantly replicate every document worldwide. Cloudflare caches content at the data center that handles the request. Requests for content not in the cache may need to reach the origin server. Cloudflare cache getting started guide
Exclude personalized pages when applying cache rules to public HTML. Cloudflare warns that caching dynamic HTML can expose one person's information to another. Do not cache login or account pages. Cloudflare Cache Everything precautions
Caching criteria by page conditions
Whether visitors see the same content is the starting point for deciding what to cache. Public explanatory content is well suited to shared reuse. Responses that vary depending on login status need separate handling.
Page condition | Configuration to consider | What else to check The same explanatory content is shown to visitors | Static generation and public HTML caching | Regeneration and cache refresh after edits Public content includes frequently changing figures | Separate update methods for the content and changing data | The reference time for the figures and what appears if an update fails The latest public information is needed at request time | Consider server rendering and conditional caching | Acceptable information delay Login, account, and payment screens | Exclude from shared HTML caching | Authentication cookies and user-specific responses Public documents are offered in multiple languages | Language-specific URLs and caching for each document | Links between translations and updates for each language
Loading real-time data later makes it easier to keep the main content static. However, do not defer all core content needed for search. Doing so can conflict with the purpose of providing initial HTML.
Common mistakes and verification criteria
Judging results by technology names or settings screens alone makes it easy to miss errors. Check the actual HTML alongside response headers. The following are states that need to be distinguished.
Common assumption | What to verify Search bots cannot read React sites | Initial HTML and Google's rendered output A TTFB of 0.8 seconds means the entire page is displayed | Time from the first response until the content appears HTML is cached because a CDN is connected | Cache status of HTML requests Static files always contain the latest content | The last generation time and deployed content A fast response means inclusion in search is complete | Indexing status in Search Console One cache hit is enough to judge global speed | Measurements by connection region and cache hit status
Cloudflare's CF-Cache-Status is a header that shows cache status. HIT means the response was found in the cache. MISS means it was not in the cache at the time of the request and was fetched from the origin. DYNAMIC means it was not treated as eligible for caching. Cloudflare cache response explanations
Refreshing the cache after content edits
For static files and CDN caches, you also need to design the process for applying edits. Even if you change the source, old content will still be delivered if the previous cache remains. If you publish HTML and JSON together, their content must also match.
The following is a checking sequence for maintaining documents and data files together.
· Finalize the changes in the source data. · Regenerate the HTML and data files from the same revised version. · Deploy the new files, then refresh the cache for the changed URLs. · Request each URL again to check that the edits match.
Cloudflare recommends purging the cache by URL. Purging removes stored responses. Regenerating static HTML is a separate task. Therefore, connect file generation and cache refresh within the same deployment process. Cloudflare cache purge guide
Set update intervals according to the information delay the content allows. Explanatory content and real-time figures do not need the same schedule. A short cache lifetime alone cannot solve every update problem.
hreflang criteria for multilingual sites
hreflang links the language- and region-specific URLs for the same content. It does not create translations. It helps Google find the appropriate language version for visitors.
Implementation location | How it is specified | What to check when choosing HTML | Specify alternate language links in the document's head | Whether they can be managed in each page template HTTP headers | Specify them in the response's Link header | Whether the headers can be managed on the server Sitemap | Specify relationships between language-specific URLs in the sitemap | Whether the document list can be managed in bulk
Google treats these methods equally. Therefore, the information does not have to appear only in HTML. Each language document must identify the alternate language documents, including itself. Also check the links between corresponding pages. Google guide to multilingual pages
Steps to verify deployment results
After deployment, verify content delivery and cache behavior separately. Record the measurement region and cache status alongside speed measurements. Checking in the following order makes it easier to identify where problems occur.
· Check the HTML document response in browser developer tools. See whether the response includes the core content. · Check the rendered HTML using URL Inspection in Search Console. Separately check the actual indexing status as well. · Check the cache headers in the HTML response. On Cloudflare, read CF-Cache-Status. · Measure the same document from key visitor regions. Distinguish cache misses from cache hits. · Edit the content, then verify the update results. Also check that login pages are excluded from caching.
Cloudflare warns that excessive caching of dynamic HTML can break login functionality. Do not cache login forms or authenticated pages. After making changes, also check that authentication cookies are retained. Cloudflare login troubleshooting guide
Implementation requirements to give an AI coding assistant
Ask AI for verifiable results along with technology names. It is useful to specify the content of the initial HTML and what must be excluded from caching. The following is an example request for building public knowledge pages.
Include the core content of public knowledge pages in the initial HTML. Consider static generation first for public documents. Explain separately how changing data will be updated. Check whether the CDN caches HTML. Exclude login, account, and payment pages from shared caching. Connect static file regeneration with cache refresh when content is edited. Set up hreflang links if there are multilingual pages. Provide methods to verify the initial HTML, cache status, and whether edits have been applied.
0:00 0:00
1 / 58

Advertisement

Download text

File name
low-involvement-web-static-generation-html-cache-en.txt
Format
TXT (text/plain)
Paragraphs
58

Downloads exactly what you see as a text file.

Please cite the source when quoting.

Advertisement

Large text

Makes the text larger and the colors clearer. Turn it on if the text feels too small.

HTML caching for public pages requires defining both its scope and how it is refreshed after content changes.

Key points

  • Including the main content in the initial HTML can reduce reliance on JavaScript execution.
  • Google runs JavaScript, so React use alone is not enough to conclude that search crawling will fail.
  • A TTFB of at most 0.8 seconds is a reference value for performance improvements, not the total page load time.
  • Cloudflare CDN does not cache HTML by default, so you need to check the cache rules for public pages.
  • HTML caching requires excluding login pages and setting a policy for refreshing the cache after content edits.

To help search engines crawl low-involvement websites, include the core content in the initial HTML. Static generation and CDN caching of HTML are useful for public content. However, achieving a TTFB of 0.8 seconds alone does not guarantee visibility in search results.

The TTFB figure is based on the web.dev document updated on November 18, 2025.

Technical conditions to check first on low-involvement websites

In this article, low-involvement websites are websites where people briefly check the information they need. Rendering and delivery speed are technical checkpoints for these sites. However, these two factors alone cannot explain all differences in search visibility.

Crawling is the process by which a bot fetches a page. Indexing is the process of preparing the fetched content for search. Google explains that not every crawled page is included in the index. Google crawl budget guide

Checkpoint What to check Problem to address
Initial HTML Whether the response includes the title and core content Dependence on additional execution to read the content
Rendering Whether content appears correctly after JavaScript runs Missing content caused by execution errors or blocking
TTFB Time until the first response arrives Delays in connections and server responses
HTML caching Whether public documents are reused through the CDN The cost of repeatedly requesting the origin server
Indexing status How Google has processed the URL Confusing successful crawling with inclusion in search
After content changes, verify that the cache also reflects the regenerated HTML.

Why React pages can appear as empty HTML

The initial HTML of a React page depends on how it is implemented. Generating the content in the browser is called CSR. With this approach, the first response may contain only executable code, without the content.

Google uses Chromium to run JavaScript. Pages may wait for rendering after they are crawled. Blocked pages or files may be excluded from rendering. Not all bots run JavaScript, either. Google JavaScript SEO basics

So do not judge crawling status solely by whether the page looks correct on screen. First, check whether the initial response contains the content. You can check Google's rendered output using URL Inspection in Search Console.

Comparing static generation and server rendering

You can choose how to generate HTML based on how the public content is updated. Static generation creates HTML before a request. Server rendering creates HTML on the server when a request arrives. These approaches can also be used with React. web.dev guide to rendering approaches

Approach When HTML is generated When to consider it Operational checks
Client-side rendering CSR When JavaScript runs in the browser Screens with frequent user interaction Execution and requests needed before the content appears
Static generation SSG At build time or when content is created Public documents that show the same content to visitors Regeneration and deployment after edits
Server rendering SSR When a page request is processed Screens that assemble up-to-date content for each request Time spent retrieving data and generating HTML
Prerendering When the app runs before deployment to produce HTML Providing the initial content of an existing app in advance JavaScript needed for subsequent functionality

Static generation and CDNs serve different roles. Static generation is a choice about when HTML is created. A CDN is a system for delivering and reusing content. Server-generated HTML can also be cached on a CDN if it meets the conditions.

What does a TTFB of 0.8 seconds mean?

TTFB is the time from the start of navigation to the first byte of the response. web.dev suggests at most 0.8 seconds as a rough target for most sites. This differs from the time it takes to display the entire page. TTFB itself is not a Core Web Vitals metric. web.dev explanation of TTFB

TTFB includes delays beyond internal server processing. A DNS lookup finds the connection address for a domain. Establishing TCP and TLS connections can also take time. Redirects to another address also have an effect.

  • Time spent on DNS lookups and connection setup
  • Time for requests and responses to travel across the network
  • Time for the origin server to retrieve data and generate HTML
  • Time spent on redirects before the first response

A server's location in Seoul alone does not mean its TTFB is more than 0.8 seconds. Results vary depending on the connection location and whether connections are reused. Google's crawlers primarily use US IP addresses. However, they may also connect from IP addresses in other countries. Technical characteristics of Google crawlers

Persistent response delays affect Google's crawl capacity. Server errors also cause crawl volume to decrease. However, there is no rule that crawling stops if TTFB exceeds 0.8 seconds once. Page quality and update frequency also affect crawl demand. Google crawl budget guide

Why you need to check HTML caching on a CDN

The Cloudflare CDN does not cache HTML by default. Even if images or CSS are cached, you need to check the content document separately. For the default behavior of other CDNs, check the service's documentation.

The Cloudflare CDN does not cache HTML or JSON by default.

Cloudflare, Default cache behavior

This means that HTML and JSON are not cached by default. You can use Cache Rules to make public HTML eligible for caching. Conditions such as response headers and cookies also affect whether it is actually stored. Cloudflare default cache behavior

Caching reuses stored responses. Connecting to a CDN does not instantly replicate every document worldwide. Cloudflare caches content at the data center that handles the request. Requests for content not in the cache may need to reach the origin server. Cloudflare cache getting started guide

Exclude personalized pages when applying cache rules to public HTML. Cloudflare warns that caching dynamic HTML can expose one person's information to another. Do not cache login or account pages. Cloudflare Cache Everything precautions

Caching criteria by page conditions

Whether visitors see the same content is the starting point for deciding what to cache. Public explanatory content is well suited to shared reuse. Responses that vary depending on login status need separate handling.

Page condition Configuration to consider What else to check
The same explanatory content is shown to visitors Static generation and public HTML caching Regeneration and cache refresh after edits
Public content includes frequently changing figures Separate update methods for the content and changing data The reference time for the figures and what appears if an update fails
The latest public information is needed at request time Consider server rendering and conditional caching Acceptable information delay
Login, account, and payment screens Exclude from shared HTML caching Authentication cookies and user-specific responses
Public documents are offered in multiple languages Language-specific URLs and caching for each document Links between translations and updates for each language

Loading real-time data later makes it easier to keep the main content static. However, do not defer all core content needed for search. Doing so can conflict with the purpose of providing initial HTML.

Common mistakes and verification criteria

Judging results by technology names or settings screens alone makes it easy to miss errors. Check the actual HTML alongside response headers. The following are states that need to be distinguished.

Common assumption What to verify
Search bots cannot read React sites Initial HTML and Google's rendered output
A TTFB of 0.8 seconds means the entire page is displayed Time from the first response until the content appears
HTML is cached because a CDN is connected Cache status of HTML requests
Static files always contain the latest content The last generation time and deployed content
A fast response means inclusion in search is complete Indexing status in Search Console
One cache hit is enough to judge global speed Measurements by connection region and cache hit status

Cloudflare's CF-Cache-Status is a header that shows cache status. HIT means the response was found in the cache. MISS means it was not in the cache at the time of the request and was fetched from the origin. DYNAMIC means it was not treated as eligible for caching. Cloudflare cache response explanations

Refreshing the cache after content edits

For static files and CDN caches, you also need to design the process for applying edits. Even if you change the source, old content will still be delivered if the previous cache remains. If you publish HTML and JSON together, their content must also match.

The following is a checking sequence for maintaining documents and data files together.

  1. Finalize the changes in the source data.
  2. Regenerate the HTML and data files from the same revised version.
  3. Deploy the new files, then refresh the cache for the changed URLs.
  4. Request each URL again to check that the edits match.

Cloudflare recommends purging the cache by URL. Purging removes stored responses. Regenerating static HTML is a separate task. Therefore, connect file generation and cache refresh within the same deployment process. Cloudflare cache purge guide

Set update intervals according to the information delay the content allows. Explanatory content and real-time figures do not need the same schedule. A short cache lifetime alone cannot solve every update problem.

hreflang criteria for multilingual sites

hreflang links the language- and region-specific URLs for the same content. It does not create translations. It helps Google find the appropriate language version for visitors.

Implementation location How it is specified What to check when choosing
HTML Specify alternate language links in the document's head Whether they can be managed in each page template
HTTP headers Specify them in the response's Link header Whether the headers can be managed on the server
Sitemap Specify relationships between language-specific URLs in the sitemap Whether the document list can be managed in bulk

Google treats these methods equally. Therefore, the information does not have to appear only in HTML. Each language document must identify the alternate language documents, including itself. Also check the links between corresponding pages. Google guide to multilingual pages

Steps to verify deployment results

After deployment, verify content delivery and cache behavior separately. Record the measurement region and cache status alongside speed measurements. Checking in the following order makes it easier to identify where problems occur.

  1. Check the HTML document response in browser developer tools. See whether the response includes the core content.
  2. Check the rendered HTML using URL Inspection in Search Console. Separately check the actual indexing status as well.
  3. Check the cache headers in the HTML response. On Cloudflare, read CF-Cache-Status.
  4. Measure the same document from key visitor regions. Distinguish cache misses from cache hits.
  5. Edit the content, then verify the update results. Also check that login pages are excluded from caching.

Cloudflare warns that excessive caching of dynamic HTML can break login functionality. Do not cache login forms or authenticated pages. After making changes, also check that authentication cookies are retained. Cloudflare login troubleshooting guide

Implementation requirements to give an AI coding assistant

Ask AI for verifiable results along with technology names. It is useful to specify the content of the initial HTML and what must be excluded from caching. The following is an example request for building public knowledge pages.

Include the core content of public knowledge pages in the initial HTML.
Consider static generation first for public documents.
Explain separately how changing data will be updated.
Check whether the CDN caches HTML.
Exclude login, account, and payment pages from shared caching.
Connect static file regeneration with cache refresh when content is edited.
Set up hreflang links if there are multilingual pages.
Provide methods to verify the initial HTML, cache status, and whether edits have been applied.
Open the link

Opens in a new window.

Advertisement

Sign-in required

Sign in with your Google account to like, comment, and save highlights.

FAQ

Do low-involvement websites need to be built with a specific framework?

No specific framework is required. Check whether the main content is included in the initial HTML. You should also review how public content is cached and updated.

Doesn't Google execute JavaScript?

Google executes JavaScript using Chromium. However, rendering delays and blocked resources can affect processing. Including the main content in the initial HTML can reduce reliance on additional execution.

Can sites built with React also use static generation?

React can also generate static HTML. It also supports generating HTML on the server. Whether a site uses React alone does not tell you what its initial HTML contains.

If TTFB is at most 0.8 seconds, has the page fully loaded?

TTFB is the time it takes for the first response byte to arrive. Image downloads and page rendering may continue afterward. It should be distinguished from the total page load time.

Will a page be excluded from Google search if its TTFB is more than 0.8 seconds?

0.8 seconds is a rough performance target suggested by web.dev. It is not a rule that exceeding it leads to exclusion from search. Persistent response delays and server errors can affect crawl capacity.

Does using a server in Korea put a global site at a disadvantage?

Visitors who are far away may experience network latency. However, location alone does not determine a specific response time. Base your judgment on actual measurements from the main regions your visitors access the site from.

Does connecting Cloudflare automatically cache HTML too?

Cloudflare CDN does not cache HTML or JSON by default. Check the Cache Rules to apply to public HTML. After applying the rules, check the response headers to verify the actual cache status.

Is the first request always fast even when it is not in the CDN cache?

A request that is not in the cache may need to fetch a response from the origin server. Its latency may therefore differ from that of a cache hit. Measure the two cases separately.

Is it okay to cache HTML on login pages too?

Do not cache login pages or authenticated HTML. Cloudflare warns that excessive caching can break login behavior. There is also a risk of user-specific information being delivered to other visitors.

What should I do if I edit a post on a static site but still see the old content?

First, check whether the new HTML has been generated and deployed. Then refresh the CDN cache for the changed URL. Clearing the cache alone does not regenerate static files.

Does hreflang have to be included only in HTML?

Google supports HTML, HTTP headers, and sitemaps. All three methods are equivalent from Google's perspective. Choose the method that is easiest to manage and keep the links between language versions consistent.

Do I need to focus on managing crawl budget even for a small site?

Google's crawl budget guidance is mainly aimed at large sites that are updated frequently. If your site does not have many pages, start by updating the sitemap and checking indexing reports. If there are server errors or missing main content, resolve those issues first.

Sources

Data formats

This content is available in several machine-friendly formats.

Data-only languages (machine translated, files only)

Indonesian JSON MD Portuguese JSON MD Chinese (Traditional) JSON MD Deutsch JSON MD

Verification

This article was drafted with AI and then reviewed and edited by a person.

Reviewed by 신익희 · 편집장 · 2026-11-05

Figures in this article were checked against the source material during generation. · 2026-11-05

This translation has been cross-checked by AI. · 2026-11-05

Reuse & AI usage

Search indexing and AI citation with attribution are welcome. See the license policy for details.

CC BY · License

Loading…

Loading…

Loading…

From Injoys

Request the content you want and take 70% of what it earns

Just leave the subject. We handle production, review, translation and distribution.

See how revenue sharing works

Comments