Яндекс

Заметки и статьи, относящиеся к использованию служб компании "Яндекс".

Адрес уведомления об обратной ссылке для этой записи:

http://boyandin.info/trackback/123

noindex и корректный XHTML

Отец наш ]]>Яндекс]]>, как известно, старается вовсю подражать западным гигантам IT-индустрии. Среди прочего, это выражается в нежелании отечественного лидера поиска в Сети следовать стандартам, если это будет слишком простым решением.

Чтобы не позволять передавать ссылочный вес, был придуман атрибут rel, у которого есть значения, среди прочих, noindex и nofollow.

Google использует этот тег по прямому назначению и, пусть даже rel="nofollow" уже не исключает полностью деление ссылочного веса при ранжировании, вес на помеченную этим значением ссылку не перейдёт.

Яндексу было слишком просто использовать rel="noindex", а потому он изобрёл тег <noindex> </noindex>.

Всем хорош тег, но он не соотносится со стандартами ]]>WWW-консорциума]]>, а, следовательно. страница не пройдёт проверку на соответствие разметки стандартам. А это несколько больше, нежели простая гордость за грамотность разметки.

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

Определение блока CDATA:

<![CDATA[
   ...произвольный текст, который не следует интерпретировать как разметку...
]]>

Таким образом, если вы хотите указать роботу поисковой службы Яндекса, что не нужно передавать ссылочный вес на те или иные ссылки, и при этом хотите сохранить соответствие стандартам разметки, можно написать примерно так:

<span style="display: none;"><![CDATA[<noindex>]]></span>
<a href="http://example.com" rel="nofollow">текст ссылки</a>
<span style="display: none;"><![CDATA[</noindex>]]></span>

В этом примере мы указываем одновременно Яндексу и Google на недопустимость учёта веса нашей страницы при ранжировании упомянутого в ссылке документа, при этом сохраняя соответствие стандартам. Чтобы избежать неверной интерпретации секциии CDATA, скрываем её при помощи CSS атрибута display.

Нестандартный тег <noindex> ... </noindex> спрятан в CDATA и не вызовет ошибок. Точно так же рекомендуется «прятать» в такие же блоки JavaScript-код и прочие элементы разметки, не соответствующие указанным в заголовке стандартам.

Примечание: явного подтверждения, что указанный конструкт с гарантией закроет ссылку от поискового робота, нет. Если это так (нужно найти официальное подтверждение от Яндекса), то у вас будет выбор: или корректный HTML, или закрытые от поисковика ссылки. Все претензии, пожалуйста, к Яндексу.

Адрес уведомления об обратной ссылке для этой записи:

http://boyandin.info/trackback/124