Cerca

Impostare il permalink migliore su WordPress

Permalink migliore per WordPress
Permalink migliore per WordPress

[box type=”info” size=”large” border=”full”]Versione aggiornata e attualizzata di un articolo originale del 20 luglio 2009[/box]

Perché è importante avere permalink ben strutturati?

  1. È amichevole per i visitatori
  2. È utile all’ottimizzazione sui motori di ricerca.

Non necessariamente in quest’ordine, dipende dall’importanza che si da ai propri visitatori ed ai motori di ricerca.
Io nel mio piccolo cerco di dare la giusta importanza ad entrambi, ed ho scelto quello che potrebbe essere definito un compromesso.

Permalink migliore per WordPress

È una scelta ragionata ma pur sempre personale, e possono esserci altre considerazioni da fare.

Il permalink migliore? Dipende…

Parliamo di permalink, che è un termine che va bene per tutto, ma dato che parliamo anche di WordPress, ogni riferimento è per le sue impostazioni dei Permalink.

Se andiamo a guardare quello che scrivono in rete gli esperti SEO, la soluzione migliore per l’ottimizzazione per i motori di ricerca dovrebbe essere una cosa del genere:

/%post_id%-%postname%/

Io per il mio blog preferisco la versione postname. WordPress la chiama “Nome articolo”, ma non è detto che corrispondano. Ma questo lo vediamo più avanti. La trovo più semplice e immediata:

/%postname%/

In certi casi può essere utile anteporre la categoria al postname. Ad esempio in un Ecommerce, dove le categorie potrebbero corrispondere ai settori merceologici, o ad un sito di IT con specifiche categorie di interesse. Alle volte il permalink diventa lungo una quaresima, può non piacere, ma potrebbe essere utile sia al visitatore, per orientarsi, che alla SEO.  Si ottiene così:

/%category%/%postname%/

Altrimenti, se nel blog ci sono più autori a firmare gli articoli, e non stiamo parlando di un WordPress in modalità multisite, si potrebbe valutare anche la soluzione del nome dell’autore prima del postname:

/%author%/%postname%/

Il postname non è il titolo.

Il titolo dell’articolo è importante. Deve essere chiaro al visitatore, e possibilmente utile al motore di ricerca.

La regola SEO non vuole che sia più lungo di 60 caratteri, ma ce n’è abbastanza per essere molto descrittivo. Il permalink troppo lungo non va bene, è brutto e scomodo, meglio perciò togliere tutto il superfluo e lasciare solo il minimo necessario.

Io di solito uso titoli che spero siano utili ai visitatori, se riesco a metterci le keyword che mi interessano per Google bene, ma se questo va a complicare la vita del lettore lo evito. Mentre per i permalink penso più ai motori di ricerca, brevi e con le keyword che mi interessano.

Ecco perché prima ho scritto che titolo e postname non devono essere necessariamente uguali.

Ma il rewrite funziona?

Di solito il rewrite, ovvero quel modulo del server web che permette la riscrittura delle URL, è attivo di default in tutte le installazioni. Qualche anno fa magari no. Se il rewrite non è attivo, o non funziona bene, non funzionano nemmeno i permalink.

Nel caso, rivolgersi (o prendersela) con il proprio fornitore di hosting.

E se un domani vogliamo cambiare i permalink?

Metti che all’inizio abbiamo pensato di mettere la data nei permalink. Dopo qualche centinaio o  migliaio di articoli cambiamo idea, e vogliamo solo il postname. Si può fare?

Sì, i permalink possono essere cambiati in qualsiasi momento.

WordPress è intelligente, il suo motore memorizza tutti questi cambiamenti e risolve sempre i nuovi link.

Fino a qualche aggiornamento fa di WordPress, cambiare i permalink ad un blog avviato, magari con molti articoli, poteva incidere pesantemente sulle prestazioni del sistema. Con la versione 3.3 di WordPress hanno fatto importanti modifiche in questo senso, tanto che non è praticamente più un problema.

Ci dobbiamo solo preoccupare che il passaggio dal vecchio permalink al nuovo avvenga con un codice di risposta 301, che tradotto per gli umani significa che il link è stato definitivamente spostato. È importante per i motori di ricerca, per non perdere l’indicizzazione faticosamente guadagnata.

A questo si può ovviare in due modi:

  1. A manina, intervenendo sul file .htaccess a suon di regole di rewrite ed espressioni regolari.
  2. Grazie ad uno dei tanti immancabili plugin a disposizione: un paio giusto per gradire:

Credo di non aver dimenticato nulla. Tu hai deciso che permalink usare?

Condividi se ti è piaciuto!

Altri articoli che potrebbero interessarti:

Picture of Roberto Rota

Roberto Rota

Libero professionista, un "artigiano del web", lavoro nella comunicazione in rete da quando esiste Internet. Mi occupo principalmente di assistenza su WordPress e assistenza e consulenza WooCommerce, seguo la realizzazione di progetti web, in particolare siti di e-commerce, visibilità e comunicazione in rete. Il mio curriculum è su Linkedin, e mi puoi trovare anche su Instagram, FaceBook e Twitter.

DAI IL TUO CONTRIBUTO

Se il mio lavoro ti è stato di aiuto, contribuisci alla continuità di questo sito.
Basta una piccola donazione su PayPal, una pizza e una birra alla tua salute!

46 risposte

  1. Salve sign. Roberto,
    ho un problema che affligge il sito che curo.
    In particolare quando passo da una categoria ad un’altra o da un prodotto ad un altro spesso e volentieri la pagina rimane su quella precedentemente visitata ma nella barra dell’indirizzo il tutto risulta corretto tant’è che cliccando il pulsante aggiorna del browser mi restituisce la pagina corretta.
    Questo succede da più browser tant’è che in più persone mi hanno comunicato il problema.
    Non mi si presenta invece con la modalità incognito di chrome.
    Da cosa può dipendere?
    Mi può dare gentilmente lumi?
    Grazie mille
    Angelo

      1. Buongiorno Roberto,
        ho ancora problemi con il sito, se si cliccano i link questi risultano non funzionanti, rispediscono sulla stessa pagina caricata inizialmente.
        Mi da una dritta su i tentativi da fare per scovare il problema?
        Può dare una controllata?
        Grazie mille
        Angelo Saponaro

  2. Salve a tutti, scusate se mi accodo alla discussione…
    io avrei necessità di modificare la struttura dei permalink di woocommerce… in pratica da
    /prodotto/%product_cat%
    a
    /%product_cat%
    ma quando salvo mi ritorna sempre la struttura /prodotto/%product_cat%
    Qualche suggerimento?
    Grazie

  3. salve sul mio sito, un piccolo giornale utilizzo wordpress 4.2. All’inizio per gli articoli utilizzavo la formula …/yyyy/mm/dd/post_name poi ho utilizzato la formula senza la data. Quale conviene usare? Devo usare una base per i permalink con le categorie prima del nome del post?

    ciao grazie!

    1. Ciao, ogni sito c’ha i permalink che si merita.

      Mi spiego meglio, io ho un blog senza esigenze particolari, e il solo titolo del post mi va più che bene. La base delle categorie anche qui dipende dal sito, per un blog “argomenti” a mio avviso va più che bene, per un quotidiano di cronaca nera magari no.

      Lo stesso per la data, magari per un sito di news il riferimento cronologico è importante, per un sito di discussioni letterarie invece no.

      È vero che poi c’è anche la SEO da guardare, che alla fine vuol dire link amichevoli, ma la navigazione viene prima.

      rob

  4. Ciao Roberto
    premetto che non so nulla di programmazione, ho iniziato a creare un sito per lo studio http://www.studiocastello.it ho incontrato un problema che non riesco a risolvere e non ho trovato nessuna indicazione in rete: quando scelgo una categoria le pagine me le richiama ma se scelgo gli articoli (corsi,o altro) mi da errore 404.
    Cosa posso fare ?
    Grazie Andrea

    1. Ciao Francesca, a mio parere valgono le stesse considerazioni per i post e le pagine.
      L’unica differenza è l’utilizzo di una base chiara (tipo quella delle categorie per capirci) per differenziare senza possibilità di dubbio lo store dal blog o altre sezioni del sito.

      rob

  5. Ciao, non sono espertissimo anzi… Ti volevo chiedere questo: se riscrivo i permalink per non perdere le pagine indicizzate basta installare il plugin Cardy Redirect Plugin e fa tutto da solo ?… cioè se un visitatore clicca nell’indice di google su un articolo che prima era indicizzato http://www.miosito/p=2393 riesce ad aprire l’articolo http://www.miosito/esempio (se l’ho riscritto così) ? oppure gli da una pagina di errore ?

    1. Momento, il problema sussiste se tu cambi il permalink, tra due tipi basati sul rewrite, ma non c’è se il vecchio link è la richiesta PHP originaria di wordpress senza il rewrite, quei link ai post che finiscono con una roba simile a questa: “?p=12356”

      Questo tipo di link funziona sempre, con o senza il rewrite. Non ha bisogno di essere corretto, viene sempre indirizzato al permalink corretto.

      Spero di essermi spiegato bene 🙂

      rob

      1. Ho fatto il rewrite , ma appena salvo mi bdece che devo modificare il fite htaccess, cosa che non so fare, e non mi apre piu nessuna pagina del sito tranne la home. Come posso fare ….. ? grazie

        1. significa che wordpress non riesce a modificare il file .htaccess che dovrebbe essere nella cartella principale del blog.

          O via FTP cambi i permessi al file, in modo che wordpress possa scriverlo, oppure modifichi il file tu stesso, inserendoci dentro quello che wordpress ti presenta nella finestra di errore.

          rob

  6. Ciao a tutti c’è qualcuno che mi sa dire come inserire un’url esterno originale nel testo di un post visto che il permalink me lo modifica e quindi mi trasforma un collegamento che mi da errore .
    Il link esterno è una queri ad un sito permalink modificando la queri non mi fa più raggiungere il sito esterno

  7. Infatti, pensavo anch’io una cosa del genere. Bisognerebbe lavorare sullo script che genera l’url di categoria. Sai in quale file e in quale cartella si trova per caso?

    Sergio

    1. non conosco worpress così a fondo, anche perché preferisco non mettere le mani nel core ma limitarmi alle funzionalità che posso controllare sul tema, dove di solito c’è un functions.php (o una cartella functions) dove si possono fare tutte le modifiche che si vuole senza paura di devastare l’applicazione.

      mi viene pero’ da pensare che dentro wp-includes ci sia più o meno quello che cerchi.

      rob

  8. Ciao Rob!

    Avrei una curiosità:
    Ho da poco installato l’ultima versione di WordPress. 2.9.2 XXL.
    Ho adottato il permanent link nella versione

    /%category%/%postname%

    E funziona…
    L’inconveniente è nel momento in cui clicchi sul link della categoria corrispondente (esempio news) l’url mi appare in questa versione:

    category/news

    Per evitare l’uso della directory “category” ho provato a usare come base della catagoria un’altra keyword, ma pare che abbia difficoltà a trovare le pagine nel momento in cui riscrive l’url:

    altraurl/news

    Cosa che invece non succede, invece, utilizzando come base “categoria”. Credo possa trattarsi di un baco.

    Mi chiedevo, a questo punto, per baypassare il problema, se fosse possibile omettere nella rescrittura delle url la parola

    “category” utilizzando però sempre la versione:

    /%category%/%postname%

    in maniera da poter avere, per ogni link alla categoria,
    la verione

    /news

    in luogo di category/news

    Ho provato a utilizzare la stessa logica che hai segnala in un precedente post per il caso del “tag”, cioè

    RewriteRule ^/tag/(.+) http://mioblog.com/$1 [R=301,L]

    quindi aggiungendo

    RewriteRule ^/category/(.+) http://mioblog.com/$1 [R=301,L]

    ma non funziona né l’uno né l’altro.

    Come posso risolvere l’inconveniente secondo te?

    Saluti
    Sergio

    1. Ciao Sergio,
      non può funzionare perché non esiste un link che punta a /news (inteso come link di categoria)

      la faccenda si fa più complessa, secondo me bisognerebbe creare una nuova funzione per i link delle categorie che preveda il solo nome della categoria, una volta fatto puoi fare tutti i rewrite che vuoi.

      rob

  9. Per fare invece il rewrite in htaccess dei tag in modo da avere la seguente situazione:

    da
    mioblog.com/tag/pippo

    a
    mioblog.com/pippo

    Sapete come si fa?

  10. Questa è ciò che è scritto in htaccess..

    # BEGIN WordPress

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

    RewriteRule ^/index.php/(.+) http://bareden.sytes.net/$1 [R=301,L]
    # END WordPress

    Penso anche io che possa dipendere dalla configurazione di Apache…
    Però io non ho toccato nulla, ho solo attivato il mod rewrite…. non saprei proprio dove mettere le mani.

    1. Guarda, io ho degli htaccess con decine e decine di regole, quello di tevac supera credo il centinaio di regole abbondanti. Lo stesso apache di tevac gestisce una 10ina di blog in wordpress, e in nessuno ho installato supercache o come diavolo si chiama.

      Chiaro che apache deve essere comunque ottimizzato, la configurazione di default specie su Mac OS X non è il massimo, specie se si utilizza ancora la versione 1.3.x, occorre vedere quanti processi gestisce, come si comporta il sistema quando vengono chiamate le pagine, se il load average si alza molto e altre cosine del genere.

      Insomma non è banale…

  11. Purtroppo dopo avere fatto le modifiche al modulo rewrite, rendendolo attivo, il tempo di caricamento delle pagine è diventato impossibile… ho dovuto rimettere tutto come prima :-((

    1. Non credo sia un problema del rewrite, a meno che tu non abbia scritto male qualche regola, piuttosto qualcosa che non è configurato bene in apache. difficile dirlo pero’ così…

    1. seguirà fattura… 😉

      tieni presente che forse avrai altri permalink da modificare, categorie tags etc, ma basta che fai delle rules ad arte partendo da quella sopra.

      rob

    1. Per quel tipo di URL una cosa del genere nell’htaccess dovrebbe funzionare:

      RewriteRule ^/index.php/(.+) http://bareden.sytes.net/$1 [R=301,L]

      Mettila alla fine dell’htaccess, dopo la parte scritta da wordpress.

      rob

  12. La modifica di AllowOverride è necessaria affinché il rewrite funzioni.

    Ora devi risolvere il problema dei 404 con delle regole di rewrite, ma bisogna sapere la struttura originale, ossia che cosa c’era prima come URL e cosa c’è adesso, molte cose le puoi semplificare con le espressioni regolari.

    C’era anche un plugin che aiutava in questo, proprio per evitare problemi in caso di modifiche ai permalink, ma non me lo ricordo in questo momento…

  13. Grazie Rob….
    SOno uno stupido. Sono andato a vedere nel File httpd.conf ed ho trovato che…
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    # Options FileInfo AuthConfig Limit
    #
    AllowOverride None

    Ho cambiato in…

    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    # Options FileInfo AuthConfig Limit
    #
    AllowOverride All

    Ora mi permette di togliere index.php

    Ora il problema è che nell’archivio dei motori di ricerca c’è un’altra URL.
    Quindi usciranno fuori una catastrofe di errori 404.

    Quella regoletta che hai scritto sopra io non l’ho capita…. bada bene, son io che sono scarfso in queste cose….
    Cosa dovrei scrivere esattamente per ovviare a questo problema?
    Il mio htaccess è questo…

    # BEGIN WordPress

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

    # END WordPress

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.