Поиск по сайту:
Кто мудр, тот и добр (Сократ).

Как исправить ошибку 404 карты сайта в WordPress SEO Yoast

23.09.2016
Как исправить ошибку 404 карты сайта в WordPress SEO Yoast

Будучи загружен более 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 Вебмастера не мог найти её. Ну в случае нашего клиента, указанное решение не решило проблему.Как исправить ошибку 404 карты сайта в WordPress SEO Yoast

Читать  WordPress - Редактирование постов

В то время как это не является предпочтительным, у нас не было выбора, кроме как изменить файлы ядра плагина, чтобы исправить эту проблему. Отредактировали 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.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Поделиться в соц. сетях:


5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

4 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
андрей

Ничего не могу сделать-раз 30 восстанавливал сайт-все одно,ошибка 404. Причем на разные разделы сайта. Вирусов нет. Менял .htaccess, как тут прописано-не помогает. Что делать дальше,не понятно. Удалял Yoast seo-какое-то время ошибка 404 не появлялась, потом опять 404. После восстановления на рабочие версии сайта все работает до тех пор, пока не установишь любой другой новый плагин, или не обновишь любой уже установленный.

Александр

Первый же код и помог. Гугл создавал очень большую нагрузку на сервер потому что не мог получить доступ к сайтмап и все время долбил сервак.

Большое спасибо!

Евгений

Спасибо! Первый вариант сразу решил проблему. Спасибо.

Sergey

После ввода кода ошибка 404 в Yoast при запросе в плагине sitemap пропала. Карта сформировалась. Спасибо за помощь!

Это может быть вам интересно


Рекомендуемое
Если вы работали с блогами некоторое время, то вы, вероятно, заметили сотни…

Спасибо!

Теперь редакторы в курсе.