/* === HIDE TUTTI gli elementi auto-added theme (Pubblicato, Di, bullets, page title bar nera) === */
.et_pb_section_0_tb_body,
.et-l–header section.et_pb_section,
.et-l–post-title,
.et_pb_post_title,
.et_post_meta_wrapper,
.et_pb_title_meta_container,
.et_pb_title_container,
.post-meta,
.entry-meta,
.posted-on,
.post-categories,
.post-author,
.author.vcard,
.vcard,
.post-data,
.post-published-date,
.post-meta-author,
p.entry-meta,
ul.post-meta,
ul.post-meta-icons,
li.post-meta-item,
.meta-item,
time.entry-date.published,
time.entry-date.updated,
span.published,
span.author,
header.entry-header,
section.et_pb_section_0:not(:has(.svh-article)){
display:none!important;
height:0!important;
min-height:0!important;
margin:0!important;
padding:0!important;
visibility:hidden!important;
overflow:hidden!important;
border:0!important;
}
/* Rimuovi p/li/ul vuoti residui e separatori orfani */
.entry-content p:empty,
.entry-content li:empty,
.entry-content ul:empty,
.entry-content hr:first-child,
.entry-content > p:has(strong:contains(‘Di ‘)):only-child,
.post-content p:empty,
.post-content li:empty,
.post-content ul:empty{display:none!important}
/* === Reset color H1/title (potrebbero essere bianchi) === */
.svh-article h1,
.svh-article h2,
.svh-article h3{color:#0A2540!important}
/* === Force light bg on main content wrappers === */
#main-content,.et_pb_post_content,.entry-content,.post-content{background:#FAFAF9!important}
.entry-content,.post-content{padding-top:2rem!important}
.entry-content > *:first-child,.post-content > *:first-child{margin-top:0!important}
.svh-article{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1a1a1a;max-width:760px;margin:0 auto;line-height:1.7;padding:1rem 0}
.svh-article *{box-sizing:border-box}
.svh-article .svh-meta{display:flex;flex-wrap:wrap;gap:1rem;color:#4a5568;font-size:.9em;margin:0 0 2rem;padding:0 0 1rem;border-bottom:1px solid #E8E6E1;align-items:center}
.svh-article .svh-meta a{color:#0A2540;font-weight:600;text-decoration:none;border-bottom:1px solid #C9A357}
.svh-article .svh-meta a:hover{color:#C9A357}
.svh-article .svh-lead{font-family:Georgia,serif;font-style:italic;font-size:1.25em;line-height:1.6;color:#0A2540;margin:0 0 2.5rem;padding:0;border-left:3px solid #C9A357;padding-left:1.5rem}
.svh-article .svh-lead::first-letter{font-family:Playfair Display,Georgia,serif;font-size:3em;font-weight:700;float:left;line-height:.95;margin:.05em .15em 0 0;color:#C9A357}
.svh-article h2{font-family:Playfair Display,Georgia,serif;font-size:1.75em;font-weight:700;line-height:1.25;margin:3rem 0 1rem;color:#0A2540;letter-spacing:-.01em}
.svh-article h2::before{content:””;display:block;width:40px;height:3px;background:#C9A357;margin:0 0 1rem}
.svh-article h3{font-family:Inter,sans-serif;font-size:1.25em;font-weight:700;margin:2rem 0 .75rem;color:#0A2540}
.svh-article p{margin:0 0 1.25rem;font-size:1.0625rem}
.svh-article ul,.svh-article ol{margin:0 0 1.5rem;padding-left:1.5rem}
.svh-article li{margin:.5rem 0;line-height:1.6}
.svh-article li::marker{color:#C9A357;font-weight:700}
.svh-article dl{margin:1.5rem 0;padding:1.25rem 1.5rem;background:#FAFAF9;border-left:3px solid #C9A357;border-radius:0 4px 4px 0}
.svh-article dt{font-weight:700;color:#0A2540;margin-top:.75rem}
.svh-article dt:first-child{margin-top:0}
.svh-article dd{margin:.25rem 0 0;color:#4a5568}
.svh-article blockquote{font-family:Georgia,serif;font-style:italic;font-size:1.15em;line-height:1.5;background:#F5F1E8;border-left:4px solid #C9A357;padding:1.25rem 1.5rem;margin:2rem 0;color:#0A2540;border-radius:0 4px 4px 0}
.svh-article a{color:#0A2540;text-decoration:none;border-bottom:1px solid #C9A357;transition:all .15s}
.svh-article a:hover{color:#C9A357;border-bottom-color:#0A2540}
.svh-article table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95em;background:#fff;box-shadow:0 1px 3px rgba(10,37,64,0.08)}
.svh-article th{background:#0A2540;color:#fff;padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.9em;letter-spacing:.02em;text-transform:uppercase}
.svh-article td{border-bottom:1px solid #E8E6E1;padding:.75rem 1rem}
.svh-article tr:hover td{background:#FAFAF9}
.svh-article .svh-stat{display:inline-block;background:#0A2540;color:#fff;padding:.15rem .5rem;border-radius:3px;font-weight:600;font-size:.95em;margin:0 .15rem}
.svh-article .svh-callout{background:linear-gradient(135deg,#0A2540 0%,#1a3a5e 100%);color:#fff;padding:1.5rem 1.75rem;border-radius:6px;margin:2rem 0;position:relative;overflow:hidden}
.svh-article .svh-callout::before{content:””;position:absolute;top:0;right:0;width:80px;height:80px;background:#C9A357;opacity:.15;border-radius:50%;transform:translate(30%,-30%)}
.svh-article .svh-callout h3,.svh-article .svh-callout p{color:#fff;margin-top:0}
.svh-article .svh-callout h3{font-family:Playfair Display,Georgia,serif;font-size:1.35em;border-bottom:1px solid rgba(201,163,87,.5);padding-bottom:.5rem;margin-bottom:.75rem}
.svh-article .svh-author-card{display:flex;gap:1.5rem;align-items:flex-start;background:#fff;border:1px solid #E8E6E1;border-radius:8px;padding:1.5rem;margin:3rem 0 1.5rem;box-shadow:0 1px 3px rgba(10,37,64,0.06)}
.svh-article .svh-author-avatar{flex:0 0 80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#0A2540 0%,#C9A357 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-family:Playfair Display,Georgia,serif;font-size:2em;font-weight:700}
.svh-article .svh-author-info{flex:1}
.svh-article .svh-author-name{font-family:Playfair Display,Georgia,serif;font-size:1.25em;font-weight:700;color:#0A2540;margin:0 0 .15rem}
.svh-article .svh-author-role{color:#4a5568;font-size:.9em;margin:0 0 .75rem;font-style:italic}
.svh-article .svh-author-bio{font-size:.95em;line-height:1.55;color:#1a1a1a;margin:0}
.svh-article .svh-author-since{display:inline-block;background:#F5F1E8;color:#0A2540;padding:.15rem .65rem;border-radius:20px;font-size:.8em;font-weight:600;margin-top:.5rem;border:1px solid #C9A357}
.svh-article .svh-faq-section{margin:3rem 0 1rem;padding:1.5rem;background:#FAFAF9;border-radius:8px}
.svh-article .svh-faq-title{font-family:Playfair Display,Georgia,serif;font-size:1.5em;font-weight:700;color:#0A2540;margin:0 0 1.5rem;border-bottom:2px solid #C9A357;padding-bottom:.5rem}
.svh-article details{background:#fff;border:1px solid #E8E6E1;border-radius:6px;padding:0;margin-bottom:.75rem;overflow:hidden}
.svh-article details summary{cursor:pointer;font-weight:600;color:#0A2540;padding:.85rem 1.25rem;list-style:none;display:flex;justify-content:space-between;align-items:center;background:#fff;transition:background .15s}
.svh-article details summary::-webkit-details-marker{display:none}
.svh-article details summary::after{content:”+”;font-size:1.4em;color:#C9A357;font-weight:300;transition:transform .2s}
.svh-article details[open] summary{background:#FAFAF9;border-bottom:1px solid #E8E6E1}
.svh-article details[open] summary::after{content:”−”}
.svh-article details > p,.svh-article details > div{padding:.85rem 1.25rem}
.svh-article .svh-sources{margin:2.5rem 0 1rem;padding:1.25rem 1.5rem;background:#F5F1E8;border-left:3px solid #C9A357;border-radius:0 4px 4px 0;font-size:.9em}
.svh-article .svh-sources-title{font-weight:700;color:#0A2540;margin:0 0 .75rem;font-size:.85em;text-transform:uppercase;letter-spacing:.05em}
.svh-article .svh-sources ul{margin:0;padding-left:1.25rem}
.svh-article .svh-related{margin:2rem 0;padding:1.5rem;border:1px solid #E8E6E1;border-radius:8px;background:#fff}
.svh-article .svh-related-title{font-family:Playfair Display,Georgia,serif;font-size:1.15em;font-weight:700;color:#0A2540;margin:0 0 1rem}
.svh-article .svh-related a{display:block;padding:.5rem 0;border-bottom:0}
.svh-article .svh-related a:not(:last-child){border-bottom:1px solid #F5F1E8}
@media(max-width:640px){
.svh-article{font-size:16px;padding:0 .5rem}
.svh-article h2{font-size:1.5em}
.svh-article .svh-lead{font-size:1.1em;padding-left:1rem}
.svh-article .svh-author-card{flex-direction:column;text-align:center}
.svh-article .svh-author-avatar{margin:0 auto}
}
(function(){
function cleanup(){
var article = document.querySelector(‘.svh-article’);
if(!article) return;
// Hide all elements between body’s main content area and article
var entryContent = article.closest(‘.entry-content, .post-content, .et_pb_post_content, #main-content article, .single-page article’) || article.parentElement;
if(entryContent){
// Hide siblings of entryContent that come BEFORE it (page title bar)
var sibling = entryContent.previousElementSibling;
while(sibling){
var prev = sibling.previousElementSibling;
if(!sibling.matches(‘header#main-header, nav, .et_fixed_nav, #top-header, #et-secondary-nav, .et-l–header’)){
sibling.style.display = ‘none’;
}
sibling = prev;
}
}
// Hide everything in entryContent BEFORE the article
var prev = article.previousElementSibling;
while(prev){
var p = prev.previousElementSibling;
prev.style.display = ‘none’;
prev = p;
}
// Hide page title elements globally if present
var killSelectors = [
‘.et_pb_section_0_tb_body’,
‘.et-l–post-title’,
‘.et_pb_post_title’,
‘.et_post_meta_wrapper’,
‘header.entry-header’,
‘.entry-meta’,
‘.posted-on’,
‘.post-author’
];
killSelectors.forEach(function(sel){
document.querySelectorAll(sel).forEach(function(el){
if(!el.contains(article)) el.style.display=’none’;
});
});
}
if(document.readyState === ‘loading’){
document.addEventListener(‘DOMContentLoaded’, cleanup);
} else {
cleanup();
}
// Re-run after small delay in case theme dynamically inserts
setTimeout(cleanup, 100);
setTimeout(cleanup, 500);
})();
{“@context”:”https://schema.org”,”@graph”:[{“@type”:”Article”,”@id”:”https://towerwebproductions.com/core-web-vitals-2026-guida-ottimizzazione/#article”,”headline”:”Core Web Vitals 2026: guida pratica ottimizzazione LCP INP CLS”,”description”:”Soglie aggiornate LCP, INP e CLS nel 2026, strumenti di misurazione consigliati, fix prioritari, hosting, CDN e caso reale e-commerce con LCP da 4,2s a 1,8s.”,”inLanguage”:”it-IT”,”datePublished”:”2026-05-13″,”dateModified”:”2026-05-13″,”author”:{“@id”:”https://towerwebproductions.com/#author”},”publisher”:{“@id”:”https://towerwebproductions.com/#org”},”image”:{“@type”:”ImageObject”,”url”:”https://towerwebproductions.com/assets/hero-core-web-vitals-2026-guida-ottimizzazione.webp”,”width”:1200,”height”:630},”mainEntityOfPage”:”https://towerwebproductions.com/core-web-vitals-2026-guida-ottimizzazione/”,”keywords”:”Core Web Vitals 2026, LCP ottimizzazione, INP misurazione, CLS layout shift, performance SEO”,”articleSection”:”Performance web e SEO tecnica”,”wordCount”:1700,”speakable”:{“@type”:”SpeakableSpecification”,”cssSelector”:[“.lead”,”.faq-list”]}},{“@type”:”Person”,”@id”:”https://towerwebproductions.com/#author”,”name”:”Tower Web Team”,”url”:”https://towerwebproductions.com/about/”,”jobTitle”:”Web developer e specialisti SEO performance”,”sameAs”:[“https://www.linkedin.com/company/tower-web-productions”]},{“@type”:”Organization”,”@id”:”https://towerwebproductions.com/#org”,”name”:”Tower Web Productions”,”url”:”https://towerwebproductions.com”,”logo”:{“@type”:”ImageObject”,”url”:”https://towerwebproductions.com/assets/logo.png”}},{“@type”:”BreadcrumbList”,”@id”:”https://towerwebproductions.com/core-web-vitals-2026-guida-ottimizzazione/#breadcrumb”,”itemListElement”:[{“@type”:”ListItem”,”position”:1,”name”:”Home”,”item”:”https://towerwebproductions.com/”},{“@type”:”ListItem”,”position”:2,”name”:”Blog”,”item”:”https://towerwebproductions.com/blog/”},{“@type”:”ListItem”,”position”:3,”name”:”Core Web Vitals 2026: guida pratica ottimizzazione LCP INP CLS”,”item”:”https://towerwebproductions.com/core-web-vitals-2026-guida-ottimizzazione/”}]}]}
{“@context”:”https://schema.org”,”@type”:”FAQPage”,”@id”:”https://towerwebproductions.com/core-web-vitals-2026-guida-ottimizzazione/#faq”,”mainEntity”:[{“@type”:”Question”,”name”:”Quanto pesano davvero i Core Web Vitals nel ranking 2026?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Fanno parte del Page Experience signal di Google dal 2021. Non sono il fattore dominante, ma in SERP competitive e su mobile-first 2026 sono spesso il tie-breaker tra due risultati con contenuti equivalenti. Un sito lento perde click anche prima del ranking, per via di rebound da SERP.”}},{“@type”:”Question”,”name”:”PageSpeed Insights dice 95 ma Search Console mostra Da migliorare: chi ha ragione?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Search Console. PSI mostra dati di laboratorio simulati, Search Console aggrega dati di campo CrUX reali su 28 giorni al 75 percentile. Per il ranking conta solo il dato di campo. Usa PSI per debug, Search Console come fonte di verita.”}},{“@type”:”Question”,”name”:”INP ha davvero rimpiazzato FID e cosa cambia in pratica?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Sì. Da marzo 2024 INP è la metrica ufficiale di responsiveness. FID misurava solo il ritardo della prima interazione, INP misura ogni interazione di tutta la sessione e prende il valore peggiore. Soglia 200ms buono, 500ms scarso. È molto più severa: siti che superavano FID spesso falliscono INP.”}},{“@type”:”Question”,”name”:”Quanto serve aspettare per vedere i benefici dopo i fix?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”I dati di campo CrUX si aggiornano in finestra mobile di 28 giorni. Aspetta almeno 4-6 settimane dopo il deploy prima di valutare la nuova classificazione in Search Console. Se i fix sono solidi, miglioramenti di ranking arrivano nei 2-3 mesi successivi.”}},{“@type”:”Question”,”name”:”Che hosting scegliere se voglio CWV verdi senza troppi compromessi?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Per WordPress: Kinsta, WP Engine o SiteGround GoGeek con TTFB sotto 300ms. Per Jamstack e frontend statici: Vercel o Netlify con edge CDN integrato. Per progetti custom: AWS CloudFront davanti a un origin performante. Evita shared hosting low cost: il TTFB lento brucia il budget LCP prima ancora del rendering.”}}]}
Nel 2026 i Core Web Vitals sono ormai la base condivisa su cui Google misura la qualità tecnica di un sito: LCP, INP e CLS pesano sul ranking, sulla percezione del brand e sul tasso di conversione. Questa guida pratica raccoglie soglie aggiornate, strumenti di misurazione e i fix che, nella nostra esperienza su clienti reali, hanno spostato davvero l’ago.
Cosa sono i Core Web Vitals nel 2026
I Core Web Vitals sono tre metriche di esperienza utente che Google considera nel Page Experience signal. Secondo il report HTTP Archive 2025, solo il 43% delle pagine web mobile raggiunge la soglia “Buono” su tutte e tre le metriche contemporaneamente, il che significa che oltre la metà del web offre ancora un’esperienza tecnica insufficiente. Da quando, nel marzo 2024, INP ha sostituito FID, l’asse responsiveness è diventato decisamente più severo e ha riequilibrato il peso fra render, interattività e stabilità visiva. Nel 2026 le tre metriche restano queste, con soglie misurate al 75° percentile dei visitatori reali del sito, separatamente per mobile e desktop:
| Metrica | Buono | Da migliorare | Scarso |
|---|---|---|---|
| LCP (Largest Contentful Paint) | < 2,5 s | 2,5 – 4,0 s | > 4,0 s |
| INP (Interaction to Next Paint) | < 200 ms | 200 – 500 ms | > 500 ms |
| CLS (Cumulative Layout Shift) | < 0,1 | 0,1 – 0,25 | > 0,25 |
Una pagina si considera “Buona” soltanto se almeno il 75% delle visite reali rientra nella soglia migliore per tutte e tre le metriche. Nei dashboard di Search Console basta che una sola scivoli a “Scarso” per declassare l’intero gruppo di URL.
Perché contano per SEO e business
I Core Web Vitals influenzano il ranking organico dal 2021 e dal 2024, con la spinta del mobile-first definitivo, il loro peso relativo nelle SERP competitive è ulteriormente cresciuto. In contesti come e-commerce, lead generation locale o editoria verticale, due risultati con contenuti equivalenti vengono ordinati dal dato di campo CrUX: il sito veloce vince. C’è anche un effetto pre-ranking: gli utenti che tornano alla SERP perché la pagina è lenta inviano segnali comportamentali negativi che, nel tempo, peggiorano la posizione media.
Il valore vero però non è soltanto SEO. Un nostro cliente del settore e-commerce moda, dopo una sprint di ottimizzazione mirata, ha portato il LCP mobile da 4,2 s a 1,8 s. L’effetto misurato: +18% sul tasso di conversione e -12% sul bounce rate, a parità di traffico e budget media. La performance non è SEO contro UX: è la stessa cosa. Vale la pena considerare l’ottimizzazione come voce di budget fin dal preventivo: nella guida quanto costa un sito web in Italia nel 2026 spieghiamo dove collocare questo investimento.
Strumenti per misurare Core Web Vitals
Misurare bene è la metà del lavoro. Nel 2026 lo stack consigliato per una PMI o un team in-house è composto da pochi strumenti complementari:
- PageSpeed Insights: dati di laboratorio Lighthouse + dati di campo CrUX su singolo URL. Ottimo per debug puntuale.
- Search Console — Report Core Web Vitals: la fonte di verità ufficiale. Aggrega gli URL del sito per stato (Buono / Da migliorare / Scarso) su finestra mobile di 28 giorni.
- Chrome DevTools — pannello Performance: traccia dettagliata di main thread, long task e layout shift in locale. Indispensabile per attribuire la causa esatta di un INP alto.
- Web Vitals JS library: snippet ufficiale Google che invia i CWV reali della sessione utente al tuo analytics. Permette di costruire un Real User Monitoring (RUM) senza vendor terzi.
- WebPageTest: ottimo per stress test con device e network throttling realistici, soprattutto su mercati con copertura 4G eterogenea.
Pratica nostra: PageSpeed Insights ti dice se hai un problema, DevTools ti dice dove, Search Console ti dice quanto impatta sull’inventario di URL indicizzati. Usali insieme, non in alternativa.
Ottimizzare LCP: il rendering iniziale
L’LCP misura il tempo necessario al rendering dell’elemento più grande visibile nel viewport iniziale. Quasi sempre è la hero image, un titolo testuale di grande dimensione o un blocco above-the-fold. Un LCP lento, nel 90% dei casi reali, dipende da una combinazione di TTFB elevato, hero non ottimizzata e risorse che bloccano il render.
- Preload della hero image:
<link rel="preload" as="image" href="hero.webp" fetchpriority="high">nel<head>taglia tipicamente 300-800 ms. - CDN globale: Cloudflare, Bunny CDN o AWS CloudFront riducono il TTFB sulle visite internazionali e fanno cache edge degli asset statici.
- Formati immagine moderni: WebP è ormai standard, AVIF salva un ulteriore 25-35% di peso con qualità visiva equivalente. Servili con
<picture>e fallback JPG/PNG. - Hosting performante: Vercel, Kinsta, WP Engine, SiteGround GoGeek per WordPress. Il TTFB deve restare sotto i 300 ms da Milano, Roma e Napoli per non bruciare il budget di rendering.
- Lazy load disciplinato:
loading="lazy"solo sotto la piega. Sulla hero usaloading="eager"+fetchpriority="high", altrimenti rischi di rallentare proprio l’elemento che conta. - CSS critico inline e differimento del CSS non critico via
media="print" onload: blocco render quasi azzerato.
Ottimizzare INP: rispondere alle interazioni
INP è la metrica che ha messo in difficoltà più siti nel 2024-2025. Misura il tempo dalla singola interazione (click, tap, key) all’aggiornamento visivo successivo, e considera il valore peggiore di tutta la sessione. Un solo handler pesante può rovinare l’INP della pagina.
- Code splitting JavaScript: dividi il bundle per route. Con Vite, Next.js o Remix è dichiarativo: ogni pagina carica solo il codice che serve.
- Defer di tutto il JS non critico: chat live, pixel marketing, A/B testing, widget social. Caricali con
defer, o ancora meglio conscheduler.yield()dopo l’idle del main thread. - Web Workers per task pesanti: parsing JSON grandi, ricerca client-side, calcoli matematici. Sposta il lavoro fuori dal main thread; il rendering resta reattivo.
- Debounce sugli input handler: input di ricerca, scroll listener e resize devono essere debounced o throttled (250-300 ms tipici). Evita event handler sincroni che forzano reflow.
- Long task chirurgici: rompi i task > 50 ms con
scheduler.yield(),requestIdleCallbackosetTimeout(0). In React 18+,useTransitioneuseDeferredValuesono alleati nativi.
Ottimizzare CLS: stabilità visiva
Il CLS misura quanto il layout “salta” durante il caricamento. Per chi legge è frustrante: clicchi su un pulsante e parte un banner ad, la riga si sposta, finisci sul link sbagliato. Google penalizza, e il problema spesso è chirurgicamente risolvibile.
- Width e height espliciti su immagini e iframe: anche se poi li ridimensioni in CSS responsive, il browser sa quanto spazio riservare.
aspect-ratioCSS è l’alternativa moderna. - Reserve space per gli annunci: dichiara dimensioni minime con CSS. L’ad network inserisce il contenuto dentro un placeholder già dimensionato. Mai injection tardiva senza spazio riservato.
- Font loading controllato:
font-display: swapconsize-adjust,ascent-overrideedescent-overrideper allineare il font di fallback al font finale. FOIT/FOUT ridotti a quasi zero. - Skeleton screen: nei componenti che caricano in modo asincrono, mostra placeholder con le dimensioni reali. L’utente percepisce velocità e il layout non salta.
- Banner cookie e consent: collocali in overlay
position: fixedoppure riservagli spazio sticky. Mai sopra il contenuto sotto forma di blocco che spinge il body.
Caso reale: e-commerce moda da LCP 4,2 s a 1,8 s
Cliente: catalogo fashion 8.000 SKU, 70% traffico mobile, hosting condiviso storico, WordPress + WooCommerce con accumulo di plugin. Punto di partenza: LCP mobile 4,2 s (Scarso), INP 480 ms, CLS 0,18.
In tre sprint siamo intervenuti: migrazione su hosting managed con TTFB sotto 250 ms, hero in AVIF + preload, CSS critico inline e resto differito, lazy load sotto la piega, code splitting del JS WooCommerce, font auto-hosted con size-adjust. Dopo le 6 settimane di rolling CrUX: LCP 1,8 s, INP 190 ms, CLS 0,06. Tutte e tre “Buono”, conversioni mobile +18%, ricavo per utente +14%, posizione media keyword brand +1,3 in Search Console. Quando i limiti di performance di WordPress diventano strutturali vale la pena valutare anche l'alternativa architetturale, come analizziamo nella guida WordPress vs custom development.
Errori comuni da evitare nel 2026
- Fidarsi solo del punteggio Lighthouse: è laboratorio, non campo. Un 95 a sintetico può convivere con CrUX scadente. Decidi sul campo.
- Ottimizzare la home e dimenticare le pagine prodotto: Search Console raggruppa gli URL per pattern. Una sezione lenta penalizza tutto il gruppo.
- Mettere troppi plugin di caching insieme: si pestano i piedi, generano flush continui, peggiorano il TTFB. Scegline uno e configuralo bene.
- Lazy load anche sopra la piega: dimezza la velocità percepita e il LCP esplode. Eager + fetchpriority sulla hero, lazy solo sotto.
- Ignorare l’INP perché “la pagina è veloce”: un singolo bundle pesante o un handler bloccante rovinano l’INP anche su una pagina con LCP ottimo. Le tre metriche vanno trattate insieme.
Checklist operativa Core Web Vitals 2026
- Esporta da Search Console l’elenco URL “Scarso” e “Da migliorare”.
- Esegui PageSpeed Insights su un URL rappresentativo per gruppo: home, categoria, prodotto/articolo.
- Identifica la metrica peggiore di ogni gruppo; risolvi prima quella, non distribuire energie a pioggia.
- Attiva un CDN globale e verifica TTFB < 300 ms dai principali POP italiani.
- Implementa preload + WebP/AVIF sulla hero di ogni template.
- Audita il bundle JS con Coverage di DevTools: rimuovi librerie usate al < 30%.
- Installa la web-vitals JS library e logga i valori reali in Analytics 4 o nel tuo product analytics.
- Setta un budget di performance in CI (Lighthouse CI o WebPageTest API) e blocca i merge che lo sforano.
- Attendi 4-6 settimane e ricontrolla Search Console: la finestra CrUX è 28 giorni.
- Documenta i risultati e congela lo standard: ogni nuova feature deve dimostrare di rispettare il budget.
Vuoi CWV verdi su tutto il sito?
Audit performance completo, roadmap di fix prioritari e implementazione chiavi in mano per il tuo dominio.