⌕ SEO tecnico

Paginazione: elenchi lunghi che i motori riescono a scansionare

Come gestire categorie e archivi divisi in più pagine: URL delle pagine successive, canonical, link, scorrimento infinito e pulsanti «carica altro».

Un blog con centinaia di articoli, un negozio con migliaia di prodotti, un forum con discussioni lunghissime: prima o poi un elenco va diviso in pagine. La paginazione sembra un dettaglio di interfaccia, ma per un motore di ricerca è spesso l'unica strada per arrivare ai contenuti più vecchi o meno in vista. Se quella strada è interrotta, gli articoli in fondo all'archivio diventano invisibili.

Il compito della paginazione

Le pagine 2, 3, 4 di una categoria raramente sono destinazioni interessanti nei risultati di ricerca. Il loro valore è un altro: contengono i link verso i singoli elementi. Un prodotto elencato solo a pagina 37 di una categoria viene scoperto e rivisitato solo se il crawler riesce ad arrivare fino a lì.

Da qui discendono quasi tutte le regole pratiche.

URL distinti per ogni pagina

Ogni pagina dell'elenco deve avere un URL proprio e stabile:

  • /categoria/scarpe/
  • /categoria/scarpe/page/2/ oppure /categoria/scarpe/?page=2

Entrambe le forme funzionano; conta la coerenza. Da evitare:

  • paginazione affidata a un frammento, come #page=2, perché i motori ignorano in genere la parte dopo il cancelletto;
  • contenuto della pagina successiva caricato solo via JavaScript senza cambiare URL;
  • la stessa pagina raggiungibile sia come /page/1/ sia come URL base: la pagina 1 deve coincidere con l'URL della categoria, e /page/1/ deve redirigere lì.

Canonical: ognuna verso sé stessa

L'errore più diffuso è far puntare il canonical di tutte le pagine paginate alla prima. Sembra logico, «la categoria è una sola», ma comunica al motore che le pagine 2 e successive sono duplicati della prima. Non lo sono: contengono elementi diversi. Il risultato è che il motore può smettere di considerarle e di seguire i loro link.

La regola corretta:

Pagina Canonical
/scarpe/ /scarpe/
/scarpe/page/2/ /scarpe/page/2/
/scarpe/page/3/ /scarpe/page/3/

L'eccezione legittima è una pagina «mostra tutti» che contiene davvero l'intero elenco e si carica in tempi ragionevoli: in quel caso le pagine paginate possono indicarla come canonica.

Rel next e prev

Per anni si sono usati i tag rel="next" e rel="prev" per descrivere la sequenza. Google ha dichiarato da tempo di non usarli più come segnale per l'indicizzazione; altri motori e alcuni strumenti possono ancora leggerli. Non fanno danni e possono restare, ma non sostituiscono i link normali tra le pagine.

Il crawler segue i link <a href>. Un pulsante che chiama una funzione JavaScript senza un URL non è un link. Per ogni pagina è utile avere:

  • link alla pagina precedente e successiva;
  • link ad alcune pagine vicine e alla prima;
  • nei siti molto grandi, link a intervalli più ampi, così che la pagina 50 non disti cinquanta clic dalla prima.

Anche il numero di elementi per pagina incide: elenchi di 10 elementi su 2.000 prodotti producono 200 pagine; elenchi di 48 ne producono meno di 50, e ogni prodotto è più vicino all'inizio.

Scorrimento infinito e «carica altro»

Lo scorrimento infinito è comodo per l'utente, ma il crawler non scorre. Se gli elementi successivi compaiono solo dopo un evento di scroll, per il motore l'elenco finisce ai primi risultati.

La soluzione è costruire lo scorrimento infinito sopra una paginazione tradizionale:

  1. ogni blocco di risultati corrisponde a un URL di pagina, per esempio ?page=3;
  2. quando l'utente scorre e il blocco successivo si carica, l'URL nella barra degli indirizzi si aggiorna con l'API History;
  3. nell'HTML sono presenti comunque i link <a href="?page=4">, magari mostrati in fondo o in un'area di navigazione;
  4. aprendo direttamente ?page=3 si vede il contenuto di quel blocco.

Lo stesso vale per il pulsante «carica altro»: se è un vero link verso la pagina successiva, potenziato da JavaScript, funziona per utenti e crawler.

Noindex sulle pagine paginate?

Mettere noindex sulle pagine dalla 2 in poi è una scelta che vedo fare spesso per «pulire l'indice». Il rischio è che, nel tempo, il motore riduca la scansione di pagine stabilmente escluse e quindi segua meno i loro link. Se lo scopo è non farle comparire nei risultati, di solito non serve: raramente competono con la prima. Meglio lasciarle indicizzabili e con titoli distinti, come «Scarpe – pagina 2».

In sintesi

  • La paginazione serve soprattutto a far scoprire gli elementi in fondo all'elenco.
  • Ogni pagina ha un URL proprio, mai un frammento con il cancelletto.
  • Il canonical di ogni pagina punta a sé stessa, non alla prima.
  • I link tra le pagine devono essere veri <a href> scansionabili.
  • Scorrimento infinito e «carica altro» vanno costruiti sopra URL paginati reali.
MM
Marco Marzaduri

Marco Marzaduri si occupa di cybersecurity, informatica forense e sviluppo web. Laureato in informatica, unisce il rigore dell'analisi tecnica all'attenzione per le persone che usano la tecnologia.

Leggi anche