Heya,
I’ve seen a few users who have Node version 18.x used in their build which have this error, and updating to latest Node (22.x) seems to handle it.
Please go to your Project Configuration->Build & Deploy, locate the Node.js setting and update it to 22.x.
After that, you can manually trigger a re-deploy from the Deploy page (choose the “Without cache” option to clean up things), and let’s see whether that resolves it for you!
Netlify redirects (which the browser sees as 3xx status) and rewrites (which the browser doesn’t even know or care about) are all server-side on the Netlify service.
Client-side redirects is when JS code in the browser decides to navigate to a different route when the page loads. This is much less common (on the homepage at least) - can you check why that happens, or share a link to your site here?
Legacy prerendering probably doesn’t work as well for you - so in that sense, yes, you could relax
In general, headless browser frameworks don’t like it, because the client-side redirect kills the browser context abruptly, as in not via explicit navigation that the headless script does.
I don’t know about third-party vendors though - perhaps they have added support for this. you can check with our partner prerender.io if you want
Actually, it raises more questions. I now see one of my projects that uses Gatsby with Legacy Prerendering enabled (that I don’t ever recall enabling) and I also have several sites using Astro (what most of my projects I’ve migrated to from Gatsby) but they don’t use the Legacy Prerendering.
Quick aside for others still digging into this – with regard to the ! notification icon in the Projects page list, I did not see the icon load initially and had to do a hard refresh before it became visible.
I’m not even sure why the one Gatsby project has Legacy Prerendering enabled as the site is a static generated site specifically for SEO concerns, but I could be overlooking something about how Gatsby handles some aspects. All of the Astro sites are about 95% static with some react islands in some locations and any full SPA aspects are strictly used in “admin” interfaces that shouldn’t be crawled by search engines and other sites are using SvelteKit.
I will be porting my remaining Gatsby project to Astro in the next week after which I will do more research into whether or not I actually need to enable the NEW prerendering feature. The https://do-you-need-prerender.netlify.app page shows the Astro and SvelteKit projects should have it enabled, but my SEO scores on those projects already have a perfect score of 100 for SEO in Lighthouse. I also found the post for the new feature New Netlify Prerender Extension - Early Access and curious if this is more about being a win for GEO (Generative Engine Optimization) for LLMs versus actual SEO?
Final question, is there any harm in enabling the new prerender feature on all sites regardless?
I’m still rather discouraged that what seems to be a company-specific change is being trickled down to customers to resolve.
I migrated from “Legacy Prerendering” to the “Netlify Prerender extension” however, when running tests (simulating a crawler/bot), my site returns a 404 error.
basically, if I access the site with the default user-agent, it works normally, but if I change it to “Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)”, it returns a 404 error.
@anthonygreco if prerendering is on for an older Gatsby site, that means you probably turned it on at some point - it was easy and tempting to do, because there was no visibility on whether it actually works or improves anything… but I do not recommend “just turning it on” - because if a site already is being served fast, why bring edge functions and headless browsers (within a netlify function) into the loop?
In general, with most static sites you don’t need pre-rendering (so most Gatsby, Astro sites we see) - unless that site is or has over time become a shell where much of the critical data is then loaded async. There are some “static” sites like that, especially large and/or older ones which evolved over time - or load a lot of dynamic data to mitigate the cons of a static site.
If you want, I can take a look at specific sites and give you my opinion. The https://do-you-need-prerender.netlify.app/ tool is not meant to be biased in any way - if you need prerendering, use the extension. If you don’t, don’t use it.
About SEO vs. GEO - that’s a large part of that, because while e.g. Google are for years now running JS and all, and if your rendering is fast, that’s all good - what happened is that AI Agents largely do not do that at all AND coding agent churn a ton of SPA where you have extensive client-side routing, so not even the most basic metadata for a given page (og: stuff) is really there.
@elad.rosenheim I deployed a branch to test, and I also added a previewServer to see if I had a better understanding of what is happening.
According to the previewServer logs, I’m getting 403, but if I do the test through the browser, the page displayed is 404.
It seems that prerender doesn’t exist and he tries several times, just changing the function URL:
GET /netlify-prerender-function?url=http....netlify.app
Optional config: { "userAgent": "Netlify Prerender Function" ...
Response with status 403 in 2507 ms.
GET /netlify-prerender-function.html?url=http....netlify.app
Optional config: { "userAgent": "Netlify Prerender Function" ...
Response with status 403 in 1514 ms.
GET /netlify-prerender-function.htm?url=http....netlify.app
Optional config: { "userAgent": "Netlify Prerender Function" ...
Response with status 403 in 1686 ms.
GET /netlify-prerender-function/index.html?url=http....netlify.app
Optional config: { "userAgent": "Netlify Prerender Function" ...
Response with status 403 in 1801 ms.
GET /netlify-prerender-function/index.htm?url=http....netlify.app
Optional config: { "userAgent": "Netlify Prerender Function" ...
Response with status 403 in 905 ms.
the version being tested is here: staging--prismatic-stroopwafel-54c22b.netlify.app
I also added a temporary netlify function, just to test if there were any routing problems: staging--prismatic-stroopwafel-54c22b.netlify.app/test
@bottlecastle we can dig further, but I’d say right away that looking at the analyzer tool, at least based on the homepage, the site does not need prerendering:
Hi, thanks for the feedback and sorry for the headache.
We’ve update the initial post with more detail, fixed the link (https://do-you-need-prerender.netlify.app/), and you can now see which projects have the legacy prerendering enabled from the projects page –
Did you enable the extension for the project you’re checking? You’ll need to 1) install the extension 2) turn it on for the specific project. Do let us know if you run into any other issues or questions.
Thanks this is useful. Unfortunately there’s still some issues.
I updated to Node (22.x) and re-deployed my project but I’m still seeing a “Prerender failed.” when using dev tools / F12.
Also, I still see that my site needs prerendering on the https://do-you-need-prerender.netlify.app/ link, but, when I view my projects, my website isn’t being shown as using pre-rendering.
Finally, and this is a new one, I’m seeing errors now that I never saw before: client & server error. Not really sure what to do from here, so appreciate any guidance.
Your websites would keep being served to everyone.
The change would be that if a crawler or AI agent, or some page preview service (e.g. when you use Instagram, WhatsApp, etc. and share a URL, all these services go to your site to fetch data) - that tool would be served the normal HTML page rather than a pre-rendered variant.
Some tools are ok with that (like Google Search). Other tools (like ChatGPT, Gemini, etc.) are not going to bother rendering pages like a browser when answering user questions, so whatever is not already included in the HTML from the server, they do not see.
So the question is - does your site need prerendering (see the checker tool above)? this is dependent on how it’s built. Also, if you don’t care at the moment about being found on AI searches and the link, you also probably don’t need it.
for some reason all my websites that were built off Netlify and pushed there as static content are marked as using legacy prerendering. it is forcing me to fix and redeploy many old ones that are just good to work as they are.