Skip to content

Tutto per WordPress, lo sviluppo web — e non solo

⚙️ Come rimuovere categoria dall'URL di WordPress: tutti i metodi funzionanti

⚙️ Come rimuovere categoria dall'URL di WordPress: tutti i metodi funzionanti

Gli URL in WordPress hanno questo aspetto predefinito: /category/plugins/ o /category/news/ o /category/wordpress/. La parola "category" non ha alcun significato per gli utenti o per i motori di ricerca. È un retaggio che allunga soltanto l'indirizzo e diluisce la struttura del sito.

Il problema è che WordPress non offre un semplice interruttore per rimuovere questo prefisso tramite le impostazioni standard. La maggior parte dei proprietari di siti si rassegna a /category/ oppure installa il primo plugin che trova senza comprenderne le conseguenze. E le conseguenze possono esserci: link non funzionanti, errori 404 sui vecchi indirizzi, duplicati nell'indice.

Ecco una panoramica dettagliata di tutti i metodi funzionanti per rimuovere /category/ dagli URL di WordPress: dall'approccio integrato più semplice al codice in functions.php. Ogni metodo è stato testato sulle versioni attuali di WordPress, con spiegazioni dei limiti e delle possibili insidie.

💡 Panoramica rapida:

  • Meccanismo integrato dei permalink: semplice trucco del punto tramite le impostazioni, senza plugin
  • Plugin Remove Category URL: il metodo più facile con un clic per chi non vuole addentrarsi nelle impostazioni
  • Yoast SEO o Rank Math: se hai già installato un plugin SEO, può gestire la rimozione della base categoria
  • .htaccess: un'opzione per chi preferisce il controllo manuale a livello di server
  • Codice in functions.php: un metodo programmatico senza plugin, con pieno controllo sulla logica di sostituzione

Questo è il metodo più semplice che non richiede l'installazione di alcun plugin. Utilizza il meccanismo standard dei "Permalink" di WordPress.

Vai al pannello di amministrazione, apri Impostazioni → Permalink. Nel blocco "Impostazioni comuni", seleziona l'opzione "Struttura personalizzata".

Nel campo a destra, inserisci la seguente struttura:

1/%category%/%postname%/

Ora arriva il momento chiave. Scorri verso il basso fino al campo "Base categoria" e inserisci un punto, il simbolo . (senza virgolette). Si tratta di un trucco non convenzionale ma funzionante: WordPress interpreta il punto come una base vuota e smette di inserire /category/ negli URL delle categorie.

Impostazioni struttura permalink personalizzati

Clicca "Salva modifiche". Fatto, gli URL delle tue categorie ora appariranno come site.com/wordpress/ invece di site.com/category/wordpress/.

⚠️ Nota importante: non lasciare vuoto il campo "Base categoria". Se non c'è nulla, WordPress torna allo standard /category/. Ecco perché usiamo un punto: una stringa vuota non funziona, ma un punto sì.

Questo metodo funziona per la maggior parte dei siti, ma ha un inconveniente: il punto nel campo base è un espediente che potrebbe rompersi durante gli aggiornamenti di WordPress o cambiando la struttura dei permalink e poi ripristinandola. Se desideri una soluzione più affidabile, dai un'occhiata ai metodi seguenti.

2. Plugin Remove Category URL

Remove Category URL è un plugin minimalista che fa esattamente una cosa: rimuove /category/ dagli URL. Nessuna impostazione, nessuna voce di menu aggiuntiva nel pannello di amministrazione.

Pagina plugin Remove Category URL nella directory WordPress

Dopo l'installazione, il plugin inizia a funzionare immediatamente. Nessun passaggio aggiuntivo: scarica, attiva, controlla l'URL della categoria e /category/ è sparito.

Plugin Remove Category URL attivato nell'amministrazione WordPress

Perché questo plugin e non decine di alternative? Pesa quasi nulla, non aggiunge banner pubblicitari al pannello di amministrazione ed è compatibile con WPML e WordPress Multisite. Quando disattivi il plugin, gli URL tornano automaticamente alla struttura standard con /category/; il plugin non modifica i permalink in modo permanente.

Per chi ha bisogno di lavorare con le categorie padre oltre a rimuovere il prefisso di categoria, esiste un'alternativa: FV Top Level Categories. Consente di mostrare categorie di qualsiasi livello di annidamento come root nell'URL, senza /category/ e senza gli slug delle categorie padre.

🔗 Remove Category URL su WordPress.org

3. Plugin SEO: Yoast SEO e Rank Math

Se Yoast SEO o Rank Math sono già installati sul tuo sito, non hai bisogno di un plugin separato per rimuovere /category/. Entrambi i colossi della SEO dispongono di una funzione integrata per eliminare la base delle categorie.

In Yoast SEO:

  • Nel menu di WordPress, clicca su Yoast SEO
  • Vai alla scheda Avanzate
  • Apri la sezione Permalink
  • Attiva l'opzione "Rimuovi il prefisso delle categorie"
  • Salva le modifiche

In Rank Math:

  • Nel pannello di amministrazione, vai su Rank Math → Impostazioni generali
  • Apri la scheda WooCommerce (sì, è lì, non in Permalink)
  • Trova l'opzione "Rimuovi base categoria" e attivala

Entrambi i plugin fanno la stessa cosa di Remove Category URL, ma attraverso il proprio meccanismo interno. Vantaggio: nessun plugin aggiuntivo necessario. Svantaggio: se passi a un plugin SEO diverso, la base della categoria potrebbe tornare e dovrai riconfigurare.

Pagina impostazioni Yoast SEO nell'amministrazione WordPress

A proposito, se stai ancora scegliendo tra Yoast e Rank Math, ecco il nostro confronto dettagliato che ti aiuterà a decidere.

4. Modifica manuale dell'.htaccess

Un metodo per chi preferisce il controllo a livello di server. La rimozione di /category/ tramite.htaccess funziona attraverso una regola mod_rewrite che reindirizza in modo trasparente tutti gli URL delle categorie verso indirizzi senza il prefisso.

Avrai bisogno di accedere al file .htaccess nella root del sito, via FTP, dal file manager dell'hosting o da cPanel. Apri il file e aggiungi la seguente riga prima del blocco # BEGIN WordPress:

1RewriteRule ^category/(.+)$ http://www.site.com/$1 [R=301,L]
Codice RewriteRule per .htaccess in un editor di testo

Sostituisci www.site.com con il tuo dominio effettivo. La regola crea un redirect 301 da tutti gli URL che iniziano con /category/ verso indirizzi senza questo prefisso.

⚠️ Attenzione: questo metodo funziona solo su server Apache. Su Nginx, avrai bisogno di una riga analoga nel file di configurazione:

1rewrite ^/category/(.+)$ /$1 permanent;

Prima di apportare modifiche, assicurati di fare un backup del file .htaccess. Un errore di sintassi in questo file farà cadere l'intero sito con un errore 500.

Se il tuo sito gira su Nginx, l'equivalente diretto della regola sopra è altrettanto semplice, ma si aggiunge alla configurazione del blocco server, non a .htaccess. Dopo aver aggiunto la regola, ricarica Nginx con il comando nginx -s reload. A differenza di Apache, Nginx non legge .htaccess, quindi un errore di sintassi nella configurazione principale fa cadere il sito anche in questo caso, ma in modo meno irreversibile: Nginx semplicemente non si avvierà dopo il reload, lasciando in esecuzione il processo di lavoro precedente. Testa la configurazione con il comando nginx -t prima di applicarla.

5. Codice nel functions.php

Un metodo programmatico per chi vuole rimuovere /category/ senza plugin e senza modificare le configurazioni del server. Il codice si aggiunge una volta sola al functions.php del tema attivo e funziona tramite un filtro standard di WordPress.

Prima di aggiungere il codice, assicurati che il campo «Category base» nelle impostazioni dei permalink non sia vuoto e non contenga un punto; deve essere quello standard (category). Il filtro cerca la parola "category" nell'URL e, se non la trova, il metodo non funzionerà.

Apri Aspetto → Editor file del tema, seleziona functions.php e aggiungi questo codice prima del tag di chiusura ?> (se il tag non c'è, aggiungilo semplicemente alla fine del file):

1function remove_category_from_url($string, $type) {
2 if ($type !== 'single' && $type === 'category' && strpos($string, 'category') !== false) {
3 $url_without_category = str_replace('/category/', '/', $string);
4 return trailingslashit($url_without_category);
5 }
6 return $string;
7}
8add_filter('user_trailingslashit', 'remove_category_from_url', 100, 2);

Come funziona:

  • Il filtro user_trailingslashit viene chiamato ogni volta che WordPress genera l'URL di una categoria
  • La funzione verifica che si tratti effettivamente di una categoria (non un articolo, non un tag) e che l'URL contenga /category/
  • Se entrambe le condizioni sono soddisfatte, /category/ viene rimosso e lo slash finale viene preservato tramite trailingslashit()

Dopo aver aggiunto il codice, vai su Impostazioni → Permalink e clicca semplicemente su "Salva"; questo svuoterà la cache dei permalink e applicherà la nuova regola.

Questo metodo è il più flessibile: hai il pieno controllo sulla logica di sostituzione e puoi aggiungere eccezioni per categorie specifiche o adattare il codice a una struttura URL non standard.

Codice di programmazione su schermo, configurazione URL WordPress

Se preferisci vedere il processo in azione, ecco un breve video tutorial in inglese: installazione del plugin Remove Category URL e verifica del risultato in due minuti.

⁉️🤔 Domande frequenti

Le categorie spariranno dal sito dopo aver rimosso /category/ dagli URL?

No. Le categorie restano pienamente funzionanti: gli archivi di categoria funzionano, gli articoli vi compaiono e la tassonomia rimane intatta. Cambia solo l'indirizzo nel browser. È una modifica puramente estetica della struttura dei permalink; WordPress continua a riconoscere le categorie tramite ID interno, non dal prefisso dell'URL.

Devo impostare i redirect 301 dopo aver cambiato gli URL?

Sì, assolutamente. Dopo aver rimosso /category/, i vecchi indirizzi con /category/ diventano inaccessibili. Se c'erano link esterni che puntavano a essi o sono già indicizzati dai motori di ricerca, otterrai errori 404. Il metodo via .htaccess (metodo 4) aggiunge automaticamente un redirect 301. Usando plugin o codice nel functions.php, assicurati che WordPress reindirizzi correttamente i vecchi URL; di solito avviene in automatico, ma vale la pena verificare qualche vecchio indirizzo dopo le modifiche.

Cosa fare se alcuni URL contengono ancora /category/ dopo le modifiche?

Molto probabilmente è un problema di cache. Svuota la cache dei permalink: vai su Impostazioni → Permalink e clicca semplicemente "Salva" senza cambiare nulla. Se usi un plugin di caching (WP Rocket, W3 Total Cache), svuota la sua cache. A livello server, assicurati che le regole mod_rewrite nel .htaccess non siano in conflitto con le nuove impostazioni.

Rimuovere /category/ influisce sulla SEO?

Sì, ma solo positivamente se fatto correttamente. URL più brevi ottengono più clic nei risultati di ricerca, sono più facili da leggere e vengono indicizzati più velocemente. Una ricerca di Backlinko mostra che URL più corti sono correlati a posizionamenti più alti. La chiave è non dimenticare i redirect 301 dai vecchi indirizzi per non perdere il PageRank accumulato.

Quale metodo scegliere per WooCommerce?

Per i negozi online su WooCommerce, le opzioni migliori sono il plugin Remove Category URL (gestisce correttamente le categorie di prodotto) o la funzione integrata di Rank Math (Remove Category Base). Entrambi i metodi non entrano in conflitto con gli endpoint di WooCommerce come /product-category/. Anche il metodo del punto nel campo "Base categoria" funziona per WooCommerce, ma testalo prima in staging; alcune versioni di WooCommerce sono sensibili a valori non standard in questo campo.

Questi metodi funzionano su WordPress Multisite?

Parzialmente. Il plugin Remove Category URL dichiara compatibilità con Multisite, ma in pratica, se attivato a livello rete, elabora solo il sito principale; per i siti figli devi attivarlo singolarmente. Il metodo del punto nel campo "Base categoria" funziona su ciascun sito della rete separatamente; le impostazioni non vengono ereditate. Il codice per functions.php per Multisite richiede un controllo aggiuntivo is_multisite() e idealmente andrebbe spostato in un MU-plugin per non essere legato al tema. La modifica manuale del .htaccess su Multisite è la meno desiderabile: la struttura degli URL di rete è più complessa e un errore nel RewriteRule rompe tutti i siti in una volta sola.

Quale metodo per rimuovere /category/ è giusto per te?

Ognuno dei cinque metodi ha il suo caso d'uso. Ecco una rapida matrice di scelta:

  • Non vuoi installare plugin aggiuntivi: metodo 1 (punto nel campo base). Richiede 30 secondi, non aggiunge codice al sito.
  • Vuoi il minimo sforzo: metodo 2 (Remove Category URL). Installa e dimentica.
  • Hai già Yoast o Rank Math sul sito: metodo 3. Usa ciò che già funziona.
  • Preferisci il controllo a livello server: metodo 4 (.htaccess). Ma ricordati di fare un backup.
  • Sei uno sviluppatore e hai bisogno di flessibilità: metodo 5 (codice nel functions.php). Aggiungi la logica che ti serve specificamente.

Per la maggior parte degli utenti, il metodo 2 (Remove Category URL) è ottimale: è semplice, non richiede conoscenze tecniche e non rompe il sito quando viene disattivato. Se usi già Yoast SEO, attiva l'opzione lì; non installare plugin superflui.

Prova il metodo che si adatta meglio al tuo flusso di lavoro e verifica il risultato su due o tre URL di categoria. Se tutto funziona, hai fatto la scelta giusta.

Dopo le modifiche, è utile far girare il sito con un qualsiasi crawler SEO (Screaming Frog, Sitebulb o Netpeak Spider): mostrerà se sono comparsi errori 404 sulle pagine categoria e se i redirect 301 dai vecchi URL funzionano correttamente. Verifica anche la tua sitemap XML separatamente: dopo aver cambiato la struttura dei permalink, dovrebbe aggiornarsi automaticamente, ma a volte viene generata da una versione in cache. In Yoast SEO, clicca semplicemente "Salva" nelle impostazioni della sitemap; per Rank Math, il pulsante "Aggiorna Sitemap" si trova nella sezione Impostazioni Sitemap. È un'operazione che richiede un minuto ma ti protegge da situazioni in cui Google riceve una sitemap con vecchi URL.