- Status
- Warten auf Autor
- Zugehöriges Plugin/Theme
- Yoast SEO
- Themen-Tags
- Compatibility
Übersicht über das Problem
Beim manuellen Bearbeiten einer Produktkategorie-Übersetzung unter Produkte > Kategorien erstellte Yoast SEO Premium fälschlicherweise 301-Weiterleitungen, selbst wenn nur die Beschreibung/der Text der Kategorie geändert wurde (nicht der Slug).
Die erstellten Weiterleitungen weisen fehlerhafte URLs auf:
Alte URL: http://site.com/product-category/test-es-wpml
Neue URL: http://site.com/http://es.site.com/product-category/test-es-wpml/ (doppelte URL!)
Hinweis: Dies ist ein optischer Fehler, diese Weiterleitungen verursachen keine Navigationsprobleme
Problemumgehung
Bitte stellen Sie sicher, dass Sie ein vollständiges Backup Ihrer Website haben, bevor Sie fortfahren.
- Öffnen Sie die Datei …/wp-content/plugins/wordpress-seo-premium/classes/term-watcher.php.
- Suchen Sie nach der Funktion „protected function get_target_url(“. Sie finden sie ungefähr in Zeile 241.
- Ersetzen Sie:
protected function get_target_url( $tag, $taxonomy ) { // Get the term link. $term_link = get_term_link( $tag, $taxonomy ); // Return early if the term link is not a string, i.e. a WP_Error Object. if ( ! is_string( $term_link ) ) { return ''; } return str_replace( home_url(), '', $term_link ); }
- Durch:
protected function get_target_url( $tag, $taxonomy ) { // Get the term link. $term_link = get_term_link( $tag, $taxonomy ); // Return early if the term link is not a string, i.e. a WP_Error Object. if ( ! is_string( $term_link ) ) { return ''; } // Extract the path to handle WPML subdomain URLs (matches post-watcher behavior). $url = wp_parse_url( $term_link ); if ( is_array( $url ) && isset( $url['path'] ) ) { return $url['path']; } return ''; }