Permalink WordPress: come cambiarli senza problemi

Scritto da Tiziano Fogliata
Aggiornato il

WordPress offre un’ampia scelta di possibilità per quel che riguarda la struttura dei permalink da adottare sul proprio sito web o blog. È sufficiente andare nella pagina Impostazioni -> Permalink per decidere quale struttura utilizzare. Ce ne sono alcune standard ma all’occorrenza è possibile anche definirne una personalizzata.

A volte però può capitare di pentirsi della scelta fatta inizialmente e, a distanza di mesi o anni, decidere di voler cambiare la struttura dei permalink. Tale decisione non va però presa alla leggera, dato che modificare tutti gli URL relativi ai post pubblicati comporta dei gravi rischi.

Come impostare i permalink WordPress

Se infatti decidi di modificare la struttura dei permalink del tuo sito senza prendere alcun provvedimento, immediatamente tutti i link presenti sugli altri siti che puntano ai tuoi articoli potrebbero generare un errore 404 (clicca qui per saperne di più sugli errori 404). Questo perché al vecchio indirizzo (URL) non è più presente alcun contenuto. La stessa cosa vale naturalmente per le pagine indicizzate dai motori di ricerca, che porteranno a documenti non più esistenti.

Ho usato il condizionale perché, in molti casi, WordPress reindirizza automaticamente i vecchi URL a quelli nuovi. Ma questo dipende molto dal tipo della struttura utilizzata per i permalink del tuo sito.

Qualora WordPress non dovesse gestire correttamente tali reindirizzamenti, è necessario impostarli manualmente, ad esempio:

  • creando le giuste regole all’interno del file .htaccess nella directory principale del tuo sito (operazione sconsigliata se non sai quello che stai facendo)
  • oppure utilizzare plugin come Redirection o Safe Redirect Manager per impostare delle regole di reindirizzamento dai vecchi ai nuovi URL. Tra questi due, io ti consiglio il secondo perché molto più leggero ed efficiente.

Utilizzando Redirection hai a disposizione un potente strumento per creare, gestire e monitorare i reindirizzamenti del tuo sito, utile non solamente in caso di modifiche alla struttura dei permalink di WordPress.

Supponiamo ad esempio di voler passare da una struttura di questo tipo:

/%year%/%monthnum%/%day%/%postname%/

nella quale sono indicati anno, mese e giorno di pubblicazione del contenuto, a una come questa:

/%postname%/

Se hai installato Redirection, devi creare un regola di questo tipo, avendo l’accortezza di selezionare la casella Regex:

La casella Regex, permette di creare reindirizzamenti basati sulle espressioni regolari. Questo ti consente di evitare di dover scrivere singoli reindirizzamenti per ogni URL, ma di creare una regola per intercettare tutti quelli che seguono un particolare schema.

Usare un plugin per gestire i reindirizzamenti è molto comodo, ma va a incidere sulle prestazioni del sito, dato che tutti i reindirizzamenti vengono gestiti via PHP anziché direttamente dal web server.
Per questo motivo è più efficiente gestire i reindirizzamenti inserendo le regole direttamente nel file .htaccess che si trova nella directory principale del sito. Si tratta però di un’operazione che richiede molta attenzione ed è sconsigliata per gli utenti alle prime armi.

Rimuovere /category/ dagli URL delle categorie del blog

Come impostazione predefinita, gli URL delle categorie di un blog WordPress contengono la dicitura /category/. Questo a molte persone non piace e preferirebbero un URL più pulito.

Ad esempio, al posto di

www.dominio.com/category/web-marketing/

vorrebbero avere

www.dominio.com/web-marketing/

Se utilizzi il popolare plugin Yoast SEO, nella sezione SEO -> Aspetto della ricerca -> Tassonomie è presente un’opzione che ti permette di rimuovere tale frammento negli URL delle categorie.

Attivando questa opzione quindi, la scritta /category/ scomparirà dagli URL delle categorie.

Purtroppo però, tale impostazione va in conflitto e rappresenta un problema se utilizzi il plugin WPML per la gestione di un sito in più lingue. Attivando questa impostazione in Yoast SEO in un sito multilingue, le pagine delle categorie nella varie lingue generano un errore 404.

Se utilizzi WPML nel tuo sito multilingue e vuoi rimuovere la dicitura /category/ dagli URL delle categorie, la soluzione che ti consiglio è quella di usare il plugin No Category Base (WPML), pensato appunto per risolvere questo problema. Si tratta di un plugin che non richiede alcuna configurazione e genera anche i reindirizzamenti 301 dai vecchi URL delle categorie a quelli nuovi.

Impostazioni personalizzate della struttura permalink

Mettendo mano al codice PHP o utilizzando un plugin come Permalink Manager Lite (o Permalink Manager Pro) è possibile impostare una struttura personalizzata per i permalink dei molteplici contenuti presenti sul tuo sito WordPress. Questo plugin è utile ad esempio in presenza di Custom Post Type e Tassonomie Personalizzate.

Con Permalink Manager è possibile modificare l’intero permalink di un contenuto, non solo la parte finale (quella che viene chiamata slug).

Definire la struttura dei permalink con il plugin WordPress Permalink Manager Pro

La versione Pro di Permalink Manager consente di gestire anche tassonomie (standard e personalizzate) e permette anche di utilizzare i campi personalizzati all’interno dei permalink.

Inoltre, sempre con Permalink Manager Pro è anche possibile rimuovere /prodotto/, /categoria-prodotto/, /tag-prodotto/ dagli URL generati da WooCommerce.

La versione gratuita del plugin inoltre supporta Yoast SEO, mentre quella a pagamento aggiunge il supporto anche per Rank Math, SEOPress, WPML, Polylang, Advanced Custom Fields, Toolset Types e Pods.

Permalink Manager consente anche di gestire i reindirizzamenti tra vecchi e nuovi URL, ma le sue funzionalità più interessanti sono quelle che permettono la gestione estremamente personalizzata e avanzata di come un sito WordPress crea i permalink delle varie pagine.

Scarica l'ebook gratuito sui 10 errori da evitare sul tuo sito WordPress

Se ti è piaciuto e hai trovato utile questo articolo, eccone altri che potrebbero interessarti

Nessun articolo correlato

9 commenti su “Permalink WordPress: come cambiarli senza problemi”

  1. Ciao,
    interessante questo plugin; al momento non ne ho mai avuto bisogno, ma può tornare utile.
    Nel mio blog come permalink metto anno/categoria/titolopost. Alcuni dicono che sia meglio mettere solamente il titolo del post e basta, però secono me per lo meno l’anno per capire se è un contenuto recente o datato male non fa.

    Complimenti per il lbog, ha un layout molto gradevole!
    Ciao
    M

  2. Ciao, sto leggendo alcuni post sull’argomento ma non ne sono uscito fuori. Nel senso che alcuni dicono che WP attuale dopo la 2.8 già include il Redirect 301 automatico, mentre altri come te dicono che è necessario un plugin. In ogni modo un paio di mesi fa ho cambiato i permalink di un altro blog e ho avuto problemi al punto da dover estrarre il db e reinstallare WP. L’operazione è sicura? Avete fatto già la prova con il plugin o senza? grazie

    • Che io sappia, senza un plugin come quello segnalato, se cambi la struttura dei permalink WordPress non ti fa il redirect 301 dai vecchi ai nuovi URL.

  3. Scusa, me se la vecchia struttura è quella di default, in pratica “?p=N” , quale è la sintassi corrispondente da scrivere nel campo “Old ….”?
    Ho cercato nella pagina Codex dei Permalinks ma mi riporta solo “%post_id% ” che non è lo stesso.

    Grazie

I commenti sono chiusi.