Come rimuovere la base category slug da una pagina categorica
Ogni volta lo stesso dilemma.
Le istruzioni SEO per gli Ecommerce sono sempre quelle: togliere l’url di base che Woocommerce fa apparire negli url delle pagine di categoria prodotto.
E non sempre i plugin o i modi “classici” funzionano.
A seconda dei plugin che sono stati usati o come sono stati impostati è necessario seguire delle regole per poter rimuovere questo orpello che Woocommerce attacca ai permalink da sempre.
Se si esegue una ricerca in internet, molti dicono di mettere un punto

Come Rimuovere La Base Category Slug Da Una Pagina Categorica
tra i permalink della Base categoria prodotto.
Ma quasi mai funziona.
Almeno da solo.
Dopo aver inserito il punto ho aggiunto anche questo script in funcions.php
add_filter('request', function( $vars ) {
global $wpdb;
if( ! empty( $vars['pagename'] ) || ! empty( $vars['category_name'] ) || ! empty( $vars['name'] ) || ! empty( $vars['attachment'] ) ) {
$slug = ! empty( $vars['pagename'] ) ? $vars['pagename'] : ( ! empty( $vars['name'] ) ? $vars['name'] : ( !empty( $vars['category_name'] ) ? $vars['category_name'] : $vars['attachment'] ) );
$exists = $wpdb->get_var( $wpdb->prepare( "SELECT t.term_id FROM $wpdb->terms t LEFT JOIN $wpdb->term_taxonomy tt ON tt.term_id = t.term_id WHERE tt.taxonomy = 'product_cat' AND t.slug = %s" ,array( $slug )));
if( $exists ){
$old_vars = $vars;
$vars = array('product_cat' => $slug );
if ( !empty( $old_vars['paged'] ) || !empty( $old_vars['page'] ) )
$vars['paged'] = ! empty( $old_vars['paged'] ) ? $old_vars['paged'] : $old_vars['page'];
if ( !empty( $old_vars['orderby'] ) )
$vars['orderby'] = $old_vars['orderby'];
if ( !empty( $old_vars['order'] ) )
$vars['order'] = $old_vars['order'];
}
}
return $vars;
});
E a volte funziona…
Altre invece funziona questo…
add_filter('term_link', 'term_link_filter', 10, 3);
function term_link_filter( $url, $term, $taxonomy ) {
$url=str_replace("/./","/",$url);
return $url;
}
Spero che prima o poi gli sviluppatori di Woocommerce si accorgano che product-category base slug è praticamente inutile lato SEO e facciano in modo di poterlo togliere più agevolmente.
Come detto sopra non è sempre detto che i due script qui sopra diano un risultato positivo.
Vanno testati nel tuo progetto, per poter essere sicuri che funzioni.
Se hai bisogno di una mano nel progetto che stai sviluppando, chiedimi consiglio




















Lascia un Commento
Vuoi partecipare alla discussione?Sentitevi liberi di contribuire!