Вход / Регистрация

Статьи

Правильный robots.txt для Joomla 3

30 августа 2018
Владимир Першин

Всем привет! )

С вами Владимир Першин, и в данной статье я хочу рассмотреть такой важный для любого сайта файл, как robots.txt и показать, как правильно его оформить! Наши рассуждения будут актуальными, если вы используете Joomla 3+ и родной SEF.

Как ни странно, но многие сайтостроители до сих пор не осознают всю важность этого файла, особенно для продвижения, а ведь именно от него зависит, что именно проиндексируют в последующем поисковые системы у вас на сайте. Именно этот файл содержит своеобразные правила и для компонента карты сайта!

Давайте начнём! Для начала я хотел бы привести оригинальный для CMS Joomla файл robots.txt, так как именно его мы и будем изменять в дальнейшем:

# If the Joomla site is installed within a folder
# eg www.example.com/joomla/ then the robots.txt file
# MUST be moved to the site root
# eg www.example.com/robots.txt
# AND the joomla folder name MUST be prefixed to all of the
# pat
# eg the Disallow rule for the /administrator/ folder MUST
# be changed to read
# Disallow: /joomla/administrator/
#
# For more information about the robots.txt standard, see:
# http://www.robotstxt.org/orig.html # # For syntax checking, see:
# http://tool.motoricerca.info/robots-checker.phtml

User-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/ 

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

После удаления комментариев у нас остаётся такое содержимое:

User-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/ 

Давайте удалим сразу те строки, которые нам не нужны, а это:

Disallow: /components/
Disallow: /modules/
Disallow: /plugins/ 

Почему эти строки не нужны?, - возможно, спросите вы... Объясняю! ) Если оставить всё без изменений, то поисковый робот может видеть сайт не полностью, так как не будут работать некоторые файлы CSS и JS, которые содержатся в данных папках. Удалив строки, мы позволяем роботу увидеть сайт таким, каким его видит пользователь! Поэтому это очень важно!

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

1. Disallow: *?* - позволяет нам закрыть от индексации не ЧПУ-шные ссылки (здесь и далее: ЧПУ - это Человеко-Понятные-УРЛ), которые содержат знак вопроса.

Disallow: *?*

2. Disallow: /index.php - позволяет нам закрыть от индексации ссылку, которая является дублем главной страницы. И для данной ссылки желательно настроить редирект в .htaccess

Disallow: /index.php

3. Disallow: /index.php?* - позволяет нам закрыть от индексации не ЧПУ-шные ссылки, которые содержат "index.php" и любые другие символы после него

Disallow: /index.php?*

4. Disallow: /*search - позволяет нам закрыть от индексации результаты поиска Joomla

Disallow: /*search

5. Host: mysite.ru - важная директива, которая показывает основной домен вашего сайта

Host: mysite.ru

6. Sitemap: https://mysite.ru/index.php?option=com_osmap&view=xml&id=1 - необходимо указать ссылку на карту сайта.

Sitemap: https://mysite.ru/index.php?option=com_osmap&view=xml&id=1

В моём случае используется компонент карты сайта OS Map, поэтому в ссылке фигурирует, естественно, "com_osmap". У вас может использоваться другой компонент для создания карты сайта, соответственно, и ссылка будет иной! Если вы хотели бы задать вопрос по данному компоненту, то вы можете написать в моей группе в ВК VP Мастерская Joomla

7. Allow: /index.php?option=com_osmap&view=xml&id=1 - правило, которое указывает поисковому роботу, что данную ссылку необходимо обязательно проиндексировать, в противном случае ваша карта сайта не будет доступна. Данное правило необходимо разместить ДО директив Host и Sitemap.

Allow: /index.php?option=com_osmap&view=xml&id=1

Мы рассмотрели базовые правила для оптимизации данного файла, которые вам необходимы. Конечно же, надо понимать, что это обобщённая версия, так как каждый сайт индивидуален, вы можете использовать различные дополнительные компоненты, модули, плагины, оказывающие влияние на ваш контент. Так, в частности, рассмотренные выше пункты 6 и 7 будут актуальны, если для карты сайта используется компонент OS Map. А для других расширений в файл могут быть внесены и другие, специфические, дополнения.

Продолжим разбор robots.txt!

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

1. Disallow: /*print=* - позволяет закрыть ссылку на печать материала
2. Disallow: /*com_mailto - позволяет закрыть ссылку на отправку письма

Disallow: /*print=*
Disallow: /*com_mailto

Если вы воспользуетесь этими советами, то уже через определённое время вы заметите, что поисковые роботы проиндексируют только нужные ссылки!

Спасибо за внимание!

Отзывы

Комментарии (2)

  • Александр

    07.09.2018 |
    Александр
    Отличная инструкция, наконец-то переделал свой робот.тхт по уму благодаря вашему материалу.
    Правда сылка на карту сайта у меня по другому выглядит: /component/osmap/?view=xml&id=1

    Ответить

    • Владимир Першин

      07.09.2018 |
      Владимир Першин
      Спасибо, приятно, когда мой труд помогает )
      Что касается карты сайта, то да, такая ссылка тоже верная.

      Ответить

2018-09-07 14:31:33
Владимир Першин
Украина, г. Николаев
+380937417200