Il menu a tendina teneva 248 pagine fuori da Google
Cinque lingue, un menu a tendina in alto a destra. Funzionava benissimo — per le persone. Per Google, duecentoquarantotto pagine non esistevano.
Perché un menu a tendina non è navigazione
Lo switcher delle lingue era un <select>: scegli la lingua, la
pagina cambia. Ma un <option value="/de/..."> non è un link. Non
ha un href, non ha un testo di ancoraggio, e il crawler non simula il
cambio di selezione per scoprire dove porta. La
documentazione
di Google sui link scansionabili è esplicita: viene seguito solo un
<a> con href.
Risultato: nessuna versione tradotta del sito riceveva un solo link interno percorribile. 248 pagine orfane — tutte le sezioni inglesi, tedesche, francesi e spagnole.
«Ma le pagine erano in sitemap»
Erano in sitemap, sì. Non basta. Una URL dichiarata in sitemap e senza nessun link che ci arrivi è l'ultima della fila: il motore la vede e decide che non vale il crawl. La sitemap dice a Google che una pagina esiste; i link interni gli dicono che conta. Sono due informazioni diverse e la seconda pesa di più.
Il fix
Banale: link veri, un <a href> per ogni versione linguistica. Se
serve l'estetica del menu a tendina, la si costruisce sopra dei link — non al posto
loro.
Cosa è cambiato: da 1 a 4
A inizio agosto risultava indicizzata una pagina sola. Quattro giorni dopo il fix erano quattro, e dentro c'erano esattamente le home tedesca, spagnola e francese: i tre percorsi che prima non ricevevano nemmeno un link.
Non la chiamo una prova. Il sito è nuovo e stava comunque salendo. Ma i primi tre a entrare sono stati i tre che erano orfani.
Cosa non è cambiato: tre settimane dopo sono ancora quattro
Qui l'articolo dovrebbe finire, con il grafico che sale. Il seguito è meno comodo: al 20 agosto le pagine indicizzate sono ancora quattro, su 330 dichiarate in sitemap. Tutto il resto è fermo su «Scansionata, ma attualmente non indicizzata».
Prima di scriverne una conclusione ho voluto vedere i numeri: ho scansionato tutte e trecentotrenta le URL dichiarate in sitemap, ho estratto il testo di ogni pagina scontando il boilerplate calcolato lingua per lingua, ho contato i link interni in entrata escludendo quelli di header e footer, e ho confrontato ogni pagina con tutte le altre della sua lingua per cercare duplicati.
L'audit dice che non c'è nient'altro di rotto
| Verifica | Esito su 330 URL |
|---|---|
| Pagine orfane | 0 |
| Contenuto unico, scontato il boilerplate della lingua | minimo 300 parole, mediana ~700 |
| Somiglianza interna massima fra pagine | 32% — nessun duplicato |
| hreflang autoreferenziale e reciproco | 330 su 330 |
| Target hreflang assenti dalla sitemap | 0 |
noindex / X-Robots-Tag | 0 / assente |
| Tempo di risposta | ~80 ms |
| 120 richieste a concorrenza 10 | tutte 200, nessuna connessione caduta |
Non c'è un bug da trovare. Il fix dello switcher era necessario e non è stato sufficiente, e le due cose non sono in contraddizione: ha rimosso un ostacolo che avrebbe bloccato tutto il resto comunque.
Quello che manca non è tecnico
Gli altri tre numeri, misurati lo stesso giorno:
- 0 backlink, 0 referring domain. Nessun sito al mondo linka questo dominio.
- 84 impression e 6 click in 28 giorni, e solo sulle quattro pagine indicizzate.
- Dominio aperto all'indicizzazione il 27 luglio, con 330 URL pubblicate tutte insieme in cinque lingue.
Con un setup pulito, «scansionata ma attualmente non indicizzata» non è un errore da correggere. È una frase che significa: l'ho vista, e non ho ancora un motivo per darle uno slot. L'indicizzazione oltre le pagine d'ingresso non si sblocca con un tag: si sblocca quando qualcosa fuori dal sito conferma che il sito vale. Su un dominio a zero link quel momento arriva in mesi, non in settimane.
Lo scrivo perché la versione comoda di questo articolo si ferma al paragrafo precedente, e la versione comoda avrebbe fatto credere a qualcuno che sistemare lo switcher basta.
Il controllo che puoi fare in dieci secondi
Se gestisci un sito multilingua: apri il codice sorgente e guarda lo switcher. Se
quello che vedi è <option value> e non <a href>,
le tue traduzioni sono scollegate dal sito.
Perché il punto è questo: un sito può avere versioni in cinque lingue, dichiararle tutte in sitemap, servirle con hreflang corretto e reciproco, rispondere 200 e caricare in ottanta millisecondi, e restare comunque invisibile, se nessuna pagina del sito dice al motore che quelle versioni meritano di essere raggiunte.
Vale per qualunque navigazione costruita con un <select>: filtri,
categorie, sedi, archivi per anno. Se il link non è un link, per Google non esiste.