WordPress integra un sistema di gestione dei permalink semplice ed intuitivo, che consente di creare URL semplici e SEO-friendly per le nostre pagine, i nostri archivi ed i nostri post.
Se il tuo sito o blog basato su WordPress ospita numerose categorie con sistemi gerarchici, dunque sottocategorie, potresti avere permalink troppo lunghi e complessi sia nelle pagine archivio delle categorie sia nei singoli post, a seconda della struttura che utilizzi.
Facciamo degli esempi concreti per rendere meglio l’idea. Ipotizza di avere una categoria madre, al suo interno una sottocategoria, che a sua volta ha una sottocategoria, l’indirizzo web della pagina contenente gli articoli dell’ultima sottocategoria sarà:
nomesito.est/categoria-madre/sottocategoria/sottocategoria-2/
E se utilizzi la struttura %category%/%postname% il risultato sarà:
nomesito.est/categoria-madre/sottocategoria/sottocategoria-2/nome-post
Se è vero che un sistema ben strutturato di categorie aiuta a tenere ordinati i contenuti ed migliorare la navigabilità del sito, è anche vero che in certi casi lasciando queste impostazioni si rischia di ottenere permalink esageratamente lunghi, difficili da ricordare e poco SEO-friendly.
Fortunatamente esiste una soluzione facile da implementare, che non richiede neppure l’utilizzo di plugin particolari e pesanti.
Mostrare solo l’ultima sottocategoria nel permalink
Se vuoi che nei permalink del tuo sito o blog venga visualizzata soltanto l’ultima delle categorie puoi aggiungere queste righe di codice in due diversi modi:
- Tramite il plugin personalizzato per inserire funzioni, realizzarlo è molto semplice e porta tantissimi vantaggi. (opzione consigliata).
- Inserendo il codice che segue all’interno del file functions.php del tema in uso (meglio se tema child)
Il codice da inserire è:
add_filter( 'post_link', 'remove_parent_cats_from_link', 10, 3 ); function remove_parent_cats_from_link( $permalink, $post, $leavename ){ $cats = get_the_category( $post->ID ); if ( $cats ) { $category = $cats[0]->slug; if ( $parent = $cats[0]->parent ) { $parentcats = get_category_parents( $parent, false, '/', true ); $permalink = str_replace( $parentcats, '', $permalink ); } } return $permalink; }
In questo modo avrai, nel caso dell’archivio di categoria:
nomesito.est/sottocategoria-2/
E se utilizzi la struttura %category%/%postname% il risultato sarà:
nomesito.est/sottocategoria-2/nome-post
Se ha domande o ti va di dire la tua non esitare e lascia subito un commento, come sempre riceverai risposta in poco tempo.