Как создать два (или несколько) сайта, которые будут использовать один движок 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):<?phpheader("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 OnRewriteRule robots.txt robots.phpRewriteRule 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) на свои значения) Успехов всем!