Come rimuovere la base category slug da una pagina categorica

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
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

Hai un problema con il web?

Il tuo sito internet non vuole funzionare?

Vuoi rinnovarlo o sistemarlo?

Hai un’idea di integrazione ma non sai se è possibile realizzarla o meno?

    Accetto la Privacy Policy
    Autorizzo al trattamento dei miei dati personali, per ricevere le informazioni richieste attraverso questo modulo di contatto. I dati da te inseriti attraverso questo modulo verranno utilizzati solo per essere da me ricontattato.

    Recensioni

    Scrivimi una recensione

    Questo QR Code ti permette di lasciarmi una recensione in maniera facile e veloce.

    Altrimenti qui sotto ti lascio un bottone, con il quale puoi lasciare la recensione direttamente su Google My Business.

    Lascia una recensione su Google