Несколько WordPress блогов с одной базой данных
Каждый хостер предоставляет различные тарифные планы для посетителей, где приводит набор неких услуг (объем трафик, место на диске, процессорное время), а также устанавливает ряд ограничений. Сегодня хотелось бы поговорить о такой ситуации, когда вам предоставляется возможность завести несколько сайтов, но с одной лишь базой данных MySQL. В частности подобную практику имеет одна из компаний, с которой я пробую работать — hqhost.
В тарифах «Стандарт» и «Профессионал» количество баз данных значительно меньше допустимого числа создаваемых сайтов. Сегодня хочу рассказать об одном способе как можно выкрутиться из такой ситуации. Он не сложен, тем не менее, уверен, о нем знают не все, особенно будет полезен новичкам.
Что касается самого хостинга, то не буду расхваливать его чрезмерно, потому как на данном этапе я лишь недолгое время с ними сотрудничаю. В частности меня мало устраивает политика ограничения трафика, которая может сыграть со мной злую шутку, 10Гб уж точно не хватит на те 10 сайтов, которые теоретически можно было создать. Хотя, если там разместить слабо посещаемые сателлиты, то лимита может хватить. Кстати, в процессе развития проектов их постепенно можно будет переносить на другие площадки — например, если какой-то из блогов начнет пользоваться хорошей популярностью и перерастет в серьезный большой проект. С другой стороны я доволен скоростью работы и поддержкой.
Теперь рассмотрим непосредственно метод решения проблемы с одной БД. Для этого перед созданием блога заходим в файл настроек wp-config.php, где находим строку
$table_prefix = ‘wp_’;
Она указывает какой префикс будет для всех таблицы базы данных, где хранятся ваши посты, комментарии и т.п. Меняем данный параметр на любой другой, который вам нравится и сохраняем файл. Дальше как обычно заходим по адресу имя_блога/wp-admin/install.php и создаем блог.
В итоге в одной базе может хранится информация с разных блогов (здесь, например, сразу 3):
А с помощью настройки table_prefix, заходя в разные админки, вы будете видеть только те данные, которые относятся к тому или иному блогу. Вот, в принципе, и все.
Кстати, изменять префикс таблиц базы — это одна из возможностей повысить безопасность блога. Рекомендую, каждый раз при создании менять стандартную настройку.
Все таблицы в базе данных имеют префикс wp_ — wp_comments, wp_posts и т.д. Дабы обезопасить себя от SQL инъекций лучше его сменить. Чем меньше злоумышленник знает о настройках вашей системы — тем сложнее ему будет навредить. Для данного дела в разделе Security имеется специальная закладка — Database.
Кроме использования одной базы данных на несколько сайтов, есть еще небольшая хитрость — работа с одной админ панелью. То есть вы устанавливаете одну систему WordPress, а управляете с помощью нее несколькими сайтами. Я как раз сейчас пытаюсь реализовать нечто подобное, учу мат.часть, так сказать, и проверяю ее работоспособность. О результатах расскажу в одном из следующих постов. Следите за обновлениями.
Если у вас есть что добавить по теме — пишите в комментариях, возможно, я рассмотрел не все нюансы.
P.S. Советую почитать про хороший метод привлечения трафика — сервисы «Вопрос-Ответ». Я сам хочу побольше вникнуть, но все не хватает времени.
Выполняем строительство бассейнов по новым технологиям.
Слышал про этого хостера, но мне не нравится, когда количество сайтов больше чем количество баз мускула.
dv, я вот тоже слышал от Димка, решил заценить:)
я тут как раз сегодня написал обзорчик хороших дешевых хостеров… может пригодиться: day-blog.ru/2009/03/23/krutoj-xosting-za-1-obzor-deshevogo-no-xoroshego-xostinga
Правда у меня сейчас упали мои днс-сервера… попытаюсь переподключить домен на другие днс-ки в течении часа — тогда можно будет попробовать глянуть статью
«То есть вы устанавливаете одну систему WordPress, а управляете с помощью нее несколькими сайтами. »
Зачем извращаться, если можно поставить wpmu?
«работа с одной админ панелью» — такую штуку очень хотелось бы иметь.
Валерик, сменил в прошлом посте ссылку на бесплатный хостинг на твой обзор, т.к. там были какие-то проблемы с хостером (есть подозрение, что у него действительно трояны проскальзывают).
Golan, С wpmu я не сталкивался пока что. Насколько я понял это что-то вроде «блогохостинга», поэтому мне сложно сказать какая разница между ним и одной установкой wordpress.
Tod, разница в том, что на WPMU сайты располагаются либо на поддомене:
site1.wpmu.com
site2.wpmu.com
либо в пределах этого домена:
wpmu.com/site1/
wpmu.com/site2/
Так что WPMU для вышеуказанной задачи не подходит.
2Tod, у меня на том бесплатном хостинге одна тестовая страничка висит… и у меня тоже возникли проблемы с хостингом… правда не в троянах дело, а в том, что хостинг стабильно падает раз в три дня :)
Я сегодня-завтра дополню ту статью…
О чем то похожем писал у себя awtor.com/neskolko-wordpress-na-odnom-dvizhke/
Там помимо базы вылезают проблемы сайтмепов, роботсов — это решил. Но помиом еще
полезли проблемы разделения аплоада, вотермарки, md5, дополнительное кеширование и прочее прочее (вплоть до необходимости переделывать некоторые плагины)
awtor, я на тебя еще сошлюсь в одном из следующих постов, там немного другая ситуация. Кстати, хороший пост, мне помог разобраться:)
Спасибо тебе мил человек а то пол инета перерыл не где не нашел а если еще про такой же фокус для DLE расскажиш то просто цены тебе не будет!!!
Интересный вариант решения проблемы, однако есть также вариант, когда мы просто делаем подблог в одной из категорий и немного перенастраиваем движок, как это сделать я описал у себя в блоге в статье Создание подблога в WordPress.
Так не ясно, а как на стр. отображать несколько блогов?? Например 3 колонки на главной стр. для 3х разных блогов????? ПОЖ. Расскажите?
erik, это статья немного о другом, здесь «несколько блогов» — это совершенно разные проекты которые не пересекаются. Если совмещать, то нужно смотреть в сторону опции «мультисайтовости», которая сейчас реализована в wordpress или точнее даже каких-то коллективных блогов.
Спасибо очень полезная статья. Обязательно попробую.
Я конечно извиняюсь, что пишу в древнем посте, но вот бывает ситуация, когда переезжаешь на другой хостинг с таким ограничением, а на старом было всё нормально — сколько сайтов, столько и БД. Как решить такую задачу — переделать все префиксы баз данных?
Search Bot, ну, теоретически да — для каждого сайта создать свой префикс в БД, а потом каким-то образом все залить в одну. Я так понимаю с помощью обычного phpmyadmin и механизма импорта это получится сделать. Как создать префиксы? — помню находил информацию в гугле по этому поводу + точно видел такую функцию в плагине WP Security Scan.
Саша, спасибо за плагин, но он не помог: при активации выдал фатальную ошибку на всех сайтах и был последовательно удален.
Но проблему я решил с помощью другого рабочего плагина: Table Prefix Rename Plugin (www.seoegghead.com/software/wordpress-table-rename.seo) — все отлично работает даже на старых версиях WP. Префиксы успешно изменил, сайты перенёс на тот самый хостинг — я ссылку оставлю? ( http://search-bot.net/goto/fozzy.html ) Теперь у меня 4 сайта на одной базе работают. Единственная проблема — на этом хостинге последняя версия php, а один мой сайт аж на древнем wp2.3.3 — естественно конфликты (только в админке, сайт работает). Поддержка сейчас разбирается..
Search Bot, спасибо насчет подсказки относительно плагина, если что тоже буду использовать, хотя я больше сторонник того чтобы каждый сайт был отдельно.
Пожалуйста, он классный :)
Специалисты некоторые утверждают, что несколько блогов на одной базе никак не медленнее работают. Тем более что хостинг на который я переехал реально быстр — в 5 раз быстрее стал сайт открываться, я проверял с помощью site-perf.com Порядка конечно больше при разделении, зато при переезде теперь базу перенести в 4 раза быстрее :)
И кстати я выяснил, что апгрейдить WP 2.3.3 (и 2.6 тоже) до последней версии — дело одной минуты: залил файлы WP вместо старых, оставив только темы, плагины, wp-config исправил, нажал на кнопку типа «обновить базу» — и всё работает. Помню разговоры на maxsite о сложном последовательном в несколько шагов апгрейде…
Кстати, ещё один полезный на первый взгляд плагин — infinite wp (сам не пробовал). Это одна админка для множества блогов (но каждый со своей базой и своим движком). Там всё управление обновлением, бекапом файлов, тем, плагинов, баз и пр. из одной админки.
Вопрос лишь в том, быстрее или медленнее будут работать оба сайта — имеет ли смысл работать с одной базой SQL?
Павел, об этом я не думал. Данный прием использовался для хостингов, где давали по одной БД на аккаунт, а хотелось разместить больше сайтов. Сейчас это все решается покупкой сервера)