Правильное зеркалирование сайта

Иногда бывает важно создать зеркало уже имеющегоса сайта. Например у вас есть сайт site.com и вы хотели бы сделать зеркало site2.com для него. Важно знать, что зеркала – полностью идентичные сайты. В качестве примера зеркал могут выступать сайты www.site.com и site.com

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

Вместо контента на старом сайте надо разместить перманентный редирект, который на языке PHP может выглядеть так:

index.php

<?php
Header(“Location: http://site2.ru/”.$_SERVER[‘REQUEST_URI”]);

Он при получении запроса, будет перенаправлять пользователя на новый сайт, на ту же страницу. Это является вторым условием зеркальности сайтов. Для перенаправления всех запросов на index.php можно использовать этот .htaccess файл

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Дальше надо грамотно составить robots.txt, в котором будет прописано основное зеркало сайта:

Этот файл надо разместить на всех зеркалах сайта. А вот что говорит нам Яндекс про зеркала:

Если ваш сайт имеет зеркала, специальный робот зеркальщик определит их и сформирует группу зеркал вашего сайта. В поиске будет участвовать только главное зеркало. Вы можете указать его у всех зеркал при помощи robots.txt, используя директиву ‘Host’, определив в качестве ее параметра имя главного зеркала. Директива ‘Host’ не гарантирует выбор указанного главного зеркала, тем не менее, алгоритм при принятии решения учитывает ее с высоким приоритетом. Пример:

Важно: в целях совместимости с роботами, которые не полностью следуют стандарту при обработке robots.txt, директиву ‘Host’ необходимо добавлять в группе, начинающейся с записи ‘User-Agent’, непосредственно после директив ‘Disallow'(‘Allow’). Аргументом директивы ‘Host’ является доменное имя с номером порта (80 по умолчанию), отделенным двоеточием.

Важно: параметр директивы Host обязан состоять из одного корректного имени хоста (т.е. соответствующего RFC 952 и не являющегося IP-адресом) и допустимого номера порта. Некорректно составленные строчки ‘Host:’ игнорируются.

Примеры использования директивы Host:

Leave a Comment