Le richieste HTTP di WordPress determinano la velocità di visualizzazione delle pagine perché ogni richiesta di CSS, JS, immagini o font richiede tempo. Vi mostrerò come ridurre il numero di richieste, evitare il blocco del rendering e ottimizzare il sito web immediatamente percepibile accelerare.
Punti centrali
I seguenti punti focali vi condurranno rapidamente a un numero inferiore di richieste e a un migliore LCP con stabile Funzione:
- Caching utilizzo: La cache del browser, delle pagine e degli oggetti riduce in modo significativo le richieste ripetute.
- CSS/JS ottimizzare: Minimizzare, raggruppare, integrare i CSS critici, evitare il blocco del rendering.
- immagini modernizzare: WebP/AVIF, caricamento pigro, dimensioni fisse, nessun cursore eroe.
- Script ritardo: rinvio/ritardo per analisi, pixel, risorse esterne.
- CDN/Hosting scegliere: HTTP/3, edge caching, TTFB breve per gli utenti globali.
Cosa sono le richieste HTTP in WordPress?
Ogni risorsa della pagina genera una propria richiesta, ad esempio i file CSS, JavaScript, le immagini, le icone e i file di testo. Caratteri. I temi e i plugin moderni aggiungono rapidamente molti file di piccole dimensioni, aumentando il numero di Richieste di informazioni unità. Ogni richiesta comporta la ricerca DNS, l'handshake TCP e il trasferimento, ed è proprio questo overhead che si somma. Senza ottimizzazione, spesso vedo più di 70 richieste per pagina, che ritardano notevolmente la visualizzazione. I valori target sono chiaramente inferiori: meno di 50 è buono, meno di 25 è eccellente per la massima velocità. Una piccola riduzione per tipo di pagina ha un ampio impatto perché i modelli, le intestazioni e i piè di pagina vengono caricati ovunque.
Perché ogni richiesta è importante
Qualsiasi file aggiuntivo può bloccare il rendering, soprattutto se caricato in modo sincrono. CSS e JavaScript. Se queste risorse rimangono bloccate nella parte iniziale della pagina, gli utenti attendono gli spazi bianchi e non riescono più a visualizzarle. Questo ha un impatto sui Core Web Vitals: LCP è in ritardo, TBT cresce e CLS aumenta senza misure fisse per le immagini o gli annunci. Pertanto, verifico costantemente quali risorse sono davvero critiche e quali posso ritardare. Se non siete sicuri del motivo per cui le richieste rallentano nonostante le piccole dimensioni dei file, leggete la mia guida Perché bloccare le richieste HTTP per le spiegazioni pratiche.
Avvio rapido: le misure con il maggior effetto leva
Inizio con la cache, la minificazione e il caricamento pigro, perché questi passaggi producono grandi effetti e possono essere implementati rapidamente. sono. Un buon plugin per la cache crea pagine HTML statiche e salva i file di Banca dati. La minimizzazione rimuove spazi e commenti, combina i file e riduce significativamente i download. Il caricamento pigro sposta le immagini fuori dallo schermo in fondo, aiutando così First Paint e LCP. Con pochi clic è possibile ottenere miglioramenti diretti senza modificare il tema.
| Misura di ottimizzazione | Richieste di riduzione | Strumenti/plugin |
|---|---|---|
| Caching (browser, pagina, oggetto) | 50-80% per visite di ritorno | WP Rocket, LiteSpeed Cache, W3TC |
| Minificare e combinare | 20-50% meno trasferimenti | Autoptimise, Perfmatters |
| Immagini di caricamento pigro | 30-60% iniziale | WP Rocket, funzione principale |
| CDN con HTTP/2/3 | a 40% più efficiente | Cloudflare, QUIC.cloud |
Uso intelligente della cache
Per prima cosa attivo la cache del browser, in modo che gli utenti che ritornano possano salvare localmente le risorse dal sito Cache e non più dal Server caricamento. La cache delle pagine genera HTML statico per i visitatori e risparmia l'esecuzione di PHP e le query al database. Con la cache degli oggetti (ad es. Redis), le query più frequenti rimangono in memoria, riducendo così il carico sulle pagine dell'amministrazione e del negozio. Gzip/Brotli riducono inoltre il trasferimento, riducendo il tempo di trasferimento e il volume dei dati. Verifico poi i tempi di scadenza (controllo della cache, expires) e se le stringhe di query escludono inutilmente gli script di marketing dalla cache.
CSS e JavaScript: Minimizzare, combinare, caricare
Molti file piccoli significano molti Richieste, Per questo motivo riassumo gli stili e gli script nel minor numero possibile. Fardelli insieme. La minimizzazione riduce le dimensioni, ma la cosa più importante è un minor numero di file per il percorso critico. Includo i CSS critici in linea, in modo che il contenuto sopra la piega venga stilizzato immediatamente. Carico gli stili non critici in modo asincrono o tramite attributo media. Impostiamo JavaScript in modo da rinviare o ritardare, ma verifichiamo la sequenza in modo che le dipendenze non si interrompano.
Immagini e media: grandi risparmi
Le immagini spesso causano la maggior parte delle Richieste di informazioni, quindi converto in WebP o AVIF e definisco i valori fissi di Dimensioni. Il caricamento pigro ritarda le immagini fuori schermo, ma ho precaricato l'immagine dell'eroe proprio per ottenere un LCP veloce. Il srcset reattivo assicura che i dispositivi mobili carichino le varianti più piccole. Evito i cursori nell'eroe perché causano molti file e ridipinture. Uso anche formati moderni specifici per ridurre al minimo gli artefatti.
Font, fornitori di terze parti e script esterni
Carico localmente i font esterni in modo da avere il pieno controllo su Caching e Precarico hanno. Combino gli stili di carattere con parsimonia, spesso sono sufficienti il normale e il grassetto con caratteri variabili. Per gli analytics, i tag manager e i pixel, imposto ritardi fino a dopo la prima interazione o li carico solo dopo l'evento onload. In questo modo il percorso critico rimane libero da file non necessari. Controllo anche i widget dei social media e li sostituisco con anteprime statiche che ricarico al clic.
Scegliere saggiamente CDN e hosting
Una CDN avvicina gli asset agli utenti e riduce la latenza e il numero di Viaggi di andata e ritorno evidente nella prima appello. HTTP/2/3 consente il multiplexing, la prioritizzazione e un handshake TLS più veloce. L'Edge caching dell'HTML rende più veloci soprattutto i gruppi target internazionali. Sul server, faccio attenzione allo storage NVMe, alle versioni attuali di PHP e al TTFB breve. I buoni hoster offrono strumenti come Brotli, Early Hints e QUIC, che utilizzo attivamente.
Casi speciali: REST-API e Admin-Ajax
Molte installazioni generano richieste in background attraverso l'opzione API REST o admin-ajax.php, ad esempio per i moduli, la ricerca o la dinamica Widget. Identifico queste chiamate nella scheda Rete e verifico se è possibile ridurre gli intervalli di polling o riassumere le richieste. Ove possibile, metto in cache le risposte API sul lato server e imposto limiti di velocità. Per ottimizzazioni più approfondite, consultare la mia guida a Prestazioni di REST-API, che mostra freni e soluzioni tipiche. Ecco come ridurre le query ripetute in background senza perdere le funzioni.
Misurazione e monitoraggio della velocità sostenuta
Verifico ogni modifica con PageSpeed Insights, Lighthouse e GTmetrix in modo da ottenere i dati reali. Effetto vedere e no Regressioni cattura. Obiettivi: meno di 50 richieste per pagina, LCP inferiore a 2,5 s, TBT inferiore a 200 ms e CLS inferiore a 0,1. Guardo anche il grafico a cascata per visualizzare le risorse bloccanti, le ricerche DNS e le code. Ricordate: il numero di richieste spesso conta più della dimensione pura del file; spiego esattamente questo nell'articolo sulla Focus sulle richieste di informazioni. Il monitoraggio continuo mantiene le ottimizzazioni stabili e misurabili.
Avanzato: HTTP/2/3, CSS inutilizzati e manutenzione del DB
Con HTTP/2/3 posso beneficiare del multiplexing, della prioritizzazione e di una maggiore velocità. Strette di mano, il che significa che i tempi di attesa per il carico parallelo File accorciato. Rimuovo i CSS inutilizzati per ridurre i fogli di stile e le richieste. Per i layout ricorrenti, è utile un CSS critico per modello, non per pagina. Nel database, elimino le revisioni, i transitori scaduti e i cadaveri di cron, in modo che il back-end e le funzioni dinamiche rimangano veloci. Questi passaggi accelerano notevolmente il processo, soprattutto per i grandi progetti con molti plugin.
Igiene dei plugin e dei temi
Verifico regolarmente quali sono i plugin che duplicano le funzioni o che vengono utilizzati raramente. diventare, e sostituire i pacchi pesanti con altri più leggeri Alternative. I temi snelli come Astra o GeneratePress generano poche richieste e possono essere ottimizzati in modo pulito. All'interno del tema, disattivo i moduli che non mi servono, come le raccolte di icone o gli slider. Configuro anche i page builder in modo minimalista, in modo che carichino solo i widget utilizzati. I flag delle funzionalità e le code modulari aiutano a evitare lo spreco di file.
Uso mirato delle risorse e definizione delle priorità
Oltre alla cache e al bundling Suggerimenti sulle risorse il tocco finale decisivo. Uso il Preload solo per le risorse veramente critiche: l'immagine LCP, il CSS principale (se non è in linea come CSS critico) e il CSS primario. Webfont-file. Troppi precarichi bloccano la prioritizzazione e possono avere l'effetto opposto. Per i font ho impostato visualizzazione dei caratteri (swap/optional) per evitare il FOIT e creare un pre-caricamento con il corretto come-in modo che il browser non carichi il file due volte.
Precaricamento DNS e Precollegamento Lo uso con parsimonia per i fornitori di terze parti obbligatori (ad esempio i fornitori di pagamenti nel checkout). Preconnect mi risparmia il Stretta di mano TLS, Tuttavia, questo ha senso solo se la risorsa è assolutamente necessaria. Prefetch Lo uso per le risorse che probabilmente saranno necessarie nella fase successiva (ad esempio, la pagina di paginazione successiva). In relazione a I primi suggerimenti il server può segnalare il precaricamento in anticipo, riducendo così il tempo di trasmissione del primo byte durante la creazione della connessione.
- Precarico: Solo per l'immagine LCP, il CSS principale e il file di font critico.
- Preconnect: per domini di terze parti sicuri e inevitabili.
- Prefetch: per le risorse/pagine potenzialmente necessarie a breve.
- DNS prefetch: per un lavoro preparatorio basso ma favorevole con gli host esterni.
Dove possibile, utilizzo anche Consigli di priorità (fetchpriority=“high“ per l'immagine LCP), in modo che il browser capisca cosa deve venire prima. Questo riduce i tempi di caricamento e Sequenza di richieste controllo più preciso.
Risorse di WordPress: caricare solo ciò che serve
Molte pagine caricano stili e script a livello globale, anche se sono necessari solo su alcuni modelli. Identifico questi candidati e li carico condizionale - Ad esempio, gli script dei moduli solo nelle pagine dei contatti, i CSS degli slider solo dove esistono e le risorse di WooCommerce solo nelle pagine del negozio, dei prodotti e del checkout.
Un lavoro di pulizia particolarmente gratificante:
- Emoji-Disattivare gli script e gli stili nel frontend, poiché i sistemi moderni dispongono di emoji native.
- oEmbedse non sono incorporati contenuti di terze parti.
- Dashicons nel frontend se il tema non li richiede.
- jQuery Migrare se non ci sono vecchi script in sospeso.
- Gutenberg blocco-biblioteca Carica i CSS solo se gli stili di blocco sono effettivamente utilizzati nel frontend.
Per una gestione delle risorse a grana fine, mi affido a enqueues modulari (per modello/blocco) o utilizzo un plugin di ottimizzazione che può disattivare le risorse per pagina. In questo modo si riduce il Elenco richieste rapidamente da un'infinità di file a una manciata di risorse veramente necessarie.
WooCommerce, moduli e altre aree dinamiche
I negozi hanno i loro casi speciali: Il noto frammenti di carrello-Il codice può causare molte richieste ripetute tramite admin-ajax.php. Carico questa funzione solo nelle aree in cui ha senso (prodotto, carrello, pagine di checkout) e la disattivo nei blog o nelle pagine di destinazione. Se possibile, metto in cache le mini-cartelle e le aggiorno solo quando c'è un'interazione reale. Per le immagini dei prodotti, utilizzo sempre srcset e prelodare la prima immagine visibile.
Per le forme riduco Sondaggio-Intervalli, invio le convalide in bundle e uso il debouncing in modo che l'input non venga trasmesso a ogni pressione dei tasti. Dove possibile, realizzo ricerche e filtri tramite endpoint in cache (ad esempio, REST), in modo che le richieste identiche e ripetute siano servite dalla cache. Questo riduce il carico del server, il numero di Richieste HTTP e migliora la velocità percepita.
Perfezionare ulteriormente immagini, iframe e media
Per l'immagine LCP uso fetchpriority="high" e impostare un precarico preciso. Allo stesso tempo, faccio attenzione a larghezza/altezza o un CSSrapporto d'aspetto, in modo che non ci siano spostamenti di layout. Fornisco immagini con decodifica="async", per evitare di bloccare il rendering, e impostare pigro solo dove ha senso: il prima L'immagine non dovrebbe essere pigra, tutti gli altri dovrebbero esserlo.
Sostituisco gli iframe esterni (YouTube, Maps, Social) con anteprime di luce. Invece di caricare immediatamente l'intero widget, mostro un'immagine statica di anteprima e carico il vero embed solo dopo aver fatto clic. In questo modo, elimino numerose richieste iniziali che non sono necessarie per la prima interazione. Per i miei video, utilizzo immagini poster, codec moderni e streaming adattivo, in modo che nessun file di grandi dimensioni blocchi la sincronizzazione.
Pulire le intestazioni della cache e il cache busting
Molte richieste nascono perché le cache dei browser o dei CDN non funzionano in modo ottimale. Definisco per gli asset statici (CSS, JS, font, immagini) TTL lunghi con Controllo della cache e impostare il flag immutabile. Per distribuire gli aggiornamenti in modo sicuro, utilizzo Versione nei nomi dei file o in WordPressver-parametri. Importante: il CDN deve memorizzare correttamente le stringhe di query nella cache, altrimenti si perderanno le stringhe di query. ver=-I parametri perdono il loro effetto e viene ricaricato inutilmente.
ETag e Ultima modifica in modo che le riconvalide vengano eseguite rapidamente e le risposte if-none-match/if-modified-since aiutano a risparmiare volume di dati. Con stale-while-revalidate il sito rimane reattivo mentre gli aggiornamenti vengono eseguiti in background. Tutto ciò si traduce in un minor numero di viaggi di andata e ritorno e in aggiornamenti programmati in modo pulito senza caos nella cache.
Evitare gli errori: Quando bundling e minify sono una cosa troppo buona
All'indirizzo HTTP/2/3 Non devo comprimere tutto in un unico file. I pacchetti troppo grandi rendono Cache hit, perché ogni modifica invalida l'intero blocco. Io trovo una via di mezzo: pochi bundle logicamente separati che mantengono il percorso critico ridotto e consentono comunque il riutilizzo (per esempio, un bundle del nucleo globale, un bundle del modello, un bundle del fornitore modificato raramente).
Anche la minimizzazione può causare problemi: Uglify/Minify può danneggiare le funzioni di alcuni plugin. Per questo motivo eseguo dei test passo dopo passo ed escludo gli script critici da Minify/Combine, se necessario (ad esempio JSON inline, script di pagamento, Captcha). L'obiettivo è un più stabile, percorso critico breve, pacchetto senza rischi che si rompe a ogni aggiornamento.
Metodologia di misurazione: test affidabili invece di congetture
Misuro con profili riproducibili: Desktop e mobile separatamente, con larghezze di banda e strozzature della CPU realistiche. Nei DevTools utilizzo Coperturaal fine di CSS/JS non utilizzati e il diagramma a cascata per vedere quali richieste sono in attesa, impilate o rallentate dalle priorità. Confronto Prima vista e Ripetere la vista, per verificare se le intestazioni della cache funzionano davvero e se il numero di richieste viene effettivamente dimezzato o migliorato durante la rivisitazione.
Ho impostato anche dei guardrail: numero massimo Richieste per tipo di pagina, obiettivo LCP, budget per i fornitori terzi. Le nuove funzionalità entrano in funzione solo se rispettano i budget. In questo modo il sito rimane veloce a lungo termine, non solo dopo un'ottimizzazione.
Sottigliezze lato server: TTFB e TLS
Oltre al numero puro di richieste, conta anche il tempo di risposta del server. Mantengo OPcache attivo, mettere a punto PHP-FPM, garantire plug-in snelli e ridurre al minimo il database.Viaggi di andata e ritorno. Con TLS, garantisco una catena di certificati breve, TLS 1.3 corrente e attivato Pinzatura OCSP. Insieme a HTTP/3, questo riduce i tempi di handshake e velocizza notevolmente le richieste iniziali, soprattutto per gli utenti mobili.
Riassumendo brevemente
Riduco il numero di richieste attivando la cache, raggruppando CSS/JS, modernizzando le immagini e ritardando gli script esterni. carico. Ospito i font localmente e pre-carico le risorse critiche in modo pulito e mirato. Un CDN con HTTP/2/3 e un hosting veloce riducono la latenza e il TTFB. Utilizzo le misurazioni di PageSpeed, Lighthouse e GTmetrix per verificare se LCP, TBT e CLS stanno scivolando nel corridoio di destinazione. In poche ore, questo processo consente spesso di passare da richieste lente di 70+ a pagine veloci ben al di sotto di 50.


