Косенко Данила Юрьевич (kosenko_danila) wrote,
Косенко Данила Юрьевич
kosenko_danila

Как пропатчить com_rss под joomla 1.5.14 или Тщательно доработать напильником

В нашу фирму пришло письмо. От Яндекса. «Экпортный файл RSS сайта sitename.ru не соответствует нашим требованиям. Пожалуйста, исправьте его».

Поддержкой данного сайта (портал областной администрации) занимается наша фирма. Мне поручили разобраться.

Заход в админку разбудил моего верного антивируса. Он настоятельно рекомендовал «прервать соединение».

Справедливо решив, что зараженные страницы лежат в папке administrator, я слил ее с сайта и натравил антивирус.

Плавающий фрейм с вирусным содержимым был внедрен во все т.н. индексные страницы (index.html,main.html, default.html и т.п.). Данная зараза, к сожалению, не дописывала код плавающего фрейма к легальному содержимому, а переписывала его. Данный трюк стремится обмануть систему идентификации атак и контроля сайта, сверяющую текущий размер файла с исходным. Таким образом, шесть компонентов joomla были повреждены.

Заменив их из резервной копии сайта, я снова вошел в админку. В меню отсутствовали какие-либо пункты настройки экпортного файла.

Интернет предложил решение проблемы с помощью компонента com_rss. На одном из сайтов, посвященным joomla, присутствовал патч для данного компонента, призванный облегчить его настройку для Яндекса.

Наученный горьким опытом, ставлю компонент на локальной версии сайта. Он появляется в админке. Щелкаю по ссылке, должной создать необходимый файл. Полученный экспортный файл также не соответствует требованиям Яндекса. «Накатываю» патч.

В админке появляется страница с несколькими кодировками сразу. Экспортный файл состоит из «кракозябров». Методом «научного тыка» выясняю, какие из файлов закодированы в юникоде. Исправляю эту ошибку (спасибо Notepad++), перекодировав их в ANSI. Перелопатив их вручную, исправляю кодировку в метатегах с экзотической ISO на windows-1251.

Админка радует русским интерфейсом. Одна из ссылок, подписана «RSS Yandex». Щелчок по ней приводит к созданию экспортного файла. По внешнему виду он соответствует заявленным требованиям.

Отсылаю ссылку на Яндекс. В ответном письме указывается на несколько недочетов. В их числе – отсутствие полного текста новости в тегах <yandex:fulltext> в полученном файле. И отсутствие логотипа сайта в качестве источника новостей.

Приходится просмотреть код всего компонента, чтобы понять логику его работы и выяснить, что вывод полного текста новости отсутствует в коде, хотя заявлен в функционале. И в шаблоне вывода есть необходимые теги. Тихо матерюсь на разработчиков, пишу несчастные шесть строчек в одном файле и пару в другом. Прописываю путь к логотипу сайта.

Проверяю. Вновь отсылаю ссылку на Яндекс.

Новые требования Яндекса: «В тегах «полного текста» есть только вторая часть новости, первая – в описании. Логотип сайта должен быть в формате gif». Матерюсь снова, «приклеиваю» текст описания к полному тексту. Конвертирую логотип сайта в указанный формат.

В третий раз отсылаю ссылку на Яндекс. «Логотип должен быть таких-то размеров, а у вас – такие-то. И на сайте очень старые новости, а мы индексируем только недельной давности, не позже».

Меняю размеры логотипа. Пишу владельцам сайта, что в конце декабря новости за 19 ноября (самая свежая) , мягко говоря, неактуальны.

В четвертый раз отправляю ссылку. Яндекс молчит. Вероятно, задание выполнено.

В связи с изложенным, несколько просьб.

К вирусописателям. Будьте людьми. Переписывая файлы, дописывайте, пожалуйста, вашу заразу в конец, а не коряжте код. После этого движки выбрасывают ошибки и не работают. До ваших плавающих фреймов выполнение просто не дойдет. А кроме размера файлов существует еще и контрольная сумма. Многие IDS (системы обнаружения атак) ориентируются именно на нее. Давайте не усложнять друг другу жизнь.

К авторам компонентов. Выкладывая на официальном сайте патчи под конкретные задачи, проверяйте их корректную работу. Или не заявляйте, что они решают все описанные Яндексом проблемы. По крайней мере, наличие в одном компоненте несколько файлов в разных кодировках и с несколькими прописанными кодировками наводит на определенные мысли. Например, об организации работы на вашим компонентом.

К владельцам сайтов. Желание быть проиндексированными Яндексом накладывает некоторые обязанности. В частности, увеличение частоты обновления контента. Иначе ни Яндекс не поймет, ни ваши посетители.

К админам сайтов. Старайтесь проверять ваши компьютеры на вирусы почаще. И не храните пароли в настройках FTP-менеджеров, их оттуда легко выколупывают трояны.


Tags: com_rss, joomla, yandex
Subscribe

  • Это прямо про меня! :)

  • Криминальный Штирлиц

    Что было бы, если бы Квентин Тарантино снимал «17 мгновений весны»? З.Ы. Видео есть, просто заставка такая у ролика.

  • Секретное

    " США запустили секретный спутник для военно-космической разведки". И здесь такой же заголовок. Или новостная формулировка "проведут секретную…

Comments for this post were disabled by the author