
🚫 Come impostare il noindex sulle pagine di impaginazione in Yoast SEO
Quando hai centinaia di post, decine di categorie e una nuvola di tag, le pagine di impaginazione si moltiplicano senza che te ne accorga. /page/2/, poi /page/3/, poi /page/15/, e prima che tu te ne renda conto Google sta indicizzando un migliaio di URL spazzatura che non contengono contenuti unici ma consumano il tuo crawl budget.
Nelle versioni precedenti di Yoast SEO c'era un interruttore integrato chiamato "Noindex subpages of archives". Un segno di spunta e il problema era risolto. Ma nel 2020 il team di Yoast ha rimosso questa impostazione dall'interfaccia. La posizione ufficiale: Google è diventato più intelligente nel gestire le serie impaginate e l'impostazione non è più necessaria.
In pratica, è necessaria. Specialmente per i siti di grandi dimensioni dove ogni pagina extra nell'indice erode la quota di scansione per gli URL che dovrebbero realmente posizionarsi.
Gli sviluppatori di Yoast hanno lasciato una soluzione alternativa: il filtro wpseo_robots. Con esso puoi impostare programmaticamente noindex, follow per qualsiasi pagina di impaginazione. Di seguito trovi due opzioni di codice: una restrittiva (tutti gli URL /page/) e una selettiva (solo archivi di categoria e tag).
💡 Panoramica rapida:
- Scopri perché Yoast ha rimosso l'opzione integrata e quando è ancora necessaria
- Ottieni codice pronto all'uso per
functions.php: due versioni del filtrowpseo_robots - Impara a verificare i risultati tramite il codice sorgente della pagina e Google Search Console
Perché le pagine di impaginazione dovrebbero essere bloccate dall'indicizzazione
Ogni pagina di impaginazione ha tre problemi. Primo, duplicazione dei contenuti: /category/seo/, /category/seo/page/2/ e /category/seo/page/3/ mostrano le stesse anteprime, solo suddivise su più pagine. Secondo, contenuto povero: una pagina di impaginazione non ha un articolo completo, solo un elenco di titoli con estratti. Terzo, crawl budget: Googlebot spende il suo limite di scansione su URL che non hanno valore di ricerca invece di riesaminare i post freschi.
Yoast SEO storicamente risolveva questo compito con un singolo segno di spunta nelle impostazioni. Ma a partire dalla versione 14.0 l'azienda ha riconsiderato il suo approccio. La logica era questa: Google ha imparato a riconoscere rel="prev" e rel="next", comprende la struttura dell'impaginazione e indirizza gli utenti alla prima pagina autonomamente. E il noindex sulle sottopagine, secondo Yoast, riduce il numero di scansioni e impedisce al motore di ricerca di riscoprire vecchi articoli attraverso i link su queste pagine.
Questo argomento è discutibile. Se hai un piccolo blog con 30 post, va bene, Google ci arriverà da solo. Ma se il tuo sito è cresciuto fino a diverse migliaia di URL con impaginazione di categorie, tag e archivi per data, il motore di ricerca spreca tempo sulle cose sbagliate. Bloccare le sottopagine dall'indicizzazione tramite codice è una soluzione controllata e reversibile.
Opzione 1: noindex per tutte le pagine di impaginazione
L'approccio più semplice e radicale. Il filtro verifica la condizione is_paged(), una funzione standard di WordPress che restituisce true su qualsiasi pagina di impaginazione (archivi, categorie, tag, homepage). Se la condizione è vera, sostituiamo con noindex, follow.
Aggiungi questo codice al functions.php del tuo tema attivo o tramite il plugin Code Snippets:
1 add_filter('wpseo_robots', function($robots) { 2 if (is_paged()) { 3 return 'noindex,follow'; 4 } 5 return $robots; 6 });
Cosa succede riga per riga:
add_filter('wpseo_robots', ...)si aggancia al filtro di Yoast SEO responsabile del contenuto del meta tagrobots. Il filtro accetta il valore corrente$robotse si aspetta una stringa in risposta.is_paged()è una funzione nativa del core di WordPress. Si attiva su qualsiasi URL in cui la variabilepagedè presente (ovvero,/page/N/).return 'noindex,follow'dice al motore di ricerca: "non indicizzare questa pagina, ma segui i link al suo interno". I link all'interno dell'impaginazione continuano a passare valore.return $robotsrestituisce il valore Yoast standard invariato per tutte le altre pagine.
Dopo aver aggiunto il codice, visita una pagina qualsiasi come /category/seo/page/2/ e apri il sorgente HTML (Ctrl+U). Trova la riga <meta name="robots". Se vedi content="noindex, follow", il filtro ha funzionato.
Opzione 2: noindex solo per archivi di categoria e tag
La prima opzione colpisce indiscriminatamente tutte le pagine impaginate, inclusa la homepage (/page/2/). Se la tua homepage mostra anteprime dei post e vuoi mantenere le sue sottopagine nell'indice, hai bisogno di una logica più mirata.
Aggiungiamo una seconda condizione: is_archive(). Questa funzione di WordPress restituisce true solo sulle pagine di archivio: categorie, tag, archivi per data, archivi per autore e tassonomie personalizzate.
1 add_filter('wpseo_robots', function($robots) { 2 if (is_paged() && is_archive()) { 3 return 'noindex,follow'; 4 } 5 return $robots; 6 });
La differenza rispetto alla prima opzione sta nella combinazione di condizioni. is_paged() && is_archive() significa: "pagina di impaginazione E contemporaneamente pagina di archivio". L'impaginazione della homepage (/page/2/) non soddisfa la condizione is_archive(), quindi la sua indicizzazione viene preservata.
Quale opzione scegliere:
Situazione | Opzione |
|---|---|
Sito grande, migliaia di URL di impaginazione, necessario massimo controllo | Opzione 1 |
La homepage mostra un feed di post, le sottopagine della homepage sono importanti per l'indicizzazione | Opzione 2 |
Negozio e-commerce su WooCommerce con categorie di prodotto | Opzione 2 |
Necessarie prevedibilità e minime eccezioni | Opzione 1 |
Come verificare il risultato
Dopo aver inserito il codice, controlla tre cose.
Primo, codice sorgente. Apri una qualsiasi pagina di impaginazione, Ctrl+U, cerca <meta name="robots". Assicurati di vedere content="noindex, follow", non content="index, follow".
Secondo, Google Search Console. Vai allo strumento di ispezione URL, incolla l'indirizzo della pagina impaginata e clicca "Test". Nel blocco "Indicizzazione" vedrai lo stato: "La pagina non è indicizzata" con il motivo "Esclusa dal tag noindex". Questo conferma che Googlebot ha ricevuto ed elaborato la direttiva.
Terzo, dinamica dell'indice. In Search Console apri "Indice" → "Pagine". Entro 2-4 settimane dall'implementazione del codice vedrai una crescita delle pagine con lo stato "Esclusa dal tag noindex" e una riduzione degli URL impaginati indicizzati. Il processo non è immediato: Googlebot deve riesaminare ogni URL per leggere il nuovo tag.
Limitazioni e precauzioni importanti
Il codice modifica il comportamento dell'intero sito. Prima di implementarlo, assicurati di comprendere le conseguenze.
Eliminare improvvisamente migliaia di pagine dall'indice può causare temporaneamente un calo di traffico. Se il sito ha convissuto con l'indicizzazione dell'impaginazione per diversi anni e alcune sottopagine ricevevano traffico di ricerca, perderai quelle visite. In cambio libererai crawl budget per le pagine che dovrebbero realmente posizionarsi. Ma un periodo di adattamento di 3-6 settimane è inevitabile.
Fai un backup di functions.php prima di modificarlo. Un errore di sintassi nel codice PHP farà cadere l'intero sito (schermata bianca della morte). Se usi Code Snippets, il plugin intercetterà l'errore fatale e disattiverà lo snippet. Se modifichi direttamente functions.php, tieni a portata di mano l'accesso FTP per ripristinare il file.
Se il sito ha un plugin di caching installato (WP Rocket, W3 Total Cache), svuota la cache dopo aver aggiunto il codice. Altrimenti, per diverse ore o giorni, ai visitatori e ai motori di ricerca verranno servite vecchie copie HTML delle pagine senza il nuovo meta tag robots.
Per un'analisi più dettagliata di tutte le funzionalità di Yoast SEO, dall'installazione alla messa a punto dei meta tag, consulta la nostra guida alla configurazione di Yoast SEO per WordPress.
⁉️🤔 Domande frequenti
Perché Yoast SEO ha rimosso l'opzione noindex integrata per le sottopagine?
Google ha imparato a riconoscere le serie impaginate tramite i tag
rel="prev"erel="next"e a indirizzare gli utenti alla prima pagina. Yoast ha deciso che forzare il noindex sulle sottopagine riduce le scansioni e interferisce con la reindicizzazione di vecchi articoli attraverso i link dalle pagine impaginate. La documentazione ufficiale di Yoast conferma: l'impostazione è stata rimossa dall'interfaccia, ma il filtrowpseo_robotsrimane per il controllo programmatico.
Il filtro wpseo_robots è ancora supportato nel 2026?
Sì. Il filtro
wpseo_robotsfunziona nelle versioni attuali di Yoast SEO (24.x, 2026) ed è documentato nell'API Metadata su developer.yoast.com. Una modifica importante: prima della versione 19.8 il filtro permetteva di restituirefalseper rimuovere il meta tag robots. A partire dalla 19.8, restituirefalseviene ignorato; il filtro si aspetta solo una stringa ('noindex,follow'o$robots). Entrambe le versioni di codice di questo articolo restituiscono una stringa e sono pienamente compatibili.
Il codice funzionerà se il sito ha una struttura di impaginazione personalizzata?
La funzione
is_paged()si basa sul parametro di query standard di WordPresspaged. Se l'impaginazione è implementata tramite un parametro personalizzato (ad esempio,?pg=2o scorrimento virtuale), la condizione non si attiverà. Per l'impaginazione personalizzata sostituisciis_paged()con un controllo per lo specifico query_var:get_query_var('custom_page_var'). Plugin come WP-PageNavi funzionano tramite lo standardpaged, quindi non c'è conflitto.
Quanto tempo impiega Google a rimuovere le pagine impaginate dall'indice?
In media, da 2 a 6 settimane. La velocità dipende dalle dimensioni del sito e dalla frequenza di scansione: su un sito con scansioni giornaliere Googlebot riesaminerà le sezioni principali in 7-10 giorni; su un piccolo blog con scansioni settimanali, in un mese. Puoi accelerare il processo tramite una richiesta di riesame manuale in Search Console ("Indice" → "Pagine" → seleziona URL → "Richiedi indicizzazione"), ma Google elabora tali richieste in base a una coda.
Si può bloccare l'impaginazione tramite robots.txt invece del noindex?
Tecnicamente sì:
Disallow: */page/*in robots.txt vieterà la scansione degli URL impaginati. Ma questo è peggio del noindex. Il motivo: robots.txt blocca la scansione della pagina, non la sua indicizzazione. Se link esterni puntano a una pagina impaginata, Google potrebbe indicizzarla come "pagina senza descrizione". Allo stesso tempo, anche i link della pagina stessa non verranno scansionati, e perderai il trasferimento di valore verso i post.noindex, followrisolve entrambi i compiti: la pagina non è indicizzata, ma i link al suo interno vengono scansionati.
Dovresti bloccare l'impaginazione dall'indicizzazione nel tuo caso
La risposta si riduce a due fattori: dimensione del sito e se il crawl budget è una risorsa scarsa.
Se hai 50 post e tre categorie, non preoccuparti. Google capirà quali pagine mostrare nei risultati di ricerca e filtrerà autonomamente quelle meno valide. Il filtro wpseo_robots in questo scenario è una complessità inutile.
Se hai più di 500 post, decine di categorie, un blog attivo con tag e archivi per data, l'impaginazione crea centinaia e migliaia di URL che il motore di ricerca scansiona invece degli articoli freschi. Attiva l'opzione 2 (archivi) o l'opzione 1 (tutto), verifica il risultato tramite codice sorgente e Search Console, e concedi a Google 3-4 settimane per la riesaminazione.
Il codice è reversibile: commenta il filtro, e nel giro di un mese tutte le pagine impaginate torneranno nell'indice. Nessuna conseguenza irreversibile.



