Приветствую всех друзей и читателей – Sozdaiblog.ru!
Сегодня Вы узнаете, как грубым, но эффективным способом починить в WordPress RSS ленту и избавиться от надоедливой ошибки синтаксического анализа XML.
Я уверен, что многие из Вас при нажатии на оранжево-полосатую кнопку ни один раз наблюдали следующую картину:
К сожалению, я тоже сталкивался с этим чудным багом.
В то время из-за своей неопытности мне пришлось полдня провисеть в Интернете, бегая от сайта к сайту, дабы найти лекарство от этой заразы.
По себе знаю, что когда в Интернете целенаправленно пытаешься найти необходимую информацию, то хрена лысого она попадается. Будешь сутками лазить в поисках решения, пока со злости не бросишь это занятие.
Но, я то парень упёртый и на одном из сайтов всё-таки разыскал своеобразный «бычий способ», но реально работающий.
Итак.
Уничтожение ошибки синтаксического анализа XML.
Чтобы исправить ошибку синтаксического анализа XML, нужно немного поковыряться в ядре движка.
В корневой папке Вашего сайта необходимо найти каталог «wp-includes». В этом каталоге нам потребуется подкорректировать следующие файлы:
1. feed-atom-comments.php
2. feed-atom.php
3. feed-rdf.php
4. feed-rss.php
5. feed-rss2-comments.php
6. feed-rss2.php
В первых двух файлах нужно удалить всё, что находится до блока:
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="<?php bloginfo_rss( 'language' ); ?>" xmlns:thr="http://purl.org/syndication/thread/1.0" <?php do_action('atom_ns'); do_action('atom_comments_ns'); ?> >
В третьем до:
<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:content="http://purl.org/rss/1.0/modules/content/" <?php do_action('rdf_ns'); ?> >
У четвёртого отсекаем все строчки до:
<rss version="0.92">
А у пятого и шестого до:
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" <?php do_action('rss2_ns'); do_action('rss2_comments_ns'); ?> >
Обязательно проверьте все шесть файлов на наличие пустых строк. Они не должны присутствовать ни в одном документе.
Закончив все действия, не забудьте сохраниться.
Спустя некоторое время Ваша RSS лента чудесным образом заработает.
Единственная загвоздка в том, что при обновлении WordPress придётся пройти эту процедуру заново. На самом деле это просто и займёт 5–10 минут Вашего времени.
Если у Вас есть другие решения этой проблемы, буду очень рад увидеть их в комментариях.
На сегодня это всё. До скорых встреч…
С уважением, Денис Черников!
Спасибо Денис, за статью!
У меня такого бага не было, может и не будет, но если будет то теперь уже точно знаю, где искать информацию!
Пожалуйста, Сергей! Лучше, чтобы он не появлялся.
Недавно сталкивалась лично, как говорят «лицом к лицу».
В моем случае весь фид ломал плагин, который конфликтовал не только с фидом, но и с большей частью сайта. В моем случае, пришлось полностью удалить сам плагин, что бы нормализовать работу сайта и фид-ленты, т.к. редактирование файлов и удаление пустых строк не помогало. Пришлось искать альтернативу данному плагину.
Как бы плачевно это не звучало, но при использовании плагинов случается не только такое, у меня пол сайта один раз развалилось!
Первый раз слышу о подобной проблеме. А в каких случаях она появляется?
Когда на кнопку нажимаете, тогда и появляется! Обычно после обновления.
Такой баг есть у меня в разных браузерах, кроме Mozilla Firefox. В нем все нормально, поэтому, я некоторое время даже не подозревал об этом.
Пришло самое время это исправить!
Денис, а о какой кнопке вы говорите, а то я думала, что это увидишь если проверяешь сайт на каком-нибудь сервисе.
Кнопка подписки на новостную ленту! У меня в подвале блога такая стоит.
Не приходилось сталкиваться, буду иметь ввиду. Спасибо.
Это хорошо, что не сталкивались. Может пронесёт!
Спасибо! Пока не сталкивался с такой проблемой, но теперь знаю где искать лечение в случае чего
Пожалуйста, Николай! Буду рад видеть Вас снова!
У меня похоже вот как раз такой глюк… Не хочется лезть, конечно, с моим нулем знаний в коды, но, похоже, другого варианта нету. Спасибо большое за информацию! Отлажу — обязательно отпишусь! (Интересно, у меня из-за этого вместо «последней статьи» комментарии выходят?)
Пожалуйста, Ирина! Пробовать всё равно нужно, иначе никак.
Денис, спасибо большое! Обратилась за помощью, ответил моментально! Сохраняю статью в закладки, помогло, даже ждать не пришлось! Заработало! Тьфу-тьфу, чтоб не сглазить…
Пожалуйста, Татьяна! Рад был помочь! Обращайтесь.
Спасибо за подробные инструкции, попробую внести корретивы
Пожалуйста, Надежда! Только будьте осторожней.
Cделала все по вашим инструкциям.Все оказалось просто, теперь жду результата
Они обязательно будут!
Приветствую тебя Денис и всех остальных!
Я все таки эту ошибку которая указана на картинке в статье Дениса исправил.
Но начну по порядку.
Все сделал, что советовал Денис в статье но ничего не помогло.
Потом нашел еще несколько советов в интернете, предлагалось заменить несколько файлов движка. Заменил, опять не помогло.
Прям как в детективе.
Обновил движок новыми файлами-опять не помогло.
Отключил все плагины все было по прежнему.
Да движок у меня стоял самой последней версии.
Затем прочел на одном сайте специалиста по WordPress совет, о том, что если появляются глюки необходимо прежде всего попробовать откатится на раннюю версию и посмотреть.
Я подумал и откатился на версию 3.4.2. И знаете все сразу заработало. Даже очень замечательно.
И мне даже показалось, что блог даже шустрее стал работать.
Вот такая у меня для Вас история в дополнение к статье Дениса.
Думаю написать статью как я исправлял эту ошибку может кому то поможет.
Получается, что в версии WordPress 3.5 непобедимый глук? Но к примеру у меня он побеждён именно так, как я описал в статье. Получается Вы не решили проблему, а просто пробэкапили свой сайт.
Что-то Вы упустили, Сергей! Этот хак всегда помогал, но должно пройти некоторое время. Лента не сразу восстанавливается (хотя, у кого как). А Вы наверное сразу откатились не переждав денёк.
Денис я полностью все файлы перешерстил но проблема осталась. Я даже их менял на новые с чистой архивной системы.
А окатился я только сегодня ночью.
Ждал очень долго и пробовал разные варианты. Но не помогло. Где то проблема сидела глубоко. Я просто вспомнил, что у меня все нормально работало еще на 3.4.2. А на 3.5 я не пробовал, попробовал только на 3.5.1. Специалист по вордпрес сказал, что глюки есть в самой 3.5. Может они и перешли в 3.5.1. Хотя я полностью все файлы менял. Я те же файлы поменял и на 3.4.2 и все заработало замечательно.
Не расстраивайтесь такое бывает. Версия 3.4.2 актуальная на сегодняшний день, поэтому, работайте и не бойтесь ни каких напастей.
Хм… Если бы кто-нибудь меня видел, как я корректировала эти файлы… Жуть… до сих пор мурашки бегают. Правда я пошла хитрым путем, без всяких Файзила, Денверов и пр. Но вроде бы все закачала.
Денис, т.е. должно заработать не сразу, а через несколько дней?
Да, и еще один момент.
(нужно же сначала внутри поковыряться, а потом спрашивать, да? чисто женская логика)
у меня выдает вот такую ошибку «… but your computer or network may be sending automated queries. To protect our users, we can't process your request right now.».
эта корректировка поможет?
Ирина, а где Вы это корректируете? На локальном сервере?
Нет, просто я на хостинге скопировала эти файлы в папку на рабочий стол — ОБРАЗЕЦ (если что — там будут неторонутые исходники, чтобы подстраховаться). Потом скопировала эту всю папку как РЕМОНТ, открыла файлы через Notepad, откорректировала, сохранила и закинула в сайт снова. и все.
А что?
//Ну лень мне разбираться с файзилой, денвером и прочим зоопарком… вроде и надо, а лень…//
Знаете, Ирина! Дело в том, что при работе с кодами в компьютере иногда сбиваются кодировки и из-за этого могут быть проблемы. При работе с кодами всегда проверяйте кодировку UTF-8 очень часто именно она бывает камнем преткновения.
Денис, точно. Я что-то упустила этот момент… А в Notepad есть UTF без BOM, а есть просто UTF. Какую использовать правильно?
Просто UTF!
Ок, спасибо большое.
А вот такая ошибка «… but your computer or network may be sending automated queries. To protect our users, we can't process your request right now.» что значит?
вроде как ругается, что с сайта идут какие-то автоматические отправки, и для безопасности не могут подключить…
Перерыла весь инте, но нигде не нашла описания этой ошибки. Что это может быть?
Если Вы используете браузер мозилу удалите все плагины и расширения, сделайте перезагрузку и ещё раз попробуйте.
неее… там такое с самого начала было, скорее всего что-то в теме.
Тогда, разбирайтесь!
Сделал все как написано было. Теперь в ленте открывается страница с новостями и вместо букв непонятный набор символов. Как это исправить?
Покажу наглядно по скайп: vikons79 Если интересно будет…
Константин! У всех это работает! У меня больше года это тоже работает! А у Вас нет!!! Значит Вы где-то накосячили!
Нет, всё работает. но что-то части темы поползли из-за этого)
У меня не такая ошибка была. Там просто до этого вообще html код открывался и всё. Теперь работает, но вот такая проблема возникла в результате.
Ищите ошибки!
Денис, а у вас есть статья по редактированию, или изменению скаченных шаблонов? Если есть, дайте ссылку плз…
У меня есть по созданию, установке и чистки от левых ссылок! Через поиск ро сайту ищите!