15 обязательных шагов после установки Drupal
12 октября 2011 | Опубликовано в Веб-дизайн | 16 Комментариев »
Предлагаем вашему вниманию любопытную статью Даны Уинслоу, специалиста из команды DWUser.com. Это не еще один мануал по установке популярной сегодня CMS. Это практические советы с подробным пошаговым описанием того, что необходимо сделать в обязательном порядке на любом сайте после установки Drupal. Уверена, советы Даны Уинслоу, преподавателя курса обучения DWUser.com, будут полезны и начинающим пользователям Drupal, и тем, кто часто использует эту систему.
Я использую Drupal на множестве различных сайтов, каждый из которых имеет свой дизайн и свои особености. На одних нужен многопользовательский блог, другие ориентированы под онлайн-продажи. Сайты-портфолио, деловые административные сайты, сайты социальных сетей, персональные блоги... Одни в светлых тонах, другие темные... в одну, две, три колонки... включающие в себя видеоролики и страницы-заставки. Словом, ну очень разные сайты.
И несмотря на все различия, я выработала определенную последовательность действий, которую выполняю всегда, независимо от того, что за сайт делаю. Есть некоторые модули, которые я использую постоянно, и настройки конфигурации, которые я устанавливаю во всех случаях, без разницы, какого типа это будет сайт, и какие задачи возложил на него клиент. Перед вами статья, описывающая эту последовательность.
Я не стану разбирать сейчас с вами, как установить сам Drupal, или какие модули больше подходят под определенные цели. Напротив, будем считать, что вы уже:
- Составили план, учитывая функционал, необходимый для вашего сайта
- Выбрали модули, которые вам нужно загрузить, чтобы создать этот функционал
- Выбрали или уже установили тему
- Успешно установили последнюю версию Drupal (ну, или последнюю из вам доступных, учитывая поддержку выбранных вами модулей)
Итак, если вы сейчас смотрите на свежеустановленную на ваш сервер версию Drupal, но не уверены в том, что делать дальше, эта статья — для вас.
1. Увеличиваем лимит памяти на сервере
Проверив отчет о состоянии вашего сайта, вы увидите, какой у вас установлен лимит PHP памяти. Можно создать файл test.php и написать код: «< ?php phpinfo();». Открыв в браузере my_site/test.php, через Ctrl+F найти строчку: memory_limit. Скорее всего, он равен 64 Мб. Это значение определяет, сколько памяти выделяет ващ сервер для PHP-скриптов, управляющих вашим сайтом. 64 Мб будет достаточно для простого сайта на Drupal с самыми простыми установками. если вы собираетесь сделать что-то посложнее, вам следует поднять лимит. Лучше всего сделать это в файле php.ini. Узнайте у своего хостера, как добавить или отредактировать файл php.ini. Одни требуют загрузить его с сервера, чтобы делать какие-то изменения, другие разрешают просто создать свой и закачать на сервер. Так или иначе, в своем файле php.ini найдите следуюшие строки, отвечающие за ограничения ресурса памяти:
Если вы планируете использовать какие-либо инстраменты для работы с изображениями и превью, вам нужно, как минимум, 96 Мб, так как изменение размера одного изображения уже потребует до 46 Мб. Представьте, как классно будет, когда у вас памяти не хватит только из-за того, что нужно было создать превью! Я обычно выставляю на своих сайтах 128 Мб, просто на всякий случай. На сегодняшний день я лишь однажды столкнулась с хостером, который отказался позволить мне поднять ограничение PHP памяти для моего клиента. Я посоветовала клиенту сменить хостинг. Если вы обратитесь с этим вопросом к своему хостеру, и он откажется разрешить поднять лимит, я вам советую абсолютно то же.
2. Включаем и отключаем модули ядра
Определенное количество модулей ядра устанавливается и включается при установке Drupal. Существует два типа модулей ядра: обязательные и дополнительные. Если вы используете версию Drupal старше 7-ой, ваш раздел управления модулями (Administer > Site Building > Modules) покажет их все. Drupal 7 отобразит только дополнительные модули в этом разделе:
Большая часть модулей ядра полезна, но это не означает, что вам непременно нужно все из использовать. Прочтите описания всех дополнительных модулей ядра и убедитесь, что у вас включены только те модули, которые вам действительно нужны. Например, модуль цвета (Color Module) сам по себе полезен, но перестает быть необходимым, если вы используете собственную тему.
Вам также стоит пройтись по всему списку и включить некоторые модули ядра, которые вам пригодятся. Если такие модули, как Blog или Forum, вы будете включать только на определенных сайтах, то модули Toolbar и Path я настоятельно рекомендую включить, равно как и модули Field, File, и Taxonomy, независимо от того, какой сайт вы делаете.
3. Установите тему
Независимо от того, разработали вы свою собственную тему, купили готовую или взяли одну из бесплатных тем с drupal.org, вам следует задействовать ее и настроить на самых ранних стадиях всего процесса.
Главной причиной того, что я настаиваю на изначальной установке темы, является то, что вам будет намного легче и быстрее вносить изменения в тему и находить проблемные места, когда вы станете добавлять новые разделы или модули.
Обычно я с этим сталкиваюсь, когда использую одну из бесплатных тем: они на первый взгляд выглядят отлично, но после установки какого-то модуля, задействующего новый тип контента, я обнаруживаю, что этот тип не стыкуется с темой. Это легко решается добавлением нового стиля в CSS, если сразу заметить проблему.
4. Настройте систему ссылок
Сейчас, вероятно, ваши ссылки выглядят где-то так, крайне неприглядно, трудно для чтения и еще труднее для запоминания:
http://www.yoursite.com/?q=node/4
Модуль Path, который вы включили незадолго до этого, даст вам красивые аккуратные ссылки. Безусловно, это не обязательно — ваш сайт будет работать, независимо о того, красивые ваши ссылки или нет. Но красивые URL легче читаются и запоминаются, как людьми, так и поисковыми системами.
Как только вы включите человекопонятные URL, ваши ссылки превратятся в такие: http://www.yoursite.com/node/4
Хорошо, это все еще не идеал, но стремится к нему. Еще одна возможность, которую дает нам модуль Path, это ввести собственный псевдоним, который будет отображаться вместо неопределенного node/4
.
Таким образом, ссылка в нашем примере в конце-концов станет такой: http://www.yoursite.com/ten-most-important-steps
. Так легче запомнить, чем node/4
, правда? Остается еще пара моментов, которые позволят нам использовать псевдонимы ссылок в полную силу, но это был самый важный шаг.
5. Отладка SEO
Хоть я и не специалист в SEO, я много чего знаю об основных моментах продвижения сайтов. Это дает моим клиентам хорошие позиции для старта, а когда они обращаются к эксперту по SEO, мне не приходится переделывать, переименовывать, перенастраивать почти ничего. Я вообще не люблю все, что начинается с «пере-».
Настройка системы ссылок, названий файлов, и общего дизайна темы для лучшего восприятия поисковиками — это хорошее начало, но для вашего клиента не менее важно настроить ключевые слова, описания и другие мета-тэги.
Если смотреть правде в глаза, добавление мета-тэгов отнюдь не гарантирует вашему клиенту попадание на первую страницу Google. В лучшем случае его сайт окажется на первых четырех страницах, если только он или она не использует совсем уж уникальную комбинацию ключевых слов м не наймет толкового SEO-эксперта, вместо того, чтоб надеятся, что дизайнер сайта выполнит всю работу по раскрутке его в сети.
Существует парочка действительно неплохих модулей, которые помогут вам отладить основу SEO, вроде мета-тэгов и ключевых слов. И, точно как в случае с модулем Pathauto, чем раньше вы это сделаете, тем лучше.
В Drupal 6 самым лучшим модулем для добавления мета-тэгов был Nodewords, а для Drupal 7 это Metatags. К сожалению, на сегодняшний момент Metatags не до конца готов к коммерческому использованию, его все еще тестируют и дорабатывают некоторые компоненты. Для тех, кто хочет облегчить переход с Drupal 6 на Drupal 7 существует новый модуль Metatags Quick, который уже создан и используется. И, как заверяют разработчики, переход с него на Metatags по завершению работы над последним будет очень легким и безболезненным.
Metatags Quick позволяет назначить определенные мета-тэги для определенного компонента сайта, например, для разных типов контента, путей, таксономии или пользователя. Впоследствии вы сможете добавлять эти поля к контенту так же, как любое другое поле CCK (модуля набора создания контента). А так как эти поля поддерживают модуль меток (который вы собираетесь установить), вы также можете создать некоторые шаблоны, чтобы облегчить сознание мета-тэгов.
6. Настройте крон
В Drupal 6 настройка крона, помимо прочего, включала в себя процедуру создания команды, отвечающей за пинг cron.php через определенные интервалы, в зависимости от ваших нужд. Обычно это делалось вне сайта и, как правило, на уровне сервера. На некоторых хостингах даже приходилось обращаться в саппорт и просить их настроить вам работу крона.
В Drupal 7 настройка крона легко осуществляется через административную панель сайта. Просто укажите, как часто вы хотите запускать крон и сохраните настройки.
Частота его запуска зависит от назначения вашего сайта. Если сайт, в основном, содержит статические данные, и контент обновляется раз в пару дней, от однократный ежедневный запуск крона вполне обеспечит ваши потребности. Ну а если на вашем сайте будут публиковаться материалы, обновляемые почаще, как, например, ленты новостей, или рассылки, или различные другие сервисы вроде обновления Твиттера, вам нужно будет запускать крон чаще.
7. Приготовьтесь к перестройке реестра
Настройка нового сайта на Drupal может превратиться в сплошное разочарование, если случится что-то, что покорёжит ваш реестр. В процессе установки темы, модулей и всего прочего будут моменты, когда сайт попытается перестроить свой реестр. Беда в том, что иногда что-то сбоит во время перестроения реестра, и перед вами возникает белый экран смерти с фатальной ошибкой типа:
PHP Fatal error: Class 'EntityAPIControllerExportable' not found in ...sites/all/modules/rules/includes/rules.core.inc on line 11
Cо мной такое было всего пару раз... и оба раза я была очень рада, что нашла Registry Rebuild Module. Как все другие модули, вы подгружаете его вашу папку sites/all/modules
. И все, вам даже не надо его запускать или настраивать.
Собственно говоря, если вы можете зайти и запустить этот модуль, то он вам, вероятно, не нужен.
А если же возникает проблема, требующая перестройки реестра, просто укажите браузеру адрес http://www.yoursite.com/sites/all/modules/registry_rebuild/registry_rebuild.php
и модуль сам сделает всю остальную работу.
Стоит отметить, что это не универсальное лекарство для поломанных сайтов и он не решит любую ошибку. Это только средство для расчистки затора , препятствующего перестройке реестра, когда она необходима, как, например, при установке новой версии какого-то модуля.
8. Установите все остальные модули, отобранные вами
В зависимости от того, что именно вы хотите от сайта, вы составите небольшой перечень модулей, которые будут вам нужны. Существуют тысячи модулей
для Drupal под всевозможные цели: онлайн-обучение, благотворительность, управление проектами, онлайн-магазины и всевозможные другие, какие только можно себе представить.
Сейчас, когда память, шаблоны URL, SEO и cron настроены, самое время устанавливать модули, которые вам нужны. Обязательно просмотрите README.txt для каждого модуля на предмет нестандартных пунктов установки и настройки. Но обычно (примерно в 85% случаев) модули устанавливаются путем распаковки и загрузки их на сервер в папку yoursite.com/sites/all/modules
, а затем включением его вместе в необходимыми подмодулями.
В каждом из своих сайтов я стараюсь выполнять этот пункт очень систематично. Я загружаю и устанавливаю 2-3 модуля за раз, затем настраиваю каждый из них, прежде чем перейти к следующей группе. Устанавливая зависимые модули, такие как Views или Panels из Chaos Tools Suite, я сперва непременно загружаю и устанавливаю первичный модуль, а затем уже перехожу к модулям, зависящим от него.
9. Проверьте таксономию и категории
Этот этап, по сути, требуется в том случае, когда вы создаете свой собственный тип контента или настраиваете уже существующий.
В Drupal 7 уже изначально есть встроенный словарь тэгов. Этот словарь позволяет вам создавать свободную систему меток. Если вы хотите сделать ограниченный набор меток, вы можете создать новый словарь и добавить в него нужные термины. Некоторые модули создают свои словари. Также бывают модули, типа Hierarchical Select, которые помогут вам создать дополнительные возможности категорий.
10. Настройте типы контента
Сейчас, когда большинство CCK встроено в ядро Drupal, назначать различные типы контента стало легче, чем когда-либо. И все же существует множество дополнительных модулей, которые могут вам быть полезны, как, к примеру, модуль Link, позволяющий создавать CKK-поле для веб-адресов и ссылок.
Вы можете редактировать существующие типы контента и настраивать их при помощи CKK и полей. По умолчанию в Drupal два типа контента, Статья (Article) и Основная страница (Basic Page). В Drupal 6 и более ранних версиях типы контента назывались Story и Page). Некоторые модули, такие как Frequently Asked Questions, Poll, Forum, и Blog, добавят в список другие типы контента, которые вы также можете изменять и настраивать под свои нужды с помощью KK и полей.
Также можно создавать свои собственные типы контента. Сейчас как раз время добавить поля для ваших мета-тэгов и категорий в соответствии с вашими требованиями.
11. Укажите Drupal, как поступать с URL
После того, как вы дали вашему сайту систему человекопонятных ссылок, вам следует указать Drupal, что с ними теперь делать.
Зачем это нужно? Рада, что вы задали этот вопрос. Назначение псевдонима ссылке с помощью модуля Path не изменило саму ссылку — мы просто добавили ссылке маску, которую могут прочесть поисковики и люди.
Drupal сохраняет ссылки на весь контент в виде node/[node id]...
И для примера, приведенного мной выше, реальная ссылка осталась node/4
, и она всегда останется такой. Из этого следует, что страница будет доступна как по адресу http://www.yoursite.com/node/4
, так и по http://www.yoursite.com/ten-most-important-steps
. По очевидным причинам это очень плохо с точки зрания SEO. Вам нужно минимизировать количество ссылок, ведущих на одну и ту же страницу, а не увеличивать его!
Проблема, не так ли? Как-то не очень хочется для каждой страницы назначать свой псевдоним. А если забудете его присвоить, придется начинать сначала... проблема. И мы решим ее прямо сейчас, скачав и установит модули Pathauto, Token и Global Redirect.
Pathauto позволит нам задать шаблоны ссылок. Эти шаблоны формируют псевдонимы ссылок как из введенных вами данных, так и из меток, а затем присваивают эти псевдонимы элементу контента автоматически в момент его создания.
Так, в приведенном выше примере, у меня назначены метки для каждого типа контента. Для объявлений Сlassified Аd шаблон выглядит как classifieds/node:created(метка для даты создания контента)/node:title (метка названия контента)
. Таким образом, если я 12-го октября создам объявление под названием «Отдам котенка в хорошие руки», то моя ссылка будет выглядеть так: http://www.yoursite.com/classifieds/10-12-2011/отдам-котенка-в-хорошие-руки
.
Как только вы настроите вашу систему ссылок так, как вам по душе, форма для создания нового контента тоже изменится. Вместо поля для ввода псевдонима у вас появится checkbox, уведомляющий вас о том, что для этого контента будет создан псевдоним по шаблону, указанному вами ранее.
Если же вы не хотите, чтобы псевдоним создавался автоматически, снимите птичку и введите псевдоним вручную.
Для того же, чтобы две ссылки не вели на одну и ту же страницу, в дело включается Global Redirect. Этот модуль будет выполнять пару задач для того, чтобы посетители вашего сайта, переходя на страницу, всегда видели для нее один и тот же URL.
Как уже упоминалось выше, Drupal всегда сохраняет ссылки в виде node/[node id]
, для того примера номер ноды был 4. Очень важно, чтобы так оно и оставалось, потому что некоторые модули используют именно эту систему ссылок Drupal, так что менять ее мы не хотим. Но при этом мы хотим быть уверены, что все наши посетители будут видеть именно вариант ссылки с псевдонимом, а не загадочный node/4
. Чтобы так оно и случалось, Global Redirect выполняет проверку на наличие псевдонима и автоматически использует перенаправление 301 (301 Permanently-Moved Redirect), чтобы переместить посетителя, будь то спайдер, робот или человек, на ссылку-псевдоним.
Я не зря настаиваю на установке этих модулей на ранних стадиях, так как Pathauto не работает назад. Это значит, что если вы решите подождать и установите модуль позже, после того, как вы уже написали кучу статей, вам придется создавать и обновлять ваши псевдонимы для всего уже существующего на момент установки модуля контента. Для всех же новых статей, созданных после окончания его установки, он будет срабатывать автоматически.
12. Настраиваем поиск
Поисковой инструмент настраивать, в общем-то, несложно. Важно только учесть, что чем раньше мы выполним эту задачу, тем проще будет это сделать. Новый контент, по ходу добавления на сайт, будет индексироваться для поиска каждый раз при запуске крона. А если вы дотянете с конфигурацией настроек поиска до того, что уже будет написано десятка два страниц, то потребуется несколько запусков крона, пока вся информация сайта проиндексируется.
Чтобы сдвинуть дело с мертвой точки, выставьте настройки поиска по сайту. Вы можете указать, сколько статей индексировать за один проход крона, что нужно индексировать — контент, пользователей или и то, и другое, а также в какой порядке выводить результаты.
Если вы планируете делать расширенный поиск или поиск с учетом расстояния, вам все равно стоит выставить начальные настройки, прежде чем переходить к чему-то большему и лучшему.
13. Настройте меню и начинайте писать контент
По умолчанию, в Drupal 7 есть 4 меню: Главное (Main Menu), Управление (Management Menu), Меню навигации (Navigation Menu) и Меню пользователя (User Menu).
По мере того, как я начинаю писать первичный контент на сайт, вроде условий использования страниц, а то и сами страницы, я считаю разумным одновременно настраивать меню. К примеру, на одном из сайтов я так и назвала меню — Условия, оно содержало ссылки на все страницы условий использования этого сайта.
Итак, сперва я добавляю новое меню, затем создаю под него страницы, и непременно добавляю их в это меню. Я стараюсь добавлять все на сайт крайне систематично, сперва удостоверяюсь в том, что один раздел завершен, прежде чем перехожу к другому. Однако, это мой личный подход, и совсем не обязательно поступать именно так.
Сейчас также самое время начать создавать свои собственные виды Views, которые будут нужны на сайте. В некоторых модулях содержатся встроенные виды, а в модуль Views включены несколько дефолтных видов, которые можно настроить под свои цели.
14. Подготовьтесь в бэкапу
Модуль Backup and Migrate — это отличное начало для подготовки бэкапа сайта. Это не оптимальное решение всех вопросов, связанных с резервным копированием, но определенно облегчает процесс.
Этот модуль загружается и устанавливается стандартно, в папку sites/all/modules
на сервере. С его помощью вы можете настраивать расписание создания бэкапов, указывать место их записи и даже задавать шаблон названия файла бэкапа.
На сегодняшний день нет ни одной стабильной версии модуля, который бы выполнял всю работу по созданию бэкапов, но этот доступен для тестирования. Модуль Backup and Migrate поможет вам создать копию базы данных и всего, что хранится в ней. Хотя я никогда не имела с ним никаких проблем, разработчики пока не дают гарантии его работоспособности. Так что, если вы пользуетесь этим модулем, непременно имейте про запас план Б на вашем хостинге.
15. Стартуем с уменьшенным количеством HTTP запросов
Наконец насталет время запускать ваш сайт. Как вы это будете делать, целиком и полностью решать вам. в зависимости от количества скриптов, CSS файлов и запущенных на данный момент модулей, время загрузки вашего сайта может быть очень разным.
Перед самым запуском сайта зайдите в Performance Settings и установите настройки кэша.
Существуют модули и блоки, работа которых несовместима с кэшированием, например модули Aggregator или обновление Twitter. Практически все остальные работают с настройками кэша.
В Performance Settings вы можете указать, как поступать с кэшем, как часто должен обновляться кэш страниц и как долго внешние источники могут использовать кэшированную страницу.
Также вы можете упаковать ваши файлы CSS и JavaScript. Это уменьшит количество HTTP запросов, совершаемых про каждой загрузке страницы, а также сократит время загрузки, существенно ускоряя работу сайта после запуска.
Также, перед окончательным запуском сайта в работу, будет неплохо изменить настройки сообщения об ошибках на сайте. По умолчанию, Drupal показывает сообщение о каждой ошибке поверх всех страниц, и они будут видны всем посетителям сайта.
Чтобы этого избежать, зайдите в раздел, отвечающий за ошибки, и установите переключатель в режим «Не отображать никакие сообщения об ошибках» (None)
Сайт запущен!
В это трудно поверить, но это так! Пятнадцать простых действий — и ваш сайт в работе. В зависимости от того, что именно вы создавали, эти действия могли оказаться четь сложнее или, наоборот, проще, чем я описала. И, конечно, могли быть другие этапы, которые нужно было выполнить под ваши конкретные цели.
Вы даже можете решить выполнять эти пункты в ином порядке, чем я предлагаю. Чем больше вы будете работать с Drupal, тем более протыми вам юудут казаться эти шаги. И тем лучше вы сможете продумать свою собственную оптимальную последовательность действий.
Переводила Дежурка, оригинал можно посмотреть на onextrapixel.com
16 декабря 2011 в 8:01
Спасибо, полезно. Систематизирует всё в голове
10 января 2012 в 13:17
Коротко и основательно рассмотрены основные моменты.
Спасибо =)
21 февраля 2012 в 22:31
Комментарий скрыт из-за рейтинга
27 мая 2012 в 15:52
Если я правильно понял то Ваш сайт на Joomla — почему так?
2 сентября 2012 в 13:43
Хоть бы автора указали... Она действительно хорошо изложила материал.
2 сентября 2012 в 13:54
Прошу простить, за невнимательность. Спс за статью.))
19 ноября 2012 в 9:44
поправьте орфографические ошибки.
15 февраля 2013 в 20:47
Очень интересно, поучительно, постараюсь придерживаться данной схемы
28 октября 2013 в 20:05
У вас странные величины для лимита памяти php. Такие корректны? Всегда назначают величины, кратные 8 — 8, 16, 32, 64, 128... А у вас — 96. CPU будет использовать все эти 96М?
20 февраля 2014 в 9:08
Для Drupal 7 необходимо от 128Mb памяти:
drupal.org/requirements/php
Рекомендуется от 256Mb. На всех хостингах ориентированных под Drupal установлено от 256 Mb.
13 октября 2014 в 19:17
Спасибо!
4 декабря 2014 в 15:59
Спасибо, все понятно и красиво 8)
1 апреля 2015 в 17:51
Класс!!!