WordPress' HTTP-anmodninger bestemmer, hvor hurtigt dine sider vises, fordi hver anmodning om CSS, JS, billeder eller skrifttyper tager tid. Jeg vil vise dig, hvordan du kan reducere antallet af anmodninger, undgå blokering af rendering og optimere Websted umiddelbart mærkbar accelerere.
Centrale punkter
Følgende fokuspunkter vil hurtigt føre dig til et lavere antal henvendelser og en bedre LCP med stabil Funktion:
- Caching brug: Browser-, side- og objektcache reducerer gentagne anmodninger betydeligt.
- CSS/JS optimere: Minimer, bundt, integrer kritisk CSS, undgå blokering af rendering.
- Billeder modernisere: WebP/AVIF, lazy loading, faste dimensioner, ingen hero sliders.
- Manuskripter delay: udskyd/forsink for analyser, pixels, eksterne ressourcer.
- CDN/Hosting Vælg: HTTP/3, edge caching, kort TTFB for globale brugere.
Hvad er HTTP-anmodninger i WordPress?
Hver ressource på siden genererer sin egen anmodning, dvs. CSS-filer, JavaScript, billeder, ikoner og Skrifttyper. Moderne temaer og plugins tilføjer hurtigt mange små filer, hvilket øger antallet af Forespørgsler drev. Hver anmodning involverer DNS-opslag, TCP-håndtryk og overførsel, og det er netop dette overhead, der løber op. Uden optimering ser jeg ofte 70+ anmodninger pr. side, hvilket forsinker visningen mærkbart. Målværdierne ligger klart under dette: under 50 er godt, under 25 er fremragende for tophastighed. En lille reduktion pr. sidetype har stor effekt, fordi skabeloner, sidehoveder og sidefødder indlæses overalt.
Hvorfor hver eneste henvendelse tæller
Enhver ekstra fil kan blokere gengivelsen, især synkront indlæste filer. CSS og JavaScript. Hvis disse ressourcer forbliver render-blokerende i hovedet af siden, venter brugerne på hvide mellemrum og hopper af. Det har indflydelse på Core Web Vitals: LCP halter, TBT vokser, og CLS stiger uden faste foranstaltninger for billeder eller annoncer. Derfor tjekker jeg hele tiden, hvilke ressourcer der virkelig er kritiske, og hvilke jeg kan udskyde. Hvis du ikke er sikker på, hvorfor forespørgsler bliver langsommere på trods af små filstørrelser, kan du læse min guide Hvorfor blokere HTTP-anmodninger for praktiske forklaringer.
Hurtig start: tiltag med størst effekt
Jeg starter med caching, minification og lazy loading, fordi disse trin giver store effekter og kan implementeres hurtigt. er. Et godt cache-plugin opretter statiske HTML-sider og gemmer de Database. Minificering fjerner mellemrum og kommentarer, kombinerer filer og reducerer downloads betydeligt. Lazy Loading flytter billeder uden for skærmen bagud, hvilket hjælper First Paint og LCP. Med nogle få klik kan man opnå direkte forbedringer uden at ændre temaet.
| Optimeringstiltag | Anmodninger om reduktion | Værktøjer/Plugins |
|---|---|---|
| Caching (browser, side, objekt) | 50-80% til genbesøg | WP Rocket, LiteSpeed Cache, W3TC |
| Minificer og kombiner | 20-50% færre overførsler | Autoptimering, Perfmatters |
| Lazy Loading-billeder | 30-60% indledende | WP Rocket, kernefunktion |
| CDN med HTTP/2/3 | til 40% mere effektiv | Cloudflare, QUIC.cloud |
Smart brug af caching
Jeg aktiverer først browsercaching, så tilbagevendende brugere kan gemme aktiver lokalt fra Cache og ikke igen fra Server belastning. Sidecaching genererer statisk HTML til besøgende og sparer PHP-eksekvering og databaseforespørgsler. Med objektcaching (f.eks. Redis) forbliver hyppige forespørgsler i hukommelsen, hvilket reducerer belastningen på admin- og butikssider. Gzip/Brotli reducerer desuden overførslen, hvilket reducerer overførselstiden og datamængden. Derefter kontrollerer jeg udløbstiderne (cache control, expires), og om forespørgselsstrenge unødigt udelukker marketing-scripts fra cachelagring.
CSS og JavaScript: Minimer, kombiner, indlæs
Mange små filer betyder mange Forespørgsler, Derfor opsummerer jeg stilarter og scripts så lidt som muligt. Bundter sammen. Minificering reducerer størrelsen, men det vigtigste er færre filer til den kritiske vej. Jeg inkluderer kritisk CSS inline, så indhold over folden bliver stylet med det samme. Jeg indlæser ikke-kritiske stilarter asynkront eller via medieattribut. Jeg sætter JavaScript til at udskyde eller forsinke, men tester rækkefølgen, så afhængigheder ikke går i stykker.
Billeder og medier: store besparelser
Billeder forårsager ofte den største andel af Forespørgsler, Derfor konverterer jeg til WebP eller AVIF og definerer fast Dimensioner. Lazy loading forsinker billeder uden for skærmen, men jeg forudindlæser heltebilledet specifikt til en hurtig LCP. Responsive srcset sikrer, at mobile enheder indlæser små varianter. Jeg undgår sliders i heltebilledet, fordi de forårsager en masse filer og repaints. Jeg bruger også moderne formatspecifikationer for at holde artefakter på et minimum.
Skrifttyper, tredjepartsleverandører og eksterne scripts
Jeg indlæser eksterne skrifttyper lokalt, så jeg har fuld kontrol over Caching og Forspænding har. Jeg kombinerer skrifttyper sparsomt, ofte er almindelig og fed med variable skrifttyper tilstrækkeligt. For analytics, tag managers og pixels indstiller jeg forsinkelser til efter den første interaktion eller indlæser dem kun efter onload-begivenheden. Det holder den kritiske vej fri for unødvendige filer. Jeg tjekker også widgets til sociale medier og erstatter dem med statiske forhåndsvisninger, som jeg genindlæser ved klik.
Vælg CDN og hosting med omtanke
Et CDN bringer aktiverne tættere på brugerne og reducerer ventetiden og antallet af Rundrejser mærkbar i den første opfordring. HTTP/2/3 muliggør multiplexing, prioritering og hurtigere TLS-håndtryk. Edge-caching af HTML gør især internationale målgrupper hurtigere. På serveren er jeg opmærksom på NVMe-lagring, aktuelle PHP-versioner og kort TTFB. Gode hostere tilbyder værktøjer som Brotli, Early Hints og QUIC, som jeg bruger aktivt.
Særlige tilfælde: REST-API og Admin-Ajax
Mange installationer genererer baggrundsanmodninger gennem REST API eller admin-ajax.php, for eksempel til formularer, søgning eller dynamisk Widgets. Jeg identificerer disse opkald i netværksfanen og tjekker, om polling-intervaller kan reduceres eller anmodninger opsummeres. Hvor det er muligt, cacher jeg API-svar på serversiden og sætter hastighedsgrænser. For mere dybdegående optimeringer henvises til min guide til REST-API's ydeevne, som viser typiske bremser og løsninger. Sådan reducerer jeg gentagne baggrundsforespørgsler uden at miste funktioner.
Måling og overvågning af vedvarende hastighed
Jeg tester alle ændringer med PageSpeed Insights, Lighthouse og GTmetrix, så jeg får det rigtige resultat. Effekt se og nej Regression fangst. Mål: mindre end 50 anmodninger pr. side, LCP under 2,5 s, TBT under 200 ms og CLS under 0,1. Jeg ser også på vandfaldsdiagrammet for at visualisere blokerende ressourcer, DNS-opslag og køer. Husk: Antallet af anmodninger tæller ofte mere end den rene filstørrelse; jeg forklarer præcis dette i artiklen om Fokus på forespørgsler. Kontinuerlig overvågning holder optimeringer stabile og målbare.
Avanceret: HTTP/2/3, ubrugt CSS og DB-vedligeholdelse
Med HTTP/2/3 får jeg fordel af multiplexing, prioritering og hurtigere Håndtryk, hvilket betyder ventetider for parallelt indlæste Filer forkortet. Jeg fjerner ubrugt CSS for at gøre stylesheets mindre og reducere antallet af anmodninger. For tilbagevendende layouts er det værd at bruge kritisk CSS pr. skabelon, ikke pr. side. I databasen sletter jeg revisioner, udløbne transienter og cron-lig, så backend og dynamiske funktioner forbliver hurtige. Sådanne trin fremskynder processen mærkbart, især for store projekter med mange plugins.
Plugin- og temahygiejne
Jeg tjekker jævnligt, hvilke plugins der duplikerer funktioner eller sjældent bruges. blive, og erstatte tunge pakker med lettere Alternativer. Lean-temaer som Astra eller GeneratePress genererer meget få anmodninger og kan optimeres rent. Inden for temaet deaktiverer jeg moduler, som jeg ikke har brug for, f.eks. ikonsamlinger eller slidere. Jeg konfigurerer også page builders på en minimalistisk måde, så de kun indlæser widgets, der bruges. Funktionsflag og modulære køer hjælper med at undgå filspild.
Målrettet brug af ressourcer og prioritering
Ud over caching og bundling Ressourcehenvisninger den afgørende finish. Jeg bruger kun Preload til virkelig kritiske ressourcer: LCP-billedet, den vigtigste CSS (hvis den ikke er inline som kritisk CSS) og den primære Webfont-fil. For mange forudindlæsninger blokerer for prioriteringen og kan have den modsatte effekt. For skrifttyper indstiller jeg skrifttype-visning (swap/optional) for at undgå FOIT, og skab en preload med korrekt som-attribut, så browseren ikke indlæser filen to gange.
DNS-forhåndshentning og Forbindelse Jeg bruger det sparsomt til obligatoriske tredjepartsudbydere (f.eks. betalingsudbydere i kassen). Preconnect sparer mig for TLS-håndtryk, Det giver dog kun mening, hvis der absolut er brug for ressourcen. Prefetch Jeg bruger dem til ressourcer, der sandsynligvis skal bruges i næste trin (f.eks. næste side). I forbindelse med Tidlige hints Serveren kan signalere preloads tidligt - det reducerer tiden til den første byte, mens forbindelsen etableres.
- Forudindlæsning: Kun for LCP-billede, hoved-CSS, kritisk skrifttypefil.
- Preconnect: Til sikre, uundgåelige tredjepartsdomæner.
- Prefetch: Til ressourcer/sider, der potentielt snart er brug for.
- DNS prefetch: Til lavt, men fordelagtigt forberedende arbejde med eksterne værter.
Hvor det er muligt, bruger jeg også Tips til prioritering (fetchpriority=“high“ for LCP-billedet), så browseren forstår, hvad der virkelig skal komme først. Det reducerer indlæsningstiden og Anmodningssekvens kontrollere mere præcist.
WordPress-aktiver: Indlæs kun det, du har brug for
Mange sider indlæser stilarter og scripts globalt, selv om de kun er nødvendige i nogle få skabeloner. Jeg identificerer sådanne kandidater og indlæser dem betinget - For eksempel formular-scripts kun på kontaktsider, slider-CSS kun hvor der findes sliders, og WooCommerce-aktiver kun på butiks-, produkt- og kassesider.
Særligt givende oprydningsarbejde:
- Emoji-Deaktiver scripts og stilarter i frontend, da moderne systemer har indbyggede emojis.
- oEmbedfungerer, hvis der ikke er indlejret tredjepartsindhold.
- Dashicons i frontend, hvis temaet ikke kræver dem.
- jQuery Migrate hvis der ikke hænger gamle scripts.
- Gutenberg blok-bibliotek Indlæs kun CSS, hvis block styles rent faktisk bruges i frontend.
Til finkornet styring af aktiver bruger jeg modulære køer (pr. skabelon/blok) eller bruger et optimeringsplugin, der kan deaktivere ressourcer pr. side. Dette krymper Liste over anmodninger hurtigt fra utallige filer til en håndfuld virkelig nødvendige aktiver.
WooCommerce, formularer og andre dynamiske områder
Butikker har deres egne særlige tilfælde: Den velkendte Vognfragmenter-script kan forårsage mange gentagne anmodninger via admin-ajax.php. Jeg indlæser kun denne funktion på områder, hvor det giver mening (produkt-, indkøbskurvs- og kassesider), og deaktiverer den på blogs eller landingssider. Jeg cacher minivogne, hvor det er muligt, og opdaterer dem kun, når der er reel interaktion. Til produktbilleder bruger jeg konsekvent srcset og forlader det første synlige billede.
Til former reducerer jeg Afstemning-intervaller, sender valideringer i bundter og bruger debouncing, så input ikke overføres med hvert tastetryk. Hvor det er muligt, realiserer jeg søgninger og filtre via cachelagrede slutpunkter (f.eks. REST), så gentagne identiske anmodninger serveres fra cachen. Dette reducerer serverbelastningen, antallet af HTTP-anmodninger og forbedrer den opfattede hastighed.
Forbedre billeder, iframes og medier yderligere
Til LCP-billedet bruger jeg fetchpriority="høj" og indstiller en præcis forspænding. Samtidig er jeg opmærksom på Bredde/højde eller en CSSbilledformat, så der ikke sker nogen layoutforskydning. Jeg leverer billeder med afkodning="asynkron", for at undgå at blokere gengivelsen, og sæt doven kun hvor det giver mening: The først Billedet skal ikke være dovent, det skal alle andre være.
Jeg erstatter eksterne iframes (YouTube, Maps, Social) med Forhåndsvisning af lys. I stedet for at indlæse hele widgetten med det samme, viser jeg et statisk preview-billede og indlæser først den rigtige indlejring, når du klikker. På den måde eliminerer jeg mange indledende anmodninger, som er unødvendige for den første interaktion. Til mine egne videoer bruger jeg plakatbilleder, moderne codecs og adaptiv streaming, så ingen store filer blokerer for synkroniseringen.
Rene cache-headere og cache-busting
Mange anmodninger opstår, fordi browser- eller CDN-cacher ikke fungerer optimalt. Jeg definerer for statiske aktiver (CSS, JS, skrifttyper, billeder) lange TTL'er med Cache-kontrol og sæt flaget uforanderlig. For at udrulle opdateringer sikkert bruger jeg Versionering i filnavne eller WordPressver-parametre. Vigtigt: CDN'et skal cache forespørgselsstrenge korrekt, ellers vil du miste ?ver=-parametre mister deres effekt, og den genindlæses unødigt.
ETag og Sidst ændret så revalideringer kører hurtigt, og if-none-match/if-modified-since-svar hjælper med at spare på datamængden. Med stale-while-revalidate forbliver siden responsiv, mens opdateringer udføres i baggrunden. Tilsammen resulterer det i færre rundture og rent planlagte opdateringer uden cache-kaos.
Undgå fejltagelser: Når bundling og minify er for meget af det gode
Med HTTP/2/3 Jeg behøver ikke at presse alt ind i en enkelt fil. Bundter, der er for store, gør Cache-hits, fordi hver ændring gør hele blokken ugyldig. Jeg har fundet en mellemvej: nogle få, logisk adskilte bundter, der holder den kritiske vej lille og stadig tillader genbrug (f.eks. et globalt kernebundt, et skabelonbundt, et sjældent ændret leverandørbundt).
Minificering kan også give problemer: Uglify/Minify kan beskadige funktioner i nogle plugins. Jeg tester derfor trin for trin og udelukker kritiske scripts fra Minify/Combine, hvis det er nødvendigt (f.eks. inline JSON, betalingsscripts, Captcha). Målet er en mere stabil, kort kritisk vej, ingen risikopakke, der går i stykker ved hver opdatering.
Målemetode: pålidelig testning i stedet for gætværk
Jeg måler med reproducerbare profiler: Desktop og mobil hver for sig, med realistiske båndbredder og CPU-throttling. I DevTools bruger jeg Dækningtil Ubrugt CSS/JS og vandfaldsdiagrammet for at se, hvilke forespørgsler der venter, er stablet eller bremset af prioriteter. Jeg sammenligner Første visning og Gentag visning, for at tjekke, om cache-overskrifterne virkelig virker, og om antallet af forespørgsler faktisk halveres eller forbedres ved genbesøg.
Jeg opsatte også beskyttelseslinjer: maksimalt antal Forespørgsler pr. sidetype, LCP-mål, budget for tredjepartsudbydere. Nye funktioner går kun i luften, hvis de overholder budgetterne. Det holder sitet hurtigt på lang sigt - ikke kun lige efter en optimeringsrunde.
Finesser på serversiden: TTFB og TLS
Ud over det rene antal anmodninger tæller serverens svartid også. Jeg holder OPcache aktiv, tune PHP-FPM, sikre slanke plug-ins og minimere databasenRundrejser. Med TLS sikrer jeg en kort certifikatkæde, nuværende TLS 1.3 og aktiveret OCSP-hæftning. Sammen med HTTP/3 reducerer dette handshake-tiden og fremskynder de første anmodninger betydeligt - især for mobilbrugere.
Kort opsummeret
Jeg reducerer antallet af forespørgsler ved at aktivere caching, bundle CSS/JS, modernisere billeder og forsinke eksterne scripts. belastning. Jeg hoster skrifttyper lokalt og forudindlæser kritiske ressourcer rent og målrettet. Et CDN med HTTP/2/3 og hurtig hosting reducerer latency og TTFB. Jeg bruger målinger i PageSpeed, Lighthouse og GTmetrix til at kontrollere, om LCP, TBT og CLS glider ind i målkorridoren. I løbet af få timer gør denne proces ofte springet fra langsomme 70+ anmodninger til hurtige sider, der ligger langt under 50.


