Skip to content

Tutto per WordPress, lo sviluppo web — e non solo

🗂️ Come escludere pagine dalla sitemap di Yoast SEO

🗂️ Come escludere pagine dalla sitemap di Yoast SEO

Apri Search Console e vedi: su 200 pagine del sito, 340 sono indicizzate. Le 140 in più sono tag di archivio, duplicati con code UTM, stub di test e pagine degli allegati. Google spende il crawl budget su spazzatura mentre i tuoi URL reali aspettano il loro turno per settimane.

Il problema non è Google. La sitemap che Yoast SEO genera riporta onestamente al bot tutto ciò che vede. E di default vede un sacco di roba inutile. Il tuo compito è dire al plugin quali pagine non devono finire nella sitemap.

Ecco quattro modi per pulire la tua sitemap XML: da un singolo clic nell'interfaccia ai filtri in functions.php. Con screenshot reali e codice aggiornato.

💡 Panoramica rapida:

  • Escludere una singola pagina tramite la scheda "Avanzate" nel meta box di Yoast SEO, senza codice.
  • Rimuovere in blocco decine di URL con il filtro wpseo_exclude_from_sitemap_by_post_ids, un solo array.
  • Disattivare intere tassonomie in Aspetto di ricerca o tramite wpseo_sitemap_exclude_taxonomy.
  • Verificare il risultato in sitemap_index.xml e aggiungere noindex se necessario.

Perché devi pulire la tua sitemap

Una sitemap non è solo un elenco di link. È un'istruzione per il bot di ricerca: "ecco le pagine che contano davvero, indicizzale per prime". Quando nella sitemap finisce spazzatura, Google si trova di fronte a tre problemi.

Primo, i duplicati. Lo stesso contenuto su due URL (ad esempio, /blog/ e /blog/?utm_source=telegram) segnala al motore di ricerca un sito di bassa qualità. Secondo, i contenuti scarni. Pagine stub, archivi autore vuoti e pagine degli allegati non hanno valore per la ricerca ma consumano crawl budget. Terzo, gli URL di servizio. Landing page di test, pagine di ringraziamento post-acquisto e dashboard utente non dovrebbero proprio apparire nella ricerca.

Audit regolari della sitemap sono igiene SEO di base. Soprattutto se il sito ha più di un anno: URL extra quasi inevitabilmente finiscono nella sitemap.

Yoast SEO offre diversi livelli di controllo, dall'esclusione mirata di una singola pagina al filtraggio di intere tassonomie tramite hook. Vediamoli uno per uno.

Come escludere una singola pagina dalla sitemap

Lo scenario più semplice: rimuovere un post o una pagina specifica dall'indice. Yoast SEO ti permette di farlo direttamente dall'editor di WordPress, senza una sola riga di codice.

Apri la voce desiderata nel pannello di amministrazione, scorri fino al meta box di Yoast SEO e vai alla scheda "Avanzate". Trova la domanda "Consentire ai motori di ricerca di mostrare questo post nei risultati di ricerca?" e passa da "Sì" a "No". Clicca "Aggiorna".

Interruttore di indicizzazione della pagina nella scheda Avanzate di Yoast SEO

Dopo il salvataggio, Yoast rimuoverà la voce dalla sitemap e nel codice sorgente della pagina comparirà il meta tag <meta name="robots" content="noindex, follow">. La pagina stessa resterà accessibile tramite link diretto. Sarà esclusa dalla ricerca e dalla sitemap.

Questo è il metodo standard e più sicuro. Funziona per nascondere una o due pagine. Per l'esclusione in blocco di decine di URL, vedi la sezione successiva.

Come escludere pagine in blocco tramite codice

Quando devi escludere 20-30 pagine in una volta sola, cliccare su ognuna manualmente è una perdita di tempo. Yoast SEO mette a disposizione il filtro wpseo_exclude_from_sitemap_by_post_ids: prende un array di ID dei post e li rimuove dalla sitemap.

Aggiungi il codice al file functions.php del tuo tema attivo o tramite il plugin Code Snippets:

1add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', function() {
2 return array( 311, 322, 450, 512 );
3} );
Codice PHP per l'esclusione in blocco delle pagine tramite il filtro wpseo_exclude_from_sitemap_by_post_ids

Come trovi l'ID di una pagina? Nel pannello di amministrazione di WordPress, apri l'elenco delle pagine o dei post, passa il mouse sul titolo e vedrai post=311 nell'URL del link. Il numero dopo post= è l'ID.

Dopo aver aggiunto il filtro, vai a yourdomain.com/sitemap_index.xml, apri la sitemap figlia (ad esempio, page-sitemap.xml) e verifica: gli ID specificati sono spariti dall'elenco.

Importante: il filtro rimuove solo gli ID dalla sitemap. Non aggiunge noindex alla pagina stessa. Se la pagina è già nell'indice di Google, imposta anche noindex tramite interfaccia (sezione precedente) o richiedi la rimozione dell'URL tramite Google Search Console.

Di default, Yoast SEO include fino a 1000 link in una singola sitemap figlia. Per un sito grande (un negozio con 5000 prodotti o un portale con decine di migliaia di articoli), questo significa o più file (riducendo il limite) o più URL in un unico file (aumentando il limite).

L'impostazione si trova in Yoast SEO → Impostazioni → Tipi di contenuto:

Impostazioni dei tipi di contenuto e del limite di link della sitemap in Yoast SEO

Cosa puoi regolare qui:

  • Disattivare tipi di contenuto non necessari. Ad esempio, se pubblichi solo articoli e usi le pagine come pagine di servizio, rimuovi "Pagine" dalla sitemap.
  • Configurare i media. La scheda Media (allegati) è inclusa nella sitemap di default. Per i blog fotografici ha senso; per un sito normale, spreca crawl budget.
  • Limite di link. Tecnicamente, il filtro wpseo_sitemap_entries_per_page ti permette di impostare un numero arbitrario di voci per file di sitemap:
1add_filter( 'wpseo_sitemap_entries_per_page', function() {
2 return 500;
3} );

Il limite standard di 1000 è il punto di equilibrio ideale per la maggior parte dei progetti. Modificalo solo se comprendi appieno le conseguenze sulla velocità di indicizzazione.

Come rimuovere categorie e tassonomie dalla sitemap

Categorie, tag e tassonomie personalizzate spesso ingombrano la sitemap con archivi vuoti o di scarso valore. Questo è particolarmente rilevante per i siti WooCommerce: gli attributi dei prodotti ("colore", "taglia") generano centinaia di URL senza alcun valore autonomo per la ricerca.

Il primo metodo, di tipo visivo, è la scheda Tassonomie nelle impostazioni di Yoast SEO:

Scheda Tassonomie nelle impostazioni della sitemap di Yoast SEO

Ogni tassonomia ha un interruttore "Mostra nei risultati di ricerca?". "Sì" significa che la tassonomia viene inserita nella sitemap, "No" che viene esclusa. Per la maggior parte dei siti, ha senso mantenere nella sitemap solo le categorie, disabilitando tag e attributi dei prodotti.

Elenco delle tassonomie con interruttori di visibilità nei motori di ricerca in Yoast SEO

Se la tassonomia che ti serve non è nell'elenco (perché registrata da codice personalizzato o da un plugin di terze parti), utilizza un filtro. Codice per escludere una singola tassonomia tramite slug:

1/* Exclude one taxonomy from Yoast SEO sitemap */
2function sitemap_exclude_taxonomy( $value, $taxonomy ) {
3 if ( $taxonomy === 'taxonomy_slug' ) {
4 return true;
5 }
6 return $value;
7}
8add_filter( 'wpseo_sitemap_exclude_taxonomy', 'sitemap_exclude_taxonomy', 10, 2 );

Per più tassonomie contemporaneamente:

1/* Exclude multiple taxonomies from Yoast SEO sitemap */
2function sitemap_exclude_taxonomies( $value, $taxonomy ) {
3 $taxonomy_to_exclude = array(
4 'taxonomy_slug1',
5 'taxonomy_slug2',
6 'taxonomy_slug3'
7 );
8 if ( in_array( $taxonomy, $taxonomy_to_exclude, true ) ) {
9 return true;
10 }
11 return $value;
12}
13add_filter( 'wpseo_sitemap_exclude_taxonomy', 'sitemap_exclude_taxonomies', 10, 2 );
Codice PHP per escludere più tassonomie tramite il filtro della sitemap di Yoast SEO

Sostituisci taxonomy_slug1, taxonomy_slug2 e taxonomy_slug3 con gli slug effettivi delle tue tassonomie. Dopo aver salvato il codice, vai a sitemap_index.xml e verifica la sitemap secondaria: gli archivi delle tassonomie escluse non dovrebbero più essere presenti.

⁉️🤔 Domande frequenti

Una pagina esclusa dalla sitemap compare ancora nei risultati di ricerca. Perché?

Una sitemap è solo un suggerimento per Google, non una direttiva. Escludere una pagina dalla sitemap non equivale a noindex. Se la pagina è già indicizzata e ha link esterni che puntano ad essa, Google potrebbe continuare a mostrarla. Soluzione: oltre a escluderla dalla sitemap, attiva noindex (lo stesso interruttore nella scheda "Avanzate" di Yoast) e, se necessario, richiedi la rimozione dell'URL tramite Google Search Console.

Si può escludere completamente un tipo di contenuto dalla sitemap senza codice?

Sì. In Yoast SEO → Impostazioni → Tipi di contenuto, ogni tipo di contenuto registrato ha un interruttore "Mostra nei risultati di ricerca?". Impostalo su "No" e l'intero tipo (ad esempio, "Pagine" o "Prodotti") smetterà del tutto di apparire nella sitemap. Questo vale anche per le tassonomie tramite la scheda Tassonomie.

Come si verifica che una pagina sia stata effettivamente rimossa dalla sitemap?

Apri yoursite.com/sitemap_index.xml in un browser e vedrai un elenco di sitemap secondarie. Trova quella che ti serve (ad esempio, page-sitemap.xml o post-sitemap.xml), segui il link e cerca per titolo o URL. Se la pagina non c'è, il filtro ha funzionato. Per un confronto in blocco, Screaming Frog o Sitebulb sono pratici: mostreranno le discrepanze tra la sitemap e le pagine effettive del sito.

Cosa fare se il codice del filtro non funziona?

Verifica tre cose. Primo: il codice è stato aggiunto al tema attivo (functions.php) o tramite Code Snippets, e il file è salvato senza errori di sintassi (apri il sito in un'altra scheda; una schermata bianca = errore PHP). Secondo: gli ID delle pagine sono specificati correttamente, senza spazi extra nell'array. Terzo: la cache. Yoast SEO memorizza la sitemap nella cache; dopo le modifiche, svuota la cache del plugin (SEO → Strumenti → Ottimizza i dati SEO) o attendi fino a 24 ore.

L'esclusione dalla sitemap influisce sul linking interno?

No. La sitemap e i link interni sono segnali indipendenti. Una pagina esclusa dalla sitemap trasmette comunque link equity attraverso i link interni se altre pagine del sito la linkano. Ma Google la reindicizzerà meno frequentemente: è scomparsa dalla fonte principale di informazioni sulla struttura del sito.

Cosa privilegiare: interfaccia o codice

Per tre o cinque pagine, usa solo l'interfaccia. È veloce, sicura e non richiede l'accesso ai file del tema.

Per decine di pagine, usa il filtro wpseo_exclude_from_sitemap_by_post_ids. Un array con gli ID invece di attivare manualmente ogni articolo.

Per le tassonomie, usa l'interruttore visivo in Aspetto di ricerca se la tassonomia è nell'elenco. Se non lo è (tassonomia personalizzata), usa il filtro wpseo_sitemap_exclude_taxonomy.

E cosa più importante: l'esclusione dalla sitemap non equivale all'esclusione dall'indice. Se una pagina deve scomparire completamente dalla ricerca, aggiungi sempre noindex. Yoast SEO fornisce un'interfaccia unificata per questo; non trascurarla.

🔗 Yoast SEO su WordPress.org