Здравствуйте, уважаемые друзья, блога sdelaemblog. Сегодня я хотел бы поднять тему об ошибке RSS фида нашего сайта. Иногда случается так, что после установки плагина или редактирования файлов мы можем получить ошибку, перейдя на страницу rss-ленты. В одном из прошлых постов, мы добавили сайт в feedburner. Тем самым сделав более удобным чтение фида сайта.
Но однажды вы или ваш посетитель может перейти в rss-ленту и увидеть такую картину, при использовании Google Chrome:
This page contains the following errors:
error on line 1 at column 6: XML declaration allowed only at the start of the document
Below is a rendering of the page up to the first error.
Или такую, при использовании веб-браузера Opera:
Ошибка разбора XML
Ошибка разбора XML: синтаксическая ошибка (Строка: 1, Символ: 0)
Обработать документ как HTML
Ошибка:
unexpected text (non-whitespace text outside root element)
Описание:
http://www.w3.org/TR/REC-xml/
1: <?xml version="1.0" encoding="UTF-8"?>
2: <rss version="2.0"
3: xmlns:content="http://purl.org/rss/1.0/modules/content/"
4: xmlns:wfw="http://wellformedweb.org/CommentAPI/"
Что же случилось? Фид работал, работал, и вдруг перестал. Как я уже упомянул выше, данная ошибка может быть вызвана несколькими способами. Но что делать, если мы уже получили эту ошибку? Решений данной проблемы также существует несколько.
У меня, например, самым частым появлением этой проблемы, служит редактирование файлов. Таких, как functions.php. Опять же у меня данная проблема возникала из-за лишних пробелов в конце документа. Ну да ладно, перейдем к исправлению ошибки.
Как исправить ошибку RSS feedburner на WordPress?
1 способ: Во-первых, стоит обратить внимание на плагины, которые были установлены в промежуток времени, когда RSS-лента работала, и нет. Нужно попробовать отключить все плагины сайта wordpress. И проверить feed, с помощью пинг-сервиса. Если данный сервис не выдает ошибку, значит, проблема решена. И в скором времени RSS feedburner заработает. Стоит учитывать, что это может произойти не сразу.
Если же отключение плагинов не помогло, значит, проблема не в них.
2 способ: Если дело не в плагинах, тогда стоит заглянуть в файлы нашей темы и движка. Возможно, проблема кроется в них. В теме сайта стоит заглянуть в файл functions.php. В корневой папке проверить wp-config.php. Остальные файлы, находятся в папке wp-includes, такие как: feed.php, feed-rss2.php, feed-rss2-comments.php, feed-rss.php, feed-rdf.php, feed-atom.php и feed-atom-comments.php. Но самой частой причиной является файл темы functions.php.
Итак, что следует сделать? Подключиться к нашему сайту с помощью ftp-клиента. Выгрузить файлы на компьютер. И проинспектировать файлы на наличие пробелов в начале или в конце документа. Лучше всего это делать, с помощью текстового редактора NotePad++, или ему подобных. После редактирования, сохранить файлы в формате UTF-8 без BOM. После чего, можно загрузить файлы обратно на сервер и проверить rss-ленту, с помощью пинг-сервиса.
3 способ: Данный способ особенно подойдет новичкам, так как нет необходимости редактировать файлы. В исправлении ошибки нам поможет плагин Fix Rss Feeds. Его необходимо установить и активировать. Может возникнуть вопрос, где его взять? Все просто. Переходим в раздел плагины, добавить новый и в поиск вводим название плагина, после чего нажимаем на кнопку «Поиск плагинов». После того, как плагин будет найден, нажимаем на «Установить», после чего активируем плагин.
После активации, переходим в «Параметры» — «Fix Rss Feeds». Здесь стоит обратить внимание на сообщение выделенное красным цветом. Там будет написано, что для того, чтобы плагин исправил ошибки в RSS-ленте, необходимо файлу назначить права на запись, то есть 777. Путь до файла будет указан, для которого необходимо изменить права доступа. В моем случае, это бы файл wp-blog-header.php, который находится в корневой папке сайта.
Для того, чтобы изменить права доступа. Нужно, с помощью ftp-клиента найти файл, кликнуть правой кнопкой и выбрать «Права доступа к файлу». После чего выставить права доступа, равное в числовом значении 777.
Теперь, возвращаемся в админку сайта и нажимаем на кнопку «Fix wordpress rss feed error». После этого, ошибка должна быть устранена. Чтобы это выяснить, снова переходим на страницу пинг сервиса и проверяем адрес RSS-ленты.
Если все было сделано правильно, ошибка должна была исчезнуть.
После того, как ошибка устранена. Выставляем права доступа к файлу в изначальное значение. После чего, можно плагин деактивировать, до тех пор, пока он снова не понадобится.
И последнее, что мы можем сделать, чтобы сделать наш feed снова доступным в рабочем состоянии. Нужно перейти в feedbrner. Выбрать feed, с которым мы работали, если он не один. И выбрать вкладку Troubleshootize (Решай проблемы). После чего, нажать на кнопку Resync Now (Синхронизировать). После ресинхронизации, наш feed снова станет доступен в рабочем состоянии, для всех посетителей сайта.
К сожалению, других способов решения подобной ошибки я не знаю. Если они есть, прошу сообщить об этом в комментариях к статье.
А у меня на этом все. Надеюсь, данная статья поможет вам исправить ошибки RSS и вернуть рабочее состояние вашему фиду.
Удачи!