Skip to content

Alt om WordPress, webutvikling — og mer til

⚡ Hvordan redusere HTTP-forespørsler i WordPress

⚡ Hvordan redusere HTTP-forespørsler i WordPress

Nettstedet ditt er tregt, og GTMetrix viser 130+ HTTP-forespørsler per side?

Dette er ikke et abstrakt tall fra en rapport. Hver forespørsel er et kall fra nettleseren til serveren etter en fil: et script, et stilark, et bilde eller en font. Jo flere forespørsler, desto lenger stirrer de besøkende på en tom skjerm. Ifølge Portent reduserer en lastetidsforsinkelse fra 0 til 3 sekunder konverteringen med 2,5%. Og hvert ekstra sekund utover det koster ytterligere 4,4%.

Problemet med HTTP-forespørsler er ikke at de finnes. Det er at de fleste WordPress-nettsteder genererer langt flere enn nødvendig. Nedenfor følger fem konkrete steg som reduserer antall forespørsler uten at du må bygge om nettstedet fra bunnen av.

💡 Rask oversikt:

  • Fjern ubrukte utvidelser og temaer som skaper ekstra forespørsler på hver side
  • Optimaliser bilder: komprimer filer, fjern ubrukte bilder, kombiner ikoner til sprites
  • Slå sammen CSS og JavaScript til 1-2 filer og aktiver minifisering
  • Sett opp utsatt lasting for script som blokkerer sidevisningen
  • Aktiver mellomlagring og CDN slik at tilbakevendende besøkende ikke laster hele nettstedet på nytt

Steg 1. Fjern rotet

Hver installerte utvidelse bringer med seg filer. PHP, CSS, JavaScript: enhver av disse skaper en HTTP-forespørsel når siden lastes. Tjue utvidelser betyr nesten hundre forespørsler bare ved oppstart, før noe innhold vises.

Det første du bør gjøre er en gjennomgang. Åpne Utvidelser → Installerte utvidelser og spør deg selv ærlig: hvilke er kritiske for at nettstedet skal fungere, og hvilke ligger der bare «i tilfelle»? Den SEO-analysatoren du installerte for et år siden og åpnet to ganger, er en kandidat for fjerning. Utvidelsen for sosiale ikoner er det også, hvis du allerede har lagt til lenkene i bunnteksten likevel.

En egen kategori er utvidelser som kobler seg til tredjepartstjenere. Live chat, strømming av radio, push-varsler. Hver slik utvidelse skaper ekstra eksterne HTTP-forespørsler til tredjepartstjenere. Slett alt nettstedet kan fungere uten. Trenger du det én gang i måneden? Installer det for en dag og fjern det deretter.

Den samme regelen gjelder for temaer. Under Utseende → Temaer, behold kun ditt aktive tema og én sikkerhetskopi (for eksempel standardtemaet Twenty Twenty-Five). Slett resten.

Hvis en utvidelse er nødvendig, men bare på en bestemt side, last den selektivt. Asset CleanUp: Page Speed Booster gjør akkurat dette. Det er en gratis utvidelse med over 100 000 aktive installasjoner og en vurdering på 4,7 på WordPress.org.

Asset CleanUp plugin-grensesnitt for WordPress

Utvidelsen skanner siden, viser en liste over innlastede CSS- og JS-filer, og lar deg deaktivere bestemte filer på enkeltsider, innholdstyper eller nettstedsomfattende. Trenger du Contact Form 7 bare på kontaktsiden? Fjern avhukingen alle andre steder, så vil ikke scriptene dens lastes der skjemaet ikke brukes.

🔗 Asset CleanUp på WordPress.org

Mens du er i gang, optimaliser databasen din. Etter opprydding av utvidelser ligger innstillingene og oppføringene deres igjen i tabellene og bør også fjernes. Sjekk også for ødelagte lenker: hver omdirigering er en ekstra HTTP-forespørsel.

For å tydelig se omfanget av problemet før og etter, test nettstedet ditt i GTMetrix:

Ytelsestestresultater i GTMetrix

Den første kjøringen viser utgangspunktet: antall forespørsler, total sidestørrelse, lastetid. Etter hvert steg i denne artikkelen, kjør testen på nytt. På denne måten ser du hvilke endringer som hadde størst effekt.

Steg 2. Optimaliser bilder

Bilder er den største «vekten» på en gjennomsnittlig WordPress-side. Ifølge HTTP Archive står bilder for omtrent 44% av den totale sidestørrelsen på desktop. Og hvert bilde er en HTTP-forespørsel.

Begynn med å fjerne ubrukte filer. I Media → Bibliotek, filtrer på «Ikke tilknyttet». Dette er bilder som ikke er knyttet til noe innlegg. Hvis de ikke brukes i temaet eller bunnteksten, slett dem.

Neste steg er komprimering. Utvidelser som WP Compress håndterer dette automatisk: når du laster opp et bilde, kjøres det gjennom en skybasert optimalisator, komprimeres uten synlig kvalitetstap og konverteres til WebP eller AVIF. Disse formatene er merkbart lettere enn JPEG ved samme visuelle kvalitet. Ifølge Google reduserer WebP filstørrelsen med gjennomsnittlig 25-35% sammenlignet med JPEG.

WP Compress plugin-dashbord for bildekomprimering

WP Compress har over 10 000 aktive installasjoner, en vurdering på 4,5 av 5 og over 1,1 millioner nedlastinger på WordPress.org. De første 100 bildene er gratis, nok til å se forskjellen.

🔗 WP Compress på WordPress.org

Komprimering alene reduserer ikke antallet HTTP-forespørsler. Men det reduserer størrelsen på hver fil, noe som betyr kortere overføringstid. Kombinert med de andre stegene gir dette et merkbart hastighetsløft.

CSS-sprites: én fil i stedet for ti

Hvis du har et dusin små ikoner på en side (sosiale nettverk, piler, vurderingsstjerner), lastes hvert av dem som en separat forespørsel. En CSS-sprite løser dette: alle ikoner kombineres til én fil, og CSS viser det nødvendige utsnittet.

Slik fungerer det: fem bilder betyr fem serverforespørsler. De samme fem bildene kombinert til én sprite betyr én forespørsel. Nettbaserte verktøy som CSS Sprite Generator kan lage sprites for deg. Grunnleggende CSS-kunnskap kreves for å angi background-position for hvert ikon.

Merk: hvis serveren din støtter HTTP/2, lastes filer asynkront innenfor én enkelt tilkobling. I så fall er besparelsene ved sprite mindre merkbare. Men i praksis laster et dusin ikoner i én fil fortsatt raskere enn ti separate.

Steg 3. Slå sammen og minifiser CSS og JavaScript

Et typisk WordPress-nettsted har over 40 JS-filer og over 20 CSS-filer. Hver av dem er en separat HTTP-forespørsel. Det blir over 60 serverkall bare for script og stiler, som alle lastes før noe innhold vises.

Minifisering fjerner alt unødvendig fra filer: mellomrom, linjeskift, kommentarer. Filen blir lettere, men antallet HTTP-forespørsler forblir det samme.

Sammenslåing kombinerer flere filer til én. Fem CSS-filer blir til to (én for innhold over brettet, én for resten). Fem JS-filer, samme sak. Og i stedet for ti forespørsler er du nede i to eller tre.

Det mest populære gratisverktøyet for dette er Autoptimize. En utvidelse med én million aktive installasjoner og en vurdering på 4,7. I innstillingene er det tre avkrysningsbokser: optimaliser HTML, CSS og JS. Kryss av for alle tre og se umiddelbare resultater.

For finere kontroll finnes WP Rocket, en premiumløsning som kombinerer filer, minifiserer dem og legger til mellomlagring i ett grensesnitt.

Fil-sammenslåing og minifiseringsinnstillinger i WP Rocket

Etter sammenslåing bør du alltid sjekke nettstedet i inkognitomodus: noen ganger ødelegger sammenslåing av filer layouten. Hvis noe ser feil ut, deaktiver sammenslåing for den problematiske filen og behold bare minifisering.

🔗 WP Rockets offisielle nettsted

En ting til: sammenslåing av filer er ingen universalløsning. Hvis en plugin laster inn eksterne skript fra et CDN (Google Fonts, reCAPTCHA, YouTube-spiller), kan du ikke slå dem sammen. Du kan bare utsette dem eller laste dem asynkront, noe som bringer oss til neste steg.

Trinn 4. Håndter gjengivelsesblokkerende skript

Nettleseren leser en side fra topp til bunn. Når den møter <script src="..."> i <head>, stopper den gjengivelsen, laster ned skriptet fullstendig, og fortsetter først deretter. Besøkende ser en blank side i løpet av denne tiden.

Løsningen er å flytte skript som ikke er nødvendige for å gjengi det første skjermbildet til bunnen av siden, eller legge til attributtet async/defer. Forskjellen:

  • defer: skriptet lastes i bakgrunnen, men kjøres strengt tatt etter at HTML-tolkningen er fullført og i den rekkefølgen de er inkludert;
  • async: skriptet lastes og kjøres ved første anledning, uten garantert rekkefølge.

For WordPress finnes det en gratis plugin kalt Async JavaScript. Den legger til async eller defer på utvalgte skript via et tydelig grensesnitt. Den fungerer rett ut av boksen, men krever forsiktighet: hvis et skript som er lagt til med async må kjøre før et annet, kan siden ødelegges.

En trygg tilnærming er å teste på ett skript, sjekke nettstedet i inkognitomodus, og deretter gå videre til det neste.

WP Rocket kan også utsette skript: gå til File Optimization → Load JavaScript deferred. Velg «Deferred» og legg jQuery til i unntakene, siden de fleste WordPress-temaer og -plugins er avhengige av det.

Resultat: siden begynner å gjengis tidligere, selv om det totale antallet HTTP-forespørsler ikke har endret seg. Besøkende ser innhold mens de gjenværende skriptene lastes i bakgrunnen.

Trinn 5. Aktiver hurtigbufring og CDN

Hurtigbufring reduserer HTTP-forespørsler direkte ved gjentatte besøk. Mekanikken er enkel: nettleseren lagrer statiske filer (CSS, JS, bilder, fonter) lokalt. Ved neste sideinnlasting henter den filen fra hurtigbufferen i stedet for å be om den fra serveren. Null HTTP-forespørsler for den filen.

Hurtigbufring på serversiden er neste nivå: serveren leverer en allerede sammensatt HTML-side i stedet for å kjøre dusinvis av PHP-spørringer mot databasen. Hurtigbuffer-plugins (WP Rocket, Flying Press, W3 Total Cache) gjør dette automatisk.

CDN (Content Delivery Network) er et nettverk av servere over hele verden. I stedet for å hente filer fra din hosting i Nederland for en besøkende i Brasil, leverer CDN-et dem fra den nærmeste noden. I tillegg inkluderer CDN-leverandører ofte komprimering, minifisering og bildeoptimalisering rett ut av boksen.

Cloudflare er et gratis alternativ som dekker grunnleggende behov: CDN, DDoS-beskyttelse, gratis SSL.

Cloudflare-plugin for WordPress i adminpanelet

Installer Cloudflare-pluginen for WordPress. Den kobler nettstedet ditt til CDN-et og gir grunnleggende innstillinger rett fra administrasjonspanelet. For finere kontroll, gå til Cloudflare-dashbordet: aktiver Auto Minify for CSS/JS/HTML, Brotli-komprimering og Rocket Loader for asynkron skriptinnlasting.

🔗 Cloudflare på WordPress.org

Med hurtigbufring og CDN synker antallet HTTP-forespørsler for tilbakevendende besøkende dramatisk. Første besøk: full innlasting. Andre besøk: de fleste filer kommer fra nettleserens hurtigbuffer og den nærmeste CDN-noden uten noen kall til serveren din.

Bonus: sjekk om serveren din støtter HTTP/2

HTTP/2 er en protokoll som overfører flere filer gjennom én enkelt TCP-tilkobling. Nettleseren venter ikke på at fil #1 skal bli ferdig nedlastet før den ber om fil #2; de lastes parallelt. Dette reduserer effekten av et høyt antall HTTP-forespørsler: 60 filer over HTTP/2 lastes raskere enn de samme 60 over HTTP/1.1.

Sjekk serveren din ved hjelp av KeyCDNs HTTP/2-testverktøy. Skriv inn domenet ditt og klikk «Test». Et resultat som viser «HTTP/2 is supported» betyr at multipleksing fungerer.

HTTP/2-støttesjekkresultat med KeyCDN-verktøy

Hvis testen viser HTTP/1.1, kontakt verten din. De fleste moderne hosting-leverandører (SiteGround, Cloudways, Kinsta) aktiverer HTTP/2 som standard. På delt hosting fra 2010-tallet er dette kanskje ikke tilfelle. Sjekk også PHP-versjonen din: oppgradering til en moderne PHP-versjon gir et merkbart ytelsesløft, mens utdaterte versjoner behandler forespørsler betydelig tregere. Hvis verten din ikke oppdaterer verken protokollen eller PHP-versjonen, kan det være på tide å vurdere å bytte vert.

Hvis du foretrekker videoformat, her er en visuell guide til å redusere HTTP-forespørsler i WordPress (12 minutter).

⁉️🤔 Ofte stilte spørsmål

Hvor mange HTTP-forespørsler regnes som normalt for WordPress?

Et målområde er 30 til 60 per side. Alt over 80-90 krever optimalisering. GTMetrix og Pingdom viser spesifikke tall i rapportene sine. Etter å ha brukt de fem trinnene i denne artikkelen er det realistisk å gå ned fra 130 til 35-45 forespørsler.

«Jeg har et nettsted på Elementor, og det har allerede 100+ forespørsler. Er det normalt?»

Sidebyggere genererer naturlig nok mye CSS og JS. Elementor og Divi legger til 30-50 forespørsler på egen hånd. Dette betyr ikke «godta det»; det betyr at resten av nettstedet ditt bør være så rent som mulig. Fjern alt som ikke er relatert til sidebyggeren: unødvendige plugins, eksterne fonter, uoptimaliserte bilder. Behold bare det som faktisk tjener de besøkende.

Hva betyr mest: antall forespørsler eller total sidestørrelse?

Begge deler. 20 forespørsler på 1 MB hver betyr 20 sekunders sideinnlasting. 100 forespørsler på 5 KB hver kan lastes raskere, men hver forespørsel medfører overhead for DNS-oppslag, TCP-tilkobling og TLS-håndtrykk. På HTTP/2 jevnes denne forskjellen ut. På HTTP/1.1 er den kritisk. Optimaliser begge: reduser antall forespørsler gjennom filkombinering og sprites, reduser størrelsen gjennom komprimering og minifisering.

Kan jeg klare meg uten plugins?

Delvis, ja. CSS/JS-minifisering kan settes opp via Gulp eller Webpack under temautvikling. HTTP/2 aktiveres på servernivå (Nginx/Apache-konfigurasjon). Hurtigbufring kan gjøres via serverregler. Men for de fleste WordPress-nettstedseiere er plugins den mest praktiske veien: oppsett tar minutter, resultatene er umiddelbare, og risikoen for å ødelegge nettstedet er lavere.

Hvor ofte bør jeg kontrollere antall HTTP-forespørsler på nytt?

Etter hver større plugin-installasjon eller -oppdatering. En ny plugin kan legge til sin CSS/JS på alle sider, og du merker det ikke før nettstedet begynner å henge. En gang i måneden er tilstrekkelig for rutinekontroller. GTMetrix lar deg sette opp automatisk overvåking med varsler når ytelsen faller.

Trenger jeg egentlig denne guiden hvis jeg allerede har rask hosting?

Hosting løser deler av problemet på servernivå, men ikke på kodenivå. Hvis en plugin legger inn 15 skript i sidens <head>, vil selv ikke toppservere få dem til å lastes umiddelbart. Nettleseren vil fortsatt vente. Rask hosting gir deg et forsprang, men den virkelige vinneren er den som rydder opp på klientsiden også.

Hva reduserer faktisk HTTP-forespørsler, og hva gjør det ikke?

La oss gå gjennom alle stegene uten illusjoner:

  • Opprydding av plugins og temaer gir den mest merkbare forbedringen. Hver plugin som fjernes, eliminerer dens CSS, JS og eksterne kall. I praksis forsvinner 10-30 forespørsler etter en gjennomgang.
  • Bildekomprimering reduserer filstørrelsene, men antallet forespørsler forblir det samme. Den totale lastetiden går imidlertid merkbart ned.
  • Kombinering av CSS og JS kutter antall forespørsler betydelig. Ulempe: det kan ødelegge layout, så sjekk etter hver endring.
  • Utsatt skriptlasting: samme antall forespørsler, men siden blir synlig raskere.
  • Bufring og CDN: for nye besøkende er forskjellen minimal. For tilbakevendende besøkende skjer gjentatte sideinnlastinger uten en eneste forespørsel til serveren.

Hvis vi måtte velge nøyaktig tre tiltak som gir størst effekt på et typisk WordPress-nettsted: (1) fjern unødvendige plugins, (2) aktiver CSS/JS-kombinering via Autoptimize, (3) sett opp Cloudflare. Dette er tre steg som tar en kveld i stedet for en uke, og du vil se resultatene i GTMetrix-tallene allerede dagen etter.