Hoe verwijder je product-categorie uit de urls van je WooCommerce webshop?

Hoe verwijder je product-categorie uit de urls van je WooCommerce webshop?

  • Berichtcategorie:WooCommerce

Hoe kun je de productcategorie verwijderen uit de URLs in je WooCommerce webshop? Bij de standaardinstallatie van je WooCommerce webshop worden alle urls van categorieën en producten voorzien van een extra laag. Dit maakt je urls langer en minder makkelijk te onthouden en het ziet er ook nog eens minder mooi uit. Ook voor je online vindbaarheid zijn korte urls beter. De vraag die mij dan ook regelmatig wordt gesteld is:

Hoe verwijder ik product-categorie uit de urls van je WooCommerce webshop?

Lees direct door voor extra achtergrondinformatie of klik direct naar het antwoord op deze vraag.

In dit artikel leg ik verschillende methodes uit waarmee je kortere urls krijgt in je webshop. Eigenlijk willen we ook niet de URL aanpassen, maar de slug. Omdat het misschien niet helemaal duidelijk is wat overal mee wordt bedoeld, eerst een korte uitleg van de termen die hierbij van belang zijn:

  • URL: het adres van je webshop, de afkorting van Uniform Resource Locator. De URL is de domeinnaam van je webshop.
  • Slug: het gedeelte dat na je domeinnaam komt, elke slug in je webshop is uniek, het is het adres van elke losse pagina.
  • Permalink: de volledige URL met slug van elke pagina op je website. Permalinks vormen ook wel de basis van je webshop.

Hoe stel je permalinks in?

De URL oftewel domeinnaam leg je vast via een hostingbedrijf en op deze URL installeer je vervolgens WordPress. Als je WordPress in een subcategorie of subdomein installeert, wordt deze ook altijd onderdeel van je URL. Denk hier dus goed over na. WordPress heeft een eenvoudige manier om permalinks in te stellen. Je gaat hiervoor im je dashboard menu naar Instellingen > Permalinks. Je ziet dan onderstaand scherm waar al enkele vormen van permalinks worden vermeld. Doe je niets, dan wordt de Eenvoudige permalinkstructuur gebruikt, maar mijn advies is om dit in elk geval te wijzigen naar Berichtnaam. Hiermee pas je dus de slugs van pagina’s en berichten aan, maar nog niet je producten en productcategorieën. Daarover later meer.

SEO-vriendelijke permalinks

Bij het nadenken over je permalinks is mijn voornaamste advies om deze SEO-vriendelijk te maken. Je kunt er bijvoorbeeld voor zorgen dat je URLs altijd een belangrijk zoekwoord bevatten via de permalinks.

  • Houd je URLs kort
  • Lees meer over SEO-vriendelijke URLs in het blog op Backlinko.

Nieuwe WooCommerce webshop vs bestaande WooCommerce webshop

Het is superbelangrijk je te realiseren dat het veranderen van je permalinks veel invloed heeft op je webshop. Als je start met een nieuwe webshop is het aanpassen van de permalinkstructuur één van de eerste dingen die je zou moeten doen. Op die manier haal je ook het meeste profijt uit je webshop.

Bestaat jouw webshop al langer en is deze ook al geïndexeerd in Google, dan is het niet slim om zomaar je permalinks aan te passen. Je hebt dan een linkmigratie nodig om te voorkomen dat mensen van uit Google op een pagina uitkomen die niet meer bestaat. Nou ja, de pagina bestaat in feite nog wel maar doordat de permalink is aangepast is het adres van de pagina veranderd. Je had dus eigenlijk een adreswijziging moeten doorgeven (linkmigratie), maar als je dat niet hebt gedaan, belanden mensen op een niet bestaand adres. Met plug-ins als Rankmath SEO en Yoast kun je veel adreswijzigingen opvangen, maar soms kan het ook handig zijn een speciale redirect plug-in te gebruiken. Mijn favoriet is dan Redirection.

Terug naar de vraag waar dit artikel over gaat:

Hoe verwijder ik product-categorie uit de urls van mijn WooCommerce webshop?

Zodra WooCommerce is geïnstalleerd, wordt in je admin onder Instellingen > Permalinks de pagina uitgebreid met Product permalinks. Ook verschijnen er meer opties bij de Optionele permalinks. Zie onderstaand voorbeeld.

Onder Optioneel kun je de slugs van productcategorie, producttag en producteigenschap aanpassen. Met name de productcategorie is natuurlijk belangrijk. Als je ook tags gebruikt in je webshop kun je deze natuurlijk ook aanpassen. Mijn advies is om de productcategorie een stuk korter te maken. Zelf kies ik altijd voor de letter c of de afkorting cat. Dit is het enige dat je hier hoeft in te vullen. Bij het opslaan wordt dit aangepast in het htaccess bestand van je webshop en worden alle slugs hiermee aangepast.

Onder Product permalinks kun je de winkelbasis aanpassen. Hier kun je er voor zorgen dat alle urls in je webshop worden voorzien van een extra tussenvoegsel. In onderstaand voorbeeld is dat het woord shop. Als jouw website een blog is en de webshop is daarvan slechts een onderdeel, kan het verstandig zijn om hier gebruik van te maken, bijvoorbeeld met het woord shop, maar je zou ook je belangrijkste zoekwoord kunnen gebruiken en alle pagina’s in de webshop dan bijvoorbeeld kunnen opbouwen als https://www.domeinnaam.nl/voetbalkleding-kopen/sample-product. Op die manier komt jouw belangrijke zoekterm heel vaak terug.

Naast de winkelbasis pas je hier ook de slug van je producten aan. Standaard wordt elk product voorzien van de slug product, dus https://www.domeinnaam.nl/shop/product/productnaam. Dit wordt natuurlijk wel een erg lange URL. Door de custom basis aan te passen verander je de url van je producten. Voer je hier alleen /p/ in zoals in bovenstaand voorbeeld, dan wordt elke url van producten: https://www.domeinnaam.nl/p/productnaam. Voer je hier /shop/p/ in dan wordt elke domeinnaam https://www.domeinnaam.nl/shop/p/productnaam.

Het wijzigen van de slug van je productcategorieën is erg belangrijk voor een betere SEO-vriendelijkheid. Bovenstaande stappen zijn het meest eenvoudig.

Productcategorie verwijderen uit URLs

Wil jij nog een stapje verder gaan en helemaal geen product-categorie, cat of wat je ook hebt gekozen onder Optioneel meer in je URLs hebben? Dan heb je een stukje code nodig om dit te bereiken.

Om te beginnen ga je naar het bestand functions.php van je thema en hier voer je onderstaande code in:

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;
});

Vervolgens ga je in je dashboard naar Instellingen > Permalinks en voer je achter Productcategorie afkorting een . in. Zie onderstaand screenshot