Cách sửa lỗi Sơ đồ trang web WordPress SEO 404 của Yoast

0
0
(0)


Đã được tải xuống hơn 1 triệu lần, plugin WordPress SEO by Yoast cho đến nay là plugin SEO hoàn chỉnh và tốt nhất cho WordPress. Mặc dù nó đã không mang lại cho chúng tôi vấn đề nào trong quá khứ, nhưng đối với một số người dùng thì đó là một nỗi đau. Gần đây, một trong những khách hàng của chúng tôi đã gặp phải vấn đề nhận được lỗi 404 cho sơ đồ trang web của họ được tạo bởi plugin WordPress SEO của Yoast. Sau khi thử một vài điều, chúng tôi đã có thể tìm ra giải pháp. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách sửa lỗi sitemap 404 trong plugin WordPress SEO by Yoast.

Cập nhật: Điều quan trọng là bạn phải hiểu rằng sự cố này rất có thể do chức năng chủ đề hoặc plugin được mã hóa kém. Plugin của Yoast hoạt động tốt trên các trang web của chúng tôi. Chỉ muốn nói rất rõ ràng về điều này.

Điều đầu tiên bạn nên thử là mở tệp .htaccess của mình (bạn thực sự có thể làm điều này từ plugin WordPress SEO> tùy chọn Chỉnh sửa tệp) và chỉ cần thêm mã sau vào đó:

# WordPress SEO - XML Sitemap Rewrite Fix

RewriteEngine On
RewriteBase /
RewriteRule ^sitemap_index.xml$ /index.php?sitemap=1 [L]
RewriteRule ^([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 [L]

# END WordPress SEO - XML Sitemap Rewrite Fix

Đối với hầu hết mọi người, điều này đã khắc phục sự cố. Ai đó đã báo cáo rằng trong khi mã này đã khắc phục sự cố, trang vẫn đang gửi tiêu đề phản hồi 404 có nghĩa là công cụ Quản trị viên web của Google không thể tìm thấy nó. Trong trường hợp của khách hàng của chúng tôi, giải pháp trên KHÔNG khắc phục được sự cố.

Mặc dù không được ưu tiên, chúng tôi không có lựa chọn nào khác ngoài việc chỉnh sửa các tệp plugin cốt lõi để khắc phục sự cố. Theo đề xuất của hadjedj.vincent , chúng tôi đã chỉnh sửa class- sitemaps.php nằm trong “/wp-content/plugins/wordpress-seo/inc/class-sitemaps.php”.

Bạn cần nhìn vào mã hàm init () và làm cho phần đó trông giống như sau:

/**
	 * Initialize sitemaps. Add sitemap rewrite rules and query var
	 */
	function init() {
		global $wp_rewrite;
		$GLOBALS['wp']->add_query_var( 'sitemap' );
		$GLOBALS['wp']->add_query_var( 'sitemap_n' );
		add_rewrite_rule( 'sitemap_index.xml$', 'index.php?sitemap=1', 'top' );
		add_rewrite_rule( '([^/]+?)-sitemap([0-9]+)?.xml$', 'index.php?sitemap=$matches[1]&sitemap_n=$matches[2]', 'top' );
		$wp_rewrite->flush_rules();
	}

Về cơ bản những gì chúng tôi đang làm là thêm $ wp_rewrite toàn cầu; trước mọi thứ đã có và thêm flush_rules sau mã. Bằng cách thêm điều này vào plugin, nó dường như khắc phục được sự cố 404 trên trang web của khách hàng của chúng tôi. Chúng tôi không biết tại sao Yoast không làm điều này theo mặc định , nhưng có vẻ như khá nhiều người dùng đang gặp sự cố sơ đồ trang web 404 này. Vấn đề này được giải thích trong các bình luận.

Cập nhật: Như một số người dùng của chúng tôi đã báo cáo rằng sau khi áp dụng bản sửa lỗi ở trên, họ vẫn cần bỏ chọn tùy chọn sơ đồ trang web trong plugin SEO của Yoast và lưu cài đặt của họ. Sau đó, kiểm tra lại tùy chọn của sơ đồ trang đã sửa lỗi cho chúng.

Nếu bạn đang tìm kiếm vấn đề này, chúng tôi hy vọng rằng bản sửa lỗi này đã giúp bạn.



Source link

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

Leave A Reply

Your email address will not be published.