|
Как подключить сайт к Яндекс.Новостям Для подключения сайта к Яндекс.Новостям (http://news.yandex.ru/) нужно осуществить следующие шаги:
- привести в соответствие содержание сайта;
- иметь юридическое лицо для заключения "Договора об информационном сотрудничестве";
- завести эккаунт на Яндексе, который будет использоваться для переписки и для входа в частный раздел Яндекс.Новостей;
- создать экспорт новостей в формате RSS Яндекс.Новостей.
Служба Яндекс.Новости предъявляет к сайту не только технические требования, организацию трансляцию новостей в соответствующем формате, но и имеет требование к содержанию сайта. Стать сайтом-участником Яндекс.Новостей может только подлинно новостной ресурс. При этом учитывается периодичность появления новостей, их качество, эксклюзивность, серьезность сайта. Безусловно, администрация службы имеет право отказать в подключении ресурса.
Содержание "Договора" является конфиденциальным, однако общие положения его очевидны: порядок расторжения договора и ретрансляции новостей с сайта. Ключевым моментом "Договора" является указание юридического лица, которое будет нести ответственность за содержание сайта. При этом не важно, какое отношение имеет к сайту юридическое лицо.
При публикации новостей можно учесть, какие из них будут экспортироваться; на экспорт должны идти эксклюзивные новости, которые не вызовут нареканий у службы. Для этого в базе данных нужно завести флажок, который будет указывать на необходимость экспорта новости. Например, можно публиковать на сайте любые новости, в том числе не эксклюзивные, а экспортировать только избранные.

Следует внимательно следить за сообщениями администрации службы Яндекс.Новостей, которые будут приходить на Ваш персональный эккаунт. Служба довольно лояльно относится к источникам, предлагая устранить проблемы. В частности, могут встретиться следующие проблемы:
- неправильное время, неверный часовой пояс, не выполненный переход на летнее/зимнее время. Часовой пояс должен соответствовать географическому размещению ресурса, не допускается использование коррекция времени на московское. Часовой пояс должен быть указан явно в формате RFC 2822: Thu, 21 Dec 2000 16:01:07 +0200 (формат PHP-функции date("r")). Сбой в указании времени может отразиться на может отразиться на публикации новости, например, оказаться неимпортируемой, если новость создана больше 2 недель назад.
- неэксклюзивность новости. Неприемлимо полное копирование новостей других источников.
- неприемлемый формат названия новости. Название не должно быть нестандартным, например, содержать множество восклицательных знаков или слов, написанных в верхнем регистре.
- спецсимволы в тексте новостей. Спецсимволы HTML должны быть преобразованы в соответствии со стандартом HTML.

Для экспорта новостей можно использовать скрипт, код которого приводится ниже.
<?
Header("Content-Type: text/xml");
?>
<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0"
xmlns="http://www.novostnoy.ru/"
xmlns:yandex="http://news.yandex.ru">
<channel>
<title>Новостной сайт</title>
<link>http://www.novostnoy.ru/</link>
<description>Все новости РФ</description>
<image>
<url>http://www.novostnoy.ru/novostnoy_logo.gif</url>
<title>Новостной сайт: все новости РФ</title>
<link>http://www.novostnoy.ru/</link>
</image>
<pubDate><? echo date("r"); ?></pubDate>
<?
include("mysql.inc.php");
$news_res=mysql_query("SELECT * FROM public WHERE export=1 ORDER BY id DESC LIMIT 50");
while($news=mysql_fetch_array($news_res))
{
$title=htmlspecialchars($news["title"]);
$title=str_replace("&","&",$title);
$title=str_replace("«",""",$title);
$title=str_replace("»",""",$title);
$title=str_replace("<","<",$title);
$title=str_replace(">",">",$title);
$text=htmlspecialchars($news["full"]);
$text=str_replace("&","&",$text);
$text=str_replace("«",""",$text);
$text=str_replace("»",""",$text);
$text=str_replace("<","<",$text);
$text=str_replace(">",">",$text);
echo "<item>
";
echo "<title>${title}</title>
";
echo "<link>http://www.novostnoy.ru/".$news["id"].".html</link>
";
echo "<yandex:full-text>
";
echo $text."
";
echo "</yandex:full-text>
";
echo "<author>Редакция</author>";
echo "<pubDate>";
echo date("r", $news["date"]);
echo "</pubDate>
</item>
";
}
?>
</channel>
</rss>
|
|