Здравствуйте, уважаемые друзья, блога 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 и вернуть рабочее состояние вашему фиду.
Удачи!
@ Мастер Мысли:
Посмотрел твой сайт. Не вижу проблемы, ибо в указанных тобой ссылках атрибут nofollow присутствует.
@ Михаил Веб:
Да нет, в виджетах её нет, так как её нахождение находится в меню темы. Это меню у меня на блоге вверху и внизу. Если я не ошибаюсь, на английском языке это примерно так:
Primary menu и secondary menu. И в этих меню, как раз таки есть возможность добавлять подменю (sub-menu), просто тема поддерживает такую возможность.
Я на форумах искал и googl — ил по всюду — нет ответа! Единственное что нашёл, так это что — опытные ГУРУ отсылают почему то к хостеру, якобы спросить почему такая байда. Т.е. как-будто бы хостер виноват в том что не видно файла где редактировать. Или такие ГУРУ пошли или … не знаю вообщем. Я не программист — подскажи, если сможешь!
Спасибо! :-o
@ Мастер Мысли:
Привет.
Если дело действительно в теме, то мне сложно сказать, где это может быть.
А эта ссылка случайно не где-нибудь в виджетах прописана?
Привет Михаил Веб! Я вот опять обращаюсь за помощью к тебе, так как ты человек опытный в этом деле (программировании). Короче мне надо закрыть внешнюю ссылку (http://feeds.feedburner.com/tybog.ru) от индексации. Тег и атрибут rel=»nofollow» я знаю как применять, но вот только как найти необходимую строку в файлах темы, где бы всё это прописать ??? Другие внешние ссылки я закрывал без проблем, вручную, именно этиими тегами и атрибутами, но сейчас наткнулся на проблему: не могу найти вообще (уже 3 день), где находится (в каком файле темы) строка с классом (или id)- class=»rdstb_pageLink_hilite»
Всё переискал — не могу найти и всё! Единственное что находит из этой ссылки, так это title.
Помоги пожалуйста где можно закрыть эту ссылку, хотелось бы вручную, так как хочется хотя бы что-то знать — не использовать плагинов!
@ Денис:
Не за что.
Возможно просто скопировали код не полностью. Такое бывает.
Замечательно Михаил! Всё получилось, искал его в Header.php, Single.php, Comments.php — не нашёл. А оказалось что он действительно в виджете находился как ты сказал. Здорово, одно слово и всё пошло. Просто не могу понять почему при копировании кода с сайта feedburner «form» не скопировлся.
Спасибо — очень признателен!
Благодарю Михаил! Сейчас попробую пойти по вашему совету.
@ Денис:
У Вас в левом сайдбаре. Стоит форма подписки. Если она поставлена с помощью виджета, то все еще проще. Нужно найти виджет, открыть код, который был предоставлен feedburner и в самом конце кода дописать
Если код находится внутри файлов, то принцип практически тот же, находим код предоставленный feedburner, он начинается:
И сохранить.
Понятно! Спасибо! Попробую теперь разобраться как закрывать тег — «form» Я просто новичок поэтому у меня всё только начинается. Извините за беспокойство
@ Денис:
Здравствуйте.
Все очень просто. У Вас не закрыт тег
form
формы подписки на сайте.Да, кстати забыл написать адрес своего блога — «tybog.ru» Михаил Веб, если не трудно зайди пожалуйста на мой блог и попробуй кликни на кнопку «отправить комментарий» Спасибо!
Привет Михаил Веб. Нужна твоя помощь! Проблема такая же как у Игоря: при нажатии на кнопку комментария выскакивает окно подписки от «Feedburner» Что нужно делать ? Помоги пожалуйста
@ Максим:
Пожалуйста :-)
Ух, эти пробелы в конце файла functions.php :-). Визуально смотришь вроде бы ничего, а в конце аж три штуки притаились. Спасибо за информацию!
@ Игорь:
Отправил Вам сообщение на мыло.
Посмотреть смогу только завтра.
А комментаторы не бегут. Они просто не могут комментировать, так как вместо отправки комментария, появляется окно подписки. Похоже что стоит под комментариями кнопка от подписки, однако, утверждать ничего не могу, пока не посмотрю шаблон.
@ Михаил Веб: в том то и дело, что ничего. Я не ахти какой спец, поэтому стараюсь своими пальцАми не лазить, куда не просят. Хочу попробовать вообще сейчас отключить свой feedburner. Сил нет))) комментаторы бегут. Сижу в одиночестве)))
@ Игорь:
Здравствуйте. А что делали до сбоя? Может что-то редактировали?
Здравия желаю!
У меня возникла проблема следующего характера: при отправке комментария вдруг! стало выскакивать окно подписки на материалы блога от feedburner. Срок этого сбоя — неделя (примерно).
Комментаторы уходят, я в панике)))
Не подскажете ГДЕ искать причину?
Спасибо
@ Денис:
Не за что.
Спасибо, все заработало.