- Trạng thái
- Đã giải quyết
- Được báo cáo cho
- WPML SEO 2.2.2
- Đã giải quyết trong
- WPML SEO 2.2.3
- Plugin/giao diện liên quan
- Rank Math SEO
- Thẻ chủ đề
- Compatibility
Tổng quan về lỗi
Khi sử dụng RankMath SEO hoặc Yoast SEO với tiện ích bổ sung WPML SEO của chúng tôi, bạn có thể gặp phải các giá trị hreflang không chính xác trong sitemap. Thay vì sử dụng các giá trị hreflang được thiết lập trong cài đặt ngôn ngữ của WPML, sitemap lại lấy mã ngôn ngữ (ví dụ: nz, au) thay vì mã đầy đủ như mong đợi (ví dụ: en-nz, en-au).
Giải pháp tạm thời
Vui lòng đảm bảo có bản sao lưu toàn bộ trang web trước khi tiến hành.
- Mở tệp …/wp-content/plugins/wp-seo-multilingual/classes/Shared/Sitemap/BaseAlternateLangHooks.php.
- Tìm dòng 180.
- Thay thế:
private function getAlternateLinks( $alternateLangs ) { $buildAlternateLink = function ( $url, $lang ) { return '<xhtml:link rel="alternate" hreflang="' . esc_attr( $lang ) . '" href="' . esc_url( $url ) . '" />'; };
- Bằng:
private function getAlternateLinks( $alternateLangs ) { $buildAlternateLink = function ( $url, $lang ) { $languages = apply_filters( 'wpml_active_languages', null, [] ); $hreflang = isset( $languages[ $lang ]['tag'] ) ? $languages[ $lang ]['tag'] : $lang; return '<xhtml:link rel="alternate" hreflang="' . esc_attr( $hreflang ) . '" href="' . esc_url( $url ) . '" />'; };