Будучи завантажений понад 1 мільйон разів, плагін WordPress SEO плагін на сьогоднішній день є найкращим і найбільш повним SEO плагіном для WordPress. У той час як він не дав нам ніяких проблем в минулому, для деяких користувачів це була біль. Нещодавно один з наших клієнтів зіткнувся з питанням про отримання помилки 404 для своїх карт сайту породжених плагіном WordPress SEO від Yoast. Після декількох спроб, нам вдалося з'ясувати рішення. У цій статті ми покажемо вам, як виправити помилку 404 в карті сайту плагіна WordPress SEO від Yoast.
ВАЖЛИВО!
Дуже важливо, щоб ви зрозуміли, що ця проблема, швидше за все, викликана погано кодованої функцією теми або плагіна. плагін Йоаст прекрасно працює на наших сайтах. Просто хотів бути дуже ясно говорить про це.
П ервое, що ви повинні зробити, це відкрити файл .htaccess (Ви можете зробити це за допомогою плагіна WordPress SEO> Можливість редагування файлів) і просто додайте наступний код там: # WordPress SEO - XML Sitemap виправлення <IfModule mod_rewrite.c> 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] </ IfModule> # кінець WordPress SEO - XML Sitemap виправлення
Для більшості людей це виправило проблему. Хтось повідомив, що в той час як цей код фіксується проблему, сторінка все ще посилала заголовок відповіді 404, що означало, що інструмент Google Вебмастера не міг знайти її. Ну в разі нашого клієнта, вказане рішення не вирішило проблему.
У той час як це не є кращим, у нас не було вибору, окрім як змінити файли ядра плагіна, щоб виправити цю проблему. Відредагували class-sitemaps.php, розташований в "/wp-content/plugins/wordpress-seo/inc/class-sitemaps.php".
Ви повинні дивитися на код функції init () і зробити цей розділ виглядати наступним чином:
01 / ** 02 * Initialize sitemaps. Add sitemap rewrite rules and query var 03 * / 04 function init () {05 global $ wp_rewrite; 06 $ GLOBALS [ 'wp'] -> add_query_var ( 'sitemap'); 07 $ GLOBALS [ 'wp'] -> add_query_var ( 'sitemap_n'); 08 add_rewrite_rule ( 'sitemap_index.xml $', 'index.php? Sitemap = 1', 'top'); 09 add_rewrite_rule ( '([^ /] +?) - sitemap ([0-9] +) ?. xml $', 'index.php? Sitemap = $ matches [1] & sitemap_n = $ matches [2]', ' top '); 10 $ wp_rewrite-> flush_rules (); 11}
В основному те, що ми робимо, це додаємо глобальної $ wp_rewrite і додавання flush_rules після коду. При додаванні цього в плагін, це, здається, має виправити 404 на веб-сайті нашого кліента.Ми поняття не маємо, чому Yoast не робить це за замовчуванням, Але мені здається, що досить багато користувачів, що мають цю проблему 404 сайта.
Оновлення: Як деякі з наших користувачів повідомили, що після застосування виправлення вище, вони як і раніше знімають прапорець в карти сайту плагіна SEO від Yoast і зберегти свої налаштування. Після цієї повторної перевірки варіант карти сайту помилка для них була виправлена.
Якщо у Вас є ця проблема, ми сподіваємося, що це виправлення допомогло вам.
Якщо ви знайшли помилку, будь ласка, виділіть фрагмент тексту і натисніть Ctrl + Enter.
Php?Sitemap = 1 [L] RewriteRule ^ ([^ /] +?) - sitemap ([0-9] +) ?
Php?
Php?