Правильный robots.txt для virtuemart 2

Опубликовано: 15 октября, 2012
Обновлено: 5 февраля, 2023
Категория: SEO оптимизация

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

Рассмотрим как же должен выглядеть правильный на мой взгляд файл robotx.txt для интернет магазина на virtuemart 2. Сразу хотелось бы дать ссылки на ресурсы откуда я почерпнул эти знания и выразить авторам благодарность за их материалы.

Подробно про robots.txt

Про robots.txt применительно к виртуемарту 

Начнем с того, что по умолчанию в joomla мы имеем такой robots:

Если все оставить как есть, то все наши товары попросту не проиндексируются поисковыми системами, поскольку стоит запрет на индексацию каталога с компонентами Disallow: /components/, в котором так же находится наш компонент интернет-магазина.

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

После всех этих несложных манипуляций у меня получился вот такой файл:

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

Здесь мы запретили к индексации все файлы, находящиеся в дерективе components, но открыли для индексации папку с virtuemart ( Allow: /components/com_virtuemart/)

Представленный robots.txt для связки joomla и virtuemart 2 не претендует на 100% правильность. Буду рад любым уточнениям и дополнениям.

69 комментариев

    Дмитрий

    Спасибо за материальчик! А в последнем варианте роботс.тхт случайно робот с компонента виртуамарта не нахватает лишней "барбитуры" кроме полезной?)
    P/S/ Интересно насколько этот движок virtuemart 2 удобен в использовании или лучше по-проще чего найти ?

      admin

      admin

      Не совсем понял, что вы имеете ввиду 🙂
      По поводу удобства смотря какой магазин вы хотите делать. Можно и на вордпрес делать неплохие магазины, но функционал там значительно меньший на мой взгляд

    Дмитрий

    основной вопрос был : А в последнем варианте роботс.тхт случайно робот с компонента виртуамарта не нахватает лишней «барбитуры» кроме полезной?)

      admin

      admin

      Последний и предпоследний вариант по сути ничем не отличаются. На своих сайтах использую предпоследний вариант, лишнего в индексе не замечал:)

        Александр

        Админ, использовал на своем сайте предпоследний вариант и в индексе куча мусора, так что ваш роботс не совсем катит...)) В индексе куча левых страниц с вот такими окончаниями orderDesc.html?filter_product=, by,product_price.html?filter_product= - что это? Откуда это?

          admin

          admin

          Похоже на страницы, которые появляются после сортировки товара в категории.
          Проблема с дублями в vm решается с помощью мета-тега canonical
          Страницы с сортировкой не должны попадать в индекс.
          Можно дополнить robots, исключив все ссылки, содержащие, например, ?filter_product
          https://yandex.ru/support/webmaster/controlling-robot/robots-txt.xml#asterisk-dollar

    Юрий

    А если домен в зоне "рф", то строка будет выглядеть так?
    Host: xn--80aaakgfnic6afl.xn--p1ai

      admin

      admin

      судя по статье нужно прописывать так, как вы написали

    Snake 60

    А зачем для яндекса отдельно правила прописывать? Ведь запись User-agent: * означает, что правила применяются для ВСЕХ поисковых роботов...

      admin

      admin

      для яндекса отдельно прописал, чтобы указать host

    Диман

    Благодарю за статью, очень помогла!)

    Геннадий

    А почему Вы для Яндекса указали путь к карте сайта, а для всех остальных поисковых систем - нет? Думаю, нужно указать.

      admin

      admin

      да, и для остальных можно продублировать

    Борис

    А нормально что, сначала открывается подпапка, а затем запрещается вся папка, содержащая подпапку? Может поменять местами? Или первые записи обладают более высоким приоритетом?

      admin

      admin

      Лучше сначала перечислить allow
      Процитирую 🙂

      если для данной страницы сайта подходит несколько директив, то выбирается первая в порядке появления в выбранном User-agent блоке...

    Борис

    А Host запись для других ПС надо дублировать?

      admin

      admin

      Нет, она используется только для яндекса

    yrygvay

    На форуме видел дополнение к карте, что бы мусора не было в поисковике добавить:

    Disallow: /index.php?
    Disallow: /index2.php
    Disallow: /*keyword= #Поиск по ключевому слову на сайте
    Disallow: /*pop=0 #Косяк sh404
    Disallow: /*product-search #Результаты поиска
    Disallow: /*flypage= #Адреса страниц карточек из результатов поиска по сайту
    Disallow: /*cart #Корзина
    Disallow: /*feed #Также запрещается RSS и atom
    Disallow: /404
    Disallow: /*? #все ссылки которые содержат этот знак не индексируются !
    Disallow: /*% #запрещает индексацию кириллических url

      admin

      admin

      судя по строке

      это добавление относится в первому виртумарту

        yrygvay

        а как именуется карточка товара во VM2 ?

    yrygvay

    но это применимо если Sh404 стоит. но по аналогии можно и для обычного Sef сделать!

    Вадим

    Всё исправил но товар так же не индексируется в веб мастере Яндексе Документ является неканоническим. Как исправить

      admin

      admin

      посмотрел этот товар
      ссылка является канонической

    Volodymyr

    Большая просьба к админу. Напишите статью о склеивании дублей в VM2, и как бороться с дублями.

      Владислав

      Полностью с тобой согласен, не хватает этой статьи.

    Андрей

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

      admin

      admin

      если верить этой ссылке
      "Allow: имеет действие, обратное директиве Disallow — разрешает доступ к определенной части ресурса. Поддерживается всеми основными поисковиками."

    Дмитрий

    Не понятно,что Андрей имел ввиду : "...так как сама система гинерит при включенном сеф-е немного по другому..."

    Андрей

    Нужно не верить тому, что пишут сторонние ресурсы, а читать документацию W3C
    C уважением.

    Дмитрий

    Я тоже читал о том что "Allow" не работает, так как файл только запрещает Disallow

      admin

      admin

      проверить будет или нет индексироваться страница можно здесь - http://webmaster.yandex.ru/robots.xml

    ghecjd

    Подскажите пожалуйста а вот такие строки нужно вписывать в роботс

    Или в этих папках содержится что-то нужное для индексации?

    И второй вопрос относительно поста

    Админ писал, что часть строк относится к первому виртумарту. подскажите пожалуйста, какие именно строки добавить ко второму виртумарту, чтобв поиске оказалось меньше мусора.

    Спасибо!

      admin

      admin

      по первой части вопроса можно добавить и эти правила

    Виктория

    Подскажите, через какое время после настройки robots.txt сайт будет проиндексирован яндексом?

      Борис

      Это зависит от степени популярности вашего сайта. У меня эффект был замечен примерно через неделю

    Mau

    Скажите пожалуйста, что здесь нужно вставлять "Host: site.ru"?
    Указывать адрес хоста или свой адрес?
    Спасибо!

      admin

      admin

      Адрес сайта

    Nik

    Написал robot.txt по последнему варианту. Проверяю на сайте http://tool.motoricerca.info выдает следующую ошибку

    Allow: /components/com_virtuemart/
    Unknown command. Acceptable commands are "User-agent" and "Disallow".
    A robots.txt file doesn't say what files/directories you can allow but just what you can disallow. Please refer to Robots Exclusion Standard page for more informations.
    Неизвестная команда. Приемлемые команды "User-Agent" и "Запретить".
    Файл robots.txt не говорит, что файлы / каталоги можно разрешить, но только то, что вы можете запретить. Пожалуйста, обратитесь к исключения роботов Standard странице для получения дополнительной информации.
    Как правильно поступить в данной ситуации.
    Можно ли доверять данной проверке.

      admin

      admin

      Можете проверить в яндекс.вебмастер и google вебмастер
      никаких ошибок с Allow нет
      если сомневаетесь, то конечно лучше использовать 1-й вариант

    IvanYur

    Здравствуйте, два вопроса эта статья подходит и для virtuemart 3 .....?

    И второй вопрос у меня стандартно robots.txt еще имеет сначала такой текст

    # If the Joomla site is installed within a folder such as at
    # e.g. http://www.example.com/joomla/ the robots.txt file MUST be
    # moved to the site root at e.g. http://www.example.com/robots.txt
    # AND the joomla folder name MUST be prefixed to the disallowed
    # path, e.g. 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

    Я могу удалить этот текст ..?
    Как-никак этот текст четко объясняет "зрителю" что сайт сделан на Joomla

      admin

      admin

      Здравствуйте!
      Да, для vm3 подходит. Текст можно удалить.

    IvanYur

    На этом сайте, форуме ( http://cmsheaven.org/blogi/131-pravilniie-robots-txt-dlya-joomla-2-5-3-x/) написано что путь к Sitemap должен быть в XML формате..
    У вас я так понимаю прописан в HTML формате

    Как должно быть правильно...?

      admin

      admin

      В xml формате правильно.

    IvanYur

    Disallow: /xmlrpc/
    Что это значит ...? у меня в корне сайта нет такой папки, значит ее не нужно прописывать ..?

    Я так понимаю что все эти Disallow: это Папки которые находятся в корне сайта, те которые у тебя есть те и переписываешься кроме images. С images можно поступить так Allow: /images/

      admin

      admin

      Статья писалась для vm2 и joomla 2.5. В новых версиях каких-то папок может не быть.
      Если папки нет, то ее не нужно создавать.

    Алексей

    Приведенный пример robots.txt в этой статье актуален для virtuemart 3 ? Или нужно еще что то дописать ?

      admin

      admin

      Для virtuemart 3 актуален.

    yarovidze

    Добрый вечер. Помогите решитьпроблему, Google не индексирует страницы, выдает предпреждение "Файл Sitemap содержит URL, доступ к которым заблокирован в файле robots.txt".
    Вот содержание самого файла
    User-agent: *
    Disallow: /administrator/
    Disallow: /cache/
    Disallow: /includes/
    Allow: /components/com_virtuemart/
    Disallow: /components/
    Disallow: /installation/
    Disallow: /language/
    Disallow: /libraries/
    Disallow: /media/
    Disallow: /modules/
    Disallow: /plugins/
    Disallow: /templates/
    Disallow: /tmp/
    Disallow: /xmlrpc/

    User-agent: Yandex
    Disallow: /administrator/
    Disallow: /cache/
    Disallow: /includes/
    Allow: /components/com_virtuemart/
    Disallow: /components/
    Disallow: /installation/
    Disallow: /language/
    Disallow: /libraries/
    Disallow: /media/
    Disallow: /modules/
    Disallow: /plugins/
    Disallow: /templates/
    Disallow: /tmp/
    Disallow: /xmlrpc/
    Host: mysite.ru

    # JSitemap entries
    Sitemap: http://mysite.ru/index.php?option=com_jmap&view=sitemap&format=xml

      admin

      admin

      Здравствуйте!
      Пропишите путь к карте в User-agent: *

        yarovidze

        Добавил, ситуация та же. Я пробовал даже полность убрать файл robots.txt, и все равно гугл выдает ошибку. Такое чувство что virtuemart полностью закрыт для индексации.

        # If the Joomla site is installed within a folder such as at
        # e.g. http://www.example.com/joomla/ the robots.txt file MUST be
        # moved to the site root at e.g. http://www.example.com/robots.txt
        # AND the joomla folder name MUST be prefixed to the disallowed
        # path, e.g. 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: /cache/
        Disallow: /includes/
        Allow: /components/com_virtuemart/
        Disallow: /components/
        Disallow: /installation/
        Disallow: /language/
        Disallow: /libraries/
        Disallow: /media/
        Disallow: /modules/
        Disallow: /plugins/
        Disallow: /templates/
        Disallow: /tmp/
        Disallow: /xmlrpc/
        Sitemap: http://mysite.ru/index.php?option=com_jmap&view=sitemap&format=xml

        User-agent: Yandex
        Disallow: /administrator/
        Disallow: /cache/
        Disallow: /includes/
        Allow: /components/com_virtuemart/
        Disallow: /components/
        Disallow: /installation/
        Disallow: /language/
        Disallow: /libraries/
        Disallow: /media/
        Disallow: /modules/
        Disallow: /plugins/
        Disallow: /templates/
        Disallow: /tmp/
        Disallow: /xmlrpc/
        Host: mysite.ru

        # JSitemap entries
        Sitemap: http://www.mysite.ru/index.php?option=com_jmap&view=sitemap&format=xml
        User-agent: http://masterclimate.ru/index.php?option=com_jmap&view=sitemap&format=xml

          admin

          admin

          Проверить адрес в сервисе от яндекса.
          http://masterclimate.ru/index.php?option=com_jmap&view=sitemap&format=xml
          он открыт для индексации в robots
          Укажите его в Sitemap

            yarovidze

            http://joxi.ru/D2PgGB6TDd9Nm3

    yarovidze

    Вот результат

      admin

      admin

      Именно так, стоит зеленая галочка, значит указанный адрес открыт для индексации в robots.

        yarovidze

        Почему тогда гугл ругается?

          admin

          admin

          Вы отправляли измененный robots?

            yarovidze

            Переотправил измененный robots.txt, картина та же(

            yarovidze

            Спасибо большое за совет, все получилось.

            admin

            admin

            Хорошо.

    Pavel.F

    Здравствуйте
    Скажите пожалуйста - по вашему мнению стоит открывать файлы стилей и скриптов для индексации? Вида
    User-agent: *
    Disallow: /administrator/
    Disallow: /cache/
    Disallow: /cli/
    Disallow: /components/
    Disallow: /includes/
    Disallow: /language/
    Disallow: /libraries/
    Disallow: /logs/
    Disallow: /media/
    Disallow: /modules/
    Disallow: /plugins/
    Disallow: /templates/
    Disallow: /tmp/
    Allow: /templates/*.css$
    Allow: /templates/*.js$
    Allow: /templates/*.png$
    Allow: /templates/*.gif$
    Allow: /templates/*.jpg$
    Allow: /templates/*.jpeg$
    Allow: /templates/*.ttf$
    Allow: /templates/*.eot$
    Allow: /templates/*.svg$
    Allow: /templates/*.woff$
    Allow: /media/*.css$
    Allow: /media/*.js$
    Allow: /media/*.png$
    Allow: /media/*.gif$
    Allow: /media/*.jpg$
    Allow: /media/*.jpeg$
    Allow: /media/*.ttf$
    Allow: /media/*.eot$
    Allow: /media/*.svg$
    Allow: /media/*.woff$
    Читаю много спорных мнений касательно допуска к этим видам файлов чтобы поисковые машины видели сайт "как есть" для оценки его UI и мобильной версии.
    Спасибо.

      admin

      admin

      Здравствуйте!

      Я думаю, что доступ к скриптам и стилям нужно открыть для поисковиков.

    Extreme

    Скажите пожалуйста, нужно ли что-то добавить в файл robots который у вас в первом посте для корректной работы robots в Virtuemart 3? (цитирую ниже)

    User-agent: *
    Disallow: /administrator/
    Disallow: /cache/
    Disallow: /includes/
    Allow: /components/com_virtuemart/
    Disallow: /components/
    Disallow: /installation/
    Disallow: /language/
    Disallow: /libraries/
    Disallow: /media/
    Disallow: /modules/
    Disallow: /plugins/
    Disallow: /templates/
    Disallow: /tmp/
    Disallow: /xmlrpc/

    User-agent: Yandex
    Disallow: /administrator/
    Disallow: /cache/
    Disallow: /includes/
    Allow: /components/com_virtuemart/
    Disallow: /components/
    Disallow: /installation/
    Disallow: /language/
    Disallow: /libraries/
    Disallow: /media/
    Disallow: /modules/
    Disallow: /plugins/
    Disallow: /templates/
    Disallow: /tmp/
    Disallow: /xmlrpc/
    Host: site.ru
    Sitemap: http://site.ru/sitemap

    тут остается дописать свой сайт в хосте и можно пользоваться и все ок?

      admin

      admin

      В принципе, да, этого должно быть достаточно.
      В любом случае после индексации можно будет посмотреть есть ли лишние страницы в индексе и в зависимости от этого поправить robots.txt.

        Extreme

        1) Скажите пожалуйста, а сколько примерно времени должно пройти до индексации с момента как я заменил Robots на сайте???

        2) До этого у меня был вот такой робот, скажите пожалуйста как профессионал, на сколько он был корректный и как много не нужно лезло в поисковики с ним?

        User-agent: Yandex
        Allow: /templates/*.css
        Allow: /templates/*.js
        Allow: /templates/*.png
        Allow: /templates/*.jpg
        Allow: /templates/*.gif
        Allow: /media/*.css
        Allow: /media/*.js
        Allow: /media/*.png
        Allow: /media/*.jpg
        Allow: /media/*.gif
        Allow: /plugins/*.css
        Allow: /plugins/*.js
        Allow: /plugins/*.png
        Allow: /plugins/*.jpg
        Allow: /plugins/*.gif
        Allow: /images/*.png
        Allow: /images/*.jpg
        Allow: /images/*.gif
        Allow: /components/*.css
        Allow: /components/*.js
        Allow: /components/*.png
        Allow: /components/*.jpg
        Allow: /components/*.gif
        Allow: /modules/*.css
        Allow: /modules/*.js
        Disallow: /administrator/
        Disallow: /cache/
        Disallow: /cli/
        Disallow: /includes/
        Disallow: /installation/
        Disallow: /language/
        Disallow: /libraries/
        Disallow: /logs/
        Disallow: /tmp/
        Disallow: /admin
        Disallow: */cart*
        Disallow: */user*
        Disallow: /politika-konfidentsialnosti
        Host: https://site.ru

        3) Еще вчера, до замены вашего робота, заметил в "вебмастере - сводка - обновление поиска" и там увидел что добавились страницы вида - /index.php/boveda-4гр-216-detail?tmpl=component&print=1 Если перейти на них, то это будет словно лист для печати. Так вот, после того как я поставил ваш Robots они больше не будут вылазить? Если будут, то как запретить их отдельно в файле роботс?

        4) Где именно посмотреть, после индексации, все страницы которые проиндексировались, как понимаю что в Яндекс Веб Мастере, а где именно там? В каком разделе?

        Извините что так много вопросов, буду рад вашему ответу, спасибо заранее

          admin

          admin

          1. Точно не могу сказать, но думаю, что не меньше недели.

          2. На первый взгляд все более-менее нормально.

          3. Попробуйте

          4. В вебмастере должен быть раздел со всеми проиндексированными ссылками, доступен сразу на главном экране.

    svoy

    Здравствуйте.
    Joomla! 3.9.18
    VirtueMart 3.6.10 10211

    Боролся я с дублями и вот что в итоге состряпал.
    Теперь в поиске все человеческие урлы и не одного дубля.
    Скажите может что не так сделал?

      admin

      admin

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

      stelp

      Disallow: /*&* а эта директива что закрывает? гугл на нее что то ругается..

        admin

        admin

        Закрывает любые корневые папки, в которых встречается символ &.

Комментарии закрыты

С 15-18 июня admin в отпуске.

Ответы на все вопросы и ссылки на товары будут присланы 19 июня.

Спасибо за понимание и хороших выходных.

×