При самостоятельном продвижении и раскрутке сайта важно не только создание уникального контента или подбор запросов в статистике Яндекса, но и так же следует уделять должное внимание такому показателю, как индексация ресурса поисковиками, ибо от этого тоже зависит весь дальнейший успех продвижения.
У нас с вами имеются в распоряжении два набора инструментов, с помощью которых мы можем управлять этим процессом как бы с двух сторон. Во-первых, существует такой важный инструмент как карта сайта (Sitemap xml). Она говорит поисковикам о том, какие страницы сайта подлежат индексации и как давно они обновлялись.
А, во-вторых, это, конечно же, файл robots.txt и похожий на него по названию мета-тег роботс, которые помогают нам запретить индексирование на сайте того, что не содержит основного контента (исключить файлы движка, запретить индексацию дублей контента), и именно о них и пойдет речь в этой статье…
Индексация сайта
Упомянутые выше инструменты очень важны для успешного развития вашего проекта, и это вовсе не голословное утверждение. В статье про Sitemap xml (см. ссылку выше) я приводил в пример результаты очень важного исследования по наиболее частым техническим ошибкам начинающих вебмастеров, там на втором и третьем месте (после не уникального контента) находятся как раз отсутствие этих файлов роботс и сайтмап, либо их неправильное составление и использование.
Почему так важно управлять индексацией сайта
Надо очень четко понимать, что при использовании CMS (движка) не все содержимое сайта должно быть доступно роботам поисковых систем. Почему?
- Ну, хотя бы потому, что, потратив время на индексацию файлов движка вашего сайта (а их может быть тысячи), робот поисковика до основного контента сможет добраться только спустя много времени. Дело в том, что он не будет сидеть на вашем ресурсе до тех пор, пока его полностью не занесет в индекс. Есть лимиты на число страниц и исчерпав их он уйдет на другой сайт. Адьес.
- Если не прописать определенные правила поведения в роботсе для этих ботов, то в индекс поисковиков попадет множество страниц, не имеющих отношения к значимому содержимому ресурса, а также может произойти многократное дублирование контента (по разным ссылкам будет доступен один и тот же, либо сильно пересекающийся контент), что поисковики не любят.
Хорошим решением будет запрет всего лишнего в robots.txt (все буквы в названии должны быть в нижнем регистре — без заглавных букв). С его помощью мы сможем влиять на процесс индексации сайта Яндексом и Google. Представляет он из себя обычный текстовый файл, который вы сможете создать и в дальнейшем редактировать в любом текстовом редакторе (например, Notepad++).
Поисковый бот будет искать этот файл в корневом каталоге вашего ресурса и если не найдет, то будет загонять в индекс все, до чего сможет дотянуться. Поэтому после написания требуемого роботса, его нужно сохранить в корневую папку, например, с помощью Ftp клиента Filezilla так, чтобы он был доступен к примеру по такому адресу:
https://ktonanovenkogo.ru/robots.txt
Кстати, если вы хотите узнать как выглядит этот файл у того или иного проекта в сети, то достаточно будет дописать к Урлу его главной страницы окончание вида /robots.txt
. Это может быть полезно для понимания того, что в нем должно быть.
Однако, при этом надо учитывать, что для разных движков этот файл будет выглядеть по-разному (папки движка, которые нужно запрещать индексировать, будут называться по-разному в разных CMS). Поэтому, если вы хотите определиться с лучшим вариантом роботса, допустим для Вордпресса, то и изучать нужно только блоги, построенные на этом движке (и желательно имеющие приличный поисковый трафик).
Как можно запретить индексацию отдельных частей сайта и контента?
Прежде чем углубляться в детали написания правильного файла robots.txt для вашего сайта, забегу чуть вперед и скажу, что это лишь один из способов запрета индексации тех или иных страниц или разделов вебсайта. Вообще их три:
- Роботс.тхт — самый высокоуровневый способ, ибо позволяет задать правила индексации для всего сайта целиком (как его отдельный страниц, так и целых каталогов). Он является полностью валидным методом, поддерживаемым всеми поисковиками и другими ботами живущими в сети. Но его директивы вовсе не являются обязательными для исполнения. Например, Гугл не шибко смотрит на запреты в robots.tx — для него авторитетнее одноименный мета-тег рассмотренный ниже.
- Мета-тег robots — имеет влияние только на страницу, где он прописан. В нем можно запретить индексацию и переход робота по находящимся в этом документе ссылкам (подробнее смотрите ниже). Он тоже является полностью валидным и поисковики будут стараться учитывать указанные в нем значения. Для Гугла, как я уже упоминал, этот метод имеет больший вес, чем файлик роботса в корне сайта.
- Тег Noindex и атрибут rel=»nofollow» — самый низкоуровневый способ влияния на индексацию. Они позволяют закрыть от индексации отдельные фрагменты текста (noindex) и не учитывать вес передаваемый по ссылке. Они не валидны (их нет в стандартах). Как именно их учитывают поисковики и учитывают ли вообще — большой вопрос и предмет долгих споров (кто знает наверняка — тот молчит и пользуется).
Важно понимать, что даже «стандарт» (валидные директивы robots.txt и одноименного мета-тега) являются необязательным к исполнению. Если робот «вежливый», то он будет следовать заданным вами правилам. Но вряд ли вы сможете при помощи такого метода запретить доступ к части сайта роботам, ворующим у вас контент или сканирующим сайт по другим причинам.
Вообще, роботов (ботов, пауков, краулеров) существует множество. Какие-то из них индексируют контент (как например, боты поисковых систем или воришек). Есть боты проверяющие ссылки, обновления, зеркалирование, проверяющие микроразметку и т.д. Смотрите сколько роботов есть только у Яндекса.
Большинство роботов хорошо спроектированы и не создают каких-либо проблем для владельцев сайтов. Но если бот написан дилетантом или «что-то пошло не так», то он может создавать существенную нагрузку на сайт, который он обходит. Кстати, пауки вовсе на заходят на сервер подобно вирусам — они просто запрашивают нужные им страницы удаленно (по сути это аналоги браузеров, но без функции просмотра страниц).
Robots.txt — директива user-agent и боты поисковых систем
Роботс.тхт имеет совсем не сложный синтаксис, который очень подробно описан, например, в хелпе яндекса и хелпе Гугла. Обычно в нем указывается, для какого поискового бота предназначены описанные ниже директивы: имя бота ('User-agent'), разрешающие ('Allow') и запрещающие ('Disallow'), а также еще активно используется 'Sitemap' для указания поисковикам, где именно находится файл карты.
Стандарт создавался довольно давно и что-то было добавлено уже позже. Есть директивы и правила оформления, которые будут понятны только роботами определенных поисковых систем. В рунете интерес представляют в основном только Яндекс и Гугл, а значит именно с их хелпами по составлению robots.txt следует ознакомиться особо детально (ссылки я привел в предыдущем абзаце).
Например, раньше для поисковой системы Яндекс было полезным указать, какое из зеркал вашего вебпроекта является главным в специальной директиве 'Host', которую понимает только этот поисковик (ну, еще и Майл.ру, ибо у них поиск от Яндекса). Правда, в начале 2018 Яндекс все же отменил Host и теперь ее функции как и у других поисковиков выполняет 301-редирект.
Если даже у вашего ресурса нет зеркал, то полезно будет указать, какой из вариантов написания является главным — с www или без него.
Теперь поговорим немного о синтаксисе этого файла. Директивы в robots.txt имеют следующий вид:
<поле>:<пробел><значение><пробел> <поле>:<пробел><значение><пробел>
Правильный код должен содержать хотя бы одну директиву «Disallow» после каждой записи «User-agent». Пустой файл предполагает разрешение на индексирование всего сайта.
User-agent
Директива «User-agent» должна содержать название поискового бота. При помощи нее можно настроить правила поведения для каждого конкретного поисковика (например, создать запрет индексации отдельной папки только для Яндекса). Пример написания «User-agent», адресованной всем ботам зашедшим на ваш ресурс, выглядит так:
User-agent: *
Если вы хотите в «User-agent» задать определенные условия только для какого-то одного бота, например, Яндекса, то нужно написать так:
User-agent: Yandex
Название роботов поисковых систем и их роль в файле robots.txt
Бот каждой поисковой системы имеет своё название (например, для рамблера это StackRambler). Здесь я приведу список самых известных из них:
Google http://www.google.com Googlebot Яндекс http://www.ya.ru Yandex Бинг http://www.bing.com/ bingbot
У крупных поисковых систем иногда, кроме основных ботов, имеются также отдельные экземпляры для индексации блогов, новостей, изображений и т.д. Много информации по разновидностям ботов вы можете почерпнуть тут (для Яндекса) и тут (для Google).

Как быть в этом случае? Если нужно написать правило запрета индексации, которое должны выполнить все типы роботов Гугла, то используйте название Googlebot и все остальные пауки этого поисковика тоже послушаются. Однако, можно запрет давать только, например, на индексацию картинок, указав в качестве User-agent бота Googlebot-Image. Сейчас это не очень понятно, но на примерах, я думаю, будет проще.
Примеры использования директив Disallow и Allow в роботс.тхт
Приведу несколько простых примеров использования директив с объяснением его действий.
- Приведенный ниже код разрешает всем ботам (на это указывает звездочка в User-agent) проводить индексацию всего содержимого без каких-либо исключений. Это задается пустой директивой Disallow.
User-agent: * Disallow:
- Следующий код, напротив, полностью запрещает всем поисковикам добавлять в индекс страницы этого ресурса. Устанавливает это
Disallow
с «/» в поле значения.User-agent: * Disallow: /
- В этом случае будет запрещаться всем ботам просматривать содержимое каталога /image/ (http://mysite.ru/image/ — абсолютный путь к этому каталогу)
User-agent: * Disallow: /image/
- Чтобы заблокировать один файл, достаточно будет прописать его абсолютный путь до него (читайте про абсолютные и относительные пути по ссылке):
User-agent: * Disallow: /katalog1//katalog2/private_file.html
Забегая чуть вперед скажу, что проще использовать символ звездочки (*), чтобы не писать полный путь:
Disallow: /*private_file.html
- В приведенном ниже примере будут запрещены директория «image», а также все файлы и директории, начинающиеся с символов «image», т. е. файлы: «image.htm», «images.htm», каталоги: «image», «images1», «image34» и т. д.):
User-agent: * Disallow: /image
Дело в том, что по умолчанию в конце записи подразумевается звездочка, которая заменяет любые символы, в том числе и их отсутствие. Читайте об этом ниже.
- С помощью директивы Allow мы разрешаем доступ. Хорошо дополняет Disallow. Например, таким вот условием поисковому роботу Яндекса мы запрещаем выкачивать (индексировать) все, кроме вебстраниц, адрес которых начинается с /cgi-bin:
User-agent: Yandex Allow: /cgi-bin Disallow: /
Ну, или такой вот очевидный пример использования связки Allow и Disallow:
User-agent: * Disallow: /catalog Allow: /catalog/auto
- При описании путей для директив
Allow-Disallow
можно использовать символы '*' и '$', задавая, таким образом, определенные логические выражения.
- Символ '*'(звездочка) означает любую (в том числе пустую) последовательность символов. Следующий пример запрещает всем поисковикам индексацию файлов с расширение «.php»:
User-agent: * Disallow: *.php$
- Зачем нужен на конце знак $ (доллара)? Дело в том, что по логике составления файла robots.txt, в конце каждой директивы как бы дописывается умолчательная звездочка (ее нет, но она как бы есть). Например мы пишем:
Disallow: /images
Подразумевая, что это то же самое, что:
Disallow: /images*
Т.е. это правило запрещает индексацию всех файлов (вебстраниц, картинок и других типов файлов) адрес которых начинается с /images, а дальше следует все что угодно (см. пример выше). Так вот, символ $ просто отменяет эту умолчательную (непроставляемую) звездочку на конце. Например:
Disallow: /images$
Запрещает только индексацию файла /images, но не /images.html или /images/primer.html. Ну, а в первом примере мы запретили индексацию только файлов оканчивающихся на .php (имеющих такое расширение), чтобы ничего лишнего не зацепить:
Disallow: *.php$
- Символ '*'(звездочка) означает любую (в том числе пустую) последовательность символов. Следующий пример запрещает всем поисковикам индексацию файлов с расширение «.php»:
User-agent: * Disallow: /*?
Звездочка после вопросительного знака напрашивается, но она, как мы с вами выяснили чуть выше, уже подразумевается на конце. Таким образом мы запретим индексацию страниц поиска и прочих служебных страниц создаваемых движком, до которых может дотянуться поисковый робот. Лишним не будет, ибо знак вопроса чаще всего CMS используют как идентификатор сеанса, что может приводить к попаданию в индекс дублей страниц.
Директивы Sitemap и Host (для Яндекса) в Robots.txt
Во избежании возникновения неприятных проблем с зеркалами сайта, раньше рекомендовалось добавлять в robots.txt директиву Host, которая указывал боту Yandex на главное зеркало.
Однако, в начале 2018 год это было отменено и и теперь функции Host выполняет 301-редирект.
Директива Host — указывает главное зеркало сайта для Яндекса
Например, раньше, если вы еще не перешли на защищенный протокол, указывать в Host нужно было не полный Урл, а доменное имя (без http://, т.е. ktonanovenkogo.ru, а не https://ktonanovenkogo.ru). Если же уже перешли на https, то указывать нужно будет полный Урл (типа https://myhost.ru).
Сейчас переезд сайта после отказа от директивы Host очень сильно упростился, ибо теперь не нужно ждать пока произойдет склейка зеркал по директиве Host для Яндекса, а можно сразу после настройки Https на сайте делать постраничный редирект с Http на Https.
Напомню в качестве исторического экскурса, что по стандарту написания роботс.тхт за любой директивой User-agent
должна сразу следовать хотя бы одна директива Disallow
(пусть даже и пустая, ничего не запрещающая). Так же, наверное, имеется смысл прописывать Host для отдельного блока «User-agent: Yandex», а не для общего «User-agent: *», чтобы не сбивать с толку роботов других поисковиков, которые эту директиву не поддерживают:
User-agent: Yandex Disallow: Host: www.site.ru
либо
User-agent: Yandex Disallow: Host: site.ru
либо
User-agent: Yandex Disallow: Host: https://site.ru
либо
User-agent: Yandex Disallow: Host: https://www.site.ru
в зависимости от того, что для вас оптимальнее (с www или без), а так же в зависимости от протокола.
Указываем или скрываем путь до карты сайта sitemap.xml в файле robots
Директива Sitemap указывает на местоположение файла карты сайта (обычно он называется Sitemap.xml, но не всегда). В качестве параметра указывается путь к этому файлу, включая http:// (т.е. его Урл).Благодаря этому поисковый робот сможете без труда его найти. Например:
Sitemap: http://site.ru/sitemap.xml
Раньше файл карты сайта хранили в корне сайта, но сейчас многие его прячут внутри других директорий, чтобы ворам контента не давать удобный инструмент в руки. В этом случае путь до карты сайта лучше в роботс.тхт не указывать. Дело в том, что это можно с тем же успехом сделать через панели поисковых систем (Я.Вебмастер, Google.Вебмастер, панель Майл.ру), тем самым «не паля» его местонахождение.
Местоположение директивы Sitemap в файле robots.txt не регламентируется, ибо она не обязана относиться к какому-то юзер-агенту. Обычно ее прописывают в самом конце, либо вообще не прописывают по приведенным выше причинам.
Проверка robots.txt в Яндекс и Гугл вебмастере
Как я уже упоминал, разные поисковые системы некоторые директивы могут интерпритировать по разному. Поэтому имеет смысл проверять написанный вами файл роботс.тхт в панелях для вебмастеров обоих систем. Как проверять?
- Зайти в инструменты проверки Яндекса и Гугла.
- Убедиться, что в панель вебмастера загружена версия файла с внесенными вами изменениями. В Яндекс вебмастере загрузить измененный файл можно с помощью показанной на скриншоте иконки:
В Гугл Вебмастере нужно нажать кнопку «Отправить» (справа под списком директив роботса), а затем в открывшемся окне выбрать последний вариант нажатием опять же на кнопку «Отправить»:
- Набрать список адресов страниц своего сайта (по Урлу в строке), которые должны индексироваться, и вставить их скопом (в Яндексе) или по одному (в Гугле) в расположенную снизу форму. После чего нажать на кнопку «Проверить».
Если возникли нестыковки, то выяснить причины, внести изменения в robots.txt, загрузить обновленный файл в панель вебмастеров и повторить проверку. Все ОК?
Тогда составляйте список страниц, которые не должны индексироваться, и проводите их проверку. При необходимости вносите изменения и проверку повторяйте. Естественно, что проверять следует не все страницы сайта, а ярких представителей своего класса (страницы статей, рубрики, служебные страницы, файлы картинок, файлы шаблона, файлы движка и т.д.)
Причины ошибок выявляемых при проверке файла роботс.тхт
- Файл должен находиться в корне сайта, а не в какой-то папке (это не .htaccess, и его действия распространяются на весь сайт, а не на каталог, в котором его поместили), ибо поисковый робот его там искать не будет.
- Название и расширение файла robots.txt должно быть набрано в нижнем регистре (маленькими) латинскими буквами.
- В названии файла должна быть буква S на конце (не robot.txt, как многие пишут)
- Часто в User-agent вместо звездочки (означает, что этот блок robots.txt адресован всем ботам) оставляют пустое поле. Это не правильно и * в этом случае обязательна
User-agent: * Disallow: /
- В одной директиве Disallow или Allow можно прописывать только одно условие на запрет индексации директории или файла. Так нельзя:
Disallow: /feed/ /tag/ /trackback/
Для каждого условия нужно добавить свое Disallow:
Disallow: /feed/ Disallow: /tag/ Disallow: /trackback/
- Довольно часто путают значения для директив и пишут:
User-agent: / Disallow: Yandex
вместо
User-agent: Yandex Disallow: /
- Порядок следования Disallow (Allow) не важен — главное, чтобы была четкая логическая цепь
- Пустая директива Disallow означает то же, что «Allow: /»
- Нет смысла прописывать директиву sitemap под каждым User-agent, если будете указывать путь до карты сайта (читайте об этом ниже), то делайте это один раз, например, в самом конце.
- Директиву Host лучше писать под отдельным «User-agent: Yandex», чтобы не смущать ботов ее не поддерживающих
Мета-тег Robots — помогает закрыть дубли контента при индексации сайта
Существует еще один способ настроить (разрешить или запретить) индексацию отдельных страниц вебсайта, как для Яндекса, так и для Гугл. Причем для Google этот метод гораздо приоритетнее описанного выше. Поэтому, если нужно наверняка закрыть страницу от индексации этой поисковой системой, то данный мета-тег нужно будет прописывать в обязательном порядке.
Для этого внутри тега «HEAD» нужной вебстраницы дописывается МЕТА-тег Robots с нужными параметрами, и так повторяется для всех документов, к которым нужно применить то или иное правило (запрет или разрешение). Выглядеть это может, например, так:
<html> <head> <meta name="robots" content="noindex,nofollow"> <meta name="description" content="Эта страница ...."> <title>...</title> </head> <body> ...
В этом случае, боты всех поисковых систем должны будут забыть об индексации этой вебстраницы (об этом говорит присутствие noindex
в данном мета-теге) и анализе размещенных на ней ссылок (об этом говорит присутствие nofollow
— боту запрещается переходить по ссылкам, которые он найдет в этом документе).
Существуют только две пары параметров у метатега robots: [no]index и [no]follow:
- Index — указывают, может ли робот проводить индексацию данного документа
- Follow — может ли он следовать по ссылкам, найденным в этом документе
Значения по умолчанию (когда этот мета-тег для страницы вообще не прописан) – «index» и «follow». Есть также укороченный вариант написания с использованием «all» и «none», которые обозначают активность обоих параметров или, соответственно, наоборот: all=index,follow
и none=noindex,nofollow
.
Более подробные объяснения можно найти, например, в хелпе Яндекса:
Для блога на WordPress вы сможете настроить мета-тег Robots, например, с помощью плагина All in One SEO Pack. Если используете другие плагины или другие движки сайта, то гуглите на тему прописывания для нужных страниц meta name=»robots».
Как создать правильный роботс.тхт?
Ну все, с теорией покончено и пора переходить к практике, а именно к составлению оптимальных robots.txt. Как известно, у проектов, созданных на основе какого-либо движка (Joomla, WordPress и др), имеется множество вспомогательных объектов не несущих никакой информативной нагрузки.
Если не запретить индексацию всего этого мусора, то время, отведенное поисковиками на индексацию вашего сайта, будет тратиться на перебор файлов движка (на предмет поиска в них информационной составляющей, т.е. контента). Но фишка в том, что в большинстве CMS контент хранится не в файликах, а в базе данных, к которой поисковым ботам никак не добраться. Полазив по мусорным объектам движка, бот исчерпает отпущенное ему время и уйдет не солоно хлебавши.
Кроме того, следует стремиться к уникальности контента на своем проекте и не следует допускать полного или даже частичного дублирования контента (информационного содержимого). Дублирование может возникнуть в том случае, если один и тот же материал будет доступен по разным адресам (URL).
Яндекс и Гугл, проводя индексацию, обнаружат дубли и, возможно, примут меры к некоторой пессимизации вашего ресурса при их большом количестве (машинные ресурсы стоят дорого, а посему затраты нужно минимизировать). Да, есть еще такая штука, как мета-тэг Canonical.
Замечательный инструмент для борьбы с дублями контента — поисковик просто не будет индексировать страницу, если в Canonical прописан другой урл. Например, для такой страницы https://ktonanovenkogo.ru/page/2 моего блога (страницы с пагинацией) Canonical указывает на https://ktonanovenkogo.ru и никаких проблем с дублированием тайтлов возникнуть не должно.
<link rel="canonical" href="https://ktonanovenkogo.ru/" />
Но это я отвлекся…
Если ваш проект создан на основе какого-либо движка, то дублирование контента будет иметь место с высокой вероятностью, а значит нужно с ним бороться, в том числе и с помощью запрета в robots.txt, а особенно в мета-теге, ибо в первом случае Google запрет может и проигнорировать, а вот на метатег наплевать он уже не сможет (так воспитан).
Например, в WordPress страницы с очень похожим содержимым могут попасть в индекс поисковиков, если разрешена индексация и содержимого рубрик, и содержимого архива тегов, и содержимого временных архивов. Но если с помощью описанного выше мета-тега Robots создать запрет для архива тегов и временного архива (можно теги оставить, а запретить индексацию содержимого рубрик), то дублирования контента не возникнет. Как это сделать описано по ссылке приведенной чуть выше (на плагин ОлИнСеоПак)
Подводя итог скажу, что файл Роботс предназначен для задания глобальных правил запрета доступа в целые директории сайта, либо в файлы и папки, в названии которых присутствуют заданные символы (по маске). Примеры задания таких запретов вы можете посмотреть чуть выше.
Теперь давайте рассмотрим конкретные примеры роботса, предназначенного для разных движков — Joomla, WordPress и SMF. Естественно, что все три варианта, созданные для разных CMS, будут существенно (если не сказать кардинально) отличаться друг от друга. Правда, у всех у них будет один общий момент, и момент этот связан с поисковой системой Яндекс.
Т.к. в рунете Яндекс имеет достаточно большой вес, то нужно учитывать все нюансы его работы, и тут нам поможет директива Host. Она в явной форме укажет этому поисковику главное зеркало вашего сайта.
Для нее советуют использовать отдельный блог User-agent, предназначенный только для Яндекса (User-agent: Yandex). Это связано с тем, что остальные поисковые системы могут не понимать Host и, соответственно, ее включение в запись User-agent, предназначенную для всех поисковиков (User-agent: *), может привести к негативным последствиям и неправильной индексации.
Как обстоит дело на самом деле — сказать трудно, ибо алгоритмы работы поиска — это вещь в себе, поэтому лучше сделать так, как советуют. Но в этом случае придется продублировать в директиве User-agent: Yandex
все те правила, что мы задали User-agent: *
. Если вы оставите User-agent: Yandex с пустым Disallow:
, то таким образом вы разрешите Яндексу заходить куда угодно и тащить все подряд в индекс.
Robots для WordPress
Не буду приводить пример файла, который рекомендуют разработчики. Вы и сами можете его посмотреть. Многие блогеры вообще не ограничивают ботов Яндекса и Гугла в их прогулках по содержимому движка WordPress. Чаще всего в блогах можно встретить роботс, автоматически заполненный плагином Google XML Sitemaps.
Но, по-моему, все-таки следует помочь поиску в нелегком деле отсеивания зерен от плевел. Во-первых, на индексацию этого мусора уйдет много времени у ботов Яндекса и Гугла, и может совсем не остаться времени для добавления в индекс вебстраниц с вашими новыми статьями. Во-вторых, боты, лазящие по мусорным файлам движка, будут создавать дополнительную нагрузку на сервер вашего хоста, что не есть хорошо.
Мой вариант этого файла вы можете сами посмотреть. Он старый, давно не менялся, но я стараюсь следовать принципу «не чини то, что не ломалось», а вам уже решать: использовать его, сделать свой или еще у кого-то подсмотреть. У меня там еще запрет индексации страниц с пагинацией был прописан до недавнего времени (Disallow: */page/), но недавно я его убрал, понадеясь на Canonical, о котором писал выше.
А вообще, единственно правильного файла для WordPress, наверное, не существует. Можно, кончено же, реализовать в нем любые предпосылки, но кто сказал, что они будут правильными. Вариантов идеальных robots.txt в сети много.
Приведу две крайности:
- Тут можно найти мегафайлище с подробными пояснениями (символом # отделяются комментарии, которые в реальном файле лучше будет удалить):
User-agent: * # общие правила для роботов, кроме Яндекса и Google, # т.к. для них правила ниже Disallow: /cgi-bin # папка на хостинге Disallow: /? # все параметры запроса на главной Disallow: /wp- # все файлы WP: /wp-json/, /wp-includes, /wp-content/plugins Disallow: /wp/ # если есть подкаталог /wp/, где установлена CMS (если нет, # правило можно удалить) Disallow: *?s= # поиск Disallow: *&s= # поиск Disallow: /search/ # поиск Disallow: /author/ # архив автора Disallow: /users/ # архив авторов Disallow: */trackback # трекбеки, уведомления в комментариях о появлении открытой # ссылки на статью Disallow: */feed # все фиды Disallow: */rss # rss фид Disallow: */embed # все встраивания Disallow: */wlwmanifest.xml # xml-файл манифеста Windows Live Writer (если не используете, # правило можно удалить) Disallow: /xmlrpc.php # файл WordPress API Disallow: *utm= # ссылки с utm-метками Disallow: *openstat= # ссылки с метками openstat Allow: */uploads # открываем папку с файлами uploads User-agent: GoogleBot # правила для Google (комментарии не дублирую) Disallow: /cgi-bin Disallow: /? Disallow: /wp- Disallow: /wp/ Disallow: *?s= Disallow: *&s= Disallow: /search/ Disallow: /author/ Disallow: /users/ Disallow: */trackback Disallow: */feed Disallow: */rss Disallow: */embed Disallow: */wlwmanifest.xml Disallow: /xmlrpc.php Disallow: *utm= Disallow: *openstat= Allow: */uploads Allow: /*/*.js # открываем js-скрипты внутри /wp- (/*/ - для приоритета) Allow: /*/*.css # открываем css-файлы внутри /wp- (/*/ - для приоритета) Allow: /wp-*.png # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.jpeg # картинки в плагинах, cache папке и т.д. Allow: /wp-*.gif # картинки в плагинах, cache папке и т.д. Allow: /wp-admin/admin-ajax.php # используется плагинами, чтобы не блокировать JS и CSS User-agent: Yandex # правила для Яндекса (комментарии не дублирую) Disallow: /cgi-bin Disallow: /? Disallow: /wp- Disallow: /wp/ Disallow: *?s= Disallow: *&s= Disallow: /search/ Disallow: /author/ Disallow: /users/ Disallow: */trackback Disallow: */feed Disallow: */rss Disallow: */embed Disallow: */wlwmanifest.xml Disallow: /xmlrpc.php Allow: */uploads Allow: /*/*.js Allow: /*/*.css Allow: /wp-*.png Allow: /wp-*.jpg Allow: /wp-*.jpeg Allow: /wp-*.gif Allow: /wp-admin/admin-ajax.php Clean-Param: utm_source&utm_medium&utm_campaign # Яндекс рекомендует не закрывать # от индексирования, а удалять параметры меток, # Google такие правила не поддерживает Clean-Param: openstat # аналогично # Укажите один или несколько файлов Sitemap (дублировать для каждого User-agent # не нужно). Google XML Sitemap создает 2 карты сайта, как в примере ниже. Sitemap: http://site.ru/sitemap.xml Sitemap: http://site.ru/sitemap.xml.gz # Укажите главное зеркало сайта, как в примере ниже (с WWW / без WWW, если HTTPS # то пишем протокол, если нужно указать порт, указываем). Команду Host понимает # Яндекс и Mail.RU, Google не учитывает. Host: www.site.ru
- А вот тут можно взять на вооружение пример минимализма:
User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php Host: https://site.ru Sitemap: https://site.ru/sitemap.xml
Истина, наверное, лежит где-то посредине. Еще не забудьте прописать мета-тег Robots для «лишних» страниц, например, с помощью чудесного плагина — All in One SEO Pack. Он же поможет и Canonical настроить.
ktonanovenkogo.ru
Закрываем от индексации домен/поддомен:
Для того, чтобы закрыть от индексации домен, можно использовать:
1. Robots.txt
В котором прописываем такие строки.
User-agent: *
Disallow: /
При помощи данной манипуляции мы закрываем сайт от индексации всеми поисковыми системами.
При необходимости Закрыть от индексации конкретной поисковой системой, можно добавить аналогичный код, но с указанием Юзерагента.
User-agent: yandex
Disallow: /
Иногда, же бывает нужно наоборот открыть для индексации только какой-то конкретной ПС. В таком случае нужно составить файл Robots.txt в таком виде:
User-agent: *
Disallow: /
User-agent: Yandex
Allow: /
Таким образом мы позволяем индексировать сайт только однайо ПС. Однако минусом есть то, что при использовании такого метода, все-таки 100% гарантии не индексации нет. Однако, попадание закрытого таким образом сайта в индекс, носит скорее характер исключения.
Для того, чтобы проверить корректность вашего файла Robots.txt можно воспользоваться данным инструментом просто перейдите по этой ссылке http://webmaster.yandex.ru/robots.xml.
Статья в тему: Robots.txt — инструкция для SEO
2. Добавление Мета-тега Robots
Также можно закрыть домен от индексации при помощи Добавления к Код каждой страницы Тега:
META NAME=»ROBOTS» CONTENT=»NOINDEX, NOFOLLOW»
Куда писать META-тег “Robots”
Как и любой META-тег он должен быть помещен в область HEAD HTML страницы:
Данный метод работает лучше чем Предыдущий, темболее его легче использовать точечно нежели Вариант с Роботсом. Хотя применение его ко всему сайту также не составит особого труда.
3. Закрытие сайта при помощи .htaccess
Для Того, чтобы открыть доступ к сайту только по паролю, нужно добавить в файл .htaccess, добавляем такой код:
После этого доступ к сайту будет возможен только после ввода пароля.
Защита от Индексации при таком методе является стопроцентной, однако есть нюанс, со сложностью просканить сайт на наличие ошибок. Не все парсеры могут проходить через процедуру Логина.
Закрываем от индексации часть текста
Очень часто случается такая ситуация, что необходимо закрыть от индексации Определенные части контента:
- меню
- текст
- часть кода.
- ссылку
Скажу сразу, что распространенный в свое время метод при помощи тега <noindex> не работает.
<noindex>Тут мог находится любой контент, который нужно было закрыть</noindex>
Однако существует альтернативный метод закрытия от индексации, который очень похож по своему принципу, а именно метод закрытия от индексации при помощи Javascript.
Закрытие контента от индексации при помощи Javacascript
При использовании данного метода текст, блок, код, ссылка или любой другой контент кодируется в Javascript, а далее Данный скрипт закрывается от индексации при помощи Robots.txt
Такой Метод можно использовать для того, чтобы скрыть например Меню от индексации, для лучшего контроля над распределением ссылочного веса. К примеру есть вот такое меню, в котором множество ссылок на разные категории. В данном примере это — порядка 700 ссылок, если не закрыть которые можно получить большую кашу при распределении веса.
Данный метод гугл не очень то одобряет, так-как он всегда говорил, что нужно отдавать одинаковый контент роботам и пользователям. И даже рассылал письма в средине прошлого года о том, что нужно открыть для индексации CSS и JS файлы.
Подробнее об этом можно почитать тут.
Однако в данный момент это один из самых действенных методов по борьбе с индексацией нежелательного контента.
Точно также можно скрывать обычный текст, исходящие ссылки, картинки, видео материалы, счетчики, коды. И все то, что вы не хотите показывать Роботам, или что является не уникальным.
Как закрыть от индексации конкретную страницу:
Для того, чтобы закрыть от индекса конкретную страницу чаще всего используются такие методы:
- Роботс txt
- Мета robots noindex
В случае первого варианта закрытия страницы в данный файл нужно добавить такой текст:
User-agent: ag
Disallow: http://site.com/page
Таким образом данная страница не будет индексироваться с большой долей вероятности. Однако использование данного метода для точечной борьбы со страницами, которые мы не хотим отдавать на индексацию не есть оптимальным.
Так, для закрытия одной страницы от индекса лучше воспользоваться тегом
META NAME=»ROBOTS» CONTENT=»NOINDEX, NOFOLLOW»
Для этого просто нужно добавить в область HEAD HTML страницы. Данный метод позволяет не перегружать файл robots.txt лишними строчками.
Ведь если Вам нужно будет закрыть от индекса не 1 страницу, а к примеру 100 или 200 , то нужно будет добавить 200 строк в этот файл. Но это в том случае, если все эти страницы не имеют общего параметра по которому их можно идентифицировать. Если же такой параметр есть, то их можно закрыть следующим образом.
Закрытие от индексации Раздела по параметру в URL
Для этого можно использовать 2 метода:
- Txt
- Meta robots
Рассмотрим 1 вариант
К примеру, у нас на сайте есть раздел, в котором находится неуникальная информация или Та информация, которую мы не хотим отдавать на индексацию и вся эта информация находится в 1 папке или 1 разделе сайта.
Тогда для закрытия данной ветки достаточно добавить в Robots.txt такие строки:
Если закрываем папку, то:
Disallow: /папка/
Если закрываем раздел, то:
Disallow: /Раздел/*
Также можно закрыть определенное расшерение файла:
User-agent: *
Disallow: /*.js
Данный метод достаточно прост в использовании, однако как всегда не гарантирует 100% неиндексации.
Потому лучше в добавок делать еще закрытие при помощи
META NAME=»ROBOTS» CONTENT=»NOINDEX”
Который должен быть добавлен в секцию Хед на каждой странице, которую нужно закрыть от индекса.
Точно также можно закрывать от индекса любые параметры Ваших УРЛ, например:
?sort
?price
?”любой повторяющийся параметр”
Однозначно самым простым вариантом является закрытие от индексации при помощи Роботс.тхт, однако, как показывает практика — это не всегда действенный метод.
Методы, с которыми нужно работать осторожно:
Также существует достаточно грубый метод Закрытия чего — либо от роботов, а именно запрет на уровне сервера на доступ робота к конкретному контенту.
1. Блокируем все запросы от нежелательных User Agents
Это правило позволяет заблокировать нежелательные User Agent, которые могут быть потенциально опасными или просто перегружать сервер ненужными запросами.
В данному случае плохим ботом можно указать Любую поисковую машину, парсер либо что либо еще.
Подобные техники используются например для скрытия от робота Ахрефса ссылки с сайта, который был создан/сломан, чтобы конкуренты сеошники не увидели истинных источников ссылочной массы сайта.
Однако это метод стоит использовать если вы точно знаете, что хотите сделать и здраво оцениваете последствия от этих действий.
Использование HTTP-заголовка X-Robots-Tag
Заголовок X-Robots-Tag, выступает в роли элемента HTTP-заголовка для определенного URL. Любая директива, которая может использоваться в метатеге robots, применима также и к X-Robots-Tag.
В X-Robots-Tag перед директивами можно указать название агента пользователя. Пример HTTP-заголовка X-Robots-Tag, который запрещает показ страницы в результатах поиска различных систем:
В заключение
Ситуации, когда необходимо закрыть контент от индексации случаются довольно часто, иногда нужно почистить индекс, иногда нужно скрыть какой-то нежелательный материал, иногда нужно взломать чужой сайт и в роботсе указать disalow all, чтобы выбросить сайт зеркало из индекса.
Основные и самые действенные методы мы рассмотрели, как же их применять — дело вашей фантазии и целей, которые вы преследуете.
Хорошие статьи в продолжение:
— Стоит ли открывать рубрики для индексации, если в разных рубриках выводятся одни и те же посты?
— Как открывать страницы поиска в интернет магазине — руководство
А что вы думаете по этому поводу? Давайте обсудим в комментариях!)
seoprofy.ua
Цель этого руководства – помочь веб-мастерам и администраторам в использовании robots.txt.
Зто не спецификация – подробное описание и синтаксис можно посмотреть в стандарте исключений для роботов.
Введение
Стандарт исключений для роботов по сути своей очень прост. Вкратце, это работает следующим образом:
Когда робот, соблюдающий стандарт заходит на сайт, он прежде всего запрашивает файл с названием «/robots.txt». Если такой файл найден, Робот ищет в нем инструкции, запрещающие индексировать некоторые части сайта.
Где размещать файл robots.txt
Робот просто запрашивает на вашем сайте URL «/robots.txt», сайт в данном случае – это определенный хост на определенном порту.
URL Сайта | URL файла robots.txt |
http://www.w3.org/ | http://www.w3.org/robots.txt |
http://www.w3.org:80/ | http://www.w3.org:80/robots.txt |
http://www.w3.org:1234/ | http://www.w3.org:1234/robots.txt |
http://w3.org/ | http://w3.org/robots.txt |
На сайте может быть только один файл «/robots.txt». Например, не следует помещать файл robots.txt в пользовательские поддиректории – все равно роботы не будут их там искать. Если вы хотите иметь возможность создавать файлы robots.txt в поддиректориях, то вам нужен способ программно собирать их в один файл robots.txt, расположенный в корне сайта. Вместо этого можно использовать Мета-тег Robots.
Не забывайте, что URL-ы чувствительны к регистру, и название файла «/robots.txt» должно быть написано полностью в нижнем регистре.
Неправильное расположение robots.txt | |
http://www.w3.org/admin/robots.txt | Файл находится не в корне сайта |
http://www.w3.org/~timbl/robots.txt | Файл находится не в корне сайта |
ftp://ftp.w3.com/robots.txt | Роботы не индексируют ftp |
http://www.w3.org/Robots.txt | Название файла не в нижнем регистре |
Как видите, файл robots.txt нужно класть исключительно в корень сайта.
Что писать в файл robots.txt
В файл robots.txt обычно пишут нечто вроде:
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/
В этом примере запрещена индексация трех директорий.
Затметьте, что каждая директория указана на отдельной строке – нельзя написать «Disallow: /cgi-bin/ /tmp/». Нельзя также разбивать одну инструкцию Disallow или User-agent на несколько строк, т.к. перенос строки используется для отделения инструкций друг от друга.
Регулярные выражения и символы подстановки так же нельзя использовать. «Звездочка» (*) в инструкции User-agent означает «любой робот». Инструкции вида «Disallow: *.gif» или «User-agent: Ya*» не поддерживаются.
Конкретные инструкции в robots.txt зависят от вашего сайта и того, что вы захотите закрыть от индексации. Вот несколько примеров:
Запретить весь сайт для индексации всеми роботами
User-agent: *
Disallow: /
Разрешить всем роботам индексировать весь сайт
User-agent: *
Disallow:
Или можете просто создать пустой файл «/robots.txt».
Закрыть от индексации только несколько каталогов
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /private/
Запретить индексацию сайта только для одного робота
User-agent: BadBot
Disallow: /
Разрешить индексацию сайта одному роботу и запретить всем остальным
User-agent: Yandex
Disallow:
User-agent: *
Disallow: /
Запретить к индексации все файлы кроме одного
Это довольно непросто, т.к. не существует инструкции “Allow”. Вместо этого можно переместить все файлы кроме того, который вы хотите разрешить к индексации в поддиректорию и запретить ее индексацию:
User-agent: *
Disallow: /docs/
Либо вы можете запретить все запрещенные к индексации файлы:
User-agent: *
Disallow: /private.html
Disallow: /foo.html
Disallow: /bar.html
robotstxt.org.ru
Файл robots.txt представляет из себя набор директив (набор правил для роботов), с помощью которых можно запретить или разрешить поисковым роботам индексирование определенных разделов и файлов вашего сайта, а также сообщить дополнительные сведения. Изначально с помощью robots.txt можно было только запретить индексирование разделов, возможность разрешать к индексации появилась позднее и была введена лидерами поиска Яндекс и Google.
Рассмотрим структуру файла. Сначала указывается директива User-agent, которая показывает к какому поисковому роботу относятся инструкции. Далее указываются директивы Disallow и Allow, которые запрещают или разрешают индексирование разделов, отдельных страниц сайта или файлов соответственно. Затем повторяем данные действия для следующего User-agent. После этого для User-agent’а Яндекса указывается директива Host, которая сообщает роботу какое зеркало считается главным. В конце файла указывается директива Sitemap, в которой задается адрес карты вашего сайта.
Указывая директивы Disallow и Allow, можно использовать специальные символы * и $. Здесь * означает «любой символ», а $ – «конец адреса». Например, Disallow: /admin/*.php означает, что следует запретить индексацию всех файлов, которые находятся в папке admin и заканчиваются на .php, Disallow: /admin$ запрещает адрес /admin, но не запрещает /admin.php, если таковой имеется.
При необходимости можно воспользоваться директивой Crawl-delay, которая позволяет задать интервал между загрузкой страниц (поддерживаются дробные значения) роботом, что позволяет снизить нагрузку на «слабый» сервер и актуально лишь для некоторых недорогих хостингов, т.к. большинство современных хостингов могут обеспечить высокую нагрузку на сервер. Но следует учитывать, что данная директива не воспринимается поисковым роботом от Google.
Пример robots.txt для сайта на MODx:
Для проверки правильности составления robots.txt можно воспользоваться Вебмастером от Google – необходимо перейти в раздел «Сканирование» и далее «Просмотреть как Googlebot», затем нажать кнопку «Получить и отобразить». В результате сканирования будут представлены два скриншота сайта, на которых видно, как сайт видят пользователи и как его видят поисковые роботы, а ниже будет представлен список файлов, запрет к индексации которых мешает корректному считыванию вашего сайта поисковыми роботами (их необходимо будет разрешить к индексации для робота Google).
Обычно это могут быть различные файлы стилей (css), JavaScript, а также изображения. После того как вы разрешите данные файлы к индексации, оба скриншота в Вебмастере должны быть идентичными. Исключениями являются файлы, которые расположены удаленно, например, скрипт Яндекс Метрики, кнопки социальных сетей и т.д., их вы не сможете запретить/разрешить к индексации. Более подробно о том, как устранить ошибку «Googlebot не может получить доступ к файлам CSS и JS на сайте», вы можете прочитать в нашем блоге.
Кроме этого для интернет-магазинов рекомендуется закрывать от индексации страницы авторизации, «забыли пароль», корзину, сравнение товаров, перенос в список «Избранное», поиск на сайте. Для остальных сайтов, включая интернет-магазины, рекомендуется закрывать папки, связанные с админ-панелью сайта, различные системные папки, страницы с конфиденциальной информацией (адреса доставки, контакты и т.д). Более подробно Вы можете почитать в советах интернет-магазинам по настройкам индексирования в блоге Яндекса. В большинстве современных CMS по умолчанию уже создан стандартный файл robots.txt, который содержит основной набор нужных директив, однако, в процессе разработки сайта может потребоваться его доработка, после чего нужно будет проверить результат с помощью Google Вебмастера.
Важно, чтобы в robots.txt были заданы:
- Директива User-agent:Yandex (для робота Яндекса), User-agent:Googlebot (если в Вебмастере Google найдены важные закрытые файлы) и User-agent:* для остальных роботов.
- Для User-agent:Yandex необходимо указать директиву Host с адресом главного зеркала вашего сайта.
- Директива Sitemap (с адресом карты сайта sitemap.xml) – для всех роботов.
Если вы не сможете самостоятельно создать и настроить файл robots.txt, то вы можете обратиться к нашим специалистам, и мы сделаем настройку роботса.
1ps.ru
Решение: запрет на индексацию сайта с помощью robots.txt
По шагам:
Создаем текстовый файл с названием robots, получаем robots.txt.
Копируем туда этот код
User-agent: * Disallow: /
Полученный файл с помощью FTP заливаем в корень сайта.
Если нужно закрыть индексацию сайта только от Яндекс:
User-agent: Yandex Disallow: /
Если же скрываем сайт только от Google, то код такой:
User-agent: Googlebot Disallow: /
Закрыть сайт от индексации в файле .htaccess
Способ первый
В файл .htaccess вписываем следующий код:
SetEnvIfNoCase User-Agent "^Googlebot" search_bot SetEnvIfNoCase User-Agent "^Yandex" search_bot SetEnvIfNoCase User-Agent "^Yahoo" search_bot SetEnvIfNoCase User-Agent "^Aport" search_bot SetEnvIfNoCase User-Agent "^msnbot" search_bot SetEnvIfNoCase User-Agent "^spider" search_bot SetEnvIfNoCase User-Agent "^Robot" search_bot SetEnvIfNoCase User-Agent "^php" search_bot SetEnvIfNoCase User-Agent "^Mail" search_bot SetEnvIfNoCase User-Agent "^bot" search_bot SetEnvIfNoCase User-Agent "^igdeSpyder" search_bot SetEnvIfNoCase User-Agent "^Snapbot" search_bot SetEnvIfNoCase User-Agent "^WordPress" search_bot SetEnvIfNoCase User-Agent "^BlogPulseLive" search_bot SetEnvIfNoCase User-Agent "^Parser" search_bot
Каждая строчка для отдельной поисковой системы
Способ второй и третий
Для всех страниц на сайте подойдет любой из вариантов — в файле .htaccess прописываем любой из ответов сервера для страницы, которую нужно закрыть.
- Ответ сервера — 403 Доступ к ресурсу запрещен -код 403 Forbidden
- Ответ сервера — 410 Ресурс недоступен — окончательно удален
Способ четвертый
Запретить индексацию с помощью доступа к сайту только по паролю
В файл .htaccess, добавляем такой код:
AuthType Basic AuthName "Password Protected Area" AuthUserFile /home/user/www-auth/.htpasswd Require valid-user
home/user/www-auth/.htpasswd - файл с паролем - пароль задаете Вы сами.
Авторизацию уже увидите, но она пока еще не работает
Теперь необходимо добавить пользователя в файл паролей:
htpasswd -c /home/user/www-auth/.htpasswd USERNAME
USERNAME это имя пользователя для авторизации. Укажите свой вариант.
Задача: закрыть от индексации поддомен
Поддомен для поисковых систем является отдельным сайтом, из чего следует, что для него подходят все варианты того, как закрыть от индексации сайт.
Закрываем блок на сайте от индекса
Довольно часто требуется закрыть от индексации определенный блок: меню, счетчик, текст или какой-нибудь код.
Когда был популярен в основном Яндекс, а Google все само как то в топ выходило, все использовали вариант Тег «noindex»
<noindex>Все что угодно тут - ссылки или текст или код</noindex>
Но потом Яндекс все чаще и чаще стал не обращать внимания на такой технический прием, а Google вообще не понимает такой комбинации и все стали использовать другую схему для скрытия от индексации части текста на странице — с помощью javascript:
Текст или любой блок — кодируется в javascript , а потом сам скрипт закрывается от индексации в robots.txt
Как это реализовать?
Нам понадобится:
- Файл BASE64.js для декодирования того, что нужно скрыть.
- Алгоритм SEOhide.js.
- Jquery.
- Robots.txt (чтобы скрыть от индексации сам файл SEOhide.js)
- HTML код
Рассмотрим подробнее:
BASE64.js. Здесь я его приводить не буду, в данном контексте он нам не так интересен.
</pre> <pre class="html">$(function(){ var seoContent = {"de96dd3df7c0a4db1f8d5612546acdbb":"0JHQu9C+0LMgU0VPINC80LDRgNC60LXRgtC+0LvQvtCz0LAgLSDQn9Cw0LLQu9CwINCc0LDQu9GM0YbQtdCy0LAu", "54cdc704188eee4573d9e6cafe5f708a":"0JfQsNGF0L7QtNC40YLQtSwg0YfQuNGC0LDQudGC0LUsINC/0L7QtNC/0LjRgdGL0LLQsNC50YLQtdGB0YwsINGA0LDRgdGB0LrQsNC30YvQstCw0LnRgtC1INC00YDRg9C30YzRj9C8ICk="}; var seoHrefs = {"43b7c3097587757d49558bdff19a8fcb":"aHR0cDovL2luZXRydS5ydQ=="}; var $elements = $("[data-key]"); for(var i = 0, count = $elements.length; i < count; i++) { var $element = $elements.eq(i); var key = $element.data("key"); switch($element.data("type")) { case "href": $element.attr("href", Base64.decode(seoHrefs[key])); break; case "content": $element.replaceWith(Base64.decode(seoContent[key])); break; } } $(document).trigger( "renderpage.finish"); });</pre> <pre>
Переменные seoContent и seoHrefs. В одну записываем html код, в другую ссылки.
-
- de96dd3df7c0a4db1f8d5612546acdbb — это идентификатор, по которому будет осуществляться замена.
- 0JHQu9C+0LMgU0VPINC80LDRgNC60LXRgtC+0LvQvtCz0LAgLSDQn9Cw0LLQu9CwINCc0LDQu9GM0YbQtdCy0LAu— html, который будет отображаться для объявленного идентификатора.
И сам HTML файл:
</pre> <pre class="html"><span data-key="de96dd3df7c0a4db1f8d5612546acdbb" data-type="content"></span><br /> <span data-key="54cdc704188eee4573d9e6cafe5f708a" data-type="content"></span><br /> <a href="#" data-key="43b7c3097587757d49558bdff19a8fcb" data-type="href">Перейти</a></pre> <pre>
В robots.txt обязательно скрываем от индексации файл SEOhide.js.
Универсальный вариант скрытия картинок от индексации
К примеру, вы используете на сайте картинки, но они не являются оригинальными. Есть страх, что поисковые системы воспримут их негативно.
Код элемента, в данном случае ссылки, на странице, будет такой:
<span class="hidden-link" data-link="http://goo.gl"><img src="..."></span>
Скрипт, который будет обрабатывать элемент:
<script>$('.hidden-link').replaceWith(function(){return'<a href="'+$(this).data('link')+'">'+$(this).html()+'</a>';})</script>
Задача: закрыть внешние или внутренние ссылки от индексации
Обычно это делают для того, чтобы не передавать вес другим сайтам или при перелинковке уменьшить уходящий вес текущей страницы.
Создаем файл transfers.js
Эту часть кода вставляем в transfers.js
function goPage(sPage) { window.location.href = sPage; }
Этот файл, размещаем в соответствующей папке (как в примере «js») и на странице в head вставляем код:
<script type="text/javascript" src="/js/transfers.js"></script>
А это и есть сама ссылка, которую нужно скрыть от индексации:
<a href="javascript:goPage('http://site.ru/')"></a>
Как закрыть от индексации страницу на сайте
- 1 Вариант — в robots.txt
</pre> Disallow: /url-stranica.html <pre>
- 2 Вариант — закрыть страницу в метегах — это наиболее правильный вариант
<meta name="robots" content="noindex"> - закроет страницу от индексации
<meta name="robots" content="noindex,nofollow"> -
Обобщеный вариант
<meta name="robots" content="noindex, nofollow" />
- 3 Вариант — запретить индексацию через ответ сервера
Задача, чтобы ответ сервера для поисковых систем был
404 — ошибка страницы
410 — страница удаленна
Добавить в файл .htaccess:
ErrorDocument 404 http://site.ru/404
это серый метод, использовать в крайних мерах
Как закрыть от индексации сразу весь раздел на проекте
1 Вариант реализовать это с помощь robots.txt
User-agent: * Disallow: /razdel
Еще варианты:
Также подойдут варианты, которые используются при скрытии страницы от индекса, только в данном случае это должно распространятся на все страницы раздела — конечно же если это позволяет сделать автоматически
- Ответ сервера для всех страниц раздела
- Вариант с метатегами к каждой странице
Это все можно реализовать программно, а не в ручную прописывать к каждой странице — трудозатраты — одинаковые.
Конечно же проще всего это прописать запрет в robots, но наша практика показывает, что это не 100% вариант и поисковые системы бывает игнорируют запреты.
Закрываем папку от индексации
В данном случае под папкой имеется ввиду не раздел,а именно папка в которой находят файлы, которые стоит скрыть от поисковых систем — это или картинки или документы
Единственный вариант для отдельной папки это реализация через robots.txt
User-agent: * Disallow: /folder/
Пять вариантов закрыть дубли на сайте от индексации Яндекс и Google
1 Вариант — и самый правильный, чтобы их не было — нужно физически от них избавиться т.е при любой ситуации кроме оригинальной страницы — должна показываться 404 ответ сервера
2 Вариант — использовать Атрибут rel=»canonical» — он и является самым верным. Так как помимо того, что не позволяет индексироваться дублям, так еще и передает вес с дублей на оригиналы
Ну странице дубля к коде необходимо указать
<link rel="canonical" href="http://www.examplesite.ru/url originalnoi stranicu"/>
3 Вариант избавиться от индексации дублей — это все дублирующие страницы склеить с оригиналами 301 редиректом через файл .htaccess
4 Вариант — метатеги на каждой странице дублей
5 Вариант — все тот же robots
Если что то упустили, будем рады любым дополнениям в комментариях.
semantica.in