diff --git a/packages/astro-early-hints/src/middleware/index.ts b/packages/astro-early-hints/src/middleware/index.ts
index 24593eb..04bc436 100644
--- a/packages/astro-early-hints/src/middleware/index.ts
+++ b/packages/astro-early-hints/src/middleware/index.ts
@@ -10,19 +10,23 @@ export const onRequest = defineMiddleware(async (_, next) => {
const root = parse(await response.text());
const head = root.querySelector("head")!;
- root.querySelectorAll('link[rel="stylesheet"]').map((style) => {
- head.insertAdjacentHTML(
- "afterbegin",
- ``,
- );
- });
+ root.querySelectorAll('link[rel="stylesheet"]')
+ .filter((style) => style.hasAttribute("href") && style.getAttribute("href"))
+ .map((style) => {
+ head.insertAdjacentHTML(
+ "afterbegin",
+ ``,
+ );
+ });
- root.querySelectorAll('script[type="module"]').map((script) => {
- head.insertAdjacentHTML(
- "afterbegin",
- ``,
- );
- });
+ root.querySelectorAll('script[type="module"]')
+ .filter((script) => script.hasAttribute("src") && script.getAttribute("src"))
+ .map((script) => {
+ head.insertAdjacentHTML(
+ "afterbegin",
+ ``,
+ );
+ });
return new Response(root.toString(), response);
});