La struttura dei permalink in WordPress
venerdì 11 aprile 2008Post dedicato a WordPress e ai permalink oggi.
Di solito quando attiviamo il mod_rewrite sul nostro blog wordpress appena installato viviamo tutti un attimo di panico: qual è la migliore struttura per gli url del nostro blog? Nella maggior parte dei casi non tocchiamo niente e lasciamo fare a WordPress...
... e ci ritroviamo quindi con un URL come questa:
http://www.napolux.com/2008/04/08/aaa-cercasi-blog-editor/
Composta quindi in questo modo:
- URL
- Anno
- Mese
- Giorno
- Titolo del post
Guardatevi attorno: gran parte dei blog che leggete basati su WordPress (e non) usa questa struttura per i propri URL.
E' una struttura corretta (permette di capire agevolmente quando è stato scritto un post e contiene all'interno il titolo del post) ma non è la migliore né dal punto di vista SEO né permette di capire al volo di che categoria faccia parte il post.
Tornando all'esempio precedente strutture dei permalink migliori possono essere:
http://www.napolux.com/apple/aaa-cercasi-blog-editor/
Oppure
http://www.napolux.com/aaa-cercasi-blog-editor/
Nel primo è indicata chiaramente la categoria di appartenenza del post (facilita la comprensione e "rende" lato SEO) mentre la seconda riporta solo il titolo del post.
Ok, qualcuno adesso starà pensando: "In effetti la struttura URL con solo il titolo è meglio per i miei post, ma come faccio a passare?"
Il passaggio si compone di 2 fasi:
- Aggiornamento struttura permalink
- Redirect 301 dei vecchi URL
Per quel che riguarda la prima fase basta aggiornare le opzioni dal pannello di amministrazione di WordPress.
Il "redirect 301" invece indicherà ai motori di ricerca che le pagine hanno cambiato indirizzo e permetterà a chi aveva salvato nei suoi bookmark una delle vostre pagine di venir traghettato sul nuovo indirizzo senza troppi problemi.
ESEMPIO:
Poniamo appunto che si voglia passare ad un url come:
http://www.napolux.com/aaa-cercasi-blog-editor/
Aggiorniamo la struttura permalink impostando nel campo personalizzato:
/%postname%/
E aggiungiamo al nostro file .htaccess (dopo averne fatto un backup) la seguente riga:
RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ http://www.dominio.it/$4
Se avete fatto tutto per bene ora dovreste ritrovarvi con i post che hanno cambiato indirizzo e i vecchi link che vengono reindirizzati a quelli nuovi: tempo qualche giorno e anche Google si dimenticherà dei link vecchi...
Sbagliato qualcosa? Recuperate il backup del file .htaccess e ributtatelo sull'FTP, rimettendo poi dal pannello di WP la vecchia struttura permalink: basta non farsi prendere dal panico se si legge sullo schermo "Internal Server Error".
[tags]wordpress,mod_rewrite,permalink[/tags]
In alternativa puoi abbonarti alla newsletter, riceverai un'email ogni volta che verrà pubblicato un nuovo post. Il tuo indirizzo email sarà gestito da Feedburner.












11 aprile 2008 alle 12:51
In effetti anch’io uso http://host/anno/mese/giorno/titolo e categoria/titolo mi sembra interessante. Mi chiedo però una cosa: visto che un post può appartenere a più categorie, come si comporta wordpress? Quale categoria gli assegna nell’url?
Lo chiedo per pigrizia, visto che non ho voglia di smanettare e mandare in vacca tutto
11 aprile 2008 alle 12:55
Sai che non lo so? Per 10 min. l’ho messo su questo blog tempo fa, ma non ho fatto caso a come si comportava nel caso che descrivi tu.
A rigor di logica dovrebbe funzionare con entrambe (o più) categorie, ma non ci metterei la mano sul fuoco.
Tanto quando finisco il template nuovo passo a quel tipo di visualizzazione. Da lì poi vediamo come si comporta
11 aprile 2008 alle 13:00
Buono a sapersi, vedremo come si comporterà. Se però funzionasse con tutte le categorie a cui il post appartiene, mi chiedo come la prenderebbe Google, vedendo tanti URL diversi puntare allo stesso contenuto. Boh, si vedrà anche questo.
11 aprile 2008 alle 13:07
e per i titoli duplicati?
E’ possibile che vada a scrivere nell’arco di due anni lo stesso titolo … che succede?
alla categoria aggiungerei anche una connotazione temporale, forse l’url diventa un po’ lungo ma è sicuramente meno probabile che scriva uno stesso titolo lo stesso giorno dello stesso mese
11 aprile 2008 alle 13:10
@YouON
Per i titoli duplicati ti so già rispondere, mi è capitato: WordPress aggiunge in automatico un numero al permalink… Lo fa anche con la struttura che c’è in questo momento
Esempio:
http://www.napolux.com/2008/04/11/la-struttura-dei-permalink-in-wordpress-2/
11 aprile 2008 alle 13:22
La migliore al mio modo di vedere resta questa (che poi uso sempre io)
/%category%/%post_id%/%postname%
Non si corre il rischio dei post con il medesimo nome all’interno della stessa categoria ed è ottima per i seo
11 aprile 2008 alle 13:25
come sempre molto utile!!! l’ho già segnato tra i miei preferiti appena ho un pò di tempo sistemo anche questa cosa… thx!
11 aprile 2008 alle 13:25
@Massimiliano
Non male questa. Quasi quasi… Grazie per l’ottimo consiglio!!!
11 aprile 2008 alle 13:39
WP è sempre un grande, allora fantastico come metodo. Stavo pesando di cambiarli ma dubitavo sul fatto che Google capisse bene il cambiamento.
11 aprile 2008 alle 14:16
Ottimo How-To, tale da farmi ricordare che .htaccess sul mio blog non lo avevo ancora configurato decentemente
11 aprile 2008 alle 15:02
Io uso da sempre /%year%-%monthnum%-%day%/%postname%/ che crea solo una sotto-dir per giornata e non fa diventare il link “profondo” più di tanto per i motori di ricerca.
Sinceramente far vedere il post-id non mi piace. E’ un tecnicismo che mi piace rendere invisibile…
Ciao,
Emanuele
11 aprile 2008 alle 15:27
Ottimo post! Io ho messo solo il nome del post…
11 aprile 2008 alle 15:32
io ho cambiato da poco la struttura dei miei permalinks.
avevo il classico mese/anno/post e adesso ho cambiato in categoria/post
non c’è il rischio di avere due post con titolo identico perchè wordpress fa un controllo sugli slug e se gli affibbi più categorie, wordpress ne sceglie una in automatico (non so dirvi in base a quale criterio…)
11 aprile 2008 alle 19:47
Ciao! ottimo post ma credo di non aver capito o, forse, quello che dici non si adatta al mio caso.
Io ho una stuttura /anno/titolo_del post.
Come devo configurare l’hattacces
12 aprile 2008 alle 00:19
Se non sbaglio, per il redirect 301, esiste anche un comodo plugin di wp.
12 aprile 2008 alle 07:43
Ecco, ci sono due cose che andrebbero migliorate dei permalink di WP: la prima riguarda la ricerca (è una “lamentela” annosa quella che riguarda il pessimo
?s=) e la seconda la “traduzione”: se si possono personalizzare la base di categorie e tag, resta difficile farlo per feed/archivi/etc., che restano inevitabilmente in inglese…12 aprile 2008 alle 12:15
Faccio finta di aver capito e di aver colto il suggerimento, poi mi allontano con un sorriso di circostanza e telefono a qualche smanettone per aiutarmi a correggere tutto.
12 aprile 2008 alle 12:18
@Luca Togni
Vado a controllare!
@Federico Moretti
Per il ?s= si risolve facilmente. Prova a guardare qui, se l’hanno fatto loro lo possiamo fare pure noi
Per l’inglese è una cosa che dispiace anche a me non poter tradurre…
12 aprile 2008 alle 13:49
[...] Napolux spiega la struttura dei permalinks in WordPress [...]
12 aprile 2008 alle 17:49
Ottimo articolo .. appena registrato tra i miei bookmark online
http://segnalo.alice.it/Francesco
14 aprile 2008 alle 01:19
È possibile omettere l’ultimo slash
/%postname%… risparmiando un carattere
Rispondendo invece a chi ha proposto di inserire il postid