Перейти к содержимому

Реферальная программа Мегаплана

Партнерская программа Kredov

Запрет на индексацию страниц сайта и отдельных частей контента

#1 Ixman

Ixman
  • Пользователь PRO
  • 2 159 сообщений
  • Репутация: 432
19

Отправлено 27 Октябрь 2013 - 16:40

*
Популярное
сообщение!

Всех приветствую. Решил написать для конкурса, а тему для статьи выбрал: "Запрет на индексацию страниц сайта и отдельных частей контента". На мой взгляд тема очень важная и большая, хотя в SEO порой важны все мелочи. Будем рассматривать возможные способы управления и закрытия от индексации контента, либо его частей. Для этих целей, со стороны поисковых систем (далее ПС), предусмотрены весьма различные методы, которые не всегда удовлетворяют потребности WEB мастеров и SEO оптимизаторов для достижения максимальных результатов, да и не всегда они эффективны из-за разности алгоритмов ПС. Также некоторые методы попросту давно не имеют значения для одних ПС, хотя для других весьма эффективны в использовании. И сегодня очень важно найти золотую середину в управлении индексации, которая была бы результативна для всех ПС, дабы нам не тратить лишнего времени, которое как известно "деньги", чтобы угодить всем и вся. Поэтому постараюсь рассмотреть некоторые возможные способы, которые не только предлагают ПС со своей стороны, но и которые придуманы WEB мастерами с использованием современных технологий, а за одно выделить из них наиболее эффективные на сегодняшний день. И так как тема очень большая постараюсь максимально возможно объяснить все нюансы доступным языком, чтобы было понятно даже новичкам, и охватить хотя бы самое важное, то что нужно знать в первую очередь.

Начнём с перечня всех способов, о которых я буду рассказывать, которые тем или иным боком можно отнести к методам манипуляции процесса индексации. Некоторые из них являются запрещающими инструкциями, некоторые носят рекомендательный характер, а другие жёстко направляют ботов в нужную сторону. Скажем так, это не большой план статьи, разбитый на логические части:

  • Полный запрет индексации
    • Файл robots.txt
    • Мета тег robots
    • HTTP заголовок X-Robots-Tag
  • Борьба с дублями страниц
    • Тег link и атрибут rel="canonical"
    • 301 редирект
  • Частичное закрытие контента
    • Тег a и атрибут rel="nofollow"
    • 100% способ закрытия ссылок
    • Тег noindex
    • Способы закрытия части контента
Часть 1. Полный запрет индексации


Файл robots.txt

Самым первым, старым и популярным способом управления индексацией является файл robots.txt, который по простоте использования доступен всем, даже новичкам. Это обычный txt файл, который можно создать с помощью любого текстового редактора, содержащий в себе набор определённых инструкций, называемых директивами, которые указывают не только на то, что не нужно индексировать, но и могут указывать на некоторые участки сайта необходимые к индексации. Думаю здесь будет не уместным подробно рассказывать о синтаксисе этого файла, о котором лучше всего прочесть в справках для WEB мастеров от поисковых систем, ну или же в общих чертах можно ознакомится на сайте robotstxt.org.ru. Лучше рассмотрим о том, как его эффективно использовать и какие подводные камни ждут нас при его использовании.

Начну с того, что на одном из блогов почерпнул идею о том, что данный файл должен содержать минимум инструкций, с чем полностью солидарен. То есть чем меньше файл robots.txt тем лучше и качественнее сайт. Ведь основное предназначение этого файла указать поисковикам какие страницы не нужно посещать и индексировать, а какие можно и нужно. Запрещая от индексации какие-либо страницы и даже разделы, мы признаём, что это не качественный или не нужный по каким-то причинам контент. Суть минимализма данного файла сводится к тому, что чем меньше запрещающих к индексации директив, тем меньше на сайте не качественного контента. Следовательно большинство страниц содержат качественный контент, а отсюда формируется качество самого сайта. Конечно же здесь со мной можно поспорить, но хочу привести не большой пример. В большинстве справочников по robots.txt говорится, что директива Disallow запрещает к индексации её содержимое, но на практике никакого запрета к индексации нет, поисковики всё равно сканируют и загружают эти страницы. Но, например, в Яндекс эти страницы, и не только закрытые данным способом, помещаются в раздел "Исключённые страницы", который Мы можем увидеть в сервисе Яндекс Вебмастер. Что касается Google, тот тут ситуация немного иная. Как нам известно у Google в наличии два индекса: основной и дополнительный (suplimental) на сленге сопли. Так вот, страницы закрытые в robots.txt директивой Disallow, а также другие не качественные страницы, помещаются во вторичный индекс Google. Ну и маленький пример где это используется. В одну из самых популярных бирж, по продаже ссылок, GGL (gogetlinks.net) сайты с большим вторичным индексом, который говорит об объёме низкого качества страниц, не принимаются.

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


robots.txt.png


Со схемы видим, что при очередной индексации сайта, боты обращаются к файлу robots.txt при его наличии, и получают из него инструкции к дальнейшим действиям. Казалось бы всё просто и идеально. Пришёл бот, прочёл правила и индексирует всё то, что ему разрешено. Но как я уже говорил выше, сканируется всё, что есть на сайте, только исключённые страницы через файл robots.txt не попадают в основной индекс. C Яндекс вроде бы всё хорошо, но вот вторичный индекс Google портит качество сайта. Но по прежнему есть и положительные стороны. Например, директивы Host и Sitemap я бы рекомендовал указывать, так как первая даёт поисковикам информацию, преимущественно для Яндекс, о главном зеркале сайта, а вторая даёт возможность указать пути до карт сайта (файлов sitemap.xml). Поэтому полностью отказываться от этого файла не стоит, даже если Вы ничего на сайте не хотите закрывать от ПС данным методом. На мой взгляд правильный robots.txt должен выглядеть примерно таким образом:


User-agent: *
Host: www.site.ru
Sitemap: [url="http://www.site.ru/sitemap.xml"]http://www.site.ru/sitemap.xml[/url]


Ну и вывод напрашивается такой, что файл robots.txt, как метод управления индексацией и как инструмент закрытия контента от сканирования, сегодня является не эффективным средством, да ещё и в некоторых случаях может навредить сайту. Заменой данному способу может послужить мета тег robots. Вот о нём и поговорим далее.


Мета тег robots

Это более продвинутый метод управления индексацией, но не так сильно распространённый, так как зачастую разработчики основных CMS не используют его, а большинство WEB мастеров не имеют особых навыков программирования. Но если Вы хотите грамотно управлять процессом индексации, и избежать таких проблем, как с robots.txt, то стоит обратить на него особое внимание. Почему? Отвечу выдержкой из справочной информации Google:

Чтобы полностью исключить вероятность появления контента страницы в индексе Google, даже если на нее ссылаются другие сайты, используйте мета тег noindex. Если робот Googlebot начнет сканировать страницу, то обнаружит мета тег noindex и не станет отображать ее в индексе.

Но:

Обратите внимание: чтобы увидеть тег noindex, мы должны просканировать вашу страницу, поэтому существует небольшая вероятность, что поисковый робот Googlebot не увидит мета тег noindex и не отреагирует на него. Кроме того, если вы заблокировали эту страницу с помощью файла robots.txt, мы также не сможем увидеть этот тег.


Получается этот способ манипулирования процессом индексации является весьма эффективным, так как даёт возможность исключать из существующего индекса страницы и предотвращает попадание новых в него, путём размещения в шапке страницы мета тега следующего вида:

<meta name="robots" content="noindex">


Плюс ко всем этим впечатляющим возможностям очень большая плюшка в виде универсальности данного мета тега, то есть он поддерживается и трактуется одинаково всеми ПС. По моему это просто замечательно. Итак, ещё вкусности. Параметр content мета тега robots может принимать следующие значения, которые подходят для всех поисковиков:
  • noindex – запрет на индексацию страницы
  • nofollow – запрет на переход по ссылкам на странице
  • index,follow – полная индексация страницы и переход по ссылкам, аналог отсутсвия данного мета тега.
  • all – полный аналог index,follow
  • none – эквивалент noindex,nofollow запрет на индексацию и переход по ссылкам на странице
  • noarchive – запрет выводить ссылку на кеш страницы
Также для ознакомления ещё параметры, которые присутствуют в справке Google, но нет в Яндекс, соответственно они применимы только для GoogleBot-ов:
  • noimageindex – запрещает индексацию изображений размещённых на странице
  • nosnippet – запрет на вывод сниппета в серпе, также удаляется сохранённая копия
  • noodp – запрет на вывод сниппета взятого из описания каталога DMOZ
Используя мета тег robots на страницах сайтов мы имеем весьма эффективный и универсальный инструмент по управлению индексацией, удовлетворяющий массу потребностей WEB мастеров и отвечающий стандартам ПС. Данный способ содержит только плюсы, и почти минимум минусов, которые есть при использовании файла robots.txt. И это не пустые слова. Я на основе личного опыта могу сказать, что при переходе с использования robots.txt на мета тег, на одном из моих старых сайтов, через некоторое время основной индекс Яндекса, да и вторичный индекс Google стали сокращаться. А через некоторое время, когда все страницы полностью были переиндексированы, индексы сократились до тех минимумов, которые меня стали устраивать. Сегодня я использую мета тег robots, вместо файла. А от файла полностью отказываться я не стал, размещаю его с тем минимумом, который я указал выше. Ещё хочу указать на минусы мета тега, так как они всё же есть. Данным способом можно закрывать только html документы, так как мета тег предназначен для размещения в шапке html документа, то есть документы таких типов как pdf, doc, txt, xml и прочие скрыть от поисковиков таким способом не возможно. Но есть ещё один способ, который действует на уровне заголовков сервера, что даёт возможность запрещать к индексации любые типы документов. Вот о нём и поговорим далее.


HTTP заголовок X-Robots-Tag

Данный способ манипулирования процессом индексации весьма впечатляет своими возможностями и спектром охватываемых типов документов, но каким бы мощным инструментом он не казался, на мой взгляд у него есть большие недостатки, но о них чуть ниже. Итак, данный метод, как мы уже знаем выводится в заголовках сервера, что позволяет применять его для абсолютно любых типов документов. При том его использовать также легко, как и файл robots.txt, что конечно же является большим плюсом. А выглядеть это будет примерно так:

x-robots-tag.png



Есть два способа его применения, через специальную функцию, покажу на примере php:

header('X-Robots-Tag: noindex, nofollow', true);


Но, таким способом будет тяжело охватить все документы, если только они не генерируются средствами php, что не всегда возможно, удобно и оправдано. Да и зачастую документы хранятся на сервере в готовом виде. А вот второй способ более универсален и прост в использовании для WEB мастера любого уровня. Инструкции по управлению индексацией записываются в файл .htaccess и имеют простой синтаксис. А сейчас немного теории какие значения принимает HTTP заголовок X-Robots-Tag:
  • noindex — запрещает показ страницы в серпе, а также нпоказ кэшированной копий
  • nofollow — запрещает переход по ссылкам на странице
  • none — эквивалентн применения значений noindex и nofollow одновременно
  • noarchive — запрещает кешировать и показывать ссылку на копию в серпе
  • nosnippet — запрещает показ сниппета в серпе
  • noodp — запрещает использовать информацию из каталога DMOZ для серпа
  • noimageindex — запрещает индексировать изображения на странице
  • notranslate — запрещает предлагать перевод страницы в серпе
  • all — указывает, что никаких ограничений нет, по сути тоже самое, что и отсутсвие самого заголовка
  • unavailable_after: [RFC-850 date/time] — запрещает показ страницы в серпе после определенной даты и времени. Формат даты и времени нужно указывать в формате RFC 850
Как видите значения почти идентичны мета тегу robots, а теперь рассмотрим как же применить HTTP заголовок X-Robots-Tag на практике с помощью файла .htaccess и модуля вывода заголовков mod_headers:

<IfModule mod_headers.c>
<FilesMatch ".doc$">
Header set X-Robots-Tag "noindex"
</Files>
</IfModule>


В данном примере первым делом используется правило <IfModule mod_headers.c> для проверки активирован ли на Вашем сервере модуль для работы с заголовками, оно используется дабы избежать ошибок в случае если такой модуль отсутствует. Если Вы уверены, что он есть, то это условие можно опустить, но я всё же рекомендовал бы его оставить. Далее в примерах я его использовать не буду, но показал, чтобы Вы знали, особенно те, кто не в курсе тонкостей работы серверов. Иначе у Вас просто будет выводится 500-я ошибка Internal Server Error. А самое ценное здесь это директива FilesMatch, которая позволяет работать с регулярными выражениями для поиска файлов, которые нам необходимо закрыть от индексации. В примере <FilesMatch ".doc$"> осуществляется поиск всех файлов с расширением doc с любым именем, а знак $ означает конец строки. И соответственно для всех файлов типа doc отдаётся заголовок Header set X-Robots-Tag "noindex" - не индексировать doc файлы. Также можно выводить заголовки для групп файлов с разным расширением, например так:

<FilesMatch ".(doc|txt|xls|pdf)$">
Header set X-Robots-Tag "noindex"
</Files>


То есть мы вывели заголовок не индексировать файлы типа doc, txt, xls, и pdf. Таким же способом можно закрыть и графические файлы и вообще все какие нужно, например:

<FilesMatch ".(png|jpe?g|gif)$">
Header set X-Robots-Tag "noindex"
</FilesMatch>


Заметьте здесь в одном условие закрался знак вопроса jpe?g отнюдь это не ошибка, а условие, которое говорит, что буква e может быть, а может и нет, так как мы знаем, что существуют графические файлы с расширением jpg и jpeg. Весьма удобно, не правда ли? Ну давайте ещё пример с запретом показа в серпе после определённой даты:

<FilesMatch ".(doc|pdf|xls)$">
Header set X-Robots-Tag "unavailable_after: 10 Dec 2013 12:00:00 GMT"
Header set X-Robots-Tag "noarchive"
</Files>


Ну как Мы видим заголовок сообщает ПС, что после 10 декабря 2013 года 12.00.00 часов документы с указанными расширениями необходимо удалить из серпа и кеша. Также есть ещё маленькая хитрость, о которой стоит указать. Чтобы скрыть от посторонних глаз вывод таких заголовков, можно организовать проверку User-Agent-а, и выводить заголовок только для GoogleBot. Например:

<IfModule mod_headers.c>
<IfModule mod_setenvif.c>
SetEnvIf User-Agent "Googlebot$" x_tag=yes
<FilesMatch ".(doc|pdf|xls)$">
Header set X-Robots-Tag "noindex" env=x_tag
</Files>
</IfModule>
</IfModule>


Пример показывает, пару проверок на существование модулей на сервере, затем в строке User-Agent осуществляется поиск на совпадение со значением Googlebot, и если совпадение найдено, значит сервер отдаёт HTTP заголовок X-Robots-Tag со значением не индексировать документы с расширением doc, pdf и xls. Думаю примеров здесь хватит и стоит подвести итоги по данному способу.

Ну что же, как видите это очень мощный, гибкий и удобный инструмент для управления индексацией различных типов файлов, который спрятан от посторонних глаз, да и ещё его можно запрятать дальше. Функциональность и простота данного метода впечатляет, но столь большие возможности, к великому сожаление, ограничены только двумя поисковыми системам Google и Yahoo. Никакой информации о том, что наш родной Яндекс понимает такие заголовки нет, и остаётся только ждать и надеяться, что в скором времени они реализуют её. Я считаю, что это очень большой минус в пользу этого способа, так как делать сайт под одну ПС сродни тому, что сайт будет инвалидом, и по причинам не зависящим от наших возможностей сайт будет терять часть трафика. Конечно же это не факт, но всё же задуматься здесь стоит, да и отказываться от этого способа тоже никак не рекомендую.


Часть 2. Борьба с дублями страниц

Думаю в данной теме просто необходимо рассказать о дублях страниц и способах борьбы с ними, так как эти способы также можно отнести к методам управления индексацией. На сегодня существует два эффективных способа: 301-й редирект и указание канонических страниц. Эти методы не являются запрещающими. Ну что же, давайте рассмотрим их.


Тег link и атрибут rel="canonical"

Начнём с указания канонических страниц, которое осуществляется тегом link с атрибутом rel="canonical" размещаемых в шапке html документа, то есть страницы. И выглядит данный тег таким образом:

<link rel="canonical" href="http://site.ru/artile" />


Бывает так, что у одной страницы существует множество копий с одним и тем же содержанием, либо с очень похожим. Это зачастую страницы сортировки, версии страниц для печати, да тут может быть множество других вариантов. Суть ни в этом, ведь нам очень важно, чтобы в поисковую выдачу попал именно оригинал страницы, а не та копия, которую по каким-то причинам предпочёл алгоритм ПС. Поэтому нам нужно указать каноническую страницу, которая является рекомендуемым вариантом среди всех похожих страниц. А для этого нам нужно разместить данный тег в шапку всех не канонических страниц.

Так как данный метод носит рекомендательный характер, он может быть проигнорирован, и чтобы он работал правильно и без ошибок приведу несколько правил, которых стоит придерживаться при его использовании:
  • Данный тег стоит размещать только на дублирующих, либо очень похожих страницах
  • Каноническая страница не должна отдавать ответ 404 ошибки
  • Каноническая страница не должна быть закрыта файлом robots.txt и др. способами
  • Нельзя использовать цепочки назначений канонических страниц, например страница 1 указывает на страницу 2, а она в свою очередь указывает на страницу 3
  • Нельзя указывать канонический адрес на другом домене либо субдомене
  • Нельзя указывать в одном документе сразу несколько канонических страниц
В случае не соблюдения данных правил, ПС может проигнорировать эту рекомендацию и поступать так, как будто её и нет на странице. Хочу ещё уточнить, что каноническая страница может ссылаться сама на себя, а это облегчает во многом использование данного тега, также используйте абсолютный адрес при указании канонической страницы, чтобы избежать возможных недопониманий со стороны ПС.

Очень приятным моментом является то, что этот способ поддерживают все основные поисковые системы: Google, Яндекс, Mail... Это радует, но огорчает то, что это всё таки рекомендация, а не правило. И его стоит применять только в тех случаях, когда нам жизненно необходимо сохранить дублирующие страницы для удобства посетителей сайта, а когда дубли не нужны нам вовсе, стоит применять жёсткие правила. А в этом нам поможет 301-й редирект.


301 редирект

Вообще у 301 редиректа очень широкий спектр применения, но мы будем рассматривать лишь ту его часть, которая относится к борьбе с дублями страниц, дабы максимально полно раскрыть тему статьи. Так когда же нам пригодится редирект?

Могу с уверенностью утверждать, что у 99% сайтов изначально есть проблема дублей главной страницы сайта, так называемой морды. И по сей день, те кто далёк от SEO, либо просто не в курсе данной темы, имеют у себя на сайте такую проблему. А заключается она в том, что у самой главной и важной страницы сайта минимум четыре разных URL адреса, а порой таких адресов может быть неограниченное число. Не удивляйтесь и не сомневайтесь в моих словах, я вам всё покажу на примерах и даже живых. Дубли, это изначально плохо, и поисковики к ним плохо относятся, и значит их нужно устранять. И в этом поможет, как я уже говорил, 301 редирект. Давайте сейчас рассмотрим пример с четырьмя адресами главной страницы, а затем устраним дубли при помощи файла .htaccess и 301 редиретка, который перенаправит индексирующих пауков на нужный нам адрес.

Как известно при парковке домена, автоматом создаётся www домен и наш сайт не только становится доступен по адресу site.ru, но и www.site.ru. Мало того, можно найти главную сайта ещё и по адресам www.site.ru/index.php или site.ru/index.php (вместо php может быть и html и др.). Вот они четыре адреса морды. Но с ними легко бороться следующими инструкциями, которые необходимо разместить в файл .htaccess:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.site.ru [NC]
RewriteRule (.*) http://site.ru/$1 [R=301,L]


Данное правило перенаправляет с адреса с www префиксом на адрес без него. Первая строчка RewriteEngine on включает модуль ModRewrite, и при написании правил её стоит использовать только один раз, над всеми правилами ModRewrite. А вот ещё тоже самое, но с альтернативным синтаксисом, более универсальным, использующим регулярные выражения:

RewriteCond %{HTTP_HOST} ^www.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]


Эти правила стоит использовать если вы хотите чтобы основной адрес вашего сайта был без www префикса и выглядел таким образом site.ru, а для тех кто использует с www правило будут выглядеть так:

 RewriteCond %{HTTP_HOST} ^site.ru [NC]
RewriteRule (.*) http://www.site.ru/$1 [R=301,L]


Либо так:

RewriteCond %{HTTP_HOST} !^www.(.*) [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]


Для устранения таких адресов site.ru/index.php, достаточно применить правило следующего вида:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.php HTTP/
RewriteRule ^index.php$ http://site.ru/ [R=301,L]


Либо для html страниц:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.html HTTP/
RewriteRule ^index.html$ http://site.ru/ [R=301,L]


Ну вот так легко можно избавиться от дублей при помощи редиректа, но ведь я упомянул, что страница может иметь неограниченное количество адресов и обещался это доказать.

Когда-то просматривая в панели Google WEB мастер раздел Оптимизация HTML по одному из моих сайтов я наткнулся на ужаснувшую меня вещь. Главная страница этого сайта содержала очень огромное число копий. Я углубился в просмотр статистики и там увидел такую не приятную вещь. Страниц было очень много и они были примерно такого вида: site.ru/?wob=Gc5Aq3 или site.ru/?xas=78tZx23ia. Но откуда? Ведь CMS на том сайте была самописная и главная страница не использовала никаких дополнительных параметров для своей работы, да и сама CMS никак не могла где-то по ошибке генерировать такие URL. Я точно об этом знал. Сразу же, дабы исключить эти страницы, я добавил в .htaccess следующие правила:

RewriteCond %{QUERY_STRING} ^wob=
RewriteRule (.*) /$1? [R=301,L]
RewriteCond %{QUERY_STRING} ^xas=
RewriteRule (.*) /$1? [R=301,L]


А в панели Google указал, что эти недостатки устранены. Но далее меня ждало огорчение, стали появляться новые дубли, но уже с другими адресами, их можно было генерировать сколько угодно с любыми параметрами и их значениями. Кто-то намеренно пытался навредить. Но я выкрутился, добавив следующее правило, использующее регулярное выражение, после чего от моего сайта отстали:

RewriteCond %{QUERY_STRING} !^$
RewriteRule ^(?:|index.php)$ index.php? [R=301,L]


Это правило перенаправляет все возможные URL адреса, содержащие любые дополнительные параметры для индексной страницы. Но хочу сразу вас уберечь от ошибок, если ваша CMS использует, для своей работы, дополнительные параметры в индексном файле, то это правило для вас не подойдёт. Но конечно же его можно подкорректировать под свои нужды, добавив исключения, либо написать свой вариант. В качестве примера думаю кому-то возможно будет полезным. Вот такой вот личный опыт в борьбе с дублями, в которой меня выручил 301 редирект. А вы думаете что вы защищены? А вот и живой пример http://masterwebs.ru?mod=nDs8Qw9a ))


Часть 3. Частичное закрытие контента

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

Вообще ссылки в основном закрывают от ПС дабы избежать утечки веса со страницы, ведь вес для страницы это всё! Чем больше имеет веса хорошо сформированная страница, тем больше у неё шансов попасть в топ выдачи. А через ссылки осуществляется передача веса со страницы на страницу, и так до бесконечности. И не важно это внутренняя или внешняя ссылка. Но сейчас не об этом, а о том как избежать потери веса, передаваемого по ссылкам, то есть спрятать ссылку от поисковых ботов.


Тег a и атрибут rel="nofollow"

Как вы уже поняли у тега a, то есть у тега, который отвечает за вывод ссылок, есть дополнительный параметр с атрибутом nofollow, который до не давних пор закрывал ссылки. В данном контексте понятие закрытия ссылки трактуется как запрет на передачу веса по ссылке, но среди WEB мастеров до сих пор бытует ошибочное мнение, что данный параметр полностью закрывает ссылку для ПС, и они такие ссылки просто не сканируют, но на самом деле ссылка видна для поисковиков. А выглядят такие ссылки примерно так:

<a rel="nofollow" href="http://site.ru/blog">анкор</a>


На самом деле присутствие rel="nofollow" у ссылки говорит поисковикам, что нельзя следовать по ссылки и передавать по ней вес. Казалось бы всё хорошо, но сегодня ссылки закрытые данным способом просто игнорируются поисковиками, и мало того, что они по ним переходят, так по ним ещё и перетекает вес. Когда-то весьма действенный метод в одночасье стал не эффективным. Вроде бы стоит полностью отказаться от этого способа, так как эффекта от него никакого, но например, Google рекомендует закрывать все внешние ссылки на страницах сайта этим параметром, будь то ссылки рекламных материалов, ссылки на партнёров, либо различные системы статистики. Параметр rel="nofollow" говорит, что эта ссылка не для ботов, а для пользователей, да и в сегодняшней борьбе ПС с продажными ссылками, такой подход покажет о серьёзных намерениях размещения ссылки.

В итоге, используя rel="nofollow", вместо способа запрета на индексацию ссылок имеем рекомендательный характер, который, получается в обязательном порядке стоит использовать. По сути других официальных методов скрытия ссылок нет, либо мне не известно о них. И как же тогда поступать в таких ситуациях? На самом деле есть самопальные решения, которые сегодня 100% закрывают ссылки от глаз поисковых машин.


100% способ закрытия ссылок

Какими бы не были хитрыми алгоритмы ПС, и какими бы всевидящими они не казались, всё таки хитроумные WEB мастера и оптимизаторы всегда найдут выход, из, казалось бы, без выходной ситуации. Просто такие ситуации заставляют думать и экспериментировать. И вот экспериментально проверенным путём выявлено множество действенных способов, со 100%-ой гарантией на сегодня, закрытия и внешних и внутренних ссылок с использованием современных технологий на основе AJAX и jQuery. Я хочу рассказать об одном из них, который использую сам лично на своих проектах. Он более или менее универсальный и гибкий, прост в использовании, закрывает не только текстовые ссылки, но и графические, с различными параметрами, которые по необходимости можно легко добавить, за что он мне по нраву. А если вам его окажется мало, можно всегда воспользоваться поиском. Итак, что нам нужно для применения данного метода. Во-первых, подключенную библиотеку jQuery версии не ниже 1.7, во-вторых, HTML5, но можно и без него, просто HTML валидатор будет ругаться на ошибки на странице, но всё будет работать. Ну и в-третьих, чуточку мозга и терпения чтобы всё это подключить ).

Для того что бы у нас всё работало, подключаем перед закрывающим тегом </body> следующего вида скрипт:

<script>$('.hidden').replaceWith(function(){return'<a href="'+$(this).data('link')+'">'+$(this).html()+'</a>';})</script>


А ссылка будет маскироваться таким вот видом:

<span class="hidden" data-link="http://site.ru">внешняя ссылка</span>


Давайте рассмотрим как это работает. После полной загрузки страницы, js скрипт обработчик преобразует код замаскированной ссылки в нормального вида код. Ссылка становится кликабельной. А вот поисковики видят только анкор ссылки, который воспринимают как простой текст, выделенный тегом <span>. Данный способ на 100% закрывает ссылки от индексации поисковыми ботами и поэтому утечки веса не происходит, да и сайт не засоряется разными ссылками. Можно закрывать не только внешние ссылки, но и внутренние, а также графические ссылки:

<span class="hidden" data-link="http://site.ru"><img src="http://site.ru/images/pic.png" height="200" width="200" alt="Картинка" /></span>


Ещё можно немного улучшить данный код, и добавить параметр title для ссылки:

<script>$('.hidden').replaceWith(function(){return'<a href="'+$(this).data('link')+'" title="'+$(this).text()+'">'+$(this).html()+'</a>';})</script>


Но в данном случае title будет таким же, как и анкор ссылки. Можно ещё модифицировать и дабавить например, параметр target, если он необходим:

Ссылка

<span class="hidden" data-link="http://site.ru" data-target="blank_">внешняя ссылка</span>


Скрипт

<script>$('.hidden').replaceWith(function(){return'<a href="'+$(this).data('link')+'" target="'+$(this).data('target')+'">'+$(this).html()+'</a>';})</script>


Надеюсь вы уловили суть как усовершенствовать данный скрипт. Конечно же подобных способов много, некоторые реализованы схожим образом, а некотрые совершенно иначе. Что использовать решать только вам. А я показал всего лишь один способ, по моему мнению самый удобный, из тех что я видел. Если у вас есть что-то по круче чем это, пишите, буду только рад расширить кругозор своих знаний.


Ну что же, мы рассмотрели как закрывать ссылки, но ведь контент не ограничивается ссылками, есть ещё текст, который тоже иногда нужно спрятать. Если ссылку можно замаскировать под текст, то сам текст спрятать ещё сложнее. Есть конечно способы, но реализовать их не каждому под силу, тут уже необходимы навыки программирования, либо встроенный функционал в CMS. Есть, или был, ещё один способ, поддерживаемый ПС Яндекс - это тег <noindex>, но в настоящие дни его вообще не рекомендуют использовать.


Тег noindex

Данный тег официально поддерживают только две поисковые системы - это Яндекс и Rambler. По поводу второго сейчас ничего толком сказать не могу, так как он уже давно стал использовать технологии Яндекс. Толком нет никакой информации об этом теге, а в справочной информации Яндекс на вопрос "Может ли робот не индексировать заданные (служебные) участки текста?" очень скромный ответ:

Робот Яндекса поддерживает тег noindex, который позволяет решить эту проблему. В начале служебного фрагмента поставьте — <noindex>, а в конце — </noindex>, и Яндекс не будет индексировать данный участок текста. Тег noindex не чувствителен к вложенности.


Из данной информации я вижу только то, что данный тег может закрывать части текста, с уточнением - служебные. Знаю, что некоторые WEB мастера пытаются закрывать этим тегом ссылки от утечки веса и блоки счётчиков и по сей день, но ведь никакой речи и не было о тегах, только о тексте. Закономерно напрашивается вывод, что в закрытых тегом noindex ссылках не индексируется только анкор и всего скорее параметр title, то есть их текстовая часть. Соответственно использовать данный тег, чтобы вырезать из индекса часть статьи, не стоит, так как она не является служебным текстом. В своё время некоторые WEB мастера устраняли проблему формирования сниппетов данным тегом, так как Яндекс мог взять текст для сниппета из анкоров навигационного блока ссылок, который обычно расположен почти в самом верху страницы сайта, что выглядело не очень красиво в результатах выдачи. Здесь я соглашусь, что это служебный текст и его таким способом прикрыть можно было.

Сам никогда этот тег не использовал, ибо его польза сомнительна, поддерживает его только Яндекс, да и то для служебного текста. А смысла в закрытии анкоров ссылок не вижу вовсе. Так что для вас написал о нём только в ознакомительных целях. Ну, а вопрос о закрытии части текста на страницах остаётся открытым, и для его реализации остаются только способы придуманные WEB мастерами.


Способы закрытия части контента

Наконец-то поговорим о том, как реально можно спрятать часть контента, чтобы уже завершить вопрос о методах и способах зыкрытия контента от поисковиков. Опять повторюсь, что эти способы, для их реализации, требуют определённых знаний и навыков, что делает их не доступными для большинства WEB мастеров. Но при большом желании можно осилить всё что угодно, знаю на личном опыте. Конечно же эти методы имеют свои недостатки, но их достоинства заставляют закрывать глаза. Я выделил три способа:
  • Скрытие контента от гостей
  • Вывод текстового контента в виде изображения
  • Подгрузка контена средствами Ajax
Суть первого способа заключается в том, что контент, который мы не хотим показывать, можно закрыть для просмотра для не авторизованных пользователей, то есть для гостей. Таким образом мы можем спрятать, всё что угодно: части текста, картинки, сайдбары, блоки навигации... Тут возможности весьма большие и реализовать можно практически всё. От показа одного контента для гостей и другого для авторизованных пользователей, до полного скрытия информации от глаз разных групп пользователей. Как видите закрыть от индексации контент всё таки можно, но здесь есть существенные минусы. Во-первых, не всегда удобно разделять, либо полностью прятать контент от гостей, среди которых не только боты, но и живые пользователи. Во-вторых, на сайте должна обязательно присутствовать регистрация, либо хотя бы авторизация через крупные социальные сервисы. В-третьих, самое обидное, что страницы, либо их части, закрытые от просмотра авторизацией, могут попадать в индекс через браузер Google Chrome и ему подобные. Да, даже бывает такое, поисковики не стоят на месте, как и WEB мастера.

Этот способ имеет большие функциональные возможности по закрытию любого контента, но он не даёт 100% гарантии того, что мы спрячем контент от ПС. Но всё же он имеет место быть в нашем арсенале. Примеров реализации приводить нет смысла, так как они очень сложны и индивидуальны для каждой CMS. Так, идём далее.


Второй способ менее функционален по возможностям чем первый, но не большой текст, например какой-нибудь анонс или описание, им спрятать можно. Идея заключается в том, чтобы сгенерировать картинку с текстом, который мы хотим спрятать. Получается на месте текста будет изображение, визуально которое будет выглядеть как текст, да и выделяться из общего контента страницы тоже не будет. Опять, кажется всё хорошо, но очень много минусов у данного способа: генерация изображения требует много ресурсов и сложного алгоритма для реализации оптимального варианта; мы не можем поместить на странице очень много изображений, так как это замедлит её загрузку и увеличит вес, к чему очень плохо относятся ПС; мы можем частично прятать только текст и ничего более; существует вероятность, что google либо уже умеет распознавать текст на изображениях, либо в скором будущем сможет это сделать. Так же будет без примеров реализации, ибо они очень громоздки и сложны.

Третий способ пока даёт большие надежды, и по принципу работы похож на вариант закрытия ссылок js скриптом. Спрятать можно почти что угодно, но иногда бывают накладки. Главное, что эффективно прячет текстовый и ссылочный контент. Суть этого способа заключается в том, что контент который мы хотим спрятать, размещается во внешнем файле и подгружается средствами Ajax в указанное нами место, в самый последний момент, после полной загрузки документа браузером, то есть страницы. Радует что ни Яндекс, ни даже Google, сегодня не умеют подгружать внешние файлы после того как документ полностью готов. Плюс ко всему этому не сильно сложная реализация, которая доступна почти каждому.

Для работы потребуется подключенная библиотека jQuery. Далее создаём файл с контентом, который необходимо скрыть. Это может быть html или php файл, в зависимости от того, что необходимо подгружать, например это у нас будет content.html, который будет расположен в папке hidden. Далее в шапке страницы в тегах <head> необходимо добавить следующего вида скрипт:

<script type="text/javascript">$(document).ready(function(){$('#hidden').load('hidden/content.html');});</script>  


А на страницу в то место, где должен отображаться контент, добавляем пустой div:

<div id="hidden"></div>


Конечно же в файл стилей можно добавить параметры для оформления данного div-а. Данный пример самый простой, но он показывает как можно реализовать скрытие контента от поисковиков. Данным способом можно прятать любой контент, кроме сторонних внешних скриптов, например скрипты счётчиков систем статистики, подгружаемые данным способом могут работать не корректно. Отличный способ в наборе наших инструментов по манипулированию процессом индексации, но большим минусом у него является то, что он работает только в браузерах со включенным JavaScript, увы он не идеален, но на мой взгляд самый эффективный среди тех, что я знаю.


Итоги

В данной статье я попытался раскрыть проблему управления индексацией контента, конечно же эту тему можно ещё дополнять и дополнять, но данного объёма должно хватить на начальном этапе. В теме рассмотрены самые ходовые методы манипулирования процессом индексации, рассмотрены их сильные и слабые места, что, по моему мнению, должно исключить ошибки у новичков. Если вы считаете, что где-то и в чём-то я не прав, то всегда можно поспорить и возможно найти действительно верное решение. Я всегда только за. Ещё хочу отметить, что черпал информацию для себя в основном из двух очень полезных блогов, и думаю воспользовавшись возможностью размещения двух ссылок в статье, я таким не значительным образом хотя бы частично попытаюсь отблагодарить их авторов за их огромнейшие труды. Это:

Оптимизация сайтов по версии АлаичЪ'а - http://alaev.info
Персональный SEO блог - http://devaka.ru

Всем спасибо за внимание. Жду комментариев.

Прикрепленные изображения

  • robots.txt.png
  • x-robots-tag.png

 

 

  • 5

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Пропадет ли сайт из индексации(первой страницы) поисковиков, если поменять CMS?
  2. Индексация страниц сайта
  3. Запретить индексировать отдельные страницы и части контента
  4. Проблема с индексированием отдельных страниц сайта.
  5. Закрыть контент от индексации

#2 skilur

skilur
  • Пользователь
  • 221 сообщений
  • Репутация: 45

Отправлено 27 Октябрь 2013 - 16:54

мегасодержательная и суперполезная статья. читая, хотел написать что часть инфы нигде не встречал, часть видел у АлаиЧ`a, пока не увидел ссылку на его блог в примечаниях.
для меня наиболее ценной оказалась инфа о мета теге robots. Отдельное спасибо.
  • 1

#3 Ixman

Ixman
    Topic Starter
  • Пользователь PRO
  • 2 159 сообщений
  • Репутация: 432

Отправлено 27 Октябрь 2013 - 16:59

Спасибо за первый коммент, ссылки указал в обязательном порядке в самом низу статьи
  • 0

#4 Гость_Дмитрий_*

Гость_Дмитрий_*
  • Гости

Отправлено 06 Март 2014 - 16:57

Спасибо большое, статья исчерпывающая. 


  • 0

#5 Гость_Гость_*

Гость_Гость_*
  • Гости

Отправлено 07 Июль 2014 - 22:40

Статья где воединно собрана вся инфа по управлению индексацией+++. Правда у меня не выходит прятать ссылки скриптами как здесь описано (ну вот не срабатывает даже если поместить в {literal})


  • 0

#6 KataTelecom

KataTelecom
  • Пользователь
  • 31 сообщений
  • Репутация: 2

Отправлено 28 Июль 2014 - 12:37

Уг, какраз то что искал. Респект за труды.


  • 0

#7 Ixman

Ixman
    Topic Starter
  • Пользователь PRO
  • 2 159 сообщений
  • Репутация: 432

Отправлено 28 Июль 2014 - 14:29

Гость, Где-то ошибка всего скорее


  • 0

#8 hnerd

hnerd
  • Пользователь
  • 284 сообщений
  • Репутация: 18

Отправлено 03 Апрель 2015 - 12:53

Класс!!!! Большое спасибо! То, что искала! За скрипты благодарна безгранично.


  • 0

#9 Ixman

Ixman
    Topic Starter
  • Пользователь PRO
  • 2 159 сообщений
  • Репутация: 432

Отправлено 06 Апрель 2015 - 18:45

@hnerd, рад что полезно )) 


  • 0

#10 ShowPrint

ShowPrint
  • Пользователь PRO
  • 1 701 сообщений
  • Репутация: 405

Отправлено 06 Апрель 2015 - 22:35

@Ixman, Супер познавательно, спасибо!!! (так хотелось ткнуть +, но недельное ограничение...)


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru