<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>IN info &#187; web разработка</title>
	<atom:link href="http://www.ininfo.biz/tags/web-%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ininfo.biz</link>
	<description>Статьи об информационных технологиях</description>
	<lastBuildDate>Sun, 05 Feb 2012 14:57:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Как правильно писать телефонный номер на сайте</title>
		<link>http://www.ininfo.biz/2011/01/13/phone-number/</link>
		<comments>http://www.ininfo.biz/2011/01/13/phone-number/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 10:50:58 +0000</pubDate>
		<dc:creator>Иван Никитин</dc:creator>
				<category><![CDATA[Web разработка]]></category>
		<category><![CDATA[Разное]]></category>
		<category><![CDATA[e.164]]></category>
		<category><![CDATA[tel]]></category>
		<category><![CDATA[web разработка]]></category>
		<category><![CDATA[телефонный номер]]></category>

		<guid isPermaLink="false">http://www.ininfo.biz/?p=249</guid>
		<description><![CDATA[На сайте всегда пишите телефон полностью! С кодом страны и кодом города, в соответствии с рекомендацией E.164]]></description>
			<content:encoded><![CDATA[<p>Боюсь увеличить энтропию Вселенной очередной статьей на тему «Как писать номер телефона», но, честно говоря, безграмотное написание телефонных номеров на сайте сильно усложняет мне жизнь.</p>
<p>Но этот счет высказывались все, не исключая Гегемона Дизайна Всея Руси (см. <a href="http://www.artlebedev.ru/kovodstvo/sections/91/" target="_blank">§ 91 Откровений Горнила Мудрости</a>), но все эти экзерсизы подразумевают  технику написания телефонного номера на бумаге, в печатном виде, а сайт — это, прежде всего, не бумага и не полиграфия!</p>
<p>Итак, как всё же правильно указать номер телефона на сайте?</p>
<p><span id="more-249"></span></p>
<p>Я оттолкнусь от очень простого утверждения, что телефон нужен чтобы по нему звонить. Если я вижу нужный мне телефон на экране, я звоню двумя способами:</p>
<ol>
<li>Если экран мобильного — просто щелкаю по ссылке (практически все мобильники умеют выделять телефоны в тексте и делать их ссылками на звонок)<img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="IMG_0279" src="http://www.ininfo.biz/images/blog/111b1b18bd9e_97B9/IMG_0279.png" border="0" alt="IMG_0279" width="164" height="244" /></li>
<li>Если это экран настольного компьютера или ноутбука, я копирую интересующий меня телефон или в Заметки, или в «звонилку», типа Skype<img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="site" src="http://www.ininfo.biz/images/blog/111b1b18bd9e_97B9/site.png" border="0" alt="site" width="244" height="155" /> <img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="note" src="http://www.ininfo.biz/images/blog/111b1b18bd9e_97B9/note.png" border="0" alt="note" width="244" height="174" /></li>
</ol>
<p>Опять же, предполагается что телефон уже написан правильно для звонка. А что будет если позвонить вот по этому телефону?</p>
<p><a rel="nofollow" href="http://www.nyt.ru/"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="nyt" src="http://www.ininfo.biz/images/blog/111b1b18bd9e_97B9/nyt.png" border="0" alt="nyt" width="244" height="67" /></a></p>
<p>Мы позвоним в страну с кодом +49 — а это Германия!</p>
<p>Точно так же, вставлять «8» или «+7» перед каждым телефонным номером, скопированным или взятым с сайта, всегда бывает утомительным, попробуйте сделать это на мобильнике!</p>
<p><span style="font-size: small;">Отсюда вывод: <strong>на сайте всегда пишите телефон полностью!</strong> С кодом страны и кодом города, в соответствии с рекомендацией </span><a href="http://ru.wikipedia.org/wiki/E.164"><span style="font-size: small;">E.164</span></a><span style="font-size: small;">, то есть вот так, и никак иначе:</span></p>
<p><span style="font-size: large;">+7 (495) 780-48-48</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ininfo.biz/2011/01/13/phone-number/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>10 главных ошибок RSS</title>
		<link>http://www.ininfo.biz/2009/02/23/rss-errors/</link>
		<comments>http://www.ininfo.biz/2009/02/23/rss-errors/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 19:31:21 +0000</pubDate>
		<dc:creator>Иван Никитин</dc:creator>
				<category><![CDATA[Web разработка]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[web разработка]]></category>
		<category><![CDATA[ошибки]]></category>

		<guid isPermaLink="false">http://www.ininfo.biz/?p=101</guid>
		<description><![CDATA[Сегодня RSS используется очень и очень часто, и все больше пользователей начинают ценить этот великолепный инструмент получения свежих новостей. И, конечно же, очень многие сайты предоставляют свои RSS-каналы пользователям. Но, к сожалению, нередко в этих каналах встречаются досадные ошибки, которые сводят «на нет» всё удобство и прелесть RSS. Здесь мы рассмотрим наиболее «популярные» ошибки, встречаемые нами на различных ресурсах.]]></description>
			<content:encoded><![CDATA[<p align="justify"><img style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 0px 10px 10px; border-left: 0px; border-bottom: 0px" title="RSS icon" src="http://www.ininfo.biz/images/blog/10RSS_12532/rssicon.png" border="0" alt="RSS icon" width="73" height="97" align="right" /> Сегодня RSS используется очень и очень часто, и все больше пользователей начинают ценить этот великолепный инструмент получения свежих новостей. И, конечно же, очень многие сайты предоставляют свои RSS-каналы пользователям. Но, к сожалению, нередко в этих каналах встречаются досадные ошибки, которые сводят «на нет» всё удобство и прелесть RSS. Здесь мы рассмотрим наиболее «популярные» ошибки, встречаемые нами на различных ресурсах.</p>
<p><span id="more-101"></span></p>
<h3>1. Синтаксические ошибки RSS потока</h3>
<p align="justify">Многие разработчики забывают о том, что RSS — это, прежде всего, XML. А XML-документы изначально «не прощают» ошибки, так как большинство XML анализаторов работают по принципу: «Или этот XML документ не нарушает синтаксис, или это не XML». В отличие от HTML, DOM анализатор обязан отказаться от разбора XML документа, если в документе есть ошибки. Поэтому контролировать синтаксис своего RSS просто необходимо! Существуют множество инструментов для проверки RSS-каналов, но, пожалуй, самый популярный — <a href="http://feedvalidator.org/" target="_blank">http://feedvalidator.org/</a></p>
<p align="justify"><em>Рекомендация</em>: используйте RSS агрегатор, чувствительный к ошибкам. Многие RSS агрегаторы могут игнорировать ошибки, используя не XML DOM парсер (который, как мы отметили, обязан отказаться от анализа в случае ошибки), а свои собственные, но большинство всё же используют именно DOM парсер. Вот пример такого агрегатора: <a href="http://rssbandit.org/" target="_blank">RSS Bandit</a>. Установите этот бесплатный агрегатор к себе на компьютер и подпишитесь в нём на собственный RSS канал. Если у вас возникнут ошибки, вы узнаете о них первым!</p>
<h3>2. Использование спец.символов HTML в заголовках или описаниях элементов RSS</h3>
<p align="justify">Очень распространенная ошибка! Веб-мастера очень привыкли использовать так называемые спец. символы типа &amp;nbsp; &amp;quot; и др. Ну и понятно, если RSS лента генерируется автоматически (что бывает в 99.9% случаев), то такие символы попадают в заголовок элемента или в его описание, например:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><span style="color: #ddbb00;">&amp;nbsp;</span>Вот моя <span style="color: #ddbb00;">&amp;quot;</span>новость<span style="color: #ddbb00;">&amp;quot;</span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;pubDate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Thu, 19 Feb 2009 09:00:47 +0300<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/pubDate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;link<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>http://www.mysite.ru/item1<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/link<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><span style="color: #ddbb00;">&amp;nbsp;</span>Это моя <span style="color: #ddbb00;">&amp;quot;</span>новость<span style="color: #ddbb00;">&amp;quot;</span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;guid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>http://www.mysite.ru/item1<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/guid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p align="justify">Формально &amp;nbsp; и другие сущности не определены в XML разметке, что приводит к неизбежным ошибкам вашей ленты. Как этого избежать?</p>
<p align="justify"><em>Рекомендация 1</em>: Если вы используете автоматическую генерацию RSS, заключайте содержимое элементов title и description в секции CDATA, например:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><span style="color: #339933;">&lt;![CDATA[[&amp;nbsp;Вот моя &amp;quot;новость&amp;quot;]]&gt;</span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;pubDate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Thu, 19 Feb 2009 09:00:47 +0300<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/pubDate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;link<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>http://www.mysite.ru/item1<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/link<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><span style="color: #339933;">&lt;![CDATA[[&amp;nbsp;Это моя &amp;quot;новость&amp;quot;]]&gt;</span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;guid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>http://www.mysite.ru/item1<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/guid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p align="justify"><em>Рекомендация 2</em>: Вообще-то, может быть имеет смысл выглянуть в окошко и заметить, что на дворе уже как 9-й год идёт во всю XXI век, век юникода. И также имеет смысл не заменять специальные символы на их HTML-представление, а просто их использовать в своих текстах. Например, если вам нужны кавычки, просто набирайте их в своей ленте (это символы набираются как Alt+0171 и Alt+0187):</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Вот моя «новость»<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;pubDate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Thu, 19 Feb 2009 09:00:47 +0300<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/pubDate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;link<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>http://www.mysite.ru/item1<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/link<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Это моя «новость»<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;guid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>http://www.mysite.ru/item1<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/guid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Если нужен неразрывный пробел — просто его поставьте как символ Alt+0160 (U+ 00A0)</p>
<p>Более подробно см. здесь:</p>
<ul>
<li><a href="http://ru.wikipedia.org/wiki/Пробел" target="_blank">http://ru.wikipedia.org/wiki/Пробел</a></li>
<li><a href="http://ru.wikipedia.org/wiki/Юникод">http://ru.wikipedia.org/wiki/Юникод</a></li>
<li><a href="http://ru.wikipedia.org/wiki/Символы,_представленные_в_Юникоде">http://ru.wikipedia.org/wiki/Символы,_представленные_в_Юникоде</a></li>
</ul>
<h3>3. HTML теги в description</h3>
<p align="justify">Самый распространенный случай! Вообще-то, это — не ошибка, но всё же, неточность. Формально, элемент description — это краткое текстовое описание вашей новости. Мы знаем, что HTML и XML не совместимы просто синтаксически (XHTML — пожалуйста, но не HTML), и прямое использование HTML в description формально нарушает грамматику RSS. Поэтому <a href="http://www.rssboard.org/rss-specification#hrelementsOfLtitemgt" target="_blank">в спецификации RSS</a> читаем: «<em>допускается использование только экранированной разметки HTML» </em>(«An item may also be complete in itself, if so, the description contains the text (<strong>entity-encoded HTML</strong> is allowed)»)</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>this is <span style="color: #ddbb00;">&amp;lt;</span>b<span style="color: #ddbb00;">&amp;gt;</span>bold<span style="color: #ddbb00;">&amp;lt;</span>/b<span style="color: #ddbb00;">&amp;gt;</span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p align="justify">Но, всё же, я не рекомендую так поступать. Дело в том, что есть агрегаторы, которые считают содержимое элемента description текстом и выводят его как текст, не воспринимая его внутреннюю разметку. И в результате пользователь увидит примерно следующее:</p>
<p align="center">this is &amp;lt;b&amp;gt;bold&amp;lt;/b&amp;gt;</p>
<p align="justify">Понятно, такой текст прочитать невозможно. Я однажды озадачился идеей поставить себе скринсейвер Windows, который бы показывал новости из RSS потоков. И в результате я отказался от этой идеи — они все показывали новость именно в таком виде!</p>
<p><em>Рекомендация</em>: В элементе description используйте только текст. А форматированный текст пишите, используя расширения <a href="http://web.resource.org/rss/1.0/modules/content/" target="_blank">RDF Site Summary Modules</a>, например, вот так (обратите внимание на объявление пространства имен с префиксом content):</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;rss</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;color: gray;">&quot;2.0&quot;</span></span>
<span style="color: #009900;">	<span style="color: #000066;">xmlns:content</span>=<span style="color: #ff0000;color: gray;">&quot;http://purl.org/rss/1.0/modules/content/&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;channel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #808080; font-style: italic;">&lt;!-- ... --&gt;</span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Вот моя «новость»<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;pubDate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Thu, 19 Feb 2009 09:00:47 +0300<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/pubDate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;link<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>http://www.mysite.ru/item1<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/link<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Это моя «новость»<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;guid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>http://www.mysite.ru/item1<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/guid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #808080; font-style: italic;">&lt;!-- Здесь полный и HTML форматированный текст элемента --&gt;</span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;content:encoded<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><span style="color: #339933;">&lt;![CDATA[&lt;p&gt;What a &lt;em&gt;beautiful&lt;/em&gt; day!&lt;/p&gt;]]&gt;</span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/content:encoded<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #808080; font-style: italic;">&lt;!-- ... --&gt;</span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/channel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/rss<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p align="justify">Такой способ понимается практически всеми RSS агрегаторами (мне известен только один распространенный агрегатор, который не понимает такое расширение — встроенный в FireFox)</p>
<h3>4. Неправильная разметка в HTML</h3>
<p align="justify">При представлении форматированного текста в RSS многие Веб-мастера пытаются перенести в RSS элемент чуть ли не весь дизайн своего сайта. Так вот, этого делать не следует. Дело в том, что каждый RSS агрегатор отображает элементы RSS по-своему, и вы не знаете, каким именно агрегатором будет пользоваться ваш пользователь: это может быть и desktop-агрегатор, такой как RSS bandit, и online-агрегатор, как Goole Reader или Яндекс.Лента, или вообще агрегатор на мобильном телефоне. У каждого из них свои возможности, и ваша красивая верстка колонками может просто не вписаться в экран пользователя.</p>
<p><em>Рекомендация</em>: используйте следующие простые правила:</p>
<ol>
<li>Никогда не фиксируйте ширину текста своего элемента — пусть текст заполняет все доступное пространство</li>
<li>Никогда явно не указывайте размер шрифта в абсолютных единицах, например, px, pt. Лучше использовать либо em, ex, или относительные размеры, например, 80%</li>
<li>Никогда явно не указывайте цвет фона и желательно не указывайте цвет шрифта (ссылок и т.п.). У агрегатора может быть свой фон (например, темный) и указанный вами цвет шрифта начнет с ним сливаться.</li>
<li>Никогда не используйте колонки текста, опять же — представление текста отдайте на откуп агрегатору</li>
</ol>
<h3>5. Неправильное расширение RSS</h3>
<p align="justify">Как и любой язык, базирующийся на XML, RSS великолепно расширяется. Но следует с осторожностью к этому относиться, так как никакие ваши собственные расширения не будут правильно понятыми практически всеми стандартными агрегаторами.</p>
<p>Например, вот <a href="http://www.rosbalt.ru/backend/newsfull.rss" target="_blank">фрагмент RSS</a> известного новостного сайта <a href="http://www.rosbalt.ru/" target="_blank">Росбалт</a>:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>По делу грабителей, похитивших 43 млн рублей, проверяет лиц, знавших о сделке<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;link<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>http://www.rosbalt.ru/2009/02/23/620591.html<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/link<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;category</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;section<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Главная лента<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/section<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;pubDate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Mon, 23 Feb 2009 19:42:00 +0300<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/pubDate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;full-text<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>МОСКВА, 23 февраля. Следователи в рамках уголовного ....<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/full-text<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p align="justify">Легко увидеть, что, с одной стороны, разработчики «забыли» про обязательный элемент description, но добавили свои элементы section и full-text, чем формально нарушили стандарт.</p>
<p align="justify">Читаем в спецификации: «<em>Канал RSS 2.0 может содержать элементы и атрибуты, не упомянутые на этой странице, только если они определены в своих пространствах имен.</em>»</p>
<p align="justify">То есть, в данном случае мы можем решить эту проблему следующим образом: полный текст вынести на элемент content:encoded как рекомендовано в совете №3, а раздел новости указать хотя бы так:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;rss</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;color: gray;">&quot;2.0&quot;</span></span>
<span style="color: #009900;">	<span style="color: #000066;">xmlns:content</span>=<span style="color: #ff0000;color: gray;">&quot;http://purl.org/rss/1.0/modules/content/&quot;</span></span>
<span style="color: #009900;">	<span style="color: #000066;">xmlns:rosbalt</span>=<span style="color: #ff0000;color: gray;">&quot;http://www.rosbalt.ru/my-rss-schema&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;channel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>По делу грабителей, похитивших 43 млн рублей, проверяет лиц, знавших о сделке<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;link<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>http://www.rosbalt.ru/2009/02/23/620591.html<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/link<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;category</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;rosbalt:section<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Главная лента<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/rosbalt:section<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;pubDate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Mon, 23 Feb 2009 19:42:00 +0300<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/pubDate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;content:encoded<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>МОСКВА, 23 февраля. ....<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/content:encoded<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/channel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/rss<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Здесь мы ввели свое пространство имен и элемент section вынесли в него.</p>
<p align="justify"><em>Рекомендация</em>: при расширении RSS своими элементами всегда объявляйте свои пространства имен или используйте существующие схемы.</p>
<h3>6. Отсутствие элемента GUID</h3>
<p align="justify">Несмотря на то, что элемент guid не является обязательным, тем не менее подавляющее число агрегаторов используют его для идентификации элемента. Если в вашем RSS потоки элементы item не будут иметь guid, есть вероятность того, что агрегатор будет загружать одни и те же элементы повторно. Например, так ведет себя RSS-Hub на коммуникаторах HTC Touch Cruise.</p>
<p><em>Рекомендация</em>: всегда явно указывайте уникальный guid у каждого из элементов RSS.</p>
<h3>7. Неправильное указание даты элемента</h3>
<p align="justify">У элемента item, как правило, присутствует дата публикации, указанная с помощью элемента pubDate. Так вот, эта дата указывается не в формате <a href="http://www.w3.org/TR/xmlschema-2/" target="_blank">XSD Date and Time</a>, что логично было бы предположить, а в старом формате <a href="http://www.faqs.org/rfcs/rfc822.html" target="_blank">RFC822</a>, то есть так:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;pubDate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Sun, 19 May 2002 15:21:36 GMT<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/pubDate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p><em>Рекомендация</em>: обязательно проверяйте в каком формате вы передаёте дату.</p>
<h3>8. Неправильная ссылка на RSS в HTML странице</h3>
<p align="justify">Добавив к себе на сайт RSS поток (или несколько потоков), не забудьте указать браузерам, что эти RSS потоки у вас есть. Заметьте, это делается не просто ссылкой на странице (хотя и ссылка на странице не помешает), а объявлением в разделе head вашего HTML:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;color: black;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;head<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
...
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;link</span> <span style="color: #000066;">rel</span>=<span style="color: #ff0000;color: gray;">&quot;alternate&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;color: gray;">&quot;application/rss+xml&quot;</span></span>
<span style="color: #009900;">		<span style="color: #000066;">title</span>=<span style="color: #ff0000;color: gray;">&quot;Мой сайт: новости&quot;</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;color: gray;">&quot;http://www.mysite.ru/rss.xml&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;link</span> <span style="color: #000066;">rel</span>=<span style="color: #ff0000;color: gray;">&quot;alternate&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;color: gray;">&quot;application/rss+xml&quot;</span></span>
<span style="color: #009900;">		<span style="color: #000066;">title</span>=<span style="color: #ff0000;color: gray;">&quot;Мой сайт: комментарии к заметкам&quot;</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;color: gray;">&quot;http://www.mysite.ru/comments.xml&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
...
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;color: blue;">&lt;/head<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p align="justify">Обратите внимание на атрибут title элемента link. Это название вашего RSS потока. Крайне желательно указать там внятное название вашего канала, а не просто безликое «RSS 2.0». Вообще, многие любят одновременно указывать несколько форматов, например, RSS 0.9, RSS 1.0, RSS 2.0, Atom. Я, честно говоря, считаю это, как бы помягче выразится, снобизмом. Ну зачем одновременно предлагать пользователю несколько практически идентичных форматов? Скажите, вы сами можете вот так, на вскидку, называть отличия RSS 1.0 от RSS 2.0? А вы думаете пользователь об этом знает? Ничего подобного! Поэтому лучше выбрать один формат и использовать его, тем более все агрегаторы, как правило, легко понимают эти форматы.</p>
<p align="justify"><em>Рекомендация</em>: выберите для себя наиболее приемлемый формат (RSS 2.0 или Atom) и придерживайтесь только его. Явно укажите ссылку на RSS поток на всех страницах сайта с помощью элемента link. Не забудьте написать внятный заголовок своего RSS.</p>
<h3>9. Бестолковое использование виджетов в разметке элемента</h3>
<p align="justify">Сейчас очень популярны так называемые виджеты, позволяющие одним кликом добавить RSS в любимый пользователем online агрегатор новостей. Как правило, это графическая ссылка на соответствующую службу с изображением логотипа этой службы. А поскольку таких служб много, Веб-мастера похоже соревнуются друг с другом, кто больше приляпает этих самых виджетов в свои RSS ленты:</p>
<p align="center"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="Пример виджетов" src="http://www.ininfo.biz/images/blog/10RSS_12532/vidgets1.png" border="0" alt="Пример виджетов" width="482" height="175" /></p>
<p align="justify">Так вот, это уже не снобизм, а скорее — дебилизм! Нет, на сайте размещайте виджеты сколько угодно! Но зачем пихать 26 картинок к КАЖДОЙ ЗАПИСИ своего блога, к КАЖДОЙ НОВОСТИ своего сайта, то есть в RSS, если учесть, что пользователь УЖЕ ЧИТАЕТ ваш RSS с помощью своего любимого агрегатора! То есть, пользователь уже подписался на ваш канал, и эти ссылки ему попросту не нужны!</p>
<p align="justify"><em>Рекомендация</em>: виджеты подписки на ваш RSS размещайте на сайте, а не в тексте самих элементов RSS.</p>
<h3>10. Полнота изложения</h3>
<p align="justify">Ну и самая, пожалуй, распространенная «ошибка» — неполный текст новости/заметки и т.п. в RSS. Вы наверняка замечали, что большинство RSS передаются в виде анонсов, то есть не содержат в себе полный текст материала. Здесь в принципе существует несколько диаметрально противоположных точек зрения: например, некоторые считают, что пользователя нужно «подразнить», показав ему только лишь часть заметки и тем самым заставив его щелкнуть по ссылке «Читать далее» и перейти на сайт. Что ж, по-своему приверженцы такого подхода правы.</p>
<p align="justify">Правда, я считаю, что самая главная ценность RSS в том, что пользователь может быть в курсе событий, вообще не открывая сайты ! Я, например, практически все свои RSS читаю в транспорте на мобильном телефоне. И когда скорость GPRS соединения снижается, открывать сайты для чтения статьи дальше становится очень некомфортно. Сам же телефон закачивает все RSS утром, при синхронизации с основным компьютером. Понятно, RSS с обрывочными новостями и ссылками «Читать далее» долго в моем агрегаторе не живут, я их просто удаляю! И вы, как автор сайта с такими RSS перестаете для меня существовать, потому что, я уже не помню где и когда я подписался на ваш RSS. С другой стороны, RSS с полным содержанием живут у меня годами, даже если мне неинтересна ваша новость, пролистать ее невероятно легко, буквально одним движением пальца.</p>
<p align="justify">Важно помнить, что наша основная задача при публикации RSS — обеспечить постоянную читающую аудиторию сайта, а не увеличить посещаемость! Ведь пользователь, постоянно читающий ваш RSS, относится к вашему сайту с бо́льшей степенью доверия, чем просто к сайту, и важно не отпугнуть такого пользователя.</p>
<p align="justify">Поэтому рекомендация: публикуйте в RSS материалы полностью! Ну разве что, исключение составляет статья объемом более 10 – 20 машинопечатных страниц… Если, конечно же, вы такие статьи пишете <img src='http://www.ininfo.biz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p align="justify">Таким образом, мы видим, что RSS — это великолепная штука, особенно если его правильно подать. Успехов вам!</p>
<p align="justify">Некоторые полезные ссылки:</p>
<ul>
<li>
<div><a href="http://www.rssboard.org/rss-specification" target="_blank">Спецификация RSS 2.0</a></div>
</li>
<li>
<div><a href="http://beshenov.ru/rss2.html" target="_blank">Спецификация RSS 2.0 на русском языке</a></div>
</li>
</ul>
<p><em>Post Scriptum</em><br />
Скачать презентацию семинара по теме этой статьи можно по этой ссылке:<br />
<a href="http://cid-b1cbca6b7d433991.skydrive.live.com/self.aspx?path=%2f%D0%9E%D0%B1%D1%89%D0%B8%D0%B5%20%D1%84%D0%B0%D0%B9%D0%BB%D1%8B%2f%D0%9F%D1%80%D0%B5%D0%B7%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D0%B8%2f%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5%20%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8%20%D0%BF%D1%80%D0%B8%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B8%20RSS.pps" target="_blank" onClick="pageTracker._trackEvent('Файлы', 'Скачивание', 'Презентация Ошибки RSS');">Основные ошибки при создании RSS.pps</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ininfo.biz/2009/02/23/rss-errors/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>

