Cara Memperbaiki Yoast’s WordPress SEO Sitemap 404 Error

Setelah diunduh lebih dari 1 juta kali, WordPress SEO oleh Yoast plugin adalah plugin SEO terbaik dan terlengkap untuk WordPress. Meskipun tidak memberi kami masalah di masa lalu, bagi beberapa pengguna, ini sangat menyakitkan. Baru-baru ini salah satu klien kami mengalami masalah mendapatkan kesalahan 404 untuk peta situs mereka yang dihasilkan oleh plugin SEO Yoast WordPress. Setelah mencoba beberapa hal, kami bisa menemukan solusinya. Pada artikel ini, kami akan menunjukkan cara memperbaiki error sitemap 404 di plugin WordPress SEO oleh Yoast.

Update: Penting agar Anda memahami bahwa masalah ini kemungkinan besar disebabkan oleh fungsi atau plugin tema kode yang buruk. Plugin Yoast bekerja dengan baik di situs kami. Hanya ingin menjadi sangat jelas tentang ini.

Hal pertama yang harus anda coba adalah membuka file .htaccess anda (sebenarnya anda bisa melakukan ini dari plugin WordPress SEO> Edit Files option) dan cukup tambahkan kode berikut di sana:

# 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 - Peta Situs XML Rewrite Fix 

Bagi kebanyakan orang ini memperbaiki masalah ini. Seseorang melaporkan bahwa meskipun kode ini memperbaiki masalah, halaman tersebut masih mengirimkan header tanggapan 404 yang berarti bahwa alat Google Webmaster tidak dapat menemukannya. Nah dalam kasus klien kami, solusi di atas TIDAK memperbaiki masalah ini.

Meski tidak disukai, kami tidak punya pilihan selain mengedit file plugin inti untuk memperbaiki masalah ini. Seperti yang disarankan oleh hadjedj.vincent, kami mengedit kelas-sitemaps.php terletak di “/wp-content/plugins/wordpress-seo/inc/class-sitemaps.php”.

Anda perlu melihat fungsi init () kode dan membuat bagian itu terlihat seperti ini:

/ **
 * Inisialisasi peta situs  Tambahkan sitemap rewrite rules dan query var
 * /
 fungsi 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 ();
 } 

Pada dasarnya apa yang kita lakukan adalah menambahkan $ wp_rewrite global; sebelum segala sesuatu yang sudah ada dan menambahkan flush_rules setelah kode. Dengan menambahkan ini di plugin, tampaknya memperbaiki masalah 404 di situs web klien kami. Kami tidak tahu mengapa Yoast tidak melakukan ini secara default , namun tampaknya cukup banyak pengguna yang memiliki masalah sitemap 404 ini. Masalah ini dijelaskan di komentar.

Memperbarui: Karena beberapa pengguna kami melaporkan bahwa setelah menerapkan perbaikan di atas, mereka masih perlu menghapus centang pada opsi sitemap di plugin SEO Yoast dan menyimpan pengaturan mereka. Setelah itu memeriksa ulang opsi sitemap tetap memperbaiki kesalahannya.

Jika Anda mencari masalah ini, kami harap perbaikan ini telah membantu Anda.