Vuoi cambiare la struttura URL del tuo sito WordPress ma non sai come fare le redirezioni di tutte le pagine?
In questa guida ti mostro alcune regole di redirect da usare con Apache e Nginx per passare da una struttura permalink con data ad una struttura URL con solo il post name /%postname%/.
Nelle regole che seguono ricordati di fare le opportune sostituzioni del protocollo e del dominio. Inoltre, dopo aver inserito i redirect, devi cambiare le impostazioni dei permalink in WordPress, in “Impostazioni > Permalink”.
Redirezioni Apache
Da ?p=123 a /%postname%/
Per migrare dalla struttura Default – ?p=123 a /%postname%/ non servono redirezioni, le gestisce autonomamente WordPress. Per completare la migrazione basta semplicemente cambiare la struttura permalink nelle impostazioni.
Da /%year%/%monthnum%/%day%/%postname%/ a /%postname%/
Per migrare dalla struttura Day and Name – /%year%/%monthnum%/%day%/%postname%/ a /%postname%/ usa questa redirezione nel file .htaccess:
RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(?!page/)(.+)$ https://www.evemilano.com/$4
Da /%year%/%monthnum%/%postname%/ a /%postname%/
Per migrare dalla struttura Month and Name – /%year%/%monthnum%/%postname%/ a /%postname%/ usa questa redirezione nel file .htaccess:
RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/(?!page/)(.+)$ https://www.evemilano.com/$3
Da /%category%/%postname%/ a /%postname%/
Per migrare dalla struttura Category – Name – /%category%/%postname%/ a /%postname%/ non dovresti fare niente dato che WordPress gestisce in autonomia queste redirezioni. Tuttavia, se vuoi velocizzare i redirect usa questa regola all’inizio del file .htaccess:
RedirectMatch 301 ^/<category>/(.*)$ https://www.evemilano.com/$1
*Sostituisci <category> con lo slug della tua categoria.
Da /archives/%post_id% a /%postname%/
Per migrare dalla struttura Numeric – /archives/%post_id% a /%postname%/ usa questa redirezione all’inizio del file .htaccess:
RedirectMatch 301 ^/archives/(\d+)$ https://www.evemilano.com/?p=$1
Redirezioni Nginx
Da ?p=123 a /%postname%/
Per migrare dalla struttura Default – ?p=123 a /%postname%/ non servono redirezioni, le gestisce autonomamente WordPress. Per completare la migrazione basta semplicemente cambiare la struttura permalink nelle impostazioni.
Da /%year%/%monthnum%/%day%/%postname%/ a /%postname%/
Per migrare dalla struttura Day and Name – /%year%/%monthnum%/%day%/%postname%/ a /%postname%/ usa questa redirezione nel file di configurazione o nel blocco del sito:
rewrite "\/([0-9]{4})\/([0-9]{2})\/([0-9]{2})\/(.*)" https://www.evemilano.com/$4 permanent;
Da /%year%/%monthnum%/%postname%/ a /%postname%/
Per migrare dalla struttura Month and Name – /%year%/%monthnum%/%postname%/ a /%postname%/ usa questa redirezione nel file di configurazione o nel blocco del sito:
rewrite "\/([0-9]{4})\/([0-9]{2})\/(.*)" https://www.evemilano.com/$3 permanent;
Da /%category%/%postname%/ a /%postname%/
Per migrare dalla struttura Category – Name – /%category%/%postname%/ a /%postname%/ usa questa redirezione nel file di configurazione o nel blocco del sito:
rewrite "\/<category>\/(.*)" https://www.evemilano.com/$1 permanent;
*Sostituisci <category> con lo slug della tua categoria.
Da /archives/%post_id% a /%postname%/
Per migrare dalla struttura Numeric – /archives/%post_id%
a /%postname%/ usa questa redirezione nel file di configurazione o nel blocco del sito:
rewrite "\/archives\/(.*)" https://www.evemilano.com/?p=$1 permanent;
Permalink custom?
Per redirect da permalink con soluzioni custom prova il tool delle redirezioni di Yoast.