Cambiare la struttura dei permalink in WordPress, plugin Advanced Permalinks

Cambiare la struttura dei permalink in WordPress, plugin Advanced PermalinksIl permalink è l’indirizzo univoco che viene assegnato ad ogni singolo post, pagina, categoria, tag e attachments. Per struttura dei permalink intendo dire come è composto il permalink, ad esempio /categoria/nome-post/ oppure /anno/mese/nome-post/ e così via. Non sembra ma la struttura di un permalink è davvero importante in ottica SEO, ovvero per l’ottimizzazione per i motori di ricerca.
Di default WordPress 3.2.1 utilizza la seguente struttura: /anno/mese/giorno/nome-post/ , struttura non molto intelligente (se non necessaria) considerando il fatto che Google dà più importanza ai termini vicini all’inizio dell’URL, per non parlare del fatto che è l’utente si accorge immediatamente se il post è vecchio (e quanto e vecchio), quindi conviene tirare via un po’ di roba.
Ti mostrerò come cambiare la struttura dei post senza perdere il posizionamento nei motori di ricerca dei vecchi post!

Cambiare la struttura dei permalink

Per cambiare la struttura dei permalink in WordPress basta andare in Impostazioni > Permalink e qui scegliere quella desiderata.
Puoi usare vari parametri come:

  • %postname%   – equivale al titolo del post
  • %postname%.html  – equivale al titolo del post con estensione .html, solitamente è utilizzato da chi aveva un blog su blogger.
  • %post_id%       – equivale al ID del post
  • %year%           – equivale all’anno in cui è stato scritto il post
  • %monthnum%  – equivale al mese in cui è stato scritto il post
  • %day%            – equivale al giorno in cui è stato scritto il post
  • %category%     – equivale alla categoria assegnata al post (nel caso di più categorie assegnate, ne viene scelta solo una)

Poi li concateni tra di loro formando la struttura voluta, separando i parametri con lo ‘/’ e impostando come primo e ultimo carattere sempre uno ‘/’.
Ecco come ti suggerisco di impostare la struttura dei tuoi permalink:

/%category%/%postname%/

In questo modo viene mostrata la categoria associata al post ed il titolo del post stesso, senza aggiungere altri termini che allungherebbero inutilmente il permalink.
Un esempio pratico, se nel mio blog avessi la struttura sopra indicata e scrivessi un post dal titolo ‘post-di-prova’ nella categoria ‘wordpress’, otterrei questa URL:

https://www.robertoiacono.it/wordpress/post-di-prova/

ATTENZIONE: nei commenti mi hanno fatto notare che cambiando la struttura del permalink, perderai tutti i “mi piace” che sono stati fatti sui vari post, questo perchè facebook mantiene nei suoi database l’URL della pagina con le varie informazioni tipo i mi piace in una riga (entry), se cambi permalink (quindi URL), facebook creerà una nuova entry e partirai da zero mi piace. Se ritornerai alla vecchia struttura, ricompariranno tutti i mi piace.

Non perdere il posizionamento grazie a Advanced Permalinks

Se hai già scritto vari post prima del cambio della struttura e questi sono già stati indicizzati dai motori di ricerca, è buona norma non perdere il posizionamento acquisito, impostando un redirect 301 dalla vecchia struttura a quella nuova, come? Grazie al plugin Advanced Permalinks, davvero molto semplice da utilizzare.
Installa il plugin, ora in Impostazioni > Permalink è comparso un menù:

menu advanced permalinkClicca su Migration e inserisci la vecchia struttura del blog, nell’esempio la vecchia struttura è /%year%/%monthnum%/%day%/%postname%/ , poi premi il pulsante Add.
Ora che hai aggiunto la vecchia struttura, tutti i post precedentemente creati avranno la nuova struttura e in più non avranno perso il posizionamento nei motori di ricerca, complimenti!

Una funzione molto interessante è che cliccando su Posts, puoi assegnare una struttura solo ad un range di post (basandosi sull’ID del post).

Buon redirect automatico a tutti!

VUOI CREARE IL TUO SITO O BLOG WORDPRESS?

Scegli uno tra i migliori hosting per WordPress

HOSTING

Scegli uno tra i migliori hosting per WordPress

Hosting

Scegli uno tra i migliori temi WordPress professionali

GRAFICA

Scegli uno tra i migliori temi WordPress professionali

Grafica

Guide e risorse per gestire il sito WordPress a 360°

GESTIONE

Guide e risorse per gestire il sito WordPress a 360°

Gestione
  
con le dita sempre in costante, frenetico movimento sulla tastiera… vengo spesso trascinato e catturato “in rete” per colpa delle mille idee che mi girano per la testa (prima o poi troverò quella giusta)… dal futuro incerto (nonostante una laurea, e chi non lo è?..siamo in tanti!) .. credo fortemente nella condivisione della conoscenza!
58 Commenti
  • Sei un mito Roberto! GRANDE!

    • 🙂

  • Ecco un plugin che non avevo provato al cambio dei miei permalink…grazie mille Roberto, a breve cambierò il tutto 😉

  • Ciao Roberto, dopo averlo installato,la navigazione verso gli articoli più vecchi (in basso a sinistra sulla home page), restituisce una pagina bianca. Hai idea di come mai?

    • Ma te il plugin lo installi e basta oppure provi a modificare la struttura del permalink? Nel secondo caso, probabilmente è un errore del permalink, che è cambiato. Ora è mattewsblog.com/page/2/

      • Ciao, no ovviamente cambio anche il permalink. Ora è disabilitato perchè altrimenti le older entries non si riescono a vedere. Se vuoi te lo abilito e vedi che effetto che fa…
        Anche le categorie, cliccandoci sopra, restituiscono un 404…ho cambiato da anno/mese/giorno/titolo al nuovo /titolo…

        • Dovresti segnarti il link attuale della pagina 2 e delle categorie, poi cambi struttura e confronti i nuovi link con i vecchi… così capisci se è un errore di permalink e dove è.
          Controlla anche di fare il redirect della vecchia struttura verso la nuova!

          • Purtroppo, ho dovuto risolvere in altra maniera…esportando solo i post con i relativi commenti, e reinstallando da zero il blog…nel male, è andata bene che almeno ho mantenuto gli scritti..grazie comunque Roberto!

          • Pazzo 😉

  • Ciao e grazie per la dritta.
    Tuttavia notavo che una volta cambiato il tipo di permalinks, perdo tutti i MI PIACE e i commenti facebook ai vari articoli. Qualcuno mi può spiegare perchè e se c’è un modo per recuperarli?

    P.s. se riattivo la vecchia struttura permalinks, i MI PIACE e i COMMENTI tornano.

    Grazie.
    Alex.

    • Purtroppo che sappia io non c’è modo di mantenerli. Fb mantiene nei suoi database l’URL della pagina con le varie informazioni tipo mi piace ecc in una riga (entry), se cambi permalink (quindi URL), Fb creerà una nuova entry e partirai da zero.

  • Possibile che non abbia Permalink in Impostazioni?
    non c’è proprio… che fare quindi?
    Grazie Roberto!

    • Se hai WordPress installato su un tuo dominio, direi di no! Hai un tuo dominio oppure usi wordpress.com?

      • eh, niente dominio…

        • e allora niente… mi dispiace

          • Regalo per le Feste.
            modifica permalink in worpress senza dominio proprio: una volta inserito il titolo dell’articolo sotto ad esso compare il permalink con possibilità di modifica!

            Auguri a tutti!

            Federica

          • Grande Federica! Ottimo e prezioso suggerimento! (solamente che bisognerà modificarli tutti a mano, però meglio che niente!)

  • Ciao Roberto,
    ho seguito tutte le indicazioni e sembra che tutto sia andato a posto. Anche le categorie e i tag. L’unica parte dove mi ritrovo con un errore 404 è sulla Pagine statiche…

    La nuova struttura è /%post_id%/%postname%. Mi aiuti a capire l’errore?

    intanto Buon Natale e Buone Feste 🙂

    • prova a vedere il permalink delle pagine statiche prima e dopo le tue modifiche, così capirai cosa genera l’errore

      • Questa mattina, prima del grande pranzo di natale, ho risolto il problema. Ti spiego bene:

        Attivando Advanced Permalink e seguendo le istruzioni tutti i post venivano sistemati con la nuova struttura e i redirect funzionavano bene. Il problema è che questo plugin (a me lo ha fatto, lavoro su wordpress 3.3) modifica il permalink anche delle pagine statiche e facendo una ricerca ho scoperto che quest’ultimo non può esser modificato per natura di wp: di sonseguenza non visualizzava il post_id e non faceva il redirect

        Successivamente sono andato alla ricerca della soluzione e mi sono imbattuto in Deans Permalink migration che funziona in maniera uguale ad Advanced permalink: ho provato questo e ho avuto il problema all’opposto: le pagine statiche rimanevano così come erano e i post davano l’errore 404 (questo secondo plugin è parecchio vecchio e non viene aggionato da tempo)

        Continuando le ricerche ho trovato la souzione: Cardy Redirect Plugin: è stato sviluppato da poco da un programmatore italiano ed è funzionale al 100%
        Una volta aggiunto ed attivato basta cambiare la struttura del permalink e non bisogna nemmeno indicare quella precedente per i post già pubblicati: il redirect lo fa in automautico

        Sia chiaro che lascio questi dati non per fare pubblicità gratuita, ma semplicemente per completezza d’informazione nel caso qualcun’altro ha avuto o avrà probemi simili ai miei

        Ti ringrazio come sempre Roberto, anche se o risolto diversamente, i tuoi spunti mi sono stati ancora una volta utilissimi.

        • Ti ringrazio per quello che hai suggerito agli utenti! Davvero un suggerimento prezioso, ti ringrazio anche da parte loro 🙂

  • Grazie, ma che fare se invece non voglio modificare la struttura ma solo le categorie associate a una serie di articoli?

    Ti faccio un esempio. Ho il sito Mio.it e ho alcuni post associati sia alla categoria madre Musica sia alla sottocategoria Musica Classica. Ecco come mi appare ora l’url di un post:
    mio.it/musica/migliori-colonne-sonore-2011

    Io vorrei togliere la spunta alla categoria madre e fare in modo che il post appaia solo nella pagina della sottocategoria, perché nella prima pagina voglio mettere solo un indice alle sottocategorie e qualche altro contenuto statico. Ma facenedo una prova mi sono accorta che non succede questo, il post rimane in entrambe le pagine, sia in quella della categoria madre che in quella della sottocategoria. L’url diventa (e mi andrebbe pure bene se poi sapessi come non perdere la passata indicizzazione):
    mio.it/musica/musica-classica/migliori-colonne-sonore-2011

    Che fare? Grazie per qualsiasi aiuto vogliate darmi!

    • Ciao Francoise,
      i post di una sottocategoria sono visibile anche nella categoria stessa, anche se tiri via la spunta dalla categoria madre. Quindi da quello che ho capito, dovresti creare un layout statico per la pagina e quindi non ti si pone il problema. Come fare il layout statico? Il primo metodo è modificare a mano il codice html (ma te lo sconsiglio se non ci capisci motlo), l’altro è semplicemente non eliminare la categoria (per non dover fare il redirect di tutti i post delle sottocategorie), creare una pagina statica con il nome della categoria ma con URL diverso (tipo: musica-indice). Così però la categoria rimane visibile ed accessibile, quindi puoi effettuare un redirect 301 dall’url della categoria alla nuova pagina (se hai voglia, così la categoria non sarà più accessibile e porterà direttamente alla pagina).
      Quindi ora avrai la pagina: mio.it/musica-indice/
      il post: mio.it/musica/musica-classica/migliori-colonne-sonore-2011
      Corretto?

  • Grazie Roberto, non sono sicura di aver capito tutto, scusa… Ricapitolo facendoti altre domande. Se ti sto chiedendo troppo tempo non ti preoccupare e grazie lo stesso:)

    Vorrei evitare di creare pagine in più, per non “sporcare” la struttura del sito. Non c’è modo di evitare che i post finiscano nella categoria madre? Agendo sull’html, si potrebbe? Perché ho un’amica che alle volte si occupa di queste cose più tecniche, di html ne mastica un po’ ma le dovrei dare indicazioni più precise.

    Il redirect si “nota”? Dal punto di vista visivo o temporale intendo, per il lettore ovviamente. Insomma, controindicazioni di qualche tipo?

    Controindicazioni per l’indicizzazione?

    Ciao!

    • Ottimo, direi di sfruttare un po’ la tua amica 🙂 Potresti escludere la categorie dalla visualizzazione dei post, guarda questo articolo per capire.

      Per il redirect è del tutto trasparente, nessuno vedrà niente e non influenza praticamente di niente sul tempo di caricamento della pagina.

  • Grazie!!! Ho preso appunti, ma ci metteremo sulla cosa con la mia amica santa tra un paio di settimane, quindi non stupirti troppo se dovessi tornare qui un giorno;) Ciao!

    • Certo 🙂 io non scappo 🙂 ci risentiamo più avanti allora

  • Grande! Mi hai risolto un enorme problema 🙂

  • Salve, ho installato il plugin ma non ha effettuato il redirect con l’ultima versione di WordPress. Su una precedente versione di wp in un blog di prova ha invece funzionato. I motivi sono 2: o è la versione di wordpress oppure perchè la vecchia url era postname.html. Che ne pensate? L’ho disattivato ed ora penso che mi ritroverò una marea d’errori in webmaster tool 🙁

    • Io con la 3.3.1 non ho problemi, probabilmente c’è un errore da qualche parte… prova a reinstallarlo.

  • CIao, ho scaricato Permalink Redirect e funziona alla grande.

    Vorrei capire una cosa: in precedenza quando ho installato quello consigliato da voi, ho cambiato il permalink. Dopo aver verificato che il redirect non c’era, ho rimesso il vecchio permalink. Potrebbe esserci qualche penalizzazione o comunque ciò cosa comporta? Lo spider se ne accorge subito?

    • No, se non hai fatto passare un giorno direi che non ci dovrebbe essere nessun problema. Al massimo lo spider può aver trovato una sola volta il redirect sbagliato, poi quando è passato per ricontrollare ha trovato quello corretto…

  • Peccato che il redirect che fa quel plugin è 302 e non 301…. Menomale che ho controllato con il checker!

    • Roberto Iacono

      Ciao Fabio,
      sei sicuro? Perchè anche nella pagina ufficiale del plugin c’è scritto che viene fatto un redirect 301.

  • ciao Roberto,
    io aveva il permalink di default e cambiandolo non mi reindirizzano più le pagine dei post. Non mi interessa mantenere i motori di ricerca ma vorrei cambiare il permalink così al posto dei numeri avrei il nome del post. Come posso fare?

    • Roberto Iacono

      Ciao Luca, leggi qua: https://www.robertoiacono.it/cambiare-la-struttura-dei-permalink-in-wordpress-plugin-advanced-permalinks/

  • ciao, io devo cambiare da:

    /%post_id%-%postname%.html

    a

    %postname%.html

    Però non me lo cambia… Ho seguito tutti i passaggi… Che faccio ?

    • Roberto Iacono

      Ciao Marco, cosa vuol dire non me lo cambia, che problemi ti dà?

      • ciao, niente, ora funziona !!! mi ha cambiato tutti i link indicizzati su google. Grazie.

  • Ciao Roberto, ho rpovato ma mi viene fuori questo: “Se il tuo file .htaccess fosse scrivibile potremmo aggiornarlo automaticamente, ma poiché non lo è queste sono le regole di mod_rewrite che si dovranno inserire nel file .htaccess manualmente. Fare clic su questo campo e premere CTRL + a per selezionarle tutte.”

    • Roberto Iacono

      Ok, allora puoi o rendere scrivibile il file .htaccess solo per queste operazioni e poi lo riporti con gli attuali permessi oppure inserire a mano quei codici. Il file .htaccess si trova nella root di WordPress (dove hai wp-config.php per capirci), devi accedere via FTP al tuo spazio web. Se non puoi, contatta la tua assistenza.

  • Sarebbe l’ideale ma come posso renderlo scrivibile. L’FTP lo gestico diettamente io con Filezilla.

    • Roberto Iacono

      Esatto, clicca col tasto destro > permessi

  • purtroppo non lo trovo, è possibile che dabba chiedere all’assistenza hosting?

  • non lo vedo nemmeno com file nascosto.Devo crearne uno? come mi suggerisce wordpress?
    oppure salvo i post e ricreo tutto il sito da zero con il permalink giusto?

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    • Roberto Iacono

      Ciao Luca,
      se non lo trovi, magari il sever non supporta questo file (solitamente sono i server Apache che lo suppotano, te cosa usi, lo sai?).

      In ogni caso, contatta l’assistenza. Se il server non gestisce questo tipo di file, dimmi che tipo di server hai e cerco una soluzione 🙂

  • Ciao Roberto,
    usano apache 2
    grazie!

    • Roberto Iacono

      Apache supporta il mod_rewrite e il file .htaccess, quindi crealo a mano te come ti suggerisce WP.

  • Quindi creo un file di testo e lo chiamo .htaccess e ci copio dentro quello che mi dice wp?

  • Scusa Roberto, so di essere il tuo incubo. Ho creato il file .htaccess.txt ma non funziona, ho provato a togliere il .txt ma a quel punto non riesco nemmeno ad accedere al server una volta che l’ho inserito nella root. Cosa sto sbagliando?

    • Roberto Iacono

      Ciao Luca, ecco perchè non dormo più la notte 😉

      Il file non ha bisogno di nessuna estensione, è solo .htaccess .
      Crea il file vuoto senza estensione. Lo carichi e non dovrebbe succedere nulla. Poi aggiungi il codice, lo ricarichi e sovrascrivi il file. A questo punto, se ti dà errore, è il codice che non va bene.

  • Ho inserito il file senza estensione e vuoto ma mi crea già un errore di server interno. enon si vede niente! mi sto demoralizzando…..

    • Roberto Iacono

      Hai inserito il file vuoto e ti ha dato problemi? Allora contatta l’assistenza, non è mica normale 🙂

  • Ciao Roberto,
    alla fine ce l’ho fatta! Ti chiedo un ultima cortesia perchè una volta cambiato il permalink mi viene fuori un problema con le category. Se provi a vedere sul mio sito quando entro in una categoria del footer navigator mi esce miosito.it/category/nome-categoria/ e mi da errore. Se però cambio e metto miosito.it/nome-categoria/ allora funziona tutto. In pratica dovrei togliere “category/” sai come posso fare?
    Grazie e scusa ancora per il disturbo

    • Roberto Iacono

      Ottimo Luca 🙂 se puoi, scrivi come hai fatto…

      Hai cambiato tla struttura del permalink o sbaglio? Non vedo neanche il footer navigator.

      Per eliminare category/, puoi usare WordPress SEO (c’è l’opzione), oppure leggi https://www.robertoiacono.it/eliminare-category-dallurl-di-wordpress-tramite-plugin-e-vantaggioso/

  • Allora, il problema principale era la creazione del file .htaccess . Io lo creavo con textedit (uso mac) e poi lo portavo sul server ma risultava sempre .rtf quindi modificavo l’estensione direttamente da filezilla. Ho risolto creando il file .htaccess come txt e tutto è andato ok.
    Mi restava il problema del /category che ho risolto grazie al tuo ultimo post.
    Grazie mille, non so come ringraziarti…anzi lo so e provvedo entro la prox settimana!!!
    Mi hai aiutato veramente tantissimo!

    Luca