diff --git a/.changeset/warm-snails-walk.md b/.changeset/warm-snails-walk.md new file mode 100644 index 000000000000..e176a83fc103 --- /dev/null +++ b/.changeset/warm-snails-walk.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': patch +--- + +fix: don't crawl error responses during prerendering diff --git a/packages/kit/src/core/postbuild/prerender.js b/packages/kit/src/core/postbuild/prerender.js index bd815b37ba36..d77a79f85fd1 100644 --- a/packages/kit/src/core/postbuild/prerender.js +++ b/packages/kit/src/core/postbuild/prerender.js @@ -320,7 +320,8 @@ async function prerender({ hash, out, manifest_path, metadata, verbose, env }) { // avoid triggering `filterSerializeResponseHeaders` guard const headers = Object.fromEntries(response.headers); - if (config.prerender.crawl && headers['content-type'] === 'text/html') { + // if it's a 200 HTML response, crawl it. Skip error responses, as we don't save those + if (response.ok && config.prerender.crawl && headers['content-type'] === 'text/html') { const { ids, hrefs } = crawl(body.toString(), decoded); actual_hashlinks.set(decoded, ids);