How to check if the website implemented by my dev team is ISR or SSR or SSG?
Hey friends.
My developers team optmised my website for high performance using ISR.
But when I check dev tools its not showing any proof of it.
How do I know if its just SSR or they actually implemented ISR?
This is snapshot of network tab
By the way they you a VPS and not using Vercel/netlify

9 Replies
Hi @pingu. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:
----------------------
To determine whether your Nuxt website is using SSR (Server-Side Rendering), SSG (Static Site Generation), or ISR (Incremental Static Regeneration), you need to understand how each mode works and what evidence you can look for:
1. SSR (Server-Side Rendering)
- Every page request is rendered on the server at request time.
- The HTML is generated fresh for each request (unless server-side caching is used).
- You will see network requests for each page load, and the response will be a fully rendered HTML page.
2. SSG (Static Site Generation)
- Pages are pre-rendered at build time and served as static HTML files.
- No server logic is involved at request time.
- You can check if the site is static by looking for only static file requests (e.g.,
ISR is not natively supported on a plain VPS unless your team has implemented a custom caching and regeneration mechanism using Nuxt's [routeRules] with
There is no direct indicator in the browser's network tab that tells you if ISR is being used. The network tab will show HTML responses, but you can't distinguish between SSR and ISR just by looking at the responses unless you inspect the HTTP headers for custom cache-control or x-nuxt-cache headers (if your team added them). - How to be sure? - Ask your developers if they configured
- Visit a page, then update the content in your CMS or data source. - Refresh the page immediately: If you still see the old content, but after a set time (e.g., 1 hour) or after a redeploy you see the new content, this suggests caching (possibly SWR/ISR). - If the content updates immediately on every refresh, it's likely SSR. - If the content never updates until a new build, it's SSG. - Technical check:
- Look for
index.html
, about.html
) and no API or dynamic server endpoints.
3. ISR (Incremental Static Regeneration)
- Pages are generated on demand and then cached for a certain period or until the next deployment.
- After the cache expires, the next request triggers a regeneration in the background, but the user still gets the cached version.
- ISR is typically supported on platforms like Vercel or Netlify, which provide CDN-level caching and background regeneration.
#### How to check which mode is used?
- On a VPS (not Vercel/Netlify):ISR is not natively supported on a plain VPS unless your team has implemented a custom caching and regeneration mechanism using Nuxt's [routeRules] with
isr
or swr
options and a compatible deployment setup. On a standard Node.js server, you can use [SWR (stale-while-revalidate)] caching, but true ISR (with CDN-level cache and background regeneration) is only available on supported platforms like Vercel or Netlify [Hybrid Rendering].
- Network Tab Clues:There is no direct indicator in the browser's network tab that tells you if ISR is being used. The network tab will show HTML responses, but you can't distinguish between SSR and ISR just by looking at the responses unless you inspect the HTTP headers for custom cache-control or x-nuxt-cache headers (if your team added them). - How to be sure? - Ask your developers if they configured
routeRules
with isr
or swr
for specific routes in nuxt.config.ts
.
- Check the deployment platform: If you are not on Vercel or Netlify, true ISR is unlikely unless custom logic is implemented.
- Test cache behavior:- Visit a page, then update the content in your CMS or data source. - Refresh the page immediately: If you still see the old content, but after a set time (e.g., 1 hour) or after a redeploy you see the new content, this suggests caching (possibly SWR/ISR). - If the content updates immediately on every refresh, it's likely SSR. - If the content never updates until a new build, it's SSG. - Technical check:
- Look for
routeRules
in nuxt.config.ts
like:
This would indicate ISR is configured for blog pages [Hybrid Rendering].
#### Summary
- On a VPS, unless your team has implemented custom logic, you are likely using SSR or SSG, not true ISR.
- There is no browser-side proof of ISR unless custom headers or cache-control are set.
- The best way is to check the nuxt.config.ts
for isr
or swr
route rules and ask your developers about the deployment setup.
If you need to be absolutely sure, request your developers to show you the configuration or explain how they implemented ISR on your VPS, as the knowledge sources confirm that ISR is natively supported only on certain platforms [Hybrid Rendering].
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------<@1390547895694004307> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
not satisfied. because for other websites with ISR it shows in network tab as x-nitro-cache: HIT/MISS
Hello, you have to name it again for it to answer more đ
@kapa.ai not satisfied. because for other websites with ISR it shows in network tab as x-nitro-cache: HIT/MISS
Let me check the knowledge base for you again. One moment! :books:
----------------------
You're correct that some Nuxt (and Nitro) deployments add headers like
While the
I'm sorry, but the knowledge sources do not provide more explicit information about the
x-nitro-cache: HIT
or MISS
to indicate cache status, which can help identify if caching (including ISR/SWR) is active. However, based on the knowledge sources provided, there is no official documentation that guarantees the presence of the x-nitro-cache
header in all Nuxt/Nitro deployments, nor does it specify that this header is a definitive indicator of ISR.
Hereâs what the knowledge sources confirm:
- Nuxtâs Hybrid Rendering and ISR: You can configure ISR or SWR using routeRules
in nuxt.config.ts
, but the documentation does not state that a x-nitro-cache
header will always be present in the response. The presence of such headers may depend on the deployment platform and server configuration [Hybrid Rendering].
- Cache Headers: The documentation mentions that SWR/ISR will add cache headers to the server response, but it does not specify the exact headers or guarantee x-nitro-cache
will be included [Hybrid Rendering].
- Platform Differences: True ISR (with CDN-level cache and background regeneration) is only natively supported on platforms like Vercel and Netlify. On a VPS, you may have SWR caching, but the documentation does not confirm that x-nitro-cache
will be present or reliable as an indicator [Hybrid Rendering].
In summary:While the
x-nitro-cache
header can be a useful hint, the official Nuxt documentation does not guarantee its presence or use it as a definitive proof of ISR/SWR. If you do not see this header, it does not necessarily mean ISR is not implementedâit may be due to server configuration or deployment environment. The most reliable way to confirm ISR is to check your nuxt.config.ts
for isr
or swr
route rules and understand your deployment setup.
If you need absolute certainty, ask your developers to show you the relevant configuration or logs.I'm sorry, but the knowledge sources do not provide more explicit information about the
x-nitro-cache
header or its use as proof of ISR.
----------------------
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon:
----------------------<@305772639438503936> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
thanks mate.
Do you have any idea why not enough info about ISR and its troubleshooting in NUXT?
it was clearly explained in NExt js
Really confused
sorry no idea đŚ
Maybe @flapili.fr would have an idea (sorry Flapili I spam you a lot, I just feel like you are often able to help on technical issues like those XD)
Do you have some metric ?
For doc about deployment you would have more things on nitro
(the engine behind nuxt)
Also i believe isr and static build are not Always the good choice