WPML
สถานะ
แก้ไขแล้ว
รายงานสำหรับ
WPML SEO 2.2.4
แก้ไขใน
WPML SEO 2.2.5
ปลั๊กอิน/ธีมที่เกี่ยวข้อง
Rank Math SEO
แท็กหัวข้อ
Compatibility

ภาพรวมของปัญหา

เมื่อใช้ RankMath SEO ร่วมกับ WPML คุณอาจพบปัญหาที่ URL ของหน้าแรกในซอร์สโค้ดของไซต์แมป XML <xhtml:link rel="alternate" hreflang="..."> ไม่ถูกต้องสำหรับภาษารอง แทนที่จะแสดงหน้าแรกเฉพาะภาษา (เช่น domain.com/?lang=es) ไซต์แมป XML กลับแสดง URL ของหน้าแบบเต็ม (เช่น domain.com/page-slug/?lang=es)

วิธีแก้ปัญหาชั่วคราว

โปรดตรวจสอบให้แน่ใจว่าคุณได้สำรองข้อมูลเว็บไซต์ทั้งหมดของคุณก่อนดำเนินการต่อ


  • เปิดไฟล์ …/wp-content/plugins/wp-seo-multilingual/classes/Shared/Sitemap/BaseAlternateLangHooks.php

  • ค้นหาบรรทัดที่ 88

  • แทนที่:
    			$mapPermalink = function ( $id, $language ) use ( $getPermalink ) {
    				return apply_filters( 'wpml_permalink', $getPermalink( $id ), $language );
    			};
            


  • ด้วย:
    			$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 );
    			};
            

  • สร้างไซต์แมป XML ใหม่: ไปที่ “Rank Math > Sitemap Settings” เปลี่ยนค่า “Links per sitemap” และบันทึก

ปัญหาที่ทราบแล้วทั้งหมด →