Rimuovere /product/ e /product-category/ dagli URL Woocommerce
01/07/25
4 minuti

Rimuovere /product/ e /product-category/ dagli URL Woocommerce

Per impostazione predefinita, WooCommerce aggiunge slug tecnici come /product/ e /product-category/ agli URL dei prodotti e delle categorie.
Ad esempio:

  • www.miosito.it/product/t-shirt-nera
  • www.miosito.it/product-category/abbigliamento

Anche se questi slug sono funzionali per WordPress, possono risultare poco leggibili e meno ottimizzati in ottica SEO.

Fortunatamente, esistono metodi sicuri per rimuoverli e rendere gli URL più puliti e diretti, come:

  • www.miosito.it/t-shirt-nera
  • www.miosito.it/abbigliamento

In questa guida ti mostro come eliminare /product/ e /product-category/ dagli URL di WooCommerce in modo efficace, senza compromettere la struttura del sito o creare errori 404.

Perché rimuovere gli slug /product/ e /product-category/

Gli slug predefiniti come /product/ e /product-category/ vengono utilizzati da WooCommerce per identificare il tipo di contenuto e mantenere ordine nelle URL.

Tuttavia, in molti casi possono rappresentare un limite per l’ottimizzazione SEO e per la pulizia degli indirizzi.

Ecco perché conviene rimuoverli:

  • SEO-friendly: URL più corti e puliti sono più leggibili per Google e per l’utente
  • Branding: gli URL semplici comunicano più autorevolezza e professionalità
  • Migliore UX: gli utenti ricordano più facilmente URL brevi
  • Perfetti per siti multilingua o internazionali, dove gli slug tecnici possono confondere

Gli slug tecnici sono spesso inutili agli occhi dell’utente e possono ridurre il CTR nei motori di ricerca.

Come rimuovere /product-category/ e /product/ dagli URL in WooCommerce

Passaggio 1

WooCommerce ti permette di farlo direttamente dalle Impostazioni di WordPress, senza codice.

  1. Vai su Impostazioni > Permalink
  2. Scorri in basso alla sezione Base categoria prodotto
  3. Nel campo Base categoria prodotto, inserisci un semplice punto: .
  4. Salva le modifiche
Rimuovere /product-category/ dalle categorie prodotto

Passaggio 2

Per questo, serve invece uno snippet PHP da inserire nel file functions.php del tuo tema child o in un plugin personalizzato.
Questo codice fa tre cose fondamentali:

// 1. Rimuove "/product/" dagli URL generati per i prodotti WooCommerce
add_filter('post_type_link', function ($post_link, $post, $leavename) {
    if ('product' === $post->post_type && 'publish' === $post->post_status) {
        $post_link = str_replace('/product/', '/', $post_link);
    }
    return $post_link;
}, 10, 3);

// 2. Permette la risoluzione di prodotti senza /product/ nello slug
add_action('pre_get_posts', function ($query) {
    if (
        ! $query->is_main_query() ||
        ( count( $query->query ) !== 2 ) ||
        ! isset( $query->query['page'] )
    ) {
        return;
    }

    if ( ! empty( $query->query['name'] ) ) {
        $query->set( 'post_type', array( 'post', 'product', 'page' ) );
    } elseif ( ! empty( $query->query['pagename'] ) && false === strpos( $query->query['pagename'], '/' ) ) {
        $query->set( 'post_type', array( 'post', 'product', 'page' ) );
        $query->set( 'name', $query->query['pagename'] );
    }
}, 99);

// 3. Rimuove "/categoria-prodotto/" dagli URL delle categorie prodotto (supporta multilivello)
add_filter('request', function ($vars) {
    global $wpdb;

    $uri = trim($_SERVER['REQUEST_URI'], '/');
    $exclude = ['shop', 'cart', 'checkout', 'my-account', 'blog', 'privacy-policy'];
    $uri_parts = explode('/', $uri);

    if (!empty($uri_parts[0]) && !in_array($uri_parts[0], $exclude)) {
        $slug_path = implode('/', $uri_parts);
        do {
            $cat = get_term_by('slug', $slug_path, 'product_cat');
            if ($cat) {
                $vars = ['product_cat' => $cat->slug];
                if (!empty($_GET['paged'])) $vars['paged'] = $_GET['paged'];
                if (!empty($_GET['orderby'])) $vars['orderby'] = $_GET['orderby'];
                if (!empty($_GET['order'])) $vars['order'] = $_GET['order'];
                return $vars;
            }
            $uri_parts = array_slice($uri_parts, 1);
            $slug_path = implode('/', $uri_parts);
        } while (count($uri_parts) > 0);
    }
    return $vars;
});

Passaggio 3: Rigenerare i permalink

Dopo aver salvato il codice:

  1. Vai su Impostazioni > Permalink
  2. Clicca su “Salva le modifiche” (anche senza cambiare nulla)
  3. Verifica che gli URL dei prodotti e delle categorie non contengano più /product/ o /product-category/

Conclusione

Pulire gli URL del tuo WooCommerce rimuovendo gli slug predefiniti come /product/ e /product-category/ non è solo una questione estetica:
è una scelta strategica per ottimizzare l’indicizzazione, semplificare la navigazione e rafforzare l’identità del tuo eCommerce.

Con la giusta combinazione tra impostazioni e codice personalizzato, puoi ottenere URL chiari, brevi e SEO-friendly in pochi minuti.

Hai bisogno di aiuto per personalizzare WooCommerce?

Sono uno sviluppatore WordPress specializzato in eCommerce con WooCommerce. Se cerchi un professionista per:

  • Creare un’esperienza utente su misura
  • Personalizzare il checkout
  • Ottimizzare il funnel di vendita
  • Risolvere problemi tecnici

👉 Contattami oggi stesso per sviluppare il tuo sito WooCommerce su misura
📍 Servizio attivo a Genova e in tutta Italia

🔗 Scopri di più sul mio servizio di sviluppo e ottimizzazione di ecommerce con WooCommerce:


Hai bisogno di un E-Commerce che funziona davvero?
Contattami Ora!