Внутренняя оптимизация: robots.txt, sitemap, nofollow

Внутренняя оптимизация часть 3

Содержание

  1. Индексация
  2. Файл robots.txt
  3. Файл sitemap.xml
  4. Атрибут rel=“nofollow” и мета-тег content=“nofollow”

Индексация сайта

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

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

Давайте посмотрим, как у нас могут образоваться страницы, ненужные для индексации. Зайдем, например, на сайт розетки. Попробуем вписать в строке поиска рандомный набор букв (рис.1).

Появление мало информативных страниц через поиск

Рисунок 1 — Появление мало информативных страниц через поиск

После того, как мы нажмем кнопку найти, мы получим динамически сформированную страницу (рис 2).

Мало информативные страницы

Рисунок 2 — Мало информативные страницы

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

Так вот, такие страницы будут формироваться при каждом запросе в строке поиска.  Если мы не ограничим попадание этих страниц в индекс, то через некоторое время в индексе может оказаться значительное количество “мусорных” страниц. Что в свою очередь окажет неблагоприятное воздействие на ранжирование сайта в целом.

Следовательно, нашей задачей является запретить попадание этих страниц в базы ПС. Давайте для полноты картины напишем осмысленный запрос. Например, слово “холодильники” (рис 3).

Динамические страницы из поиска

Рисунок 3 — Динамические страницы из поиска

После чего мы получаем уже не мало информативную страницу (рис. 4), но тем не менее эта страница не должна быть в индексе. Проблема тут в том, что эта динамически сформированная страница, будет иметь свой уникальный URL (рис. 5)

Динамически сформированные страницы из поиска 2

Рисунок 4 — Динамически сформированные страницы из поиска 2

Динамически сформированный URL

Рисунок 5 — Динамически сформированный URL

И тут мы сталкиваемся уже с другой проблемой — дублирование контента. Ведь на сайте розетки есть посадочная страница Холодильники со своим уникальным URL (рис. 6).

Статический URL

Рисунок 6 — Статический URL

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

Важно!

Роботы ПС могут проигнорировать команду установленную в robots.txt, так как это не более чем рекомендация, поэтому иногда приходится использовать альтернативные методы закрытия от индексации. В большинстве случаев, достаточно будет использовать тег meta robots, подробнее тут.  Помимо этих двух способов есть и еще, — статья на эту тему

Файл robots.txt

Это обычный текстовый файл  в кодировке UTF-8, в котором мы устанавливаем команды ботам поисковых систем. Давайте рассмотрим это подробнее. Этот файл хранится на  хостинге на одном уровне с индексным файлом сайта. Для того, чтобы посмотреть этот файл на любом  сайте, необходимо просто прописать в адресной строке имя домена и через слеш имя файла https://имя_домена/robots.txt  Для примера рассмотрим также сайт розетка (рис. 7).

файл robots txt

Рисунок 7 — Файл robots.txt

Итак, что мы тут видим? Первая команда User-Agent:*, она указывает каким именно роботам необходимо посмотреть инструкции. На данный момент известно 302 робота. Тут можно посмотреть их полный список. В данном случае * означает, что эти инструкции для всех видов поисковых роботов. Например, главным ботом гугл, является Googlebot. В случае применения директив исключительно для него, нужно указать команду так — User-Agent: Googlebot.При таких параметрах все оставшиеся боты будут проверять содержимое сайта на основании своих базовых директив, на тот случай когда файл robot.txt отсутствует. Синтаксис файла весьма простой.

Команда: значение команды и каждая новая команда идет с новой строки.

Далее мы видим команду Disallow. Эта команда устанавливает запрет на индексацию. Давай посмотрим, как будет выглядеть решение проблемы с мусорными страницами из внутреннего поиска на сайте при помощи этой команды. Если мы посмотрим на то, какой url формируется у страницы, которая говорит, что ничего не найдено, то увидим следующее (рис. 8).

Структура url

Рисунок 8 — Структура url

Сколько бы раз мы не вводили такой запрос, у нас всегда происходит формирование в каталоге search. Следовательно, нам нужно закрыть от индексации этот каталог. Для этого указываем в файле команду Disallow: /search/. Тем самым запрещаем индексацию всего каталога и всего, что в нем лежит. Давайте разберем еще одну ситуацию. Например, мы откроем каталог товаров и выберем раздел “Бытовая техника”, а в ней холодильники (рис. 9).

Рисунок 9

Рисунок 9

Далее кликнем на однокамерные (рис. 10)

Рисунок 10

Рисунок 11

Рисунок 10

В итоге мы попадаем на страницу с конкретным адресом (рис. 11).

рисунок-11

Рисунок 11

Но тут на странице есть очень полезный функционал — это сортировка (рис. 12)

рисунок-12

Рисунок 12 — сортировка

Открыв ее (рис. 13), мы можем, например, увидеть сортировку от дорогих к дешевым.

рисунок-13

Рисунок 13 

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

рисунок-14

Рисунок 14

Как вы уже наверно догадались, мы снова получили дубль контента. Но его также можно закрыть от индексации, применив команду Disallow. Если проанализировать url, то мы не найдем каталога, по которому мы могли бы все закрыть. Но у нас появляется в адресе слово sort, как неотъемлемый атрибут адреса созданного сортировкой.  

Disallow: /*sort=*

На этом примере мы используем правило со звездочкой. В данном случае звездочка означает  любой набор символов. Прочесть данную команду можно так. Если после слеша идет любой набор символов, а потом обязательно sort= и дальше снова любой набор, тогда эти страницы не должны быть в индексе. Используя эти два правила — запрет по звездочкам и запрет по каталогу, мы можем закрыть любые страницы по url.

Важно!

Файл robots.txt формируется для каждого сайта индивидуально. Т.е., если вы копируете файл розетки и добавляете на ваш сайт, то это вам может ничего не дать, так как у вас будут другие структуры на сайте и с другими именами файлов.

Также cуществует 4 основных символа, при помощи которых мы можем осуществлять управление ‘/, *, $, #’.

/ — Дает возможность указать, что именно мы хотим закрыть. Если нужно закрыть папку и все в ней Disallow: /folder, а если отдельную папку  тогда Disallow: /papka/

* — Выражает собой любую последовательность символов. Например, закрываем все файлы с расширением gif, в catalog. Команда будет Disallow: /catalog/*.gif$

$ — Знак доллара означает обрыв строки, отменяет действие *. Например директива  Disallow: /catalog/*.php$ запретит сканирование файла index.php, а вот index.php?id=12 не запретит. 

# — Используется для комментариев, которые для себя или для других может оставить веб-мастер.

Теперь приступим к команде Allow . Она дает разрешение на индексацию какого-либо файла/страницы/директивы/. В основном для команды Allow необходимости нет. Так как по умолчанию, все что не запрещено — разрешено. Чаще случается так, что нужно открыть конкретную папку в закрытом каталоге, тогда на помощь приходить Allow. Очень часто у веб-мастеров появляется необходимость либо полностью закрыть сайт от индексации, например, в период разработки. Или полностью открыть.

Для того, чтобы полностью закрыть сайт, нужно прописать команду disallow: /

Эта команда говорит, что мы запрещаем индексировать все, что лежит на сайте. Аналогично можно использовать Disallow: *

Если же сайт готов для использования, категории созданы, контента достаточно для старта, сайт нужно открыть для индексации.

Команда Disallow:

Обратите внимание, что команда осталась пустая, следовательно, она означает “ ничего не закрывать”.

Аналог

Allow: *

Allow: /

Помимо этих двух команд, в этом файле используются еще команды Host и Sitemap.

Команда Host — в основном применяется для Яндекс, Гугл оценивает ее просто как рекомендуемую.  Она указывает основное зеркало сайта. Если, например, вы решили использовать, как основное зеркало https://имя_сайта.com.ua, а не https://www.имя_сайта.com.ua, то необходимо указать в конце файла robots команду Host: https://имя_сайта.com.ua.

В тех случаях, когда сайт не использует протокол https, мы указываем просто

Host: site.com

В тех случаях, когда используется https

Host:https://site.com

Файл sitemap.xml

Сейчас коснемся последней важной для нас команды,  это Sitemap. Данная команда укажет адрес, по которому мы расположили нашу карту сайта. 

Например Sitemap: https://domain.com/sitemap.xml.

Теперь давайте более плотно подойдем к вопросу карты сайта. Карта сайта — это файл в формате xml, в котором находится перечень всех страниц нашего сайта, которые мы хотим чтобы ПС проиндексировала. Этот протокол, sitemap, состоит из тегов -XML, в которых и размещается вся необходимая информация. Давайте посмотрим на фрагмент карты сайта (рис. 15).

Пример карты сайта

Рисунок 15 — Пример карты сайта

На этом фрагменте мы можем увидеть указания версии xml и кодировки содержимого. На данный момент существует 2 версии xml, между которыми есть небольшие различия, и парсер xml  должен понимать, с какой версией работает. Далее теги <urlset></urlset>, которые инкапсулируют всю информацию, а далее теги <url></url>, внутри которых вся необходимая информация, в данном случае — это loc, который, собственно, указывает адрес, lastmod — указывает дату последнего обновления, priority — указывающий приоритет обновляемости страниц, т.е. вы как бы говорите роботу, что эти страницы более важные и их нужно проверять чаще. Хотя эта команда не является обязательной  и changefreq — это то, как, по вашим предположениям, планируется частота обновления информации.

Используемые значения:

  • always
  • hourly
  • daily
  • weekly
  • monthly
  • yearly
  • never

Существует еще возможность создать файл sitemap, состоящий из группы файлов sitemap. Исходя из документации, это стоит применять в тех случаях, когда в файле размещается более 50 000 url. Т.е. картина получается следующая: необходимо создать индексный файл sitemap, в котором будут указаны URL отдельных sitemap (рис. 16).

индексный файл sitemap

Рисунок 16 — Индексный файл sitemap   

Как мы можем увидеть наглядно, тег <sitemapindex></sitemapindex> инкапсулирует информацию о всех файлах Sitemap в этом файле. Каждый отдельный файл sitemap находится в тегах <sitemap></sitemap>. Иными словами, мы можем создать общий индексный файл, хранящий в себе адреса отдельных файлов.

Для более глубокого понимания работы файла sitemap советую почитать материал на сайте >https://www.sitemaps.org.

По итогу, у нас есть два инструмента, которые помогают нам управлять индексацией сайта. Это robots.txt — нужен для того, чтобы закрыть что-то от индексации, например, малоинформативные или дубли. Sitemap — нужен для того, чтобы отдать ботам все ссылки, которые мы подготовили для индексации. И при помощи доп. параметров, таких как lastmod, мы можем передавать дополнительные данные.

Атрибут rel=nofollow и мета-тег <meta name=robots content=noindex >

Из методички гугл мы можем увидеть еще один инструмент по управлению индексацией,  на который обращают внимание — это атрибут ссылки rel="nofollow".

rel="nofollow" — это атрибут, который мы можем присвоить ссылке(<a href="page.php" rel="nofollow">Войти</a>) или всей странице(<meta name="robots" content=“nofollow”/>) для того, чтобы  она не передавала ссылочный вес и по  ней не будет переходить поисковый робот. Иными словами смысл ссылки можно озвучить так — посмотрите на этот сайт, но мы его не рекомендуем. Небольшая ретроспектива, в самом начале этих уроков мы рассматривали понятие ссылочного веса, если запамятовали, то посмотрите тут. Если коротко, то там поднималась тема того, что если с одной страницы есть ссылка на другую, то страница, с которой идет ссылка передает некий вес (рис. 17).

Передача ссылочного веса

Рисунок 17 — Передача ссылочного веса

Так вот, этот атрибут rel="nofollow" может перекрыть эту передачу веса. Если сказать предельно точно, то по результату некоторых экспериментов, страница с которой идет ссылка немного потеряет, а страница, на которую ссылка ведет, не получит веса вообще. Также считаю важным обратить ваше внимание, что не  стоит прибегать к массовому использованию ссылок с вашего сайта с атрибутом nofollow. Так как это как бы говорит о том, что вы массово ссылаетесь на ненадежные сайты. Используйте этот инструмент по назначению. Основной целью их использования являются ссылки рекламные, например, вы продали баннер с вашего сайта или  обзор, или когда вы ссылаетесь на сайт, который не считаете авторитетным и качественным, такое встречается часто на форумах.

На этом мы завершим наш урок и как всегда — to be continued…

Автор Виталий Сухомлинов
практикующий Seo-специалист
и программист любитель

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *