Два сайта на одном движке WordPress

Как создать два (или несколько) сайта, которые будут использовать один движок WordPress и одну базу данных.

1.   Если основной домен уже подключен к хостингу, то этот шаг пропускаем, если нет, то подключаем его:

    • в панели управления хостингом (CPanel) в блоке «Домены» переходим по ссылке «Дополнительные домены». Вписываем имя нового домена: site1.ru, корневой каталог документов (автоматически он устанавливается /public_html/ site1.ru) не меняем.
    • в панели управления хостингом (CPanel) в блоке «Базы данных» переходим по ссылке «Базы данных MySQL». Создаем базу данных и пользователя (или привязываем существующего)
    • указываем для домена DNS сервера из настроек хостинга (это выполняется на стороне регистратора)

2.   Заливаем WordPress в папку корневого каталога основного домена: /public_html/ site1.ru

3.   Редактируем файл wp-config.php.

    • задаем свои  параметры MySQL (как и при обычной установке),
    • задаем префиксы таблиц для каждого сайта (таблицы обоих сайтов будут находиться в одной БД, но отличатся префиксами).

Для этого заменяем строку
$table_prefix  = ‘wp_’;
на

$prefix = $_SERVER["HTTP_HOST"]; //запоминаем имя сайта
$prefix = str_replace("www.", "", $prefix); //убираем из имени www.
$prefix = str_replace("pp.ua", "", $prefix); //убираем доменную зону
$prefix = str_replace("-", "", $prefix); //убираем тире
$prefix = str_replace(".", "", $prefix); //убираем точки
$table_prefix = $prefix."_" ; //определяем полученное имя как префикс для таблиц БД

4.   Устанавливаем WordPress для первого сайта

5.   Приступаем к настройке второго домена:

  • в панели управления хостингом (CPanel) в блоке «Домены» переходим по ссылке «Дополнительные домены». Вписываем имя нового домена: site2.ru и меняем корневой каталог документов (автоматически он устанавливается /public_html/ site2.ru) на тот же, который был установлен для первого сайта (/public_html/ site1.ru). Таким образом, при обращении к сайту site2.ru он будет искать информацию для запуска и подключения в папке /public_html/site1.ru (где уже залит WordPress).
  • указываем для второго домена DNS сервера из настроек хостинга.

6.   Устанавливаем WordPress для второго сайта. В результате получаем два совершенно самостоятельных сайта, управление которыми осуществляется из отдельных панелей администратора.

7.   Для файлов sitemap в корневом каталоге основного домена /public_html/ site1.ru создаем отдельную папку (например, sitemaps) в ней будут храниться  карты сайтов. Для первого сайта это будет файл site1.ru.xml, а для второго – site2.ru.xml (их создавать не нужно, они будут создаваться плагином).

8.   Там же (в корневом каталоге)

  • создаем файл robots.phpс текстом (строки, начинающиеся с «echo», за исключением двух последних, можно изменить или добавить нужные, чтобы получить свой текст robots.txt):
<?php
header("Content-Type: text/plain");
echo "User-agent: *\r";
echo "Disallow: /xmlrpc.php\r";
echo "Disallow: /wp-\r";
echo "Disallow: feed\r";
echo "Sitemap: http://".$_SERVER['HTTP_HOST']."/sitemaps/".$_SERVER['HTTP_HOST'].".xml\r";
echo "Sitemap: http://".$_SERVER['HTTP_HOST']."/sitemaps/".$_SERVER['HTTP_HOST'].".xml.gz\r";
?>


  • создаем файл .htaccessс текстом:
RewriteEngine On
RewriteRule robots.txt robots.php
RewriteRule sitemap.xml sitemaps/%{HTTP_HOST}.xml

9.   Остальные настройки делаем для каждого сайта отдельно (из панели администратора).

  • в пункте «Медиафайлы» из меню «Параметры» прописываем путь для загрузки картинок (по умолчанию wp-content/uploads), как вариант можно добавить имя сайта (wp-content/uploads/site1) и ставим «галочку» напротив «Помещать загруженные мной файлы в папки по месяцу и году».
  • активируем плагин Google XML Sitemaps и переходим в появившийся пункт «XML-Sitemap» из меню «Параметры». В блоке «Расположение Вашего файла с картой сайта» выбираем автоматическое определение и указываем имя файла (для первого сайта это будет sitemaps/site1.ru.xml) и сохраняем обновления.
  • заходим в административную панель второго сайта и повторяем для него те же действия.

10.   На этом настройку движка для двух сайтов можно считать законченной. Дальше работаем с созданными сайтами как обычно.

Красивое и понятное, на мой взгляд, решение проблемы с robots.txt  и картами сайтов нашла у Алекса Волкова .

Внимание!!! Если вы используете для различных сайтов один и тот же шаблон, все изменения, внесенные в текст файлов шаблона будут отображаться на обоих сайтах (как вариант можно попробовать записать один и тот же шаблон под разными именами).

P.S. Не забывайте изменять все выделенное красным ( например, site1.ru, site2.ru) на свои значения) Успехов всем!

P.S. Добавила видео. В лучшем качестве можно посмотреть на моем канале youtube.

Опубликовал 21st Январь 2012.
Размещено в WordPress.


К записи 7 комментариев

Подписалась на Ваши статьи. Полезно и интересно! Спасибо!За два сайта на одном движке не рискую браться. Для начала один бы довести.

Спасибо) Сейчас заканчиваю видеоурок по этой теме, возможно будет понятнее. А насчет того, нужен ли второй сайт — я поначалу регистрировала бесплатные домены и использовала их для экспериментов, а потом то, что получалось, переносила на основной сайт. Заходите, спрашивайте, я тоже многому еще учусь, вместе веселее)

Ценные рекомендации, беру на заметку

Интересно. Столько возможностей, оказывается.

Да, сама каждый раз удивляюсь вордпрессу, вроде и так все работает, а оказывается можно сделать еще лучше и удобнее для себя)

Вот, кстати, нашел в сети еще один вариант реализации нескольких сайтов на одном движке wordpress. Там подход несколько иной, позволяющий для каждого сайта использовать отдельный конфиг файл. А это значит, что теоретически можно под одной админкой объединить даже сайты с разных баз данных.

Ссылку дайте, любопытно посмотреть.

Нужна помощь?