Видео некоторых моих докладов про SEO и Drupal

У меня в очередной раз спросили, где можно посмотреть видео-записи моих «сеошных» докладов про Drupal. Не все мои выступления мне кажутся удачными и не мероприятия в России и СНГ записываются на видео (и в этом есть свой плюс: на тематические мероприятия надо ходить ногами, общаться там «в живую» с коллегами и конкурентами, узнавать новости из первоисточников), но, тем не менее, несколько не самых свежих ссылок на видео у меня всё-таки есть. (далее…)

Решение проблемы: Доступ запрещен после авторизации в Drupal

Если вы пытаетесь авторизоваться в Drupal, вводя правильный прежде пароль, но вдруг неожиданно получаете «Доступ запрещен» (Access Denied, 403-ую ошибку). А ведь раньше всё работало (и вы ничего не меняли).

Отправляйтесь проверять базу данных!

Скорее всего, у вас просто покрешилась таблица, хранящая сессии в БД. Когда вы загляните в таблицу, то увидите что-то вроде:

#144 - Table './db/sessions' is marked as crashed and last (automatic?) repair failed

Чините таблицу. А если не починится, то очищайте таблицу sessions полностью (сессии потерять не страшно, всем пользователям, включая администратора, придётся всего навсего перелогиниться заново).

Drupal 7 на SQLite. Некоторые тесты и миграция с SQLite на MySQL и обратно

Drupal 7 «из коробки» поддерживает сразу несколько хранилищ, а именно: СУБД MySQL, PostgreSQL, SQLite. Это значит, что уровень абстракции существующий в API Drupal`а, гарантирует, что одни и те же модули (и сайты в целом) будут с одинаковым успехом работать на любой из этих баз данных. Есть, впрочем, модули пользующиеся специфическими возможностями конкретных СУБД, например, модуль Similar Entries, предназначенный для выборки похожих материалов, устанавливает эту самую похожесть с помощью MySQL FULLTEXT (и, значит, на другой СУБД такой модуль не заведётся). Но такие монстры как Views написаны в соответствии с API, поэтому прекрасно себя чувствуют на любых хранилищах.

Кроме PostgreSQL, MySQL, SQLite поддержка других хранилищ возможна на уровне дополнительных модулей (драйверов). Например, модуль sqlsrv дружит Drupal с Microsoft SQL Server 2008+ и с облачным SQL Azure. Кстати, разработку этого драйвера спонсировала известная в Drupal-тусовке контора Commerce Guys (главный контрибьютор модуля Commerce). Есть разные решения для поддержки NoSQL-хранилищ (например, модуль для выноса в MongoDB кеша, сессий, блоков и пр.), но совсем без реляционного SQL`а наш Drupal не запустится (а надо ли?). А теперь вернёмся к SQLite…

Каким должен быть идеальный виртуальный хостинг (в том числе и для Drupal 7)

Как сказал кто-то из великих:

Идеала достичь невозможно, но стремиться к этому нужно.

Поэтому сегодня я пофантазирую о том, каким должен быть идеальный виртуальный хостинг.

Фантазировать буду, безусловно, со своей колокольни: у нас в агентстве для своих нужд виртуальный хостинг уже давно не используется, мы сначала перешли на VDS, а потом и на выделенные железные серверы. Соответственно, для собственных и регулярно поддерживаемых клиентских проектов — вопрос с хостингом решён так, как нам нравится и кажется правильным (dedicated). Но к нам довольно часто обращаются за разовой поддержкой клиенты со стороны. И тогда мы отправляемся покорять чужие виртуальные хостинги от самых разных провайдеров. Подобные визиты часто оканчиваются печалью.

На этот пост меня спровоцировал мой любимый трижды лучший сотрудник месяца компании Мастерхост — Иван (знакомьтесь, фоловьте):

Речь перед этим твитом зашла о лютых ограничениях на «Мастерхосте», с которыми мы недавно столкнулись, пытаясь завести на упомянутом хостинге сайт, построенный на базе Drupal 7. Вообще, «Мастерхост» — это лишь яркий пример и достойный повод, странных хостеров — хватает и без них. Далее перечислю наиболее типовые странности хостеров, мешающие жить и работать. Читайте далее…

Мультисайтинг на Drupal 7 с использованием поддиректорий вместо доменов

В рамках одного из последних проектов потребовалось развернуть независимую англоязычную копию сайта. Многоязычного решения (привет, http://drupal.org/project/i18n) не требовалось, потому что структура сайтов планировалась очень разная (проще говоря, при большом основном сайте нужна временная небольшая английская версия).

Разворачивать две инсталляции Друпала — было бы позором. Ибо поддерживать такой огород в дальнейшем — не реально. Очевидный выход — мультисайтинг. Но нюанс был в том, что заказчик хотел видеть английскую версию не на поддомене, а хотел — в поддиректории (в подпапке).

Читать дальше о том, как настроить мультисайтинг в Drupal 7 с использованием поддиректорий…

Собираемся в Минск

Я в Белоруссии раньше не был, мало чего о ней знаю, кроме того, что прочитал в блогах. Ну, и, конечно, я, исходя из недавних событий, знаю, что там казнят людей.

Вообще поездка намечается как бы даже по делу — на DrupalCamp 2012. Докладчиком не заявлялся. Возможно, это будет мой первый кэмп, куда я съезжу исключительно послушать.

P.S. Надо срочно переносить этот бложик на Drupal, а то совсем не правоверно как-то выходит.