ОСТОРОЖНО МОШЕННИКИ! В последнее время в соиальных сетях учстились случаи педложения помощи в написании прогамм от лиц, прикрвающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в псторонних группах ВК. Для связи с нами используйте исключительно эти контакт: vscoderu@yandex.ru, https://vk.com/vscode


Если не работает карта сайта на 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++.

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

5/5 - (4 голоса)



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

Один комментарий к статье “Если не работает карта сайта на WordPress

  1. Кирилл

    Спасибо за решение! А то я уже всю голову сломал с неработающей картой, никак не мог понять в чём дело :-)

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

Ваш адрес email не будет опубликован.