Diese Leitfäden zur Behebung sind in englischer Sprache verfasst.
Crawl Efficiency
Diese Prüfung meldet, ohne den Score zu verändern.
Enable Brotli or gzip compression, support conditional GET with ETag and Last-Modified, and keep pages a size an agent's budget survives.
Response is not compressed
Your server returned the page without a Content-Encoding. Compression cuts text payloads by roughly 70–80%, reducing transfer cost for every agent and bot. Brotli (br) typically beats gzip by another 10–20% on text.
# Nginx (gzip + Brotli module) gzip on; gzip_types text/html text/css application/javascript application/json image/svg+xml; brotli on; brotli_types text/html text/css application/javascript application/json image/svg+xml; # Caddy: compression is automatic encode zstd br gzip
On managed platforms (Vercel, Netlify, Cloudflare) compression is on by default; if this finding appears there, check that a proxy in front isn't stripping the header.
No ETag or Last-Modified
Without a cache validator, a crawler must download the full body on every visit: it has no way to ask "has this changed?". Emit an ETag (content hash) or a Last-Modified timestamp so revalidation becomes possible.
# Nginx: ETag is on by default for static files
etag on;
# Express: enabled by default; for dynamic responses set it explicitly
res.set('ETag', strongHashOfBody);Conditional request not honored
Your server sends a validator but does not act on it. ax-audit re-requested the page with If-None-Match / If-Modified-Since and received the full body again instead of a 304 Not Modified. A 304 is a near-empty response: it saves the entire payload when content is unchanged.
curl -sI https://your-site.com | grep -i etag # Then revalidate with the returned value: curl -sI -H 'If-None-Match: "<etag>"' https://your-site.com # Expected: HTTP/2 304
Static-file servers do this automatically. For dynamic responses, compare the incoming If-None-Match against your current ETag and return 304 when they match.
Oversized page
Large HTML documents inflate both crawl cost and the token budget agents spend reading them. Common culprits: inlined base64 images, large embedded JSON state, and un-split single-page content.
- Move inlined images to real image URLs with
alttext. - Trim or lazy-load large embedded data blobs.
- Offer a Markdown representation to agents: see the Content Negotiation guide; it cuts tokens ~80%.
Homepage request failed
ax-audit could not retrieve the homepage, so efficiency could not be assessed. Resolve general reachability (see the other failing checks in your report) and re-run.