Меню

Файлы Robots.txt и htaccess в MaxSite CMS

Создание сайтов5577

Желаю всем здравствовать! На связи я, Денис Скрипник. И сегодня мы продолжим изучать замечательную  систему управления контентом -  MaxSite CMS. Тема сегодняшней статьи – настройка файлов Robots.txt  и htaccess.

Настройка Robots.txt в MaxSite CMS

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

Если раньше файл Роботс выполнял функцию запрета индексации, которой поисковики следовали неукоснительно, сейчас всё изменилось: Яндекс более-менее слушается рекомендаций, а вот Google - нет: он все равно добавляет на всякий случай страницы в индекс, но вместо описания выводит, что оно не сформировано, так как страница запрещена в robots.txt, так что с дублями таким методом бороться нельзя.

Если у вас есть директивы, в которых указан index.php, home и т. п., срочно удаляйте их и проверяйте, попали ли они в индекс: если да, устанавливаем редирект.

Файл Robots.txt  имеет 4 основных директивы:

  • 1.  User-agent – директива, указывающая имя робота, для которого написаны правила.
  • 2.  Disallow/Allow – Директива на запрет/разрешение сканирования определённой директории или раздела вашего сайта.
  • 3.  Host – директива, указывающая основное зеркало вашего сайта.
  • 4.  Sitemap – директива, которая указывает на расположения XML-карты сайта.

При установке движка вы скопировали файл Robots.txt  в корневой каталог вашего сайта и должны были самостоятельно прописать директиву «Host», которая указывает основное зеркало вашего сайта – с «www» или без него. Я всегда прописываю без «www» и вам советую. 

При установке движка, вы должны были скопировать с корень вашего сайта файл «sitemap.xml». А теперь в директиве «Sitemap» вам нужно прописать путь до этого файла. Например:

Sitemap: http://ваш-сайт.ru/sitemap.xml

Если вы всё сделали правильно, то у вас должен получиться примерно такой файл Robots.zip. Распакуйте скаченный архив и, если у вас содержимое robots.txt отличается от моего варианта, загрузите файл из архива на сервер, заменив "Вашсайт.ru" на свой домен в host и sitemap..

Настройка файла htaccess в MaxSite CMS

Файл «htaccess» это файл, содержащий настройки вебсервера. Есть, так называемые, глобальные настройки, которые задаются в конфигурационном файле вебсервера, а есть локальные (свои для каждой папки), которые и задаются в файле «htaccess» . Но данный файл позволяет настраивать не только вебсервер, но и редиректы. Вот они та нам и нужны.

Дело в том, что стандартный файл htaccess  в MaxSite CMS не имеет редиректа на основное зеркало. То есть если ввести адрес вашего сайта с «www», а потом без него, то откроются оба варианта. А если по каким-то причинам поисковый робот не прочитает директиву «Host» в файле Robots.txt, то у вас может появиться дубль вашего сайта – один вариант с «www», а другой без. А это, в свою очередь, может привести к санкциям со стороны поисковых систем. Поверьте, такое случается не так уж и редко, и довольно хорошие сайты могут попасть под АГС или даже в бан.

Для того чтобы всего этого не случилось, нам нужно сделать редирект с зеркала с «www» на зеркало без него. Если простыми словами, то когда мы введём «www.наш-сайт.ru», то нас автоматически перенаправит на «наш-сайт.ru».

Для этого нам нужно добавить в наш файл htaccess следующие строки:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.site.ru [NC]

RewriteRule ^(.*)$ http://site.ru/$1 [L,R=301]

Они должны располагаться над строками:

RewriteBase /

RewriteCond $1 !^(index\.php|uploads|robots\.txt|favicon\.ico)

На всякий случай я приложу свой файл htaccess , в котором этот редирект уже настроен.

/

Если вы решили прописать основной хост с «www», тогда вам нужно будет и в файле htaccess  прописать редирект на зеркало с «www». Для этого нужно добавить в этот файл следующие строки:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^site.ru [NC]

RewriteRule ^(.*)$ http://www.site.ru/$1 [L,R=301]

Не забудьте перед этим удалить строки перенаправления с www на без www.

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

Спасибо за внимание. С уважением, Денис Скрипник .

Текущая оценка Общий бал: 0 Проголосовало Проголосовало: 0

help_share

Данная публикация была вам полезна?

Помоги автору сайта, расскажи друзьям...

Комментариев: 14
  •  Александр Майер 23 августа 2013 в 02:01:22
    img

    Дэн, привет. Хочу высказать свое мнение. В рунете все же принято не прописывать отдельно правила для Гуглбота. Гугл на ура принимает общий юзерагент (User-agent: *). Так что, отдельно можно не прописывать. А вот для яндекса - это да. Прописывать нужно обязательно отдельно.

    А файл .htaccess - это вообще мощное "оружие" smile В нем столько всего полезного можно прописать. Сам сейчас потихоньку изучаю эту область, т.к. своих знаний пока не хватает =)

    •  Денис Скрипник | 23 августа 2013 в 13:01:51
      img

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

      На счёт второго файла согласен - мощная штука.

  •  Александр 25 августа 2013 в 17:08:39
    img

    Ребят подскажите. Есть второй сайт аниме тематики у меня. Он Google индексируется на 100%, а вот Яндексом всего 3 страницы. Карты сайта есть. Robot.txt, как не пробовал настраивать ничего не меняется. Возможно это причина в файле .htaccess - как вы думаете? Наверное стоит в нем покопаться.

    А вот блог всеми поисковиками индексируется просто на УРА.

    •  Денис Скрипник | 25 августа 2013 в 23:02:23
      img

      Приветствую. Причина не в файле .htaccess. Скорей всего ваш сайт попал под фильтр Яндекса. О них вы можете прочитать тут: http://optimizatorsha.ru/yandex/yandex-filtry/

      Но всё-таки, вышлите мне по обратной связи ссылку на файл, опубликованный на rghost.ru, а также файл robots.txt, чтобы я мог вам сказать точно.

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

    •  Александр Майер 26 августа 2013 в 02:29:12
      img

      Саш, а какой возраст у того сайта? Если он еще относительно молод, то фильтры поисковиков тут вряд ли уместны. Скорее всего, сайт еще "не подружился" с Яндексом. С моим основным блогом было похожее, на протяжении, примерно двух месяцев (а может и чуть больше). В Гугл страницы влетали за считанные минуты (или даже секунды), а вот Яндекс никак по началу не хотел индексировать блог. Позже появилась другая проблема - новые страницы стали попадать в индекс почти моментально, но при этом вылетали старые. И у меня получалось, что в индексе всегда было только 3-5 статей. Причем пишу новую, она в индекс влетает, но одновременно с этим "вылетала" одна старая =)

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

      Но если сайт уже "взрослый", то Денис правильно говорит: скорее всего на сайт наложены санкции.

      •  Александр 26 августа 2013 в 02:45:54
        img

        Аниме сайт про который я писал выше молодой. Ему еще пол года нету. Скорее, Денис прав, он угодил под какой-нибудь фильтр, т.к. больше половины страниц на нем копирайт.

        •  Денис Скрипник | 1 сентября 2013 в 16:28:00
          img

          Вы хотели сказать копипаст? Просто копирайт - это написание уникальных текстов.

          Если да, это сто процентов фильтр. Сделайте тексты с уникальностью не менее 98%, пишите новые уникальные статьи, после этих действий ваш сайт начнёт развиваться нормально.

  •  Денис | 4 ноября 2013 в 02:33:24
    img

    Здравствуйте, Денис! Спасибо за статью. Не могли бы перезалить htaccess?

    •  Денис Скрипник | 4 ноября 2013 в 18:15:23
      img

      Здравствуйте. Перезалил.

  •  Денис | 4 ноября 2013 в 18:16:27
    img

    Спасибо smile

  •  Иван Павлович 22 ноября 2016 в 00:43:03
    img

    Доброго времени суток! Хорошая статья, полезная. Только возник вопрос: если нам нужно сделать редирект с зеркала с «www» на зеркало без него, то мы вводим код (скопировал из статьи):

    RewriteEngine on

    RewriteCond %{HTTP_HOST} ^www.site.ru [NC]

    RewriteRule ^(.*)$ http://site.ru/$1 [L,R=301]

    А если прописать основной хост с «www», тогда код будет (скопировал из статьи):

    RewriteEngine on

    RewriteCond %{HTTP_HOST} ^www.site.ru [NC]

    RewriteRule ^(.*)$ http://site.ru/$1 [L,R=301]

    Я сравниваю оба кода для www (www.сайт.ru) и без него (сайт.ru) и не пойму, чем кода отличаются, может где-то ошибка???? Или я чего-то не понимаю...

    •  Денис Скрипник | 26 ноября 2016 в 01:04:18
      img

      Благодарю. Это действительно была ошибка. Скопировать - скопировал, а изменить забыл. grin

  •  Иван Павлович 26 ноября 2016 в 14:02:23
    img

    Теперь, если у меня сайт без WWW то, есть мойсайт.ru, я в файле .htaccess вставляю код:

    RewriteEngine on

    RewriteCond %{HTTP_HOST} ^www.site.ru [NC]

    RewriteRule ^(.*)$ http://site.ru/$1 [L,R=301]

    То в случае, если пользователь набирает www.мойсайт.ru он автоматически перенаправляется на мойсайт.ru. Правильно???

    Я не совсем разбираюсь в кодах и командах, поэтому переспрашиваю и уточняю.

    •  Денис Скрипник | 13 марта 2017 в 08:03:49
      img

      Правильно.

Буду благодарен за каждый оставленный вами комментарий

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

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Похожие публикации