**TL;DR.** La SEO delle pagine di categoria ha tre regole. (1) Canonicalizza la categoria base e benedici combinazioni di filtri specifici che corrispondono a query di ricerca reali. (2) Noindex per combinazioni di faccette arbitrarie e risultati di ricerca per controllare il budget di scansione. (3) Renderizza lato server ed emetti schema CollectionPage. Il modello "facetta benedetta" è il leva strategica per catturare query a lungo termine.

## Perché la SEO delle categorie è importante

Le pagine di categoria catturano le query commerciali con la massima intenzione:

- "borse in pelle" (1,2 milioni di ricerche mensili su Google a livello globale)
- "borsa a tracolla in pelle marrone" (40k mensili)
- "borsa per laptop in pelle vegana per donne" (8k mensili)

Ognuna di queste è una query a forma di categoria. Posizionare l'URL giusto per ciascuna fa la differenza tra traffico medio e traffico di alta qualità.

## Gerarchia degli URL

Struttura consigliata:

```
/categories/leather-bags                       (genitore)
/categories/leather-bags/messenger             (figlio)
/categories/leather-bags/messenger/work        (nipote — solo se necessario)
```

Oppure con prefisso locale:

```
/en/categories/leather-bags
/de/categorien/leder-taschen
```

Limita la profondità a 3 livelli. Oltre a questo, la navigazione diventa fragile e l'equità dei link si diluisce.

## Il problema della navigazione a faccette

Una tipica PLP ha:

- 5 filtri di colore
- 4 filtri di dimensione
- 8 filtri di fascia di prezzo
- 3 ordini di ordinamento
- N pagine di paginazione

Combinazioni: 5 × 4 × 8 × 3 × N = 480N URL per categoria. Con 50 categorie, hai 24.000N URL solo dalle combinazioni di faccette. Budget di scansione distrutto.

La soluzione:

| Modello URL                                         | Decisione di indicizzazione         |
| --------------------------------------------------- | ------------------------- |
| `/categories/leather-bags`                            | Indicizza                     |
| `/categories/leather-bags?page=2`                     | Indicizza, self-canonical     |
| `/categories/leather-bags?sort=price-asc`              | **Canonicalizza alla base** + noindex |
| `/categories/leather-bags?color=brown`                 | Dipende — vedi "facette benedette" |
| `/categories/leather-bags?color=brown&size=m`           | Canonicalizza alla base + noindex |
| `/search?q=leather+bag`                                | **Noindex** sempre        |

## Facette benedette

Alcune combinazioni di filtri corrispondono a query di ricerca reali che gli utenti digitano. Queste meritano il proprio URL indicizzabile.

Come decidere cosa benedire:

1. **Dati delle query crowdsourced**: Google Search Console → rapporto sulle query. Filtra per pagina di categoria. Cerca query che implicano una facetta specifica ("borsa in pelle marrone", "borsa in pelle piccola").
2. **Dati sul volume di ricerca**: Gli strumenti per le parole chiave confermano che "borsa in pelle marrone" viene cercata. "Borsa in pelle vintage sbiadita di dimensione media tra $80 e $120" non lo è.
3. **Dati di conversione**: quali combinazioni di filtri portano a acquisti? Le combinazioni ad alta conversione con volume di ricerca sono candidati benedetti.

Implementazione delle facette benedette:

```ts
// Pseudocodice
interface BlessedFacet {
  facet: { name: string; value: string }; // e.g., { name: "color", value: "brown" }
  category: string; // e.g., "leather-bags"
  seoTitleTemplate: string; // e.g., "Borse in Pelle Marrone — Collezione {brand}"
  seoDescription: string;
  ogImageUrl?: string;
  noIndex?: boolean; // override
}
```

Per una facetta benedetta, renderizza a un URL pulito con metadati ottimizzati:

```
URL:     /categories/leather-bags/color-brown
Title:   Borse in Pelle Marrone | Acme Leather Goods
Meta:    Scopri la nostra collezione di borse in pelle marrone — realizzate a mano in pelle pieno fiore. Spedizione gratuita per ordini superiori a $50.
Canonical: self
Index: yes
```

Combinazioni non benedette (ad es., color=brown + size=medium + sort=price-asc):

```
URL:     /categories/leather-bags?color=brown&size=medium&sort=price-asc
Title:   Borse in Pelle | Acme Leather Goods  (torna alla base)
Canonical: /categories/leather-bags
Index: no
```

## URL delle query di ricerca

I risultati di ricerca quasi sempre:

- Mappano molti URL simili.
- Hanno bassa qualità intrinseca del contenuto (solo un elenco di prodotti).
- Sono altamente variabili (ogni errore di battitura crea un nuovo URL).

Noindex per loro:

```html
<meta name="robots" content="noindex, follow" />
```

`follow` perché i link interni dalle pagine di ricerca continuano a passare equità.

## Paginazione

La prassi migliore del 2026:

- Ogni pagina (pagina 2, 3, ...) è self-canonical.
- `rel="next"` e `rel="prev"` sono deprecati ma ancora interpretati come suggerimenti — emettili se è facile.
- Il contenuto completo di ogni pagina deve essere renderizzato lato server.
- Il conteggio totale dei risultati e la pagina corrente devono essere visibili nell'H1 o sopra la piega per chiarezza dell'utente.

```html
<head>
  <link rel="canonical" href="https://example.com/categories/leather-bags?page=2" />
  <link rel="prev" href="https://example.com/categories/leather-bags" />
  <link rel="next" href="https://example.com/categories/leather-bags?page=3" />
</head>
```

## Rendering lato server

Le pagine di categoria devono renderizzare il loro contenuto lato server. Le PLP renderizzate lato client in cui recuperi prodotti in `useEffect` ricevono una risposta HTML quasi vuota dal crawler di Google.

Usa i Componenti Server di Next.js (o il framework equivalente SSR/SSG) per la griglia dei prodotti. Paginazione, ordinamento e filtri possono essere confini di Suspense che vengono trasmessi dopo la shell statica.

## Schema CollectionPage

Avvolgi la PLP in `CollectionPage` con `ItemList` incorporato:

```json
{
  "@context": "https://schema.org",
  "@type": "CollectionPage",
  "name": "Borse in Pelle",
  "description": "Sfoglia la nostra collezione di borse in pelle realizzate a mano.",
  "url": "https://example.com/categories/leather-bags",
  "mainEntity": {
    "@type": "ItemList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "url": "https://example.com/products/brown-messenger-bag"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "url": "https://example.com/products/black-leather-tote"
      }
    ]
  },
  "breadcrumb": {
    "@type": "BreadcrumbList",
    "itemListElement": [
      { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com" },
      { "@type": "ListItem", "position": 2, "name": "Categorie", "item": "https://example.com/categories" },
      { "@type": "ListItem", "position": 3, "name": "Borse in Pelle", "item": "https://example.com/categories/leather-bags" }
    ]
  }
}
```

Per gli URL delle facette benedette, emetti anche `CollectionPage` con il titolo/descritto specifico per la facetta e un `ItemList` dei prodotti filtrati.

## Titolo e descrizione per ogni facetta benedetta

I titoli e le descrizioni sono come le facette benedette vincono le loro query.

Categoria base:

```
<title>Borse in Pelle | Acme — Pelle Italiana Artigianale</title>
<meta name="description" content="Sfoglia la nostra collezione di borse in pelle artigianali dall'Italia. Materiali in pelle pieno fiore, hardware in ottone solido, spedizione gratuita oltre $50.">
```

Facetta benedetta (color=brown):

```
<title>Borse in Pelle Marrone | Acme — Pelle Italiana Artigianale</title>
<meta name="description" content="Scopri borse in pelle marrone artigianali dall'Italia. Materiali in pelle pieno fiore, hardware in ottone solido, spedizione gratuita oltre $50.">
```

Facetta benedetta (color=brown + style=messenger):

```
<title>Borse a Tracolla in Pelle Marrone | Acme</title>
<meta name="description" content="Sfoglia la nostra collezione di borse a tracolla in pelle marrone. Realizzate a mano in Italia con pelle pieno fiore e hardware in ottone solido. Spedizione gratuita oltre $50.">
```

## Come Ordiko gestisce la SEO delle categorie

- Modello URL `/categories/{slug}` con supporto per la gerarchia.
- Tabella `BlessedFacet` per negozio: facetta, categoria, sovrascritture del modello SEO.
- Le facette benedette si renderizzano a URL puliti (`/categories/leather-bags/color-brown`); le non benedette sono canoniche alla base con noindex.
- Le pagine delle query di ricerca sono auto-noindex.
- Paginazione self-canonical.
- Schema CollectionPage + ItemList + Breadcrumb su ogni PLP.
- Renderizzato lato server con i Componenti Server di React.

## FAQ

**Dovrei noindexare completamente gli URL a faccette?**
Noindex per combinazioni non benedette (combinazioni di filtri + ordinamenti arbitrari). Consenti l'indicizzazione della categoria base e delle facette "benedette" autorizzate che corrispondono a query di ricerca reali. La lista bianca è la leva strategica — è così che 'borse in pelle', 'borse in pelle marrone', 'borse a tracolla in pelle marrone' ottengono ciascuna la propria opportunità di posizionamento.

**Come decido quali facette benedire?**
Incrocia i tuoi valori di filtro con i dati delle query di ricerca (Google Search Console + il tuo registro di ricerca + strumenti per parole chiave). I valori di filtro che corrispondono a ricerche reali diventano benedetti. Le combinazioni di valori arbitrari rimangono noindex.

**E per le combinazioni di colore + dimensione + prezzo?**
Queste si compongono. 'borsa in pelle marrone' è ricercabile; 'borsa in pelle marrone di dimensione media sotto $200' non lo è. Benedici le combinazioni a singolo attributo e a doppio attributo al massimo; noindex per combinazioni con 3+ attributi.

**Come gestisce Ordiko le facette?**
Le impostazioni SEO di Ordiko espongono un array blessedFacets per negozio. Ogni voce specifica la facetta (ad es., color=brown), il suo modello SEO (titolo, descrizione, sovrascrittura immagine OG) e emette un URL pulito come /categories/leather-bags/color-brown che viene indicizzato. Altre combinazioni noindex automaticamente.