RSS сегодня используется повсеместно, и не только для получения свежих новостей, но и как канал, по которому можно транслировать свои собственные новости автоматом в другие блоги и сообщества, в социальные сети, на Subscribe, создавая, таким образом, мощный эффект присутствия.
О том, как прожечь свой RSS через FeedBurner не писал только ленивый (я, то есть). Я и сейчас не буду – информации по этой теме – море, и любой желающий всегда найдет сотни описаний и выберет по своему вкусу и пониманию.
Однако в последнее время мне частенько пишут с жалобами на то, что невозможно прожечь фид, feedburner не может идентифицировать источник фида, возникают какие-то ошибки в RSS и как исправить ошибки RSS фидов и т.д.
Да, к сожалению, иной раз в этих каналах встречаются ошибки, из-за которых FeedBurner категорически отказывается признавать RSS за что-то удобоваримое. Дело в том, что RSS — это, прежде всего, . Из описания видно, что XML-документы изначально должны быть безупречны. В отличие от HTML, DOM анализатор обязан отказаться от разбора XML документа, если в документе есть ошибки. Поэтому проверять свой RSS на валидность просто необходимо. Существуют множество инструментов для проверки RSS-каналов, например — ,
Но это все скучная теория, а прожигать фиды нужно не когда-то в отдаленном светлом будущем, когда все будут знать, что такое 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’у. Если проблема была в пустых строках – он ее с удовольствием съест прожжет
Если фокус не удался, т.е. пустых строк нет или они ликвидированы, но ленту все равно не принимают, переходим к шагу второму
Шаг второй – проверка и удаление BOM (п>ї)
Многие программы Windows (включая Блокнот) добавляют байты 0xEF, 0xBB, 0xBF в начале любого документа, сохраняемого в кодировке UTF-8. Поскольку любимый Wordpress живет именно в этой кодировке, не часто, но в структуру его файлов эти символы попадают. Причем, они могут попадать не обязательно в файлы фидов, даже если они затесались в файлик какого-то плагина, RSS уже может показаться FeedBurner’у верхом непристойности.
Естественно, искать и бить их вручную мухобойкой не получится – нужно знать, куда целиться, да и много у вордпресса файлов. Смотреть их все просто лениво. Но есть еще на свете добрые люди. Один из них, по имени Антон, написал утилитку для поиска и удаления BOM локально, еще до заливки файлов на сервер.
А здесь он показал, как эта его утилитка выглядит в работе
Проделав эту нехитрую операцию, идем с хлебом-солью нашим фидом к 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 (вообще-то, он стоит по умолчанию).
Вуаля! Теперь все работает!
Ну, а если и теперь не работает, то просто переустановите движок и прожгите фид ДО того, как навешаете на блог любимые плагины.
Популярность: 22%

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