Wordpress

Woocommerce Produkt-Slug +Kategorie URL entfernen – Permalink

Woocommerce Produkt-Slug +Kategorie URL entfernen - Permalink

So entfernen Sie den Produkt-Slug und Kategorie-Slug in WordPress WooCommerce

Mit diesem WordPress WooCommerce Fix können Sie den Slug der Produktkategorie aus der URL in WordPress WooCommerce entfernen, ohne ein Plugin zu verwenden.

Beispiel:
Von: https://mywebshop.com/shop/product-category/apparel/black-pants
An: https://mywebshop.com/shop/apparel/black-pants

Es gibt mehrere Wege die nicht gut aussehenden und für GOOGLE SEO nicht relevanten Slugs aus der URL zu entfernen. Ich werde euch aber einen kostenlosen Weg zeigen.

Ein berühmtes Plugin von Maciejbis namens Permalink Manager kann das. Doch will der Anbieter unverschämte 95 Dollar für Lifetime und 45 Dollar für ein Jahr haben. Stand 12/2020. Doch wer will schon knappe 100 € für ein Plugin ausgeben, welches nur die URL (Permalink) verkürzen kann. Somit habe ich mich auf die Suche gemacht, wie man dies günstiger bzw. kostenlos lösen kann.

— Jetzt günstige Google Bewertungen kaufen!

Lösung 1 zum Entfernen von WooCommerce Produkt und Kategorie Slug Permalink

Ein Plugin Lösung wäre Rankmath was eigentlich für SEO Optimierung der WordPress Seite gedacht ist. Also wer aktuell kein SEO-Optimierung-Plugin hat, könnte getrost direkt Rankmath installieren. Abgesehen von Permalink Produkt und Kategorie Slug Entfernung würde ich Rankmath Yoast Plugin vorziehen.

Permalink Produkt und Kategorie Slug Woocommerce

Wie oben auf dem Bild zu sehen, kann man direkt per Mausklick das Produkt und Kategorie Slug entfernen.

— Jetzt deutsche Backlinks kaufen! Günstig von unserer SEO-Agentur

Woocommerce Produkt-Slug und Kategorie Slug entfernen Permalink ohne Plugin

Jetzt kommen wir zum eigentlichen Teil dieses Beitrags. Ihr könnt den Produkt-Slug bzw. Kategorie-Slug im URL auch ohne ein Plugin mit wenig Fachkenntnis mit functions.php entferne.

Dafür geht ihr in eurem Theme in den Ordner (bei manchen Theme-Child) und findet die Datei functions.php. Hier ist jetzt eine kleine Änderung bzw. Ergänzung notwendig.

Wo finde ich ich die functions.php Datei:

Entweder im WordPress Admin Design > Theme Editor „ist aber bei vielen WordPress installationen sinngemäß abgeschaltet“
Oder. FTP /wp-content/themes/deintheme

  1. Geht auf die letzte Zeile im functions.php
  2. und fügt zum Entfernen von Produkt und Kategorie-Slug diese Zeile ein

 

// Woocommerce Produkt-Slug und Kategorie Slug entfernen

add_filter( 'request', 'change_requerst_vars_for_product_cat' );


add_filter( 'term_link', 'term_link_filter', 10, 3 );


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


add_action( 'pre_get_posts', 'wpp_change_request' );

function change_requerst_vars_for_product_cat($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;

}

function term_link_filter( $url, $term, $taxonomy ) {

$url = str_replace( "/product-category/", "/", $url );
return $url;

}

function wpp_remove_slug( $post_link, $post, $name ) {

if ( 'product' != $post->post_type || 'publish' != $post->post_status ) {
return $post_link;
}
$post_link = str_replace( '/' . $post->post_type . '/', '/', $post_link );

return $post_link;

}

function wpp_change_request( $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' ) );
}

}

Nach dem Einfügen Cache löschen und die Webseite Reloaden. Das wäre es eigentlich schon. Viel Spaß mit WordPress und WooCommerce!

Bitte hinterlässt eure Kommentare. Fragen könnt ihr einfach als Kommentar ausführen!

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Hiermit akzeptiere ich die Datenschutzbedingungen