E-commerce
Ricerca a faccette: quali filtri indicizzare e quali no
La ricerca a faccette si decide sugli URL: poche combinazioni indicizzabili, il resto chiuso. Aritmetica dei filtri, canonical, noindex, accessibilità e blocchi reali.
La ricerca a faccette si progetta partendo da una decisione: quali URL possono entrare nell'indice. Filtri, conteggi, parametri e sitemap dipendono tutti da quella risposta, e senza di essa il negozio genera migliaia di pagine quasi identiche.
La trappola è aritmetica. Dodici colori, otto taglie, cinque fasce di prezzo e quattro ordinamenti fanno 1.920 combinazioni per una sola categoria. Con dieci categorie sono 19.200 URL che mostrano gli stessi prodotti in ordine diverso, e il crawler ne spende il budget senza trovare niente di nuovo.
Scegliere le faccette che meritano un indice
| Faccetta | Indicizzabile | Motivo |
|---|---|---|
| Marca | Sì, una pagina per marca | Esiste ricerca per nome del produttore |
| Colore | Una combinazione per categoria, non di più | «scarpe nere» si cerca, «scarpe nere taglia 42» quasi mai |
| Taglia | No | Combinazioni enormi e nessuna domanda propria |
| Prezzo | Una pagina «sotto 50 €» può esistere | Il filtro è utile nell'interfaccia, non come migliaia di URL |
| Ordinamento | No | Duplica la stessa lista in quattro ordini |
| Pagina 2, 3, 4 | Sì, con canonical alla prima | La paginazione non è una faccetta e va gestita a parte |
| Ricerca interna | No | I risultati per query sono infiniti per definizione |
Tre modi per chiudere le combinazioni
- robots.txt chiude la scansione, ma un URL bloccato non viene letto: il noindex dentro quella pagina non sarà mai visto.
- noindex, follow sulle combinazioni: la pagina resta raggiungibile, i link vengono seguiti, l'URL non entra nell'indice.
- canonical verso la categoria quando le combinazioni sono varianti della stessa lista: segnale più debole, ma utile se le pagine devono restare scansionabili.
- Una regola sola per tutto il sito: se la stessa combinazione è a volte utile e a volte no, la regola è sbagliata.
URL leggibili e stabili
«/scarpe/nera» si può linkare, «/scarpe?colore=nero&taglia=42&ordine=prezzo&pagina=3» cambia appena l'utente tocca un filtro. I parametri restano per le combinazioni che non devono essere indicizzate, mentre le faccette scelte hanno un percorso. L'ordine dei parametri va normalizzato, altrimenti la stessa lista produce URL diversi e si duplica da sola.
# quante URL con parametri finiscono in sitemap
curl -s https://www.esempio.it/sitemap.xml | grep -c "?"
# quale canonical dichiara una pagina filtrata
curl -s "https://www.esempio.it/scarpe?colore=nero" | grep -o '<link rel="canonical" href="[^"]*"'
# la combinazione è chiusa ai crawler
curl -s https://www.esempio.it/robots.txt | grep -i "?"
L'interfaccia dei filtri
Un filtro si usa da tastiera o non si usa. fieldset e legend per ogni gruppo, stato selezionato annunciato, conteggio dei risultati in una regione con aria-live, pulsante «azzera filtri» sempre visibile e nessuno spostamento del layout quando arriva la risposta. La direttiva (UE) 2019/882 sull'accessibilità di prodotti e servizi si applica ai servizi di e-commerce dal 28 giugno 2025: i filtri rientrano nel perimetro.
Blocchi dal catalogo
La categoria sidebar con 27 blocchi copre il pannello dei filtri, la categoria table con 13 blocchi la lista dei risultati, i componenti input le caselle e gli intervalli di prezzo, e la categoria faq con 24 blocchi le domande su taglie e resi. La licenza è quella dichiarata dal publisher nel record.
Il limite da dichiarare
Il catalogo non contiene un motore di ricerca: nessun indice, nessun ranking, nessun conteggio. I blocchi sono interfaccia per il pannello e per la lista. Anche la regola migliore resta una scelta di prodotto: con quaranta prodotti le faccette sono un lusso, con quattromila servono, e servono insieme a un indice che risponda in meno di un secondo.
Dove continuare
La scelta tra canonical e noindex è in canonicalizzazione, la divisione dell'indice in sitemap index o sitemap unico, il modo di collegare categorie e prodotti in link interni. Se la scelta è tra due stack per il frontend, il confronto è in Next.js o Vite per un sito marketing.
Domande frequenti
Cosa sono le faccette in un e-commerce?
Sono i filtri che restringono una lista per attributo: colore, taglia, marca, prezzo. Diventano un problema SEO quando ogni combinazione genera un URL, perché il numero cresce in modo esplosivo e le pagine sono quasi identiche.
Quali faccette conviene indicizzare?
Solo quelle con una domanda propria, di solito marca e una combinazione per categoria. Taglia, ordinamento e paginazione non hanno domanda e producono duplicati. Il resto resta raggiungibile ma fuori indice.
noindex o robots.txt per le pagine filtrate?
Dipende dall'obiettivo. noindex tiene la pagina scansionabile e la toglie dall'indice; robots.txt blocca la scansione e impedisce anche di vedere il noindex. Per le combinazioni da escludere la scelta più sicura è noindex, follow.
Le pagine filtrate devono avere un canonical?
Sì, verso la categoria o verso la combinazione indicizzabile più vicina. Un canonical verso sé stessa su una combinazione duplicata non risolve nulla. La paginazione è un caso a parte: di solito canonical alla prima pagina.
Quanti URL può generare un filtro?
Il prodotto delle opzioni: 12 colori, 8 taglie, 5 fasce di prezzo e 4 ordinamenti fanno 1.920 URL per una sola categoria. Con dieci categorie sono 19.200 pagine quasi identiche. Il calcolo va fatto prima di aprire le faccette, non dopo.