Укрощение строптивых или как исправить ошибки RSS

Укрощение строптивых или как исправить ошибки RSS
5 (100%) 4 votes

RSS сегодня используется повсеместно, и не только для получения свежих новостей, но и как канал, по которому можно транслировать свои собственные новости автоматом в другие блоги и сообщества, в социальные сети, на Subscribe, создавая, таким образом, мощный эффект присутствия.

О том, как прожечь свой RSS через FeedBurner не писал только ленивый (я, то есть).  Я и сейчас не буду – информации по этой теме – море, и любой желающий всегда найдет сотни описаний и выберет по своему вкусу и пониманию.

Однако в последнее время мне частенько пишут с жалобами на ошибки RSS: невозможно прожечь фид, feedburner не может идентифицировать источник фида, возникают какие-то ошибки в RSS и как исправить ошибки RSS фидов и т.д.

Да, к сожалению, иной раз в этих каналах встречаются ошибки, из-за которых FeedBurner категорически отказывается признавать RSS за что-то удобоваримое.  Дело в том, что RSS — это, прежде всего, XML . Из описания видно, что XML-документы изначально должны быть безупречны. В отличие от HTML, DOM анализатор обязан отказаться от разбора XML документа, если в документе есть ошибки. Поэтому проверять свой RSS на валидность просто необходимо. Существуют множество инструментов для проверки RSS-каналов, например — http://feedvalidator.org/, http://validator.w3.org/feed/

Но это все скучная теория, а прожигать фиды нужно не когда-то в отдаленном светлом будущем, когда все будут знать, что такое XML и писать его код корректно, а уже сегодня. Поэтому, засучив рукава, мы укротим строптивые фиды. Шаг за шагом, от простого к более сложному.

Шаг первый – удаление пустых строк

Плагин Fix RSS Feed  для WordPress, который помогает исправить ошибки RSS фидов такие, как: “Error on line 2: The processing instruction target matching “[хХ][мМ][LL]” is not allowed.” когда вы пытаетесь прожечь свой RSS Feed через FeedBurner, или ошибка “XML or text declaration not at start of entity” которая появляется в браузере FireFox, или ошибка, которая возникает в браузере Opera “XML declaration not at beginning of document” и т.д.

Установка и активация этого плагина стандартна

Инструкция. Как исправить ошибки RSS с помощью плагинов?

Плагин Fix RSS Feed  работает автоматически буквально по нажатию клавиши.

1. Откройте консоль админа WordPress2.

2. Выберите Параметры ->Исправить RSS Feed

3. Отметьте «проверить папки WordPress и удалить ошибки»

4. Нажмите кнопку «исправить RSS Feed».

5. Плагин проверит во всех папках (кроме wp-admin) PHP файлы на предмет пустых строк в заголовке и в конце файла. Все обнаруженные пустые строки будут удалены. На коде это не отразится, т.ч. не переживайте

6. По окончанию работы плагин покажет вам результат. В том случае, если некоторые ваши документы, содержащие код, помечены только для чтения, он сообщит об ошибке. В этом случае вы можете изменить разрешение файла, дав добро на запись и повторно сканировать его содержание, нажав все ту же кнопку «исправить RSS Feed».

7. По окончанию, попробуйте скормить вашу ленту FeedBurner’у. Если проблема была в пустых строках – он ее с удовольствием съест прожжет

Скачать Fix RSS Feed плагин для WordPress

Если фокус не удался, т.е. пустых строк нет или они ликвидированы, но ленту все равно не принимают, переходим к шагу второму

Шаг второй – проверка и удаление BOM (п>ї)

Многие программы Windows (включая Блокнот) добавляют байты 0xEF, 0xBB, 0xBF в начале любого документа, сохраняемого в кодировке UTF-8. Поскольку любимый WordPress живет именно в этой кодировке, не часто, но в структуру его файлов эти символы попадают. Причем, они могут попадать не обязательно в файлы фидов, даже если они затесались в файлик какого-то плагина, RSS уже может показаться FeedBurner’у верхом непристойности.

Естественно, искать и бить их вручную мухобойкой не получится – нужно знать, куда целиться, да и много у вордпресса файлов. Смотреть их все просто лениво. Но есть еще на свете добрые люди. Один из них, по имени Антон, написал утилитку utf8-bom-remover для поиска и удаления BOM локально, еще до заливки файлов на сервер.

А здесь он показал, как эта его утилитка выглядит в работе http://anton-pribora.ru/projects/recoder/

Проделав эту нехитрую операцию, идем с хлебом-солью нашим фидом к FeedBurner’у: Откушайте, мол, господин хороший, мы от чистого сердца, чистыми руками и с чистой совестью...

Смотрим результат. Если проблема была с BOM, нам повезло. Если нет, придется принимать более жесткие меры

Шаг третий – жесткие меры

Заходим через FTP менеджер в директорию (папку) wp-includes, и открываем в любом редакторе, который корректно работает с кодировкой  UTF-8 без BOM (например Notepad++), файлы: «feed-rss.php», «feed-rss2.php», «feed-rss2-comments.php», «feed-atom.php», «feed-rdf.php».

В начале каждого из них находим строчку: <?php echo '<?xml version="1.0" encoding="'.get_option ('blog_charset').'"?'.'>'; ?>, и  удаляем ее.

Обратите внимание: если эта строка начинается не с <?php echo , а просто echo заключительный  ?> удалять не нужно

Сохраняем файлы. И (сюрприз!) опять идем жечь наш фид. Смотрим результат. Чаще всего срабатывает, но бывают и исключения. Тогда шаг последний

Шаг последний – крайние меры

Опять заходим в директорию wp-includes и редактируем файлы feed-rss2.php и feed-rss2-comments.php. В файле убираем первые 13-14 строк вплоть до
<rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"

При прожиге на FeedBurner из вариантов выбираем RSS2 (вообще-то, он стоит по умолчанию).

Вуаля! Теперь все работает!

Ну, а если и теперь не работает и FeedBurner по-прежнему обнаруживает ошибки RSS, то просто переустановите движок и прожгите фид ДО того, как навешаете на блог любимые плагины.

Лола Пирхал

Сертифицированный коуч, бизнес-тренер, интернет-предприниматель, веб-разработчик

+38 067 7923605 KartaUspeha.ru

QR:  '.get_the_title().'

Что Вы об этом думаете?

Подарок

Оставьте Ваш первый комментарий и получите замечательный подарок!


62 комментария

  • вот на пару часов бы раньше вашу стать получить и явно быстрее по исправляла все баги, и на этом спасибо! вот прямо сегодня и столкнулась с это проблемой...

  • @Seele: Да, бывает... Видимо Вам сильно нужно было, потому что написать статью об этом мне пришло в голову среди ночи, и потом я уже не спала 😀 Пришлось плюнуть на досыпание и в пять часов утра сесть писать статью.

  • Привет.Не могу никак прожечь свой фид.САйт новый ничего ещё нету.А пишет вот такое в Фидбёрнере

    An error occurred connecting to the URL: Error getting URL: 404 - Not Found
    Sorry

    This feed does not validate.

    *

    Server returned HTTP Error 404: Not Found [help]

    *

    line 16, column 16: lastBuildDate must be an RFC-822 date-time: [help]

    Чё за ерунда не могу понять.Не подскажите в чём проблема?Уже замучалась не знаю как решить,раньше прожигала за 5 минут и без всяких проблем.

  • Спасибо я уже решила проблему.Не это не тот блог.У меня есть новый блог http://kulbar.ru/ и там не было не одной записи, поэтому не могла прожечь фид.Добавила одну запись и всё заработало.Но теперь другая проблема я думаю может она в шаблоне.В шаблоне нужно ввести свой ID ,я ввожу и при подписке по e-mail пишет ерунду какую-то.Если ставлю форум от самого Feedburner то всё работает как надо.НЕ знаю в коде наверное копаться нужно.Посмотрите может я что-то не то делаю.Но на сайте не одной записи нету ещё.

  • Спасибо,но это не то.

  • Марья

    Лола, спасибо, очень хорошая статья, но такие гуманитарии как я понять ее все-таки не в состоянии. Четыре часа просидела, осилила только первый этап. В описании других понимаю отдельные слова, а во что-то единое не складываются, хоть тресни. Если не будет большой наглостью, я хотела бы воспользоваться вашими услугами для решения этого вопроса. На коммерческой основе, разумеется. Напишите мне, пожалуйста. Адрес в комментарии будет. Заранее спасибо. Марья

  • Ольга

    Мне помогло только отключение плагинов, которые упоминались в строках с ошибками: это были WP-Click-Tracker и mySTAT. Но за статью спасибо, без нее вообще бы не разобралась. *IN LOVE*

  • Елена

    Здравствуйте!

    Помогите пожалуйста. Как исправить вот такую ошибку: "Ошибка RSS: WP HTTP Error: Слишком много перенаправлений"?

    Я совсем чайник, и никак не могу понять, как исправить такую ошибку. Что нужно сделать, чтобы не было слишком много перенаправлений?

    Заранее большое спасибо.

  • Елена

    Большое спасибо за ОЧЕНЬ быстрый ответ!

    Но только я настолько чайник, что появились еще вопросы: а что значит "активируйте СТАНДАРТНУЮ тему "?

  • Елена

    Спасибо, поняла. А что значит "прожигать фид"? Зажечь новый, или вставить уже имеющийся адрес фида?

  • Елена

    Всё сделала, как Вы сказали: отключила все плагины, активировала стандартную тему, зажгла фид, установила плагин "FeedBurner FeedSmith Extend", вставила адрес нового фида.

    но ошибка осталась прежней: "Ошибка RSS: WP HTTP Error: Слишком много перенаправлений"

  • Елена

    Ура! исправила ошибку. Спасибо Вам большое!
    И отдельное Вам спасибо за оперативность!

    Скажите, а как вставить кнопку RSS?

    • На здоровье, Елена
      Насчет кнопок разного рода - смотря куда. Проще всего в текстовый виджет в сайдбар. Есть специальные плагины для этого вроде Social Media Widget

  • Елена

    Да, в текстовой виджет в сайдбар.
    Но, повторюсь, я такой чайник...
    А иметь красивые кнопочки(картинки) рсс, твитер, фейсбук (и т.д.) - очень хочется. Может есть какая-нибудь пошаговая инструкция для чайников?

  • ПОМОГИТЕ ПОЖАЛУЙСТА!!!ПЫТАЮСЬ ПРОЖЕЧЬ ЛЕНТУ ЧЕРЕЗ ФИДБЕРЕНЕР, НАХОДИТ 2 ЛЕНТЫ,ПРЕДЛАГАЕТ ВЫБРАТЬ:
    Идентифицировать источник фида

    URL фида, который ты добавил:

    http://moyamashinka.com/rss.feed?type=rss

    FeedBurner обнаружил больше одного фида по этому адресу. Пожалуйста, выбери один в качестве истоника:
    RSS 2.0: http://moyamashinka.com/rss.feed?type=rss
    Atom 1.0: http://moyamashinka.com/rss.feed?type=atom

    Я ВЫБИРАЮ, И ВСЕ!!!!НИЧЕГО НЕ ПРОИСХОДИТ!!!САЙТ НА ДЖУМЛЕ,ПОЧЕМУ НЕ ПРОПУСКАЕТ?УЖЕ НЕ ЗНАЮ ЧТО ДЕЛАТЬ И ГДЕ ИСКАТЬ....

  • Лола, Большое спасибо за пост!Информации на самом деле много о данной проблеме, но только с Вашей помощью удалось восстановить работу FeedBurner.

  • Здравствуйте, Лола. Уже неделю голову ломаю над проблемой. Последнее время мои подписчики не получают на почту сообщения об обновлениях на блоге. Фиду больше 2-х лет никогда проблем не возникало. Все откладывала решение этой проблемы, думала что-то с фидбернерор. Но письма так и не приходят. Проверяю через валидатор пишет "line 189, column 0: XML parsing error: :190:250: junk after document element". Сделала как в вашей статье описано, установила плагин и проверила на ошибки - пустых строк не обнаружено. Когда жму "Решай проблемы" выдает There is an issue that must be addressed with your source feed for the feed "Стереокартинки для всей семьи!"

    "The URL you entered does not appear to be a valid feed. We encountered the following problem: Error on line 190: The markup in the document following the root element must be well-formed."

    Вот мой фид http://feeds.feedburner.com/stereokartinki/lrla
    Лола, помогите, пожалуйста! Буду безумно благодарна!

    • У Вас сам фид невалидный. Проделайте все по шагам, что описано в статье

      • Спасибо, проделал все до 3-го шага и просто стало страшно, что лезу туда где ничего не понимаю. По отключала все плагины, потом включила на сайте произошло черти что. В итоге выяснилось что на сайте вирусы. В общем, обратилась к хостерам. Что уж они так сделали, но сегодня получилась рассылка писем со всеми обновлениями блога за время сбоя. Думаю, прежде чем лезть устранять неполадки, обратитесь к хостерам, если до этого все работало и вы ничего не меняли, то дело скорей всего в них.

  • Лола, а Вы можете подсказать? В панели управления сайта-главная- входящие ссылки (это я Вам путь указала) написано (Ошибка RSS: A feed could not be found at http://blogsearch.google.com/blogsearch_feeds?scoring=d&ie=utf-8&num=10&output=rss&partner=wordpress&q=link:http://valinok.ru/) Кода проверила сайт на сервисе, что Вы указали feedvalidator, там ответ такой "Поздравляем Это действительный канал." Что все это значит? И что нужно делать? Можете мне сказать? Спасибо.

  • Лола, меня очень заинтересовала Ваша главная страница)Скажите это плагтн такой-располагает "Моя страница на FaceBook", последние записи на твитер , канал на Ютубе? или просто тема такое поддерживает? Если плагин не можете сказать какой?

  • Лола, я закачала плагин, вначале проверила и исправила - мне выдало, что есть пустые строки. Через время еще раз проверила уже пишет (Не найдены пустые строки из вашего WordPress файлы PHP, теперь ваша подача в порядке!)
    Но, в панели инструментов, на главной- входящие ссылки- так же и пишут - ошибка RSS,что же это?

  • Здравствуйте!
    Подскажите, пожалуйста, как сделать выдачу rss, как у Вас?
    Кроме этого валидатор выдает вот это:
    1. Этот канал является допустимым, но совместимость с широким спектром кормов читателей может быть улучшена путем осуществления следующих рекомендаций.
    Питание не должно быть подан с "текст / HTML" тип носителя
    2. Ваша подача, кажется, кодируются как "UTF-8", но ваш сервер сообщает "US-ASCII"
    Как исправить можно эти ошибки?
    Заранее спасибо!

    • Юлия, что имеется в виду "как у Вас"? Что именно Вы хотите,чтобы было?
      Я посмотрела, у Вас абсолютно валидный фид. Вам нужно его просто прожечь через фидбернер

  • Все больше не могу. Использовала практически все методы чтобы исправить ошибки ничего не помогает все равно выдает ошибку
    This page contains the following errors:

    error on line 3 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.

    Ну что мне еще нужно сделать! (крик о помощи)

    • На Вашем месте я бы отключила ВСЕ плагины, активировала стандартную тему оформления и прожгла фид. После чего можно было бы включить все заново. Если и это не помогает - нужно переустановить движок

  • Мне валидатор пишет, что где то пробел, уже все поубирал, не помогает и что-то с сылкой:
    Sorry

    This feed does not validate.

    line 1, column 1: Blank line before XML declaration [help]

    Помогите

    ^
    In addition, interoperability with the widest range of feed readers could be improved by implementing the following recommendation.

    line 14, column 88: Self reference doesn't match document location [help]

    ... rel="self" type="application/rss+xml" />

    • Сделайте буквально следующее: отключите ВСЕ плагины, установите дефолтную тему оформления и пробуйте прожигать фид. Если пройдет, скорее всего проблема в теме или плагинах.

  • Антон

    А если на сайте нет ни одной статьи, только создал, очередной, в этом случае RSS должны настраиваться?

  • Спасибо вам Лола,ваша статья мне очень помогла!
    Когда я зажег свой фид то первое время не обращал внимания на него,пока не заметил,что людям не приходят статьи на почту! И начал искать ошибки и причины в этом прочитал много статей,перепробовал способы которые в них предлагались. Они у всех были одинаковые.А вот в вашей статье, оказались новые варианты решения проблемы. Мне помог шаг третий! Спасибо вам! 😉

  • Здравствуйте. Прочитал статью. Но что-то мне подсказывает, что собака где-то зарыта в другом месте. Пробовал править ошибки плагином, не помогло. При анализе через валидатор, сервис выдает кучу ошибок. Однако где рыть ума не приложу. Подскажите пожалуйста, если не сложно. Ссылка на лог ошибок - http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fmoneylands.ru%2Ffeed%2F

  • Странное дело. Удалил переадресацию на фидбернер из файла htaccess, после чего снов вставил, но уже перед кодом

    SecFilterEngine Off
    SecFilterScanPOST Off

    И бернер считал ленту, так же валидатор выдал сообщение, что рсс валидна, хотя ошибки все же остались (в этом контексте просьба о помощи актуальна).

    Завтра опубликую статью и проверю, как рсс работает.

    • Вам будет намного проще, если Вы отключите все плагины, установите дефолтную тему оформления, прожжете фид и затем включите все обратно.
      То же касается и директивы в htaccess. Уберите ее, прожгите фид и затем верните.
      Фид по-хорошему нужно прожигать сразу после установки вордпресса, ДО того, как начнете блог допиливать напильником

  • И снова все вернулось на круги своя. Не могу понят, но рсс снова не валидна. Танцы с изменением htaccess не помогают

  • А в ответ тишина ???

  • Здравствуйте!

    у меня вот такие ошибки, если знаете подскажите как их исправить 2недели уже мучаюсь ничего не помогает..:(

    Sorry

    This feed does not validate.

    line 14, column 2119: channel contains more than one feedburner:emailServiceId (62 occurrences) [help]

    ... html" name="robots" content="noindex" />ps-bl ...
    ^

    line 14, column 2184: channel contains more than one feedburner:feedburnerHostname (62 occurrences) [help]

    ... d>ps-blog-ruh ...
    ^

    line 154, column 112: item contains more than one feedburner:origLink (310 occurrences) [help]

    ... -photoshop-cc.htmlhttp://feed ...
    ^

    In addition, interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

    line 14, column 32176: Image title doesn't match channel title [help]

    ... ошоп|Блог - уроки Фотошоп для начинающих<feedburner:emai ...
    ^

    line 151, column 110: description should not contain relative URL references: //feeds.feedburner.com/~r/ps-blog-ru/~4/ifHr1-SHxW8 (75 occurrences) [help]

    ... 6clras" height="1" width="1" alt=""/>

    • Добрый день, Иван

      • отключите ВСЕ плагины,
      • установите дефолтную тему оформления,
      • прожгите фид,
      • включите все обратно.
      • Поясните пожалуйста, я новичок в этом деле.
        как понять установить дефолтную тему?
        как понять прожечь фид?

        • Дефолтная тема - это тема оформления по умолчанию. Т.е. та, которую сам вордпресс ставит при установке (как правило, Twenty.. какую-то :) )

          Как прожечь фид, я записывала видеоурок, он есть в рассылке, которую можно получать, оставив свой е-мейл в форме подписки в сайдбаре или выпадающем окне.

          • Все сделал, все ровно выдает ошибки:((

            • Если Вы пытаетесь прожечь фид того блога, который указываете в комментариях, то я вижу, что тема оформления не дефолтная.

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

              Отключите все, что я сказала. Обновите вордпресс. Прожгите фид и только ПОТОМ включите все снова

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

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