Menu

af1.it

Scrivo sul mio blog

  | 

Come rimuovere category dagli url di WordPress

3 minuti
aggiornato il

Come rimuovere la dicitura category dagli url di WordPress

Url senza la definizione "category"


Rimuovere category dai permalink di WordPress con una funzione da inserire nel file functions.php del Child Theme.
Non conviene mai toccare i file originali di WordPress e del tema in uso, meglio intervenire nei file del Child Theme per personalizzare e modificare il CMS.

Nei permalink di WordPress è data la possibilità di inserire una parola per definire le categorie; di default è “category”. Nulla vieta di impostare un altro nome, quello che si ritiene più appropriato (prodotti, articoli, etc.).

Rimuovere “category” dai permalink di WordPress può semplificare l'url, o sostituire category con una parola più appropriata.

Non sempre può essere gradita dall'amministratore del sito, personalmente tendo a non eccedere nella lunghezza degli url, quindi sarebbe sostanzialmente, una parola in più, per quanto mi riguarda.

Impostando i permalink è possibile rimuovere la definizione "category" dagli url e sostituirla con il nome specifico che viene attribuito alla categoria, e si avrà un url di questo tipo:

http://www.example.com/nome-della-categoria/link-della-categoria.html

Se invece dovesse essere lasciata la parola "category" potrebbe anche risultare ridondante, di troppo.

Se si andasse a cliccare sulla categoria, senza togliere la parola "category" si avrebbe un url così:

http://www.example.com/category/nome-della-categoria/

Il che per me sarebbe troppo, non sarebbe utile né per l'utente né per il motore di ricerca.
Nell'esempio in oggetto dovrei invece avere:

http://www.example.com/nome-della-categoria/

Questa è una funzione da inserire nel file functions.php nella directory Child Theme.
Questa funzione toglie la parola "category" e forza la presenza del trailing slash:

<?php
add_filter('user_trailingslashit', 'remcat_function');
function remcat_function($link) {
return str_replace("/category/", "/", $link);
}
add_action('init', 'remcat_flush_rules');
function remcat_flush_rules() {
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
add_filter('generate_rewrite_rules', 'remcat_rewrite');
function remcat_rewrite($wp_rewrite) {
$new_rules = array('+(.+)/page/(. )/?' => 'index.php?category_name='.$wp_rewrite->preg_index(1).'&paged='.$wp_rewrite->preg_index(2));
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}
?>

Ricorda che se le pagine del tuo sito che contengono la definizione “category” sono già indicizzate nei motori di ricerca, se intendi toglierla vai a modificare gli url esistenti, e per non creare pagine duplicate devi necessariamente eseguire un redirect 301 dai vecchi url a quelli nuovi.

Questo codice da inserire nel file .htaccess reindirizza i vecchi url che contengono la definizione category verso quelli nuovi.
Esempio:
Da
example.com/category/articoli/
a
example.com/articoli/

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

Dopo ogni modifica eseguita controlla sempre che tutto funzioni correttamente.

Se invece non vuoi eliminare la definizione “category” ma semplicemente modificarla, non devi fare altro che andare nell'area di amministrazione di WordPress, Impostazioni, Permalink e puoi inserire le nuove definizioni da assegnare a tag e category (impostazioni di default).

Dopo avere assegnato le definizioni che preferisci fai clic su Salva le modifiche.

 

                 

 

Felice Amadeo: autore di af1.it

af1.it è mantenuto dalla mia passione.
Se vuoi sostenere af1.it dai il tuo contributo.
PayPal.me af1it

Se qualche articolo ti è piaciuto e vuoi dare un contributo, ti ringrazio.

Tanti anni fa, quando c'erano ancora le lire, un bravo artista di strada, terminata la sua esibizione di giocoliere disse alla folla intorno: se il mio spettacolo vi è piaciuto, dimostratemelo, se non vi è piaciuto scrivetelo su “un deca…”

(un deca, le vecchie 10.000 lire…)
So smile & stay in touch !!!

 

 

af1.it usa cookie tecnici anche di terzi per le statistiche visite e per annunci pubblicitari.
Per sapere come negare il consenso leggi l'informativa estesa.
Cliccando su Va bene, scorrendo la pagina o continuando la navigazione acconsenti all'uso dei cookie.
Leggi informativa estesa

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi