Если не работает карта сайта на WordPress

Разрабатывая сайт на WordPress и используя плагины для создания карты сайта такие как, WordPress SEO by Yoast или Google XML Sitemaps и им подобные, некоторые сталкиваются с проблемой: внезапно перестает работать карта сайта. Рассмотрим одну из возможных причин возникновения неисправности.

Перейдя по ссылке http://вашсайт/sitemap.xml (или sitemap_index.xml), вы можете увидеть такую ошибку:

This page contains the following errors:
error on line 1 at column 1: Document is empty
Below is a rendering of the page up to the first error.

Не работает карта сайта на wordpress - vscode.ru

Просмотрим код этой страницы в браузере. Если вы видите что-то подобное, значит с плагинами все в порядке и карта генерируется.

Не работает карта сайта на WordPress - vscode.ru

Проблема может быть вот в чем. Файлы на сервере хранятся в кодировке UTF-8. У этой кодировки существуют две разновидности: она может быть с BOM и без BOM.

BOM (Byte Order Mark) – маркер последовательности байтов. Это Юникод-символ, используемый для обозначения порядка байтов текстового файла.

В начале файлов в кодировке UTF-8 с BOM присутствуют несколько системных управляющих символов, что недопустимо в строгом определении декларации XML. Для нормальной работы файла, перед <?xml не должно быть ничего!

Если какие-либо файлы на сервере хранятся в UTF-8 с BOM, то карта сайта может перестать работать. Кодировка могла смениться, если вы редактировали файлы своего сайта (переводили сайт на русский, изменяли что-то или тому подобное), например, с помощью блокнота (он сохраняет файлы только в UTF-8 с BOM!). Рекомендуем использовать текстовый редактор Notepad++, в нем имеется соответствующая настройка. “Преобразовать в UTF-8 без BOM”.

Notepad++ без BOM - vscode.ru

Теперь необходимо просканировать все файлы на сервере, найти те, в которых присутствует BOM, и исправить с помощью Notepad++ их кодировку. Для поиска таких файлов на сервере, в Интернете существует скрипт от Юрия Белотицкого. Есть две версии скрипта. Облегченная, которая выполняет поиск только в папках /wp-content/themes и /wp-content/plugins, в которых пользователи обычно редактируют файлы или кладут туда свои. И полная, которая сканирует все .php-файлы во всех поддиректориях. Скачать можно ниже.

Облегченная версия Полная версия

 

Разархивируем скрипт и зальем его в корневую директорию. Переходим в браузере по ссылке http://ваш.сайт/find_bom.php. Будут отображены все файлы, в которых необходимо исправить кодировку.

Ищем BOM - vscode.ru

Исправляем ее во всех файлах из списка с помощью Notepad++.

Все. Карта сайта должна заработать.

Если не работает карта сайта на WordPress
5 (100%) 2 votes

Поделиться в соц. сетях:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">