Как создать зеркало сайта на WordPress (плагин)

28 августа 2009 г.

Как создать зеркало сайта на WordPress (плагин)

Все-таки я окончательно решил уходить от доменов RU.

А потому встала задача сделать зеркала сайтов, работающих на WordPress, да таким образом, чтобы использовать одну и ту же базу данных, не меняя ее структуры и не добавляя новых таблиц.

Если бы не Яндекс, то все было бы гораздо проще - поставил бы 301-й редирект и делов-то. Но Яндекс этот редирект в упор не понимает, поэтому, чтобы все прошло гладко, для сего поисковика необходима следующая последовательность переноса сайта:

  1. Сделать абсолютную копию сайта (его зеркало) таким образом, чтобы сайт работал одновременно с двух адресов.
  2. На старом домене в robots.txt добавить директиву host, указывающую на новый адрес сайта.
  3. Ждать, ждать, ждать - когда придет робот-зеркальщик, когда его кореш индексирующий бот познакомится с зеркалом сайта, и когда проиндексированное зеркало, наконец, попадет в серп Яндекса.
  4. Вот теперь можно будет ставить 301-й редирект со старого адреса на новый.

Вы наверняка знаете, что WordPress жестко привязывает к сайту его адрес, т.е. если попытаться тупо скопировать файлы движка, находящиеся на фтп, в новый сайт и оставить то же самое подключение к БД, то при заходе по новому адресу сайта произойдет автоматический редирект на старый адрес, поскольку он и указан в настройках.

Чтобы обойти этот редирект (кстати, в более ранних версиях WordPress его не было), я создал малюсенький плагин в пару десятков строк кода, который и позволяет выполнить первый из четырех вышеуказанных пунктов.

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

Установка и настройка плагина

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

    Вам самим придется разобраться, каким образом это сделать на вашем хостинге, я же только приведу пример того, как это выглядит в панели управления ISPmanager:

    Настройка зеркала домена в ISPmanager

  2. Распаковать плагин из архива и в файле AA-DomainMirror.php отредактировать следующие 2 строки:
    1
    2
    $main     = "domain.ru";  // главный домен
    $mirror   = "domain.com"; // зеркало
  3. Закинуть папку AA-DomainMirror на сайт и активировать плагин через админку. Обратите внимание, что название папки лучше не менять, AA- в названии используется для того, чтобы плагин инициировался первым.
  4. После этого следует походить по новому адресу сайта и удостовериться, что все ссылки содержат правильный домен. В зависимости от используемых вами плагинов может случиться так, что некоторые ссылки будут содержать старый домен. Поэтому вам самим придется разбираться с такими плагинами.

Скачать плагин

Проверял работу плагина на WordPress 2.7, думаю, что и на 2.8 и на некоторых ранних версиях тоже будет работать.

Надеюсь, кому-то этот плагин пригодится =)

Комментарии (49): »

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

    @
  2. Можно WP установить на новом домене, тогда алиас создавать не нужно.

  3. А как задать зеркало в панели управления CPanel, не подскажите?
    А то я там нашел полностью функцию редиректа, это-то или нет?

  4. Нет, редирект для этого не трогайте. Делается следующим образом:

    1. Зайдите на страницу добавления нового домена.
    2. В поле “Имя нового домена” укажите имя домена “зеркала”.
    3. В поле “Корневой каталог документов” укажите ту папку, где находится главный домен.

    Все =)

  5. Добрый день, Dimox. Просветите, пожалуйста, как можно сделать зеркало сайта, если панель управления существующего сайта недоступна (по техническим причинам хостера), домен в зоне .com. И хочется, чтобы новый домен работал на тех же позициях, что и недоступный сейчас домен (заработанный годами рейтинг). То есть хочестя вот чего: существующий сайт сейчас стоит на первой странице любого поисковика (когда поиск по теме). Пользователь кликает на домен, который сейчас, а фактически попадает на сайт-зеркало (т.е. с “немножко другим” именем, но с тем же контентом). Когда заработает нынешний сайт и заработает ли вообще - неизвестно(((… поэтому и встал вопрос. Заранее благодарна, Olsa.

    @
  6. Можно использовать файл .htaccess с редиректом. Пример есть здесь (2-й пункт). Только если вы планируете временно редиректить, то вместо цифры 301 надо указать 302.

  7. Как возможно сделать псевдоним в панеле DirecrAdmin? Что то найти не могу.

  8. Не могу подсказать, т.к. не пользуюсь этой панелью.

  9. 39
    Иван Оршанский
    Иван Оршанский

    Спасибо за плагин и разъяснения к нему. Хотя искал, как сделать зеркало сайта не на WP, но это тоже пригодится

    @
  10. А как блог на блогспоткоме сделать зеркалом нового блога на домене ру?

    @
  11. По-моему, в блогспоте есть опция, где можно указать имя домена, на который будет происходить редирект.

  12. Спасибо за замечательный плагин. Сначала правда перепутал зеркало с основным))

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

    @
  14. Меня интересует такой вопрос, как сделать зеркало сайта без редиректа? Ну тоесть чтобы сайт был доступен по обоим адресам, вот например этот сайт(не реклама) http://podkat.vokar.net/ (Линк сети MaxNet) http://podkat.ru/ и http://podkat.flyfm.net/ он доступен до 3 адресам без редиректа как так сделать?

  15. Скопируйте с фтп файлы на зеркала сайта, и на зеркалах установите плагин.

  16. Сделал как написано все заработало но потом надо стало поменять домены местами так как один из них кириллический.
    Я перенес WP на другой домен третьим способом указанным тут: http://dimox.name/moving-the-site-on-new-domain/ и в итоге зеркало открывается но все ссылки постов ведут на основной домен, а не зеркало.
    Как вылечить?

    @
  17. Как сделать так чтобы с главного домена перенаправлять на новый с http://www.test.com/add автоматом на http://www.test.ru/add ?

Присоединяйтесь к обсуждению!

Отправляя кoммeнтapий, вы автоматически принимаете правила кoммeнтиpoвaния на этом блоге.

Правила кoммeнтиpoвaния на блоге dimox.name:

  1. Первый кoммeнтapий всегда проходит премодерацию.
  2. В поле "URL блога" можно указывать только ссылку на главную страницу вашего блога. Ссылки на прочие веб-ресурсы (в том числе блоги/сплоги, созданные не для людей) будут удалены.
  3. Запрещается использовать в качестве имени комментатора слоганы/названия сайтов, рекламные фразы, ключевые и т.п. слова. В случае несоблюдения этого условия имя изменяется по усмотрению владельца блога. Просьба указывать нормальное имя или ник.
  4. Весьма вероятно, что короткий и неинформативный кoммeнтapий вида "Спасибо!", "Интересная статья", будет удален. Исключение составляют знакомые автору блога комментаторы.
  5. Комментарии не по теме удаляются.

Подписаться, не комментируя
  • Похожие статьи
  • Предыдущие из рубрики