WPML
Status
Gelöst
Gemeldet für
WPML SEO 2.2.4
Gelöst in
WPML SEO 2.2.5
Zugehöriges Plugin/Theme
Rank Math SEO
Themen-Tags
Compatibility

Übersicht über das Problem

Wenn Sie RankMath SEO mit WPML verwenden, kann ein Problem auftreten, bei dem die Startseiten-URLs im Quellcode der Sitemaps <xhtml:link rel="alternate" hreflang="..."> für Sekundärsprachen falsch sind. Anstatt die sprachspezifische Startseite anzuzeigen (z. B. domain.com/?lang=es), gibt die Sitemap eine vollständige Seiten-URL aus (z. B. domain.com/page-slug/?lang=es).

Problemumgehung

Bitte stellen Sie sicher, dass Sie über ein vollständiges Backup Ihrer Website verfügen, bevor Sie fortfahren.


  • Öffnen Sie die Datei …/wp-content/plugins/wp-seo-multilingual/classes/Shared/Sitemap/BaseAlternateLangHooks.php.

  • Suchen Sie nach Zeile 88.

  • Ersetzen Sie:
    			$mapPermalink = function ( $id, $language ) use ( $getPermalink ) {
    				return apply_filters( 'wpml_permalink', $getPermalink( $id ), $language );
    			};
            


  • Durch:
    			$mapPermalink = function ( $id, $language ) use ( $getPermalink ) {
    
    				// WPML Workaround for wpmlsupp-13368 
    				$front_id = (int) get_option( 'page_on_front' );
    				if ( $front_id ) {
    					$default_lang = apply_filters( 'wpml_default_language', null );
    					$id_in_default = (int) apply_filters( 'wpml_object_id', (int) $id, 'page', false, $default_lang );
    					if ( $id_in_default && $id_in_default === $front_id ) {
    						return apply_filters( 'wpml_permalink', trailingslashit( home_url() ), $language );
    					}
    				}
    
    				return apply_filters( 'wpml_permalink', $getPermalink( $id ), $language );
    			};
            

  • Sitemaps neu erstellen: Gehen Sie zu „Rank Math > Sitemap Settings“, ändern Sie den Wert für „Links per sitemap“ und speichern Sie.

Alle bekannten Probleme →