Один движок – много блогов
WordPress очень удобный движок для организации нескольких блогов на одном сервере, ведь он все настройки хранит в базе данных, поэтому глупо каждый раз создавать отдельную папку со скриптами для каждого нового сайта. Это неудобно и отнимает много времени каждый раз, когда нужно создать новый блог. Сейчас я расскажу как сократить временные затраты на создание и обслуживание нескольких блогов в несколько раз! Кстати, это еще одна причина почему эта CMS мне так нравится.
—
Порядок действий в 7 шагов
1. Для начала добавляем один домен на сервер через админку, создаем папку со скриптами для него. Далее все остальные домены нужно прилинковывать к этой папке, или другими словами создаем алиасы для первого домена. В панеле Beget это делается так:

для тех, кто пользуется панелькой ispManager это будет выглядеть вот так:

Если у вас другая панелька, вам придется самому разбираться в ней, но принцип везде одинаковый.
—
2. В файле wp-config.php (лежит в корне сайта) меняем строку $table_prefix = ‘wp_’; на эту:
$table_prefix = ereg_replace("[^a-zA-Z0-9]", "", $_SERVER['HTTP_HOST']) . "_";
—
3. В корне сайта у вас должен лежать файл .htaccess (если нет его — создайте), в котором нужно прописать вот эти строки:
RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
Это нужно для того, чтобы сайт с www получил 301-ый редирект на сайт без www, ну или сделайте наоборот, если вам так нравится.
—
4. Чтобы у каждого сайта был уникальный favicon делаем так: заводим папку в корне сайта под названием favicon, кладем туда фавиконы в формате site.ru.png а в .htaccess прописываем такую строку:
RewriteRule ^favicon.ico$ /favicon/%{HTTP_HOST}.png [L]
Теперь ваш файл .htaccess должен выглядеть примерно вот так:
# BEGIN WordPress
Order Allow,Deny
RewriteEngine On
RewriteBase /
AddDefaultCharset UTF-8
RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
RewriteRule ^favicon.ico$ /favicon/%{HTTP_HOST}.png [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
—
5. Далее заходим на свой URL и устанавливаем блог. Таблицы в базе данных будут созданы с префиксом типа siteru_. Для каждого сайта этот префикс будет уникальным, поэтому таблицы не перепутаются и вы легко сможете работать с ними через phpmyadmin.
—
6. Заходим в панель администратора WordPress в раздел Настройки -> Медиафайлы (http://site.ru/wp-admin/options-media.php) и в поле «Сохранять файлы в эту папку:» записываем строку:
wp-content/uploads/site.ru
это нужно для того, чтобы картинки и прочие файлы с разных сайтов не смешивались друг с другом. Так удобней в будущем будет переносить сайты при необходимости (в случае продажи, например).
—
7. Советую папку шаблона для сайтов переименовывать таким образом: site.ru, т. е. теперь полный путь будет выглядеть так:
wp-content/themes/site.ru
Так вы будете видеть в какой папке хранится нужный шаблон для того, чтобы вносить правки в него. Это сильно упростит задачу, когда сайтов будет много, иначе можно будет запутаться в разных шаблонах.
—
Эти 7 шагов проделать нужно лишь однажды при установке блога. Все остальные настройки WordPress хранит в базе данных, поэтому каждый блог будет уникален и не спутается с другими.
—
При покупке сайта
Если вы купили сайт, то в базе достаточно с помощью любого текстового редактора (например, notepad++) сделать массовую замену префикса:
wp_ заменить на siteru_
… и лишь потом импортировать ее в базу данных mySQL. Далее нужно залить картинки в папку uploads и установить недостающие плагины. Как видите тут тоже минимум действий.
—
Постскриптум
На момент написания этого поста у меня есть где-то 50 различных блогов и всего 3 установленных движка wordpress на различных серверах. Это сильно упрощает мне их администрирование, редактирование и обновление. Пользуйтесь этим, это очень удобно! Этим способом можете соединить воедино несколько своих сайтов, если каждый из них сейчас у вас в разных папках находится.
| Твитнуть |
