- Настройка robots.txt для Joomla 3
- Robots.txt для Joomla — инструкция для SEO
- Основной синтаксис
- Директивы robots.txt
- User-agent
- Sitemap
- Disallow
- Allow
- Clean-param
- Crawl-delay
- Только латиница
- Основные примеры использования robots.txt
- Запрет на индексацию всего сайта
- Запрет на индексацию определённой папки
- Запрет на посещение страницы для определенного робота
- Запрет на индексацию файлов определенного типа
- Разрешить определенному поисковому роботу посещать определенную страницу
- Ссылка на Sitemap
- Что лучше использовать robots.txt или noindex?
- Как и чем проверить файл robots.txt?
- В заключение
- Примеры для Joomla 3
Настройка robots.txt для Joomla 3
Рассмотрим как создать для Joomla 3+ правильный файл для поисковых роботов — robots.txt
Этот файл нужен для указания роботам того, что нужно индексировать на вашем сайте и чего НЕ нужно.
Изначально robots.txt имеет такой вид:
Чтобы понимать суть этого файла, давайте слегка разберём что здесь написано и какие операторы (команды) он поддерживает.
User-agent — это имя робота, для которого предназначена инструкция. По умолчанию в Joomla стоит * (звёздочка) — это означает, что инструкция предназначена для абсолютно всех поисковых роботов.
Наиболее распространённые имена роботов:
- Yandex — все роботы поисковой системы Яндекса
- YandexImages — индексатор изображений
- Googlebot — робот Гугла
- BingBot — робот системы Bing
- YaDirectBot — робот системы контекстной рекламы Яндекса
Использовать отдельные инструкции для каждого робота в большинстве случаем нет необходимости. Если только на каких то специфичных проектах и для особенных задач.
Каждый робот понимает большую часть команд, и только для некотрых, например для робота Яндекса существуют собственные команды.
Поэтому смело можно ставить * (звёздочку) и писать инструкции для всех. Если какой-то робот не поёмёт что-то, он просто проигнорирует эту команду и будет работать дальше.
Disallow — запрещает индексировать содержимое указанной папки или URL.
Disallow: /images/ — запрет индексации всего содержимого папки images
Disallow: /index.php* — запрет индексации всех URL адресов, начинающихся с index.php
Allow — наоборот, разрешает индексацию папки или URL.
Allow: /index.php?option=com_xmap&sitemap=1&view=xml — разрешает индексацию карты сайта, созданной при помощи Xmap.
Такая директива необходима если у вас стоит запрет на индексацию адресов с index.php, а чтобы робот мог получить доступ к карте сайта, нужно разрешить этот конкретный URL.
Host — указание основного зеркала сайта (с www или без www)
Host: www.joomlatown.net — основной адрес этого сайта с www
Sitemap — указание на адрес по которму находиться карта сайта
По этому адресу находится карта сайта в формате xml
Clean-param — специальная директива, которая запрещает роботам Яндекса индексировать URL адреса с динамическими параметрами.
Динамические параметры, это различные переменные и цифры, которые подставляются к адресу, например при поиске по сайту.
Пример таких параметров:
И чтобы Яндекс не учитывал такие служебные страницы, в robots.txt задаётся директива Clean-param.
Всё тот же пример с поиском по сайту:
Clean-param: searchword / — директива запрещает индексировать все URL с параметром ?searchword
Crawl-delay — директива пока знакомая только Яндексу. Она указывает с каким интервалом сканировать страницы, интервал задаётся в секундах.
Может быть полезно если у вас много страниц и достаточно высокая нагрузка на сервер, поскольку каждое обращение робота к странице вашего сайта — это нагрузка на сервер. Робот может сканировать по несколько страниц в секунду и тем самым загрузить серврер.
Пример:
Crawl-delay: 5 — интервал для загрузки страницы — 5 секунд.
Прим: Но с crawl-delay нужно быть осторожнее, он может замедлить индексацию страниц сайта.
Специфичные директивы для Яндекса вы можете посмотреть здесь >>
Все директивы пишутся с новой строки, без пропуска.
Источник
Robots.txt для Joomla — инструкция для SEO
Файл robots.txt предоставляет важную информацию для поисковых роботов, которые сканируют интернет. Перед тем как пройтись по страницам вашего сайта, поисковые роботы проверяют данный файл.
Это позволят им с большей эффективностью сканировать сайт, так как вы помогаете роботам сразу приступать к индексации действительно важной информации на вашем сайте (это при условии, что вы правильно настроили robots.txt).
Но, как директивы в robots.txt, так и инструкция noindex в мета-теге robots являются лишь рекомендацией для роботов, поэтому они не гарантируют что закрытые страницы не будут проиндексированы и не будут добавлены в индекс.
Если вам нужно действительно закрыть часть сайта от индексации, то, например, можно дополнительно воспользоваться закрытие директорий паролем.
Основной синтаксис
User-Agent: робот для которого будут применяться следующие правила (например, «Googlebot»)
Disallow: страницы, к которым вы хотите закрыть доступ (можно указать большой список таких директив с каждой новой строки)
Каждая группа User-Agent / Disallow должны быть разделены пустой строкой. Но, не пустые строки не должны существовать в рамках группы (между User-Agent и последней директивой Disallow).
Символ хэш (#) может быть использован для комментариев в файле robots.txt: для текущей строки всё что после # будет игнорироваться. Данные комментарий может быть использован как для всей строки, так в конце строки после директив.
Каталоги и имена файлов чувствительны к регистру: «catalog», «Catalog» и «CATALOG» – это всё разные директории для поисковых систем.
Host: применяется для указание Яндексу основного зеркала сайта. Поэтому, если вы хотите склеить 2 сайта и делаете постраничный 301 редирект, то для файла robots.txt (на дублирующем сайте) НЕ надо делать редирект, чтобы Яндекс мог видеть данную директиву именно на сайте, который необходимо склеить.
Crawl-delay: можно ограничить скорость обхода вашего сайта, так как если у вашего сайта очень большая посещаемость, то, нагрузка на сервер от различных поисковых роботов может приводить к дополнительным проблемам.
Регулярные выражения: для более гибкой настройки своих директив вы можете использовать 2 символа
- * (звездочка) – означает любую последовательность символов
- $ (знак доллара) – обозначает конец строки
Disallow: /catalog/ #запрещаем сканировать каталог
«*» — означает любую последовательность символов в файле.
«$» — ограничивает действия «*», представляет конец строки.
«/» — показывает, что закрывают для сканирования.
«/catalog/» — закрывают раздел каталога;
«/catalog» — закрывают все ссылки, которые начинаются с «/catalog».
«#» — используют для комментариев, боты игнорируют текст с этим символом.
Инструкции отделяют друг от друга переносом строки.
Директивы robots.txt
Директивы, которые распознают все краулеры:
User-agent
На первой строчке прописывают правило User-agent — указание того, какой робот должен реагировать на рекомендации. Если запрещающего правила нет, считается, что доступ к файлам открыт.
Для разного типа контента поисковики используют разных ботов:
- Google: основной поисковый бот называется Googlebot, есть Googlebot News для новостей, отдельно Googlebot Images, Googlebot Video и другие;
- Яндекс: основной бот называется YandexBot, есть YandexDirect для РСЯ, YandexImages, YandexCalendar, YandexNews, YandexMedia для мультимедиа, YandexMarket для Яндекс.Маркета и другие.
Для отдельных ботов можно указать свою директиву, если есть необходимость в рекомендациях по типу контента.
User-agent: * — правило для всех поисковых роботов;
User-agent: Googlebot — только для основного поискового бота Google;
User-agent: YandexBot — только для основного бота Яндекса;
User-agent: Yandex — для всех ботов Яндекса. Если любой из ботов Яндекса обнаружит эту строку, то другие правила User-agent: * учитывать не будет.
Sitemap
Указывает ссылку на карту сайта — файл со структурой сайта, в котором перечислены страницы для индексации:
Некоторые веб-мастеры не делают карты сайтов, это не обязательное требование, но лучше составить Sitemap — этот файл краулеры воспринимают как структуру страниц, которые не можно, а нужно индексировать.
Disallow
Правило показывает, какую информацию ботам сканировать не нужно.
Если вы еще работаете над сайтом и не хотите, чтобы он появился в незавершенном виде, можно закрыть от сканирования весь сайт:
После окончания работы над сайтом не забудьте снять блокировку.
Разрешить всем ботам сканировать весь сайт:
Для этой цели можно оставить robots.txt пустым.
Чтобы запретить одному боту сканировать, нужно только прописать запрет с упоминанием конкретного бота. Для остальных разрешение не нужно, оно идет по умолчанию:
Чтобы разрешить одному боту сканировать сайт, нужно прописать разрешение для одного и запрет для остальных:
Запретить ботам сканировать страницу:
Запретить сканировать конкретную папку с файлами:
Запретить сканировать все файлы, которые заканчиваются на «.pdf»:
Запретить сканировать раздел http://site.com/about/:
Запись формата «Disallow: /about» без закрывающего «/» запретит доступ и к разделу http://site.com/about/, к файлу http://site.com/about.php и к другим ссылкам, которые начинаются с «/about».
Если нужно запретить доступ к нескольким разделам или папкам, для каждого нужна отдельная строка с Disallow:
Allow
Директива определяет те пути, которые доступны для указанных поисковых ботов. По сути, это Disallow-наоборот — директива, разрешающая сканирование. Для роботов действует правило: что не запрещено, то разрешено, но иногда нужно разрешить доступ к какому-то файлу и закрыть остальную информацию.
Разрешено сканировать все, что начинается с «/catalog», а все остальное запрещено:
Сканировать файл «photo.html» разрешено, а всю остальную информацию в каталоге /album1/ запрещено:
Заблокировать доступ к каталогам «site.com/catalog1/» и «site.com/catalog2/» но разрешить к «catalog2/subcatalog1/»:
Бывает, что для страницы оказываются справедливыми несколько правил. Тогда робот будет отсортирует список от меньшего к большему по длине префикса URL и будет следовать последнему правилу в списке.
Директивы, которые распознают боты Яндекса:
Clean-param
Некоторые страницы дублируются с разными GET-параметрами или UTM-метками, которые не влияют на содержимое. К примеру, если в каталоге товаров использовали сортировку или разные id.
Чтобы отследить, с какого ресурса делали запрос страницы с книгой book_id=123, используют ref:
«www.site. com/some_dir/get_book.pl?ref=site_1& book_id=123»
«www.site. com/some_dir/get_book.pl?ref=site_2& book_id=123»
«www.site. com/some_dir/get_book.pl?ref=site_3& book_id=123»
Страница с книгой одна и та же, содержимое не меняется. Чтобы бот не сканировал все варианты таких страниц с разными параметрами, используют правило Clean-param:
Робот Яндекса сведет все адреса страницы к одному виду:
«www.example. com/some_dir/get_book.pl? book_id=123»
Для адресов вида:
«www.example2. com/index.php? page=1&sid=2564126ebdec301c607e5df»
«www.example2. com/index.php? page=1&sid=974017dcd170d6c4a5d76ae»
robots.txt будет содержать:
Для адресов вида
«www.example1. com/forum/showthread.php? s=681498b9648949605&t=8243»
«www.example1. com/forum/showthread.php? s=1e71c4427317a117a&t=8243»
robots.txt будет содержать:
Если переходных параметров несколько:
«www.example1.com/forum_old/showthread.php?s=681498605&t=8243&ref=1311»
«www.example1.com/forum_new/showthread.php?s=1e71c417a&t=8243&ref=9896»
robots.txt будет содержать:
Правило показывает, какое зеркало учитывать при индексации. URL нужно писать без «http://» и без закрывающего слэша «/».
Сейчас эту директиву уже не используют, если в ваших robots.txt она есть, можно удалять. Вместо нее нужно на всех не главных зеркалах сайта поставить 301 редирект.
Crawl-delay
Раньше частая загрузка страниц нагружала сервер, поэтому для ботов устанавливали Crawl-delay — время ожидания робота в секундах между загрузками. Эту директиву можно не использовать, мощным серверам она не требуется.
Время ожидания — 4 секунды:
Только латиница
Напомним, что все кириллические ссылки нужно перевести в Punycode с помощью любого конвертера.
Основные примеры использования robots.txt
Запрет на индексацию всего сайта
Эту инструкцию важно использовать, когда вы разрабатываете новый сайт и выкладываете доступ к нему, например, через поддомен.
Очень часто разработчики забывают таким образом закрыть от индексации сайт и получаем сразу полную копию сайта в индексе поисковых систем. Если это всё-таки произошло, то надо сделать постраничный 301 редирект на ваш основной домен.
А такая конструкция ПОЗВОЛЯЕТ индексировать весь сайт:
Запрет на индексацию определённой папки
Запрет на посещение страницы для определенного робота
Запрет на индексацию файлов определенного типа
Разрешить определенному поисковому роботу посещать определенную страницу
Ссылка на Sitemap
Нюансы с использованием данной директивы: если у вас на сайте постоянно добавляется уникальный контент, то
- лучше НЕ добавлять в robots.txt ссылку на вашу карту сайта,
- саму карту сайта сделать с НЕСТАНДАРТНЫМ названием sitemap.xml (например, my-new-sitemap.xml и после этого добавить эту ссылку через «вебмастерсы» поисковых систем),
так как, очень много недобросовестных вебмастеров парсят с чужих сайтов контент и используют для своих проектов.
Что лучше использовать robots.txt или noindex?
Если вы хотите, чтобы страница не попала в индекс, то лучше использовать noindex в мета-теге robots. Для этого на странице в секции необходимо добавить следующий метатег:
Это позволит вам
- убрать из индекса страницу при следующем посещение поискового робота (и не надо будет делать в ручном режиме удаление данной страницы, через вебмастерс)
- позволит вам передать ссылочный вес страницы
Через robots.txt лучше всего закрывать от индексации:
- админку сайта
- результаты поиска по сайту
- страницы регистрации/авторизации/восстановление пароля
Как и чем проверить файл robots.txt?
После того, как вы окончательно сформировали файл robots.txt необходимо проверить его на ошибки. Для этого можно воспользоваться инструментами проверки от поисковых систем:
Google Вебмастерс: войти в аккаунт с подтверждённым в нём текущим сайтом, перейти на Сканирование -> Инструмент проверки файла robots.txt.
В данном инструменте вы можете:
- сразу увидеть все свои ошибки и возможные проблемы,
- прямо в этом инструменте провести все правки и сразу проверить на ошибки, чтобы потом уже перенести готовый файл себе на сайт,
- проверить правильно ли вы закрыли все не нужные для индексации страницы и открыты ли все нужные страницы.
Яндекс Вебмастер:
Этот инструмент почти аналогичный предыдущему с тем небольшим отличием, что:
- тут можно не авторизоваться и нет необходимости в подтверждении прав на сайт, а поэтому, можно сразу приступать к проверке вашего файла robots.txt,
- для проверки сразу можно задать список страниц, а не вбивать их по одному,
- точно убедиться, что Яндекс правильно понял ваши инструкции.
Для проверки файла robots.txt на ошибки у поисковиков есть собственные инструменты:
Инструмент проверки файла robots.txt от Google позволит проверить, как бот видит конкретный URL. В поле нужно ввести проверяемый URL, а инструмент покажет, доступна ли ссылка.
Инструмент проверки от Яндекса покажет, правильно ли заполнен файл. Нужно указать сайт, для которого создан robots.txt, и перенести его содержимое в поле.
В заключение
Создание и настройка robots.txt является в списке первых пунктов по внутренней оптимизации сайта и началом поискового продвижения.
Важно его настроить грамотно, чтобы нужные страницы и разделы были доступны к индексации поисковых систем. А не нужные были закрыты.
Примеры для Joomla 3
Изначально robots.txt имеет такой вид
User-agent — это имя робота, для которого предназначена инструкция. По умолчанию в Joomla стоит * (звёздочка) — это означает, что инструкция предназначена для абсолютно всех поисковых роботов.
Disallow — запрещает индексировать содержимое указанной папки или URL.
Пример:
Disallow: /images/ — запрет индексации всего содержимого папки images
Disallow: /index.php* — запрет индексации всех URL адресов, начинающихся с index.php
Allow — наоборот, разрешает индексацию папки или URL.
Пример:
Allow: /index.php?option=com_xmap&sitemap=1&view=xml — разрешает индексацию карты сайта, созданной при помощи Xmap.
Такая директива необходима если у вас стоит запрет на индексацию адресов с index.php, а чтобы робот мог получить доступ к карте сайта, нужно разрешить этот конкретный URL.
Host — указание основного зеркала сайта (с www или без www)
Пример:
Host: www.site.ru — основной адрес этого сайта с www
Sitemap — указание на адрес по которму находиться карта сайта
Пример:
Sitemap: http://www.site.ru/index.php?option=com_xmap&sitemap=1&view=xml
По этому адресу находится карта сайта в формате xml
Clean-param — специальная директива, которая запрещает роботам Яндекса индексировать URL адреса с динамическими параметрами.
Динамические параметры, это различные переменные и цифры, которые подставляются к адресу, например при поиске по сайту.
Пример таких параметров:
http://www.site.ru/poisk?searchword=robots.txt&ordering=newest&searchphrase=all&limit=20
И чтобы Яндекс не учитывал такие служебные страницы, в robots.txt задаётся директива Clean-param.
Всё тот же пример с поиском по сайту:
Clean-param: searchword / — директива запрещает индексировать все URL с параметром ?searchword
Crawl-delay — директива пока знакомая только Яндексу. Она указывает с каким интервалом сканировать страницы, интервал задаётся в секундах.
Может быть полезно если у вас много страниц и достаточно высокая нагрузка на сервер, поскольку каждое обращение робота к странице вашего сайта — это нагрузка на сервер. Робот может сканировать по несколько страниц в секунду и тем самым загрузить сервер.
Пример:
Crawl-delay: 5 — интервал для загрузки страницы — 5 секунд.
Пример для Joomla 3 с использованием компонента генератора карты сайта Xmap
Пример с использованием sitemap.xml
Пример с использованием генератора карты сайта JMap
Пример с использованием компонента K2
Пример для компонента интернет-магазина Joomshopping
Пример — закрыть от индексации весь сайт
Важно. Все примеры указаны для включенной функции SEF в настройках сайта Joomla и они не являются абсолютом.
Источник