WooCommerce: come modificare la struttura del permalink

Pubblicato: 2021-09-28

La struttura del permalink di WooCommerce può sembrare insolita per i nuovi arrivati. Quelle parti /prodotto/ e /categoria-prodotto/ dell'URL sono caratteristiche distintive ben note, ma alcuni esperti non sono d'accordo sul fatto che questo sia il modo più conveniente per gestire i permalink dal punto di vista SEO.

Un pensiero popolare è quello di mantenere sempre la struttura dell'URL il più semplice possibile e rimuovere tutte le parti non necessarie di essa. Non devi prendere la parola di quegli esperti o di me poiché le linee guida ufficiali di Google suggeriscono di evitare URL lunghi con parametri non necessari.

Quindi, cosa significa esattamente per i costruttori di negozi WooCommerce?

Innanzitutto, le basi URL come /shop/ , /product-category/ e /product/ possono essere considerate non necessarie poiché Google sa come definire le pagine del negozio e del prodotto senza la necessità di specificarlo all'interno dell'URL.

E probabilmente non vuoi creare una falsa percezione della profondità del sito per i crawler in modo che non valutino quelle pagine più in basso di quanto dovrebbero essere. Ancora una volta, un precetto ben noto: le pagine più vicine alla cartella principale (dominio) sono più significative per i motori di ricerca.

Se sei d'accordo con tali affermazioni, sarebbe utile capire come riprogettare la struttura del permalink in WooCommerce. Quindi continua a leggere per scoprirlo.

Qual è la struttura predefinita del permalink di WooCommerce?

Vediamo ora come funzionano i permalink e cosa possiamo fare per renderli più user-friendly.

Ci sono alcune cose che devi essere sicuro di indicare quando crei le impostazioni del permalink:

  • base di categorie di prodotti (che è /categoria-prodotto/ per impostazione predefinita)
  • base di tag del prodotto ( /tag-prodotto/ per impostazione predefinita)
  • base della pagina del prodotto (potrebbe essere /product/ , /shop/ o qualsiasi altra base personalizzata)

Non hai modo di lasciare vuote queste opzioni o di utilizzare le stesse ( /shop/ , per esempio) per entrambi i permalink. Le basi di prodotti, categorie e tag devono essere univoche per non causare conflitti tra tassonomie, post e pagine.

Pertanto, gli URL predefiniti per le pagine del negozio potrebbero essere i seguenti:

  • Per le pagine delle categorie: site.com/ product-category /category-slug
  • Per le pagine dei tag: site.com/ product-tag /tag-slug
  • Per le pagine dei prodotti : site.com/product/product-slug

Mentre va bene per le pagine di tag (probabilmente hai bisogno di una base per definire la differenza tra categorie e raccolte), potrebbe essere ridondante utilizzare quelle basi per gli URL delle pagine di categorie e prodotti.

Perché considerare di modificare i permalink predefiniti

A volte gli utenti di WooCommerce esortano a sbarazzarsi delle basi /categoria-prodotto/ e /prodotto/ o manipolare la struttura URL standard in altri modi. Succede per due ragioni significative:

  • Desiderano vedere URL semplici e chiari , che possono trarre vantaggio anche dal punto di vista SEO
  • In caso di passaggio da un altro CMS a WP\Woo e si desidera mantenere la stessa struttura dell'URL

È discutibile se la rimozione di quelle parti dell'URL possa migliorare i risultati SEO. Ma è il motivo più popolare per cui le persone stanno persino considerando di rovinare la struttura di permalink predefinita di WooCommerce.

Ci sono alcune fonti rispettate che ci dicono come strutturare i permalink e perché gli URL più brevi sono migliori: fattori di ranking dei motori di ricerca Backlinko (punto n. 10), best practices Moz per la strutturazione degli URL (punti n. 6 e n. 11).

Nel caso in cui stai avviando un nuovo sito Web, è sicuro eseguire tali esperimenti e vedere come aiuta il tuo SEO. Mentre cambiare i permalink su un sito web già consolidato potrebbe essere una faccenda rischiosa. Spiegherò ulteriormente le mie preoccupazioni.

Per quanto riguarda la modifica dei permalink in modo che corrispondano ai vecchi URL del tuo sito Web, d'altra parte, sembra ragionevole e ti lascia più possibilità di non danneggiare il tuo track record SEO.

Come rimuovere /categoria-prodotto/ e /prodotto/ dai permalink di WooCommerce

I seguenti metodi sono sicuri da utilizzare sui nuovi siti Web quando non è necessario giocare con i reindirizzamenti 301 per far sapere agli utenti e ai crawler che l'URL è stato modificato.

La prima cosa che devi fare è andare su Impostazioni WP> Permalink e scorrere fino a " Base categoria prodotto " e scrivere "." (punto) come base personalizzata.

Quindi, incolla questo snippet nel tuo file functions.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;

});

Quindi aggiungi un filtro per rimuovere /product/ base dall'URL della pagina del prodotto:

function na_remove_slug( $post_link, $post, $leavename ) {

        if ( 'product' != $post->post_type || 'publish' != $post->post_status ) {

        return $post_link;

    }

        $post_link = str_replace( '/product/', '/', $post_link );

        return $post_link;

}

add_filter( 'post_type_link', 'na_remove_slug', 10, 3 );

function change_slug_struct( $query ) {

        if ( ! $query->is_main_query() || 2 != count( $query->query ) || ! 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' ) );

        // We also need to set the name query var since redirect_guess_404_permalink() relies on it.

        $query->set( 'name', $query->query['pagename'] );

    }

}

add_action( 'pre_get_posts', 'change_slug_struct', 99 );

Gli snippet sono stati presi da questa discussione di StackOverflow e sembravano funzionare bene per la maggior parte degli utenti tranne che in alcuni casi:

  • Gli URL tradizionali risponderanno con un errore 404. Quindi, se hai indicizzato quelle pagine in precedenza, assicurati di creare reindirizzamenti 301 alle pagine corrispondenti.
  • Potrebbe non funzionare con l'impaginazione o causare problemi con i filtri, a seconda del tema e del plug-in che utilizzi.

Come impostare regole avanzate per i permalink con Permalink personalizzati per WooCommerce

Anche se WooCommerce nella loro documentazione ci avverte della rimozione di /product/ , /product-category/ o /shop/ dagli URL, puoi andare a cercare Permalink personalizzati per l'estensione WooCommerce all'interno del loro mercato ufficiale. Ti fornisce il modo più sicuro per modificare le opzioni di permalink predefinite per le categorie e le pagine dei prodotti.

Alcune varianti di permalink per le pagine di categoria sono disponibili qui:

Lo slug di categoria da solo significa semplicemente rimuovere la parte /categoria-prodotto/ da tutti gli URL, lasciando lo slug di dominio + categoria.

Percorso completo significa rimuovere /categoria-prodotto/ e sommare lo slug della categoria padre (se la categoria ne ha uno) prima dello slug della categoria corrispondente.

Ci sono anche diverse scelte per le pagine dei prodotti:

Lo slug del prodotto da solo rimuoverà la parte eccessiva dell'URL e lascerà solo lo slug del prodotto + dominio.

Lo slug del prodotto con il nome della categoria creerà la versione più popolare dell'URL del prodotto: dominio + slug della categoria + slug del prodotto .

Il percorso completo funziona allo stesso modo dell'opzione n. 2 con un'eccezione: espande l'URL con lo slug della categoria padre se la categoria di prodotto nativa ne ha uno.

Questo plugin elimina i problemi di impaginazione e filtraggio, opera indipendentemente dal tuo tema e ti protegge da possibili conseguenze causate dal crawler.

L'unica cosa a cui prestare attenzione durante la modifica di quei permalink sono gli URL duplicati. Ricontrolla se non hai pagine o tipi di post con gli stessi slug di categorie o prodotti. Se ne trovi alcuni, assicurati di cambiare quegli slug in univoci per evitare duplicati.

Come aggiungere estensioni come .html agli URL

Onestamente, non so se ci sono vantaggi o difetti nel fare questo in termini di SEO. Ma molte persone lo chiedono, quindi non possiamo ignorare questo argomento.

Probabilmente il motivo principale per cui potresti cercare una soluzione per questo è la migrazione da un altro CMS . Se decidi di passare da un'altra piattaforma a WooCommerce, potresti voler replicare i tuoi vecchi URL (ad esempio quelli con .html alla fine).

Naturalmente, puoi utilizzare i reindirizzamenti 301 per far conoscere a tutti i tuoi nuovi URL, ma spesso notiamo una banale diminuzione del traffico e delle posizioni SERP dopo aver riempito un sito Web con un sacco di reindirizzamenti 301 per un po' di tempo. Probabilmente non ha nulla a che fare con i reindirizzamenti stessi perché, come dice Google, non penalizzano più il PageRank per l'utilizzo dei reindirizzamenti.

Ma a causa di altri motivi legati alla migrazione dei contenuti, alla nuova interfaccia utente e alle possibilità di collegamenti interrotti, potresti non voler rischiare e provare a ricreare gli stessi URL che avevi.

I Permalink personalizzati per WooCommerce ti danno la possibilità di aggiungere qualsiasi estensione alla fine dell'URL, che sia .html, .php., .htm o qualunque cosa ti serva:

Come evitare problemi SEO dopo aver modificato i permalink

La parte difficile della modifica degli URL sono i duplicati dei contenuti, gli errori 404 e i reindirizzamenti.

Quando modifichi gli URL su un sito Web creato di recente senza alcun track record per il dominio, il page rank e gli URL nell'indice di Google, non hai nulla di cui preoccuparti. Puoi sentirti libero di eseguire esperimenti e raccogliere qualsiasi combinazione di permalink che ti piace.

Ma quando si tratta di modificare i permalink su un sito Web con cronologia e posizioni SERP di alto livello , dovresti ricontrollare attentamente questi quattro pilastri:

  1. Ci sono pagine, post, tassonomie, tipi di post personalizzati o altre possibili entità con lo stesso slug delle categorie o delle pagine dei prodotti? Se ne trovi alcuni, considera di cambiare gli slug con quelli unici per evitare conflitti.
  2. Vai alla tua console di ricerca di Google e controlla le pagine con 404 risposte. Se trovi dei collegamenti interrotti , dovresti scansionare il file sitemap.xml per trovarli o qualsiasi altra pagina del sito Web, dove potresti inserire manualmente i vecchi collegamenti.
  3. Nel caso ci sia la possibilità che vecchi URL possano ancora essere individuati da qualche parte, assicurati di includere il tag 'rel=canonical' . Ciò è necessario per consentire ai crawler di sapere quale pagina accreditare per il contenuto e quindi Google non ti punirà per la creazione di duplicati.
  4. Non dimenticare in alcun modo i reindirizzamenti 301. È fondamentale per i visitatori del sito Web e per i crawler. Dopo aver modificato i permalink, quelli vecchi non saranno più accessibili, quindi tutti, inclusi i crawler, riceveranno 404 errori durante la loro visita. Se hai modificato i permalink con lo script, ti consiglio di installare il plug-in Redirection per gestire i reindirizzamenti .

Ma puoi dormire bene: i Permalink personalizzati per WooCommerce creeranno reindirizzamenti 301 e 'rel=canonical' per i vecchi URL una volta modificata la struttura del permalink. Inoltre, insieme al plug-in Yoast, genereranno una nuova mappa del sito per tuo conto con gli URL appropriati.

Conclusione

WooCommerce ci avverte delle conseguenze della modifica dei permalink: rallentamento del sito Web e conflitti di URL. Ma considerando che quella affermazione è stata fatta molto tempo fa e da allora hanno verificato questo plugin premium che sta facendo esattamente quella cosa, forse WooCommerce ha cambiato idea sulla questione dei permalink.

Aiuterebbe il tuo SEO?

Bene, questa è una domanda più complessa. Alcuni ricercatori dicono di sì; alcuni esperti SEO consigliano di ridurre il numero di cartelle nel percorso di prodotti e categorie e di progettare URL più brevi. Ma lascio a te questa decisione. Alla fine, non c'è una verità assoluta quando si tratta di SEO.

E se scegli di provarci, come farlo in sicurezza?

Se stai costruendo un nuovo sito Web, puoi scegliere il metodo che preferisci: aggiungere frammenti di codice o installare il plug-in, entrambi sembrano essere sicuri. Non dimenticare di controllare se tutto è a posto in sitemap.xml e se sono presenti commenti sul lato della console di ricerca di Google.

Se consideri manipolazioni sui permalink su un sito esistente, ti consiglio vivamente di utilizzare il plug-in verificato. Probabilmente non vuoi sfidare il destino e incasinare collegamenti interrotti, duplicati di contenuti o creare accidentalmente un ciclo di reindirizzamento.

Il plug-in può coprire tutte le tue esigenze e il supporto disponibile su WooCommerce.com ti aiuterà ad affrontare potenziali problemi. Dal momento che i permalink sono fondamentali per la SEO, sarà un incubo essere lasciati soli con un problema del genere.