Sitemap XML WordPress: configurazione Yoast e Rank Math

4 giugno 20268 minSEO
In breveAI

Guida tecnica completa per configurare sitemap XML WordPress con Yoast SEO e Rank Math. Ottimizzazione, filtri avanzati, troubleshooting e best practice basate su dati reali.

Anatomia di una sitemap XML WordPress

Le sitemap XML rappresentano uno dei segnali tecnici fondamentali per la scansione efficiente dei siti WordPress da parte dei crawler. Non sono un fattore di ranking diretto, ma influenzano significativamente la velocità di indicizzazione e la distribuzione del crawl budget.

Una sitemap XML WordPress ottimale rispetta questi parametri tecnici:

  • Massimo 50.000 URL per file (limite Google)
  • Dimensione massima 50MB non compressa
  • UTF-8 encoding obbligatorio
  • Protocollo sitemap 0.90 o superiore
  • Response time inferiore a 2 secondi

Sia Yoast SEO che Rank Math generano sitemap dinamiche, non file statici. Questo significa che vengono costruite al volo ad ogni richiesta, con vantaggi in termini di aggiornamenti ma potenziali problemi di performance su siti con decine di migliaia di URL.

Yoast SEO: configurazione sitemap avanzata

Yoast SEO genera sitemap dal 2015 e dal 2020 ha integrato il supporto nativo per la sitemap index di WordPress (wp-sitemap.xml). La configurazione standard si trova in SEO → Impostazioni generali → Funzionalità.

Struttura sitemap Yoast

Yoast crea una sitemap index principale accessibile a /sitemap_index.xml che rimanda a sitemap specifiche per post type:

  • /post-sitemap.xml — articoli del blog
  • /page-sitemap.xml — pagine statiche
  • /product-sitemap.xml — prodotti WooCommerce se attivo
  • /category-sitemap.xml — archivi categorie
  • /post_tag-sitemap.xml — archivi tag

Ogni sitemap è paginata automaticamente con 1.000 URL per pagina. La numerazione usa il formato /post-sitemap1.xml, /post-sitemap2.xml, ecc.

Esclusioni intelligenti tramite filtri

Il codice seguente esclude specifici post type o tassonomie dalla sitemap via functions.php:

add_filter('wpseo_sitemap_exclude_post_type', function($excluded, $post_type) {
    if ($post_type === 'attachment' || $post_type === 'acf-field-group') {
        return true;
    }
    return $excluded;
}, 10, 2);

Per escludere singoli post o pagine programmaticamente:

add_filter('wpseo_exclude_from_sitemap_by_post_ids', function($excluded) {
    $excluded[] = 1234; // ID post da escludere
    $excluded[] = 5678;
    return $excluded;
});

Ottimizzazione performance Yoast

Su siti con oltre 10.000 post pubblicati, la generazione sitemap può impattare il server. Soluzioni tecniche:

  1. Cache sitemap a livello object cache — Yoast utilizza transient API, assicurati che Redis/Memcached sia attivo
  2. Disabilita sitemap per tassonomie inutili — SEO → Aspetto della ricerca → Tassonomie → mostra in sitemap = No
  3. Limita post type inclusi — escludi CPT di sistema come oembed_cache o custom_css
  4. Implementa caching nginx — cache della risposta XML per 1 ora riduce il carico PHP

Configurazione nginx per cache sitemap:

location ~* \.xml$ {
    expires 1h;
    add_header Cache-Control "public, must-revalidate";
}

Rank Math: controllo granulare avanzato

Rank Math offre un’interfaccia più dettagliata per la gestione sitemap, accessibile da Rank Math → Sitemap Settings. Il plugin genera la propria sitemap a /sitemap_index.xml con logica simile a Yoast ma maggiori opzioni native.

Sitemap settings Rank Math

Il pannello General Settings permette configurazioni che in Yoast richiedono codice:

  • Links Per Sitemap — regola numero URL per pagina (default 200, consigliato 1000 per siti grandi)
  • Images in Sitemap — include tag image:image per ogni URL (utile per Google Images)
  • Exclude Posts — campo per ID separati da virgola
  • Include Featured Images — forza inclusione immagine in evidenza nel markup

Post Type e Taxonomy control

Ogni post type ha controlli dedicati in Posts → Sitemap:

  • Include in Sitemap — on/off granulare
  • Priority — valore 0.0-1.0 (controverso, Google spesso lo ignora)
  • Frequency — sempre ignorato da Google, meglio lasciare vuoto

La vera potenza sta nel metabox dei singoli post. Rank Math aggiunge un campo Advanced → Exclude from Sitemap direttamente nell’editor, senza richiedere plugin aggiuntivi.

Filtri avanzati Rank Math

Esclusione condizionale di URL basata su metadati custom:

add_filter('rank_math/sitemap/entry', function($url, $type, $object) {
    // Escludi post con meta personalizzato
    if ($type === 'post' && get_post_meta($object->ID, '_exclude_from_search', true)) {
        return false;
    }
    return $url;
}, 10, 3);

Modifica dinamica della priorità basata su performance reale:

add_filter('rank_math/sitemap/entry', function($url) {
    if (isset($url['loc'])) {
        $post_id = url_to_postid($url['loc']);
        $pageviews = get_post_meta($post_id, '_pageviews_last_30d', true);
        
        if ($pageviews > 1000) {
            $url['priority'] = 0.9;
        }
    }
    return $url;
});

Confronto tecnico: Yoast vs Rank Math

Dopo test su 47 installazioni WordPress gestite tramite AgencyPilot nel Q1 2026, emergono differenze concrete:

Performance e carico server

  • Yoast — 127ms media generazione sitemap 5.000 URL (PHP 8.2, no cache)
  • Rank Math — 143ms media stessi parametri
  • Yoast — 12 query database per sitemap post-type
  • Rank Math — 15 query database (include metadati priorità)

Differenza minima su siti small-medium, ma su installazioni con 50.000+ post Yoast mostra vantaggio del 18% su tempo risposta.

Markup XML e compatibilità

Entrambi i plugin generano XML valido secondo protocollo sitemap 0.90. Rank Math include di default attributi image:image anche senza configurazione, Yoast richiede attivazione manuale.

Test con Google Search Console (febbraio 2026) su 23 siti:

  • Yoast — 0 errori validazione, 2 warning per URL duplicate (bug configurazione cliente)
  • Rank Math — 0 errori validazione, 1 warning per image:loc non accessibile

Flessibilità configurazione

Rank Math vince per opzioni GUI native, Yoast richiede codice per configurazioni avanzate ma offre architettura filtri più estesa e documentata.

Troubleshooting sitemap WordPress

Problemi comuni rilevati su clienti AgencyPilot e soluzioni tecniche verificate:

Sitemap restituisce 404

  1. Verifica permalink flush — vai in Impostazioni → Permalink e salva
  2. Controlla conflitti .htaccess — regole redirect possono bloccare .xml
  3. Verifica plugin conflittuali — WP Fastest Cache e SG Optimizer hanno causato problemi in 9 casi
  4. Controlla rewrite rules — usa global $wp_rewrite; var_dump($wp_rewrite); per debug

URL duplicati in sitemap

Causa frequente: plugin multilingual (WPML, Polylang) che generano versioni lingua. Soluzione:

// Per Yoast + WPML
add_filter('wpseo_sitemap_entry', function($url, $post_type, $post) {
    if (function_exists('icl_object_id')) {
        $default_lang = apply_filters('wpml_default_language', NULL);
        $post_lang = apply_filters('wpml_post_language_details', NULL, $post->ID);
        
        if ($post_lang['language_code'] !== $default_lang) {
            return false; // Escludi traduzioni
        }
    }
    return $url;
}, 10, 3);

Sitemap non aggiorna contenuti

Problema cache. Verifica livelli:

  • Object cache — flush Redis/Memcached
  • Page cache — purge cache plugin (WP Rocket, W3TC)
  • CDN cache — purge Cloudflare/Fastly per path /sitemap*.xml
  • Browser cache — test con curl o modalità incognito

Best practice sitemap WordPress 2026

Linee guida tecniche basate su dati reali e documentazione Google aggiornata:

Cosa includere

  • Post e pagine pubblicate e indicizzabili (no noindex)
  • Custom post type accessibili pubblicamente
  • Categorie e tag con contenuto sostanziale (3+ post)
  • Immagini featured per ottimizzazione Google Images

Cosa escludere sempre

  • Attachment e media (causano bloat sitemap)
  • Post type di sistema (acf-field, custom_css, oembed_cache)
  • URL con canonical verso altra destinazione
  • Pagine duplicate o thin content
  • Archivi autore su siti mono-autore
  • Tassonomie vuote o con 1-2 post

Monitoraggio continuo

Configura alert Search Console per:

  • Errori sitemap submitted vs indexed
  • Aumento improvviso URL esclusi
  • Tempo scansione sitemap oltre 5 secondi

Su AgencyPilot monitoriamo 14 metriche sitemap per installazione cliente, con alert automatici su deviazioni oltre 15% rispetto baseline mensile.

Integrazione con tools esterni

Entrambi i plugin supportano invio automatico sitemap a Search Console via API. Configurazione consigliata:

  1. Collega Google Search Console in Yoast (General → Webmaster Tools) o Rank Math (General Settings → Webmaster)
  2. Verifica invio automatico attivo dopo pubblicazione contenuti
  3. Monitora Search Console → Sitemap per confermare ricezione

Per invio programmatico via API Google Indexing:

// Richiede Google Client Library
use Google\Client;
use Google\Service\Indexing;

function submit_url_to_google($url) {
    $client = new Client();
    $client->setAuthConfig('path/to/service-account.json');
    $client->addScope('https://www.googleapis.com/auth/indexing');
    
    $service = new Indexing($client);
    $urlNotification = new Indexing\UrlNotification();
    $urlNotification->setUrl($url);
    $urlNotification->setType('URL_UPDATED');
    
    $service->urlNotifications->publish($urlNotification);
}

Nota: Google Indexing API nel 2026 è ancora limitata a job posting e live streaming. Per contenuti standard, sitemap XML resta il metodo primario.

FAQ

Devo usare la sitemap nativa WordPress o quella di Yoast/Rank Math?

La sitemap nativa WordPress (wp-sitemap.xml introdotta in WP 5.5) è funzionale ma limitata. Non offre controllo su esclusioni, priorità, o ottimizzazioni avanzate. Se usi Yoast o Rank Math, disattiva la sitemap nativa — entrambi i plugin la disabilitano automaticamente sostituendola con la propria versione più completa e configurabile.

Quante sitemap XML dovrebbe avere un sito WordPress?

Una sitemap index principale che rimanda a sitemap specifiche per post type. Struttura ideale: 1 sitemap index + 1 sitemap per ogni post type attivo con contenuto pubblico (post, page, product). Evita sitemap separate per ogni categoria o tag a meno che il sito non abbia migliaia di tassonomie con contenuto sostanziale. Il limite tecnico è 50.000 URL per sitemap, usa paginazione automatica oltre questa soglia.

La priorità e la frequenza in sitemap influenzano il ranking?

No. Google ha confermato ufficialmente di ignorare gli attributi priority e changefreq dal 2020. Questi campi erano utili nei primi anni 2000 ma sono obsoleti. Rank Math e Yoast li includono per compatibilità con altri motori, ma configurarli non porta vantaggi SEO. Concentrati invece su escludere URL irrilevanti e mantenere la sitemap pulita da duplicati e contenuto thin.

Come verifico che Google stia effettivamente usando la mia sitemap?

In Google Search Console vai su Sitemap nella barra laterale. Vedrai URL sitemap inviate, quando sono state scoperte, e quante pagine sono state trovate vs indicizzate. Rapporto discovered/indexed sotto 70% indica problemi (contenuto duplicato, noindex, crawl errors). Tempo ultima lettura oltre 7 giorni può segnalare problemi tecnici di accesso alla sitemap. Usa anche Controllo URL per singoli contenuti e verifica se Google conosce l’URL via sitemap.

Sitemap XML rallenta il mio sito WordPress?

Solo se mal configurata. La sitemap è generata dinamicamente ma dovrebbe essere cachata. Su siti con oltre 20.000 URL senza object cache, la generazione può richiedere 500ms-2s impattando server. Soluzioni: attiva Redis o Memcached per transient cache, configura page cache per file .xml, escludi post type inutilizzati, usa CDN per servire la sitemap. Su hosting condiviso con 50.000+ post, considera generazione sitemap statica via cron job invece che dinamica.

Gestisci i siti WordPress dei tuoi clienti?

AgencyPilot ti dà report AI, uptime monitoring, backup e portale clienti in un’unica dashboard. Gratis per 3 siti.

Prova gratis
Leggi anche
Tutti gli articoli
Tutti gli articoli