Jeg læste op på Chromes Private Prefetch Proxy-funktion, og i samme sekund jeg forstod, hvad den gjorde, hoppede jeg ind i mine serverlogs. Jeg ville se, om Chrome havde forsøgt at ramme /.well-known/traffic-advice mit site og bare fået ingenting tilbage.
Og hold da fest. Det havde den.
En jævn strøm af 404-fejl på præcis den URL. Chrome stod og spurgte min server pænt: “Hej, vil du have, at jeg preloader dine sider til den næste besøgende fra Google?” og min server svarede: “Filen findes ikke; nej tak.” Hver eneste gang.
Så det fikset jeg på under 2 minutter. Her er præcis hvad jeg gjorde, hvorfor det betyder noget, og hvordan du gør det samme på WordPress.
Hvad gør /.well-known/traffic-advice egentlig?
Siden Chrome 103 (som blev rullet ud i 2022, så det her har været live i lang tid) kører Chrome noget der hedder Private Prefetch Proxy. Når en bruger sidder på Google Søgning og er ved at klikke på et resultat, kan Chrome stille og roligt preloade siden via en privacy proxy. På det tidspunkt brugeren klikker, er siden allerede delvist indlæst.
Googles egne tal på det her viser en LCP-forbedring på 20 til 30 procent på preloadede sider. LCP er en Core Web Vitals ranking faktor. Så det her er en gratis Core Web Vitals-forbedring for nye besøgende fra søgeresultaterne. Det er den mest værdifulde trafik på de fleste sites.
Haken: Chrome gør det her kun hvis dit site siger ja. Måden du siger ja på, er ved at servere en lille JSON fil på præcis den her sti:
/.well-known/traffic-advice
Hvis filen ikke er der, returnerer Chrome en 404 og går videre. Ingen prefetch.
Hvad skal der i filen
To gyldige formater. For at sige fuldt ja:
[{"user_agent": "prefetch-proxy", "fraction": 1.0}]
Fraction: 1.0 betyder “du må gerne preloade 100 procent af de indkommende anmodninger.” Du kan skrue ned (0,5 = 50 procent), hvis du er bekymret for belastningen på din origin server, men på næsten alle sites er 1,0 det rigtige valg.
For at sige helt nej:
[{"user_agent": "prefetch-proxy", "disallow": true}]
En ting, der betyder mere end folk regner med: Svaret skal serveres med en bestemt MIME-type, ellers ignorerer Chrome det.
Content-Type: application/trafficadvice+json
Almindelig application/json Virker ikke. Plain text virker ikke. Det skal være præcis den her.
Sådan tilføjede jeg det på WordPress
Der er to rene måder at gøre det her i WordPress.
Metode 1: Læg det i dit tema functions.php
Det her er den løsning, jeg brugte. Den virker uafhængig af, om du har adgang til filsystemet, og den ligger i temaet, så den følger med, hvis du flytter host.
Smid det her ind i dit child theme functions.php:
add_action('init', function () {
add_rewrite_rule(
'^\.well-known/traffic-advice$',
'index.php?traffic_advice=1',
'top'
);
});
add_filter('query_vars', function ($vars) {
$vars[] = 'traffic_advice';
return $vars;
});
add_action('template_redirect', function () {
if (intval(get_query_var('traffic_advice')) !== 1) return;
header('Content-Type: application/trafficadvice+json');
header('Cache-Control: public, max-age=86400');
echo '[{"user_agent":"prefetch-proxy","fraction":1.0}]';
exit;
});
Når du har lagt det ind, skal du gå til Indstillinger → Permalinks og klikke på Gem ændringer. Det renser rewrite-reglerne. Færdig.
Metode 2: Statisk fil (hvis du har adgang til filsystemet)
Lav en fil i roden af dit site:
/.well-known/traffic-advice
Indhold:
[{"user_agent":"prefetch-proxy","fraction":1.0}]
Sørg derefter for, at din server returnerer den korrekte MIME-type. På Apache, læg det her i din .htaccess:
<Files "traffic-advice">
ForceType application/trafficadvice+json
</Files>
På Nginx:
location = /.well-known/traffic-advice {
default_type application/trafficadvice+json;
add_header Cache-Control "public, max-age=86400";
}
En kommentar om Cloudflare
Hvis du kører Cloudflare foran WordPress (det gør jeg), virker den statiske filmetode uden videre, fordi Cloudflare bare sender stien videre til origin. Hvis du vil springe origin over helt, kan du sende JSON-svaret fra en Cloudflare Worker og undgå at involvere din server.
Sådan tjekker du at det virker
Åbn din terminal og curl URL’en:
curl -i https://ditdomain.dk/.well-known/traffic-advice
Du bør se:
HTTP/1.1 200 OK
Content-Type: application/trafficadvice+json
[{"user_agent":"prefetch-proxy","fraction":1.0}]
Hvis du ser en 404, fangede rewrite-reglen ikke URL’en. Prøv at gemme permalinks igen. Hvis du ser JSON, er MIME-typen forkert, og Chrome ignorerer det fortsat.
Hvorfor det er værd at gøre i dag
LCP-forbedring på 20 til 30 procent på den mest værdifulde trafik på dit site, for prisen af én rewrite-regel. Næsten alle sites, jeg har kigget på, har præcis den samme 404 liggende i deres logs lige nu, uden at nogen lægger mærke til det.
Tjek dine serverlogs. Hvis du ser Chrome ramme /.well-known/traffic-advice og får en 404, så lader du gratis Core Web Vitals forbedring ligge på bordet.
Tilføj filen. Tjek MIME-typen. Send det live.
Jeg holder selv øje med min egen LCP i PageSpeed Insights de næste par uger, og jeg opdaterer dette indlæg med det endelige resultat. Hvis du implementerer det, så send mig dine før-og-efter-tal. Jeg vil gerne se dem.
FAQ
Er /.well-known/traffic-advice kun til Chrome?
Ja, lige nu. Det er kun Chromes Private Prefetch Proxy, der bruger filen. Safari, Firefox og Edge ignorerer den. Når det er sagt, har Chrome cirka 65 procent af den globale desktopbrowser-markedsandel, så selv en Chrome-only-funktion rammer størstedelen af din søgetrafik.
Bremser det min server ned?
Det modsatte. Lige nu rammer Chrome din side, får en 404-fejl og går videre. Når du først serverer et rigtigt svar, kan Chrome preloade via sin egen privacy proxy-infrastruktur, hvilket betyder, at Googles Edge gør arbejdet, ikke din origin. Den eneste omkostning på din side er at servere en 47 byte stor JSON-fil.
Hvilken brøkværdi er sikker at starte med?
1,0 er fint for de fleste. Hvis du kører på en lille VPS eller du er paranoid omkring originbelastning, så start på 0,3 og skalér op efter en uge med rene logs.
Skal jeg tilføje noget til robots.txt?
Nej. Traffic-advice-filen er uafhængig af robots.txt. Den styrer kun Chromes prefetch-adfærd, ikke crawl-adgang.
Kan jeg servere en fil fra et subdomæne?
Nej. Den skal ligge på samme origin som de sider, du gerne vil have preloadet. Hvert subdomæne skal have sin egen /.well-known/traffic-advice fil.
Hvordan ved jeg, om Chrome rent faktisk preloader mine sider nu?
Hold øje med dine access logs for Sec-Purpose: prefetch; anonymiseret klient-IP-header på indgående anmodninger. Det er Chromes prefetcher. Hvis du ser dem, virker systemet.