Совсем недавно я делал блог под заказ. Когда дело дошло до настройки RSS-ленты, мне браузеры выдали вот такую ошибку:
в Firefox
XML Parsing Error: XML or text declaration not at start of entity
Location: http://iuliandonici.com/feed
Line Number 3, Column 1:
^
в Opera
XML declaration not at beginning of document
в Chrome
This page contains the following errors:
error on line 2 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.
Чтобы найти решение проблемы, я промучился 2 часа. Но теперь я знаю, что это за ошибка, почему она возникла и как ее исправить. А, поскольку с этой ошибкой сталкиваются практически все, кто ковыряется в коде WordPress, устанавливает новые плагины, или просто развивает свой блог изнутри, то уверен, что эта информация будет полезной.
Откуда взялась ошибка с XML declaration в RSS-ленте?
При создании feed (фида) используется XML формат. XML блок должен выводится первым в ленте и без всяких пробелов спереди. Некоторые плагины делают грубую ошибку, оставляя после себя те самые ненужные пробелы, которые и ломают всю нашу RSS-ленту, с чем я и столкнулся в заказе.
Когда я открыл исходный код блога, то увидел в самом верху огромное количество пробелов. Советую и вам посмотреть на ваших ресурсах. Если вы не знаете, как посмотреть исходный код сайта в браузере, пишите в комментариях.
Исправление ошибки XML declaration в RSS-ленте.
Итак, как я исправил ошибку?
Как вы уже поняли, нужно бороться со зловещими пробелами в начале сайта. Приступим.
1). В самом начале я проверил нет ли пробелов в файле темы functions.php.
Проверять нужно до
<?php
и после
?>
Если у вас имеются пробелы, удалите.
2). Посмотрите наличие пробелов в файле wp-config.php вначале кода и в конце.
3). Проверьте файлы wp-rss2.php и wp-atom.php. Если есть пробелы в начале или в конце кода, удалите.
4). Мне этих три пункта не помогли, так как пробелов в файлах не было. Тогда я в админ-панеле стал выключать по одному плагину. И вот, совершилось!!! Я нашел виноватого. После деактивации плагина "WP No External Links" все заработало.
5). Если у вас ошибка и далее висит, воспользуйтесь плагином "Fix RSS Feed Word Press". Этот плагин удаляет лишние пробелы в файлах, которые так мешают работе RSS-ленты.
Я плагин не использовал и не проверял на работоспособность. Сказать, на сколько он хорош не могу, но рекомендую, на всякий случай, сделать резервную копию полностью всего сайта, это во избежание лишних проблем, мало ли что может случиться.
6). Если вы для трансляции ленты на блоге используете Feedburner, и после всех этих исправлений он не хочет работать, сделайте такие действия:
зайдите в ваш аккаунт Feedburner => Мои фиды (My Feeds) =>нажмите на название фида =>Решение проблемы (Troubleshootize) => Resync Now. Эта операция обновит и ресинхонизирует ленту-RSS.
Если для устранения ошибки вам не помог ни один из пунктов, пишите в комментарии, попробуем разобраться вместе.
Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓
Последние новости категории:
Похожие статьи
Популярные статьи:
-
Как узнать id компьютера
Дата: 29 марта 2013
Прокомментировано:90
просмотров: 330330 -
Размеры форматов листов А0 – А7
Дата: 23 января 2013
Прокомментировано:3
просмотров: 274683 -
Смешные логические загадки с подвохом, отгадки прилагаются
Дата: 12 ноября 2014
Прокомментировано:5
просмотров: 222437 -
Готовые макеты блоков для веб-страниц на HTML и CSS
Дата: 25 июня 2014
Прокомментировано:23
просмотров: 187489 -
Установка windows 7 на ноутбук
Дата: 18 декабря 2012
Прокомментировано:169
просмотров: 186559
Понимаю, что не так что-то делаю. Но не получается никак исправить(
Алексей, посмотрите наличие пробелов в файле wp-config.php, wp-rss2.php и wp-atom.php вначале кода и в конце. Если были пробелы, удалите их.
Если это не помогло, пробуйте в админ-панеле выключать по одному плагину. Таким образом вы найдете плагин, который портит всю картину.
Спасибо за комментарий.
Кучу всего перепробовал. В итоге – вообще запорол файлы, сайт не запускался. Сделал бэкап и… вуаля… фид заработал
Здравствуйте! У меня была эта проблема две недели назад! я убрал пробелы во всех файлах RSS и помогло! Вчера опять это случилось после автоматического обновления вордпреса. Сразу полез в те же файлы убирать пробелы, но в этот раз не помогло, также убрал пробелы в файлах function.php , config.php и … НЕ ПОМОГЛО. установил плагин fix feed и ничего.Сделал бекап всего сайта и базы данных и…жопа ничего не помогает!Вариантов больше нет, вы можете ещё что то предложить или всё, лавочка закрыта и надо будет заводить новую ленту?
Заранее спасибо!
Здравствуйте, Игорь! Смотрел на исходный код вашего сайта. Я увидел в исходном коде пробелы.
Посмотрите наличие пробелов в файле wp-rss2.php и wp-atom.php вначале кода и в конце. Если не поможет, тогда повыключайте по одному плагину.
Спасибо вам за потраченное время на проверку моего кода,но вы увидели эти пробелы из-за того что я сделал уже бекап всем файлам блога и базе данных и по этому все вернулось как и было,а до этого я удалил все пробелы во всех файлах rss и во всех файлах шаблона и вообще во всех файлах php!!!! Конечно же деактивировал все плагины и пытался исправить с плагином fix rss feed ,короче сделал все что только можно было,прочитал около 100 статей на эту тему и не только на русском!!Какая то магия прямо!Ни в какую моя лента не хочет работать!Начал в серьез задумыватся о создании новой ленты,хорошо что подписчиков не так много,а то иначе бы застрелился
Не знаю, на сколько это подходящая идея, но ради эксперимента попробуйте поменять шаблон (любую тему из стандартных). Ведь это проще, чем создание новой ленты.
Хорошо попробую! Кстати вы сказали чтобы я убрал пробелы в файлах wp-rss2.php и wp-atom.php что это? или вы имели ввиду feed-rss2.php и feed-atom.php ?
wp-rss2.php и wp-atom.php отвечают за формирование Feed.
А где эти файлы находяться? В какой папке?Я убирал пробелы во всех файлах rss типа feed-rss,feed-atom,feed-rss2,и т.п. короче все те которые начинаются с feed,а про файл wp-rss2.php не слышал раньше,где он?Ты меня извини пожалуйста за все эти вопросы,замучал я тебя наверно? Ну это последний мой вопрос и я отстану от тебя!!!
Игорь, сразу в корне сайта, там, где находятся папки “wp-includes”, “wp-content”.
А у меня в корне нет этих файлов вообще!!!!Может это и есть моя проблема?Где они могут быть еще?
Эти файлы находятся только там.
Степан, у меня в корне сайта есть все файлы как и у тебя на скриншоте кроме двух нужных wp-rss2 wp-atom !!! Ничего не понимаю, как это может быть?И как их можно вернуть, ведь скорей всего из-за этого моя лента сломана! Есть у тебя идея или мы зашли в тупик и оставить тебя уже в покое?
Есть одна идея, но я, не уверен в ней на все 100%. Скачайте WordPress с официального сайта http://ru.wordpress.org/ и залейте себе эти два файла. Надеюсь, все заработает.
Степан, во первых я хочу поблагодарить тебя за твоё стремление помочь, поверь мне это не само разумеющейся!!!
Во вторых, я сделал то, что ты сказал, но оказывается что эти файлы существуют только до версии 3.2 в следующих версиях этих файлов нет. В любом случае я скачал эти файлы и закачал в корень сайта, но ничего не помогло(эти файлы всего лишь редиректы файлов которые находятся в папке wp-includs там где находятся файлы feed-rss2.php feed-atom.php), но… я поменял шаблон по твоему совету и… лента заработала!!!! Когда вернул мой шаблон лента опять сломалась!Это значит что проблема в файлах самого шаблона, не так ли? я попробую убрать все пробелы во всех файлах php шаблона и если не поможет, то… всё, здаюсь!!! Придётся менять шаблон, а так не хочется, там у мне столько разных скриптов и кодов добавлено, я даже не помню какие!
Степан, я безмерно тебе благодарен!!!!!!!!!!!!!!!!!!!
Да, Игорь, я склоняюсь к тому, что это проблема в файлах самого шаблона. Еще раз проверь файл “functions.php” на наличие пробелов, а также файл “header.php”. Пробелы тщательно проверяй и вверху, и внизу.
Степан,проблема решена!Редактирование всех файлов шаблоне на исключение пробелов не помогла!!!!Но я скачал заново мой шаблон и установил его,лента заработала!Дальше я начал заливать на сервер файлы шаблона прошлого по одному каждый раз и проверял ленту на работоспособность.Залил все файлы кроме function.php и лента работала,как только залил function.php лента сломалась.Это значит что проблема и правда была именно в function.php!!!!Хотя никаких пробелов там не было(проверял 1000 раз)значит что то там другое!В любом случае,оставил новый файл и уже в ручную сделал все нужные изменения! Степан,я тебе уже говорил спасибо? Спасибо тебя еще раз!!!!!
Отличный опыт я получил за последние 4 дня попыток исправления проблемы,теперь у меня есть достаточно информации и опыта на новую статью у себя на сайте
Мне приятно было Вам хоть чем-то помочь. Приятно порадовало то, что Вы думающий, упорный и терпеливый веб-мастер. Желаю всяческих успехов в этом ремесле!!!
Хоть чем то помочь?????Ты мне очень помог!!!!Ведь ты дал советпоменять шаблон и проверить,а я вообще об этом не задумывался!Так что во первых я говорю тебе тысячный раз спасибо и во вторых я говорю тебе большое спасибо за комплименты от тебя в мою сторону! Я тебе также желаю успехов и удачи!Надеюсь что мы разговариваем не в последний раз,так как я уже подписан на обновление блога и с нетерпением жду от тебя новых статей!
Очень рад новому подписчику!!! Спасибо за пожелания успеха и удачи. Буду рад дальнейшему общению и дружескому обмену опытом.
Где найти файлы wp-rss2.php и wp-atom.php.??
всю фаил зиллу перерыл
Здравствуйте, Андрей. Если вы создаете сайты на движке CMS WordPress, тогда файлы wp-rss2.php и wp-atom.php найдете в корне сайта. Можете посмотреть на 6-ой комментарий.
адрес блога/sitemap.xml
Перепробовал все. Не хочет работать
Вы не то делаете. Вы читаете как исправит ошибку RSS-ленты. RSS-лента, это не карта сайта формата xml. Вам нужно почитать вот эту статью /wordpress/karta-sajta-dlya-wordpress.html/
Здравствуйте! Недавно столкнулся с такой проблемой, с сервиса feedburner перестали приходить новые статьи на e-mail читателей моего блога, но при этом, когда подписываешься на рассылку приходит письмо с подтверждением подписки. Уже несколько месяцев пытаюсь решить эту проблему самостоятельно, облазил весь рунет в поисках решения, но увы лекарства не нашел.
Уже опустились руки, перепробовал все что можно было, пишу вам можете вы сможете подсказать в чем дело.
Ошибка вот такая:
FeedBulletin for: fotoshopblog
This is FeedBulletin, a personalized feed for fotoshopblog. FeedBurner uses this feed to report account changes, “FeedMedic” trouble alerts, feed stats reports, and occasional FeedBurner announcements.
PROBLEM: FeedMedic Alert for
… ошоп|Блог – уроки Фотошоп для начинающих
Здравствуйте, Иван! Пытался разобраться в вашей проблеме, но пока что увы, порадовать я ничем не смогу. Когда началась эта проблема? Вспомните, какие действия вы делали, после чего и появилась эта ошибка! Давайте как-то решим эту задачу вместе!
Спасибо Вам! Все вернулось к норме. Хотя как добавился пробел в файл wp-config не пойму, туда не лазил!
Пожалуйста!
Олег, посмотрел Вашь магазин резиновой обуви. Скажите, каким плагином Вы пользуетесь, для реализации корзины?
Степан, а у меня вообще нет таких файлов в WordPress!
Раньше работало RSS, сейчас нет! (
Каких нет:
functions.php, wp-rss2.php, wp-atom.php, wp-config.php ?
Добрый день!
Нет файлов: wp-rss2.php, wp-atom.php.
Проблему решил обычной переактивацией темы!
Скорее всего, косяк был связан с тем, что сейчас настраиваю плагины, тему и т.д. т.п., и при новой активации темы, файлы xml перезаписались по новой, ну и есть еще мысля, что установленный мной грабер YouTube перелопатил xml!
А так все норм, спс за статью!
Здравствуйте! Это хорошо, что все решилось! Спасибо за комментарий!
спасибо
Благодарю, ваш рецепт действует превосходно. Файл function.php заменен и лента снова работает.
Здравствуйте Степан! У меня подобная проблема на opencart… не грузит карту сайта ([ссылка скрыта]) в хроме выдает ошибку в красной рамке с розовым фоном
“This page contains the following errors:
error on line 1 at column 7: XML declaration allowed only at the start of the document
Below is a rendering of the page up to the first error.”
В каких файлах в моем случае стоит искать пробелы?
Заранее спасибо за ответ
Максим, в opencart я не селен! Попробуйте для эксперимента заменить тему магазина, если ошибка исчезнет, значит ищите лишние пробелы в файлах шаблона
Здравствуйте, подскажите пожалуйста одну вещь. Feedberned выдает ошибку “Мы не смогли обнаружить действующего фида по данному адресу” что такое действующий фид? сам xml файл? Пробовал менять тему удалять пробелы – не помогает..
Здравствуйте! Проверьте, правильно ли Вы все настроили! Дайте ссылку на Ваш фид, я сам посмотрю, может и подскажу что-то!
Спасибо, но все решилось удалением в.htaccess 301 редиректа старой ленты)))
Здравствуйте, у меня сначала не работала карта, яндекс вебмастер ругался, сегодня заметил что не работает и FeedBurner и то и то выдают одну и ту же ошибку:
“This page contains the following errors:
error on line 2 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.”
Файлы не менял, лазил только Style.css и пытался перейти на новую версию PHP на хостинге, но не получалось, выводило ошибку в 1 файле, я его редактировал, но пробелы там не оставлял.
Все файлы что Вы рекомендуете проверить, проверил, пробелов не нешел.
Здравствуйте! У Вас же все гуд. RSS лента отображается корректно.
На удивление да, сайт живет своей, собственной жизнью.
Я ничего не делал, а на утро все стабилизировалось.
Только не понятно почему, в индекс яндекса попали дубли всех статей сайта с окончанием /feed в конце. И это не на одном сайте, может у фидбернера глю какой то произошел?
Теперь вот избавляюсь от этих дублей.
Отличная статья. Коротко и ясно всё объяснили, проблема решена. Спасибо за ваш труд!
Пожалуйста, Александр!
Доброго времени суток, Степан!
Столкнулся с проблемой после того, как на сайте на вордпрессе обновил плагин рекапча. Деактивировал его, и помогло, но только на 11 часов, потом опять пробел появился(((
Впрочем, отключил ещё один плагин, связанный с предыдущим, и всё наладилось… Пока.
Здравствуйте, Евгений.
Проверьте таким же способом и остальные плагины.
Отлично! Я думаю больше такой уже ошибки не будет!
А какие плагины были, которые пришлось отключить?
На самом деле всё кончилось печально. Отключал плагин рекапча, и плагин, отвечавший за интеграцию капчи. Помогло часов на 12, потом рсс снова ломалась. Затем пришлось обратиться к специалисту, он указал, что виноват плагин профайл билдер, но там всё куда сложнее лечится, чем просто деактивацией.
посмотрите исходный код сайта в браузере. Если есть пробелы, пробежитесь по всем файлам плагин профайл билдер и удалите пробелы (пробелы в начале файла).