8 (495) 215-53-73

В Москве

(048) 737-5-736

В Одессе


Главная страница Блог Технические аспекты Вы не любите Joomla!? Вы просто не умеете ее готовить

Блог SiteClinic

Вы не любите Joomla!? Вы просто не умеете ее готовить

Это многофункциональная бесплатная CMS. В данной статье я буду говорить о возможностях веток 2.5.х и 3.х. Рассматривать 1.х смысла нет, так как она не поддерживается уже несколько лет.
В системе периодически находят дыры в безопасности и главное «лечение» от них – обновление. Поэтому первой рекомендацией будет установка только самой свежей версии Joomla! и последующее периодическое ее обновление до stable-версии.

Назначение
Одно из основных преимуществ Joomla — популярность. Это значит, что есть огромное количество программистов, которые смогут создать для вас сайт на данной CMS. Кроме того, есть много расширений (компонентов, модулей и плагинов), позволяющих реализовать на данной системе сайты практически любого вида (магазины, каталоги, информационные сайты, форумы и т. д.), и при этом многоязычные.
Технические аспекты. Система написана согласно концепции MVC (хорошее объяснение, что это такое, можно прочесть в статье-обзоре CMS систем).

Настройка
Как таковая установка/настройка сайта на Joomla – достаточно быстрый и несложный процесс.
Многие хостинг-провайдеры включают множество бесплатных систем управления контентом во все свои тарифные планы, сокращая таким образом время установки. В таком случае в нее входит заполнение данных о БД и учетных данных админа системы управления, папка расположения сайта и клик по кнопке «Установить».
После установки CMS Joomla! вы увидите ее админку (версия 2.5.4):

Рисунок 1 – Панель управления CMS Joomla! (версии 2.5.4)

Кратко об основных составляющих CMS Joomla!
Каждому из пунктов главного меню панели управления можно посвятить по статье, а некоторым и по несколько (что и делают многие разработчики сайтов на Joomla и авторы блогов о ней же). Но я бы выделила Менеджер расширений. О назначении остальных элементов панели управления можно разобраться по названию.

Существует 4 типа расширений Joomla!

Компонент – это основное средство расширения функционала Joomla. Чтобы была понятна его мощь, приведу примеры типов компонентов: интернет-магазин (Virtuemart, Joomshoping), форум (Kunena), галерея (JoomGallery), компонент социальной сети (JomSocial), блог (EasyBlog). Таким образом, компонент — это целый набор скриптов, которые выполняют конкретную функцию, зачастую определяя вид всего сайта (например, интернет-магазин) либо целого раздела (галерея, форум, блог).
У компонентов есть своя админпанель с множеством настроек. Содержимое компонента выводится в основной области сайта.

Модуль – это дополнительное средство расширения функционала CMS. Модуль может использоваться самостоятельно или дополнять какой-либо компонент. Примеры модулей:  меню, «хлебные крошки», вывод количества пользователей/гостей онлайн, модуль корзины, «лучшие товары» (как дополнение компонента интернет-магазина) и т.д. Выводятся модули в определенных областях сайта согласно шаблону. Зачастую в пакете с модулем может идти плагин.

Плагин – это небольшой скрипт, выполняющий одну функцию, обычно он работает как обработчик при возникновении определенного события. Примерами плагинов могут быть: плагины перенаправления (стандартный, входит в базовую сборку Joomla!), поиск по сайту, поиск по интернет-магазину (в дополнение к компоненту интернет-магазина).

Например, при установке компонента К2 (компонент управления контентом, «основа» под информационный сайт, блог, включает модуль статей, комментариев, управление пользователями, теги и т.д.) параллельно устанавливается группа модулей и плагинов (рис.2), которые отдельно активируются в соответствующих менеджерах (рис.4).

Рисунок 2 — Установка компонента К2

Шаблон – набор файлов, определяющих дизайн вашего сайта либо админпанели.
Обычно шаблон представляет собой файл index.php (в нем описаны позиции, в которые выводятся различные модули и контент), набор файлов стилей и js-скриптов, несколько системных файлов и, конечно же, папку с картинками. Кстати, в Joomla! можно для нескольких разделов сайта и отдельных пользователей устанавливать разные шаблоны. По-моему, существенный плюс системы.
Существует огромное количество источников бесплатных и платных шаблонов, а также специалистов, которые могут сделать для вас уникальный дизайн. Выбирая готовый шаблон, нужно внимательно изучить его совместимость с компонентами Joomla!, которые вам могут понадобиться.

Менеджер расширений (рис.3) – это инструмент установки шаблонов, компонентов, модулей и плагинов. В версиях до 3.2 эта установка расширений выглядела так: предварительно скачиваете архив с нужным расширением (следуя инструкциям на официальном сайте) и через данный менеджер устанавливаете в пару кликов. Вот так все просто (правда, бывают исключения).
Особенности использования: через данный менеджер вы можете установить расширение, настройка же производится в другом соответствующем менеджере (а то и в нескольких).

Примечание: Модули, как и плагин, нужно опубликовать после установки, а шаблон выбрать «шаблоном по умолчанию» в соответствующих менеджерах (рис 4., рис.5).

Хочу обратить внимание на нововведение (долгожданное) в Joomla! 3.2 – устанавливаемый в Менеджере расширений плагин Install from Web (рис.3), который позволяет прямо в админке искать и устанавливать нужные расширения. Меня очень радует такая возможность, т. к. я давно оценила удобство подобной системы поиска/установки в WordPress и часто замечала, что ее не хватает в Joomla!

Рисунок 3 — Менеджер расширений

 

Рисунок 4 — Менеджер модулей

 

Рисунок 5 — Менеджер шаблонов

Выше уже писала, что не всегда просто установить расширение через админку, в таких случаях приходится распаковывать архив, закачивать через ftp-клиент расширение в папку tmp (системная папка Joomla, находится в корне системы) и указывать в менеджере расширений путь к папке с устанавливаемым компонентом (плагином/модулем). После установки не забудьте почистить папку tmp, оставив в ней только  index.html.

Эту проблему можно отнести к минусам системы, возможно, поэтому Joomla и называют «прожорливой», т.к. данная проблема чаще встречается при установке больших расширений и при этом на небольших хостингах.

Кратко о видах сайтов, которые можно создать с помощью Joomla!

Как говорится в одном старом фильме:
В принципе ничего нет невозможного. — Вы думаете? — Для человека. С интеллектом.

Теперь, когда вы примерно понимаете структуру и принцип работы сайта на Joomla!, несложно догадаться, что в зависимости от вида сайта, который вы хотите создать, нужно выбрать соответствующий компонент, набор модулей/плагинов и шаблон.

Для Joomla разработаны компоненты для создания блогов, форумов, интернет-магазинов, каталогов, социальных сетей, галерей, информационных сайтов, корпоративных сайтов и сайтов-визиток.

Сайт-визитка, информационный сайт, корпоративный – все это можно сделать, используя базовую комплектацию CMS Joomla!, несколько модулей/плагинов SEO и, например, комментарии и плагин галереи.

Оптимизация
Теперь поговорим о том, что интересует каждого читателя нашего блога – оптимизация сайта на Joomla. Один из важных моментов в оптимизации сайта и в привлекательности его для пользователя — это понятные ссылки. Поэтому первым делом необходимо включить ЧПУ. Для этого в панели управления Joomla найдите пункт «Общие настройки» и установите переключатели на «Да» для следующих пунктов:

  • Включить SEF (ЧПУ)
  • Перенаправление URL

Далее найдите в корне сайта (по ftp) htaccess.txt и переименуйте в .htaccess.

Для каждой статьи предоставлены поля meta-keywords, meta-description, но title, отличный от заголовка статьи, задать нельзя. Существует несколько решений данной проблемы:

  • привязать материал к пункту меню и в его настройках указать уникальный title, что не всегда удобно/возможно (например, если у вас 100 статей, каждой по пункту меню выделить нереально);
  • написать скрипт, с помощью которого можно будет установить title;
  • или поставить расширение для работы с метатегами.

Существует множество платных и бесплатных расширений для управления SEF/SEO. Среди самых популярных, удобных и многофункциональных я бы отметила компоненты sh404SEF (для Joomla версий V2.5, V3.x) и Artio JoomSEF. В данных расширениях есть возможность через удобную админку в одном месте сразу установить нужные метатеги и title, удалить дубли страниц, установить rel="canonical" и т. д. Для отдельных компонентов существуют свои дополнительные SEO-плагины.

Дубли. Многие, кто интересуется данным вопросом, знают, что еще одним минусом (который пугает большинство потенциальных пользователей) данной системы управления являются дубли. Но эта проблема решается с помощью компонента перенаправления (предварительно плагин перенаправления нужно активировать в менеджере плагинов). В настройках данного компонента можно управлять старыми/новыми ссылками, включая/выключая редиректы по вашему усмотрению. Также необходимо настроить перенаправление для главной страницы (что естественно при оптимизации любого сайта).

Карта сайта – плагин Xmap. Можно настроить карты в форматах html и xml. Потом не забудьте указать линк на вашу xml карту в файле robots.txt. В том же robots.txt, который лежит в корне сайта, удалите строку, закрывающую от индексации папку с картинками. Да-да, это глупо, но такая строка есть :).

Скорость. Что касается скорости загрузки сайта на Joomla: главный совет — не ставьте ничего лишнего (это правило одинаково для всех CMS). Продумайте тщательно, какие функции вам нужны, найдите оптимальный вариант между «удобно», «необходимо» и «просто красиво» (а это нужно сделать владельцу и разработчику любого сайта). В зависимости от того, какие расширения и в каком количестве вы на систему «навешаете», будет понятно, нужен вам разгон или нет. Провести тест скорости сайта и выбрать методы ускорения загрузки можно с помощью Google Page Speed (как и для любого сайта).

Что касается удобства для администратора сайта – приятно, что есть возможность редактирования и создания материалов (при выведении соответствующего пункта меню) на сайте с фронтенда. Таким образом, если вы -– владелец информационного сайта на данной системе управления, а основные его страницы -– это материалы, то вам даже не придется заходить в админку. Достаточно будет авторизоваться с фронтенда, создавать статьи и редактировать существующие.

Я постаралась указать основы общения с CMS Joomla как для разработчика, так и для оптимизатора и администратора сайта. Надеюсь, статья была полезной. Жду комментариев.

Удачного общения с CMS Joomla!

Оцените статью: 
1 Star2 Stars3 Stars4 Stars5 Stars (2 оценок, среднее: 5,00 из 5)

Автор: Анна Себова, PHP Developer

a.sebova@siteclinic.ru

Google+

Подписаться
Наверх
  • Денис

    Это раньше Joomla была популярной, сейчас все больше рулит WP (WordPress). Лично знаю некоторых разработчиков, которые с радостью перешли на Modx Revolution. Сам с ней работал и понял на сколько удобна и функциональна. Еще одна проблема Joomla это разработка расширений даже теми, кто 5 минут как научился писать "Hello World!". А это ГК (говнокод)! Аналогов для Joomla полным полно, но Joomla всегда была и будет гигантом в Web сфере, но такая cms годится только для малого бизнеса и лишь для обучения. P.S. Рекламы CMS не было. P.P.S. Я отказался от Joomla давным давно

  • Александр

    Анна, хотелось бы положительно отметить Ваши усилия по написанию этой статьи — материала изложено достаточно много, но интрига заголовка не раскрыта, к сожалению.  Я как раз отношусь к числу тех, кто подозревает о себе, что не умеет "готовить Джумлу", но после прочтения статьи энтузиазма с установкой у себя не заметил. Несколько раз ее ставил, даже на хостинге где-то стоит, но ощущение — "не мое" не оставляет меня при использовании данной системы. Даже WordPress вызывает меньшее отторжение, как пользователя. Хотя, например, мой сын за день написал себе плагинчик для Джумлы для вывода результата парсинга прайсов супермаркетов. Вроде доволен. но убеждать меня перейти на сторону Джумлы не хочет. Сам я пишу под Yii, раньше писал под Symfony. Может имеет смысл раскрыть какие-то преимущества системы по сравнению  с  конкурентами,  показать измеряемые результаты сравнения. Удачи Вам. Анна  

  • Анна

    Спасибо, Анна, за статью. Я также больше люблю Joomla, нежели другие CMS, хотя есть мнение, что её сложно настраивать. Но для меня она имеет более понятный интерфейс, чем та же WP.

  • Дмитрий

    Джумла не предназначена для SEO

  • Анна Себова

    Прежде всего, всем спасибо за отзывы!

    Денис, с тем, что система годится больше для малого бизнеса, могу согласиться, в основном это так и есть. Но при желании и определенном опыте работы с данной CMS можно сделать и больше.

    Александр, вы правы, при сравнении нескольких CMS проще понять и объяснить, в чем конкретные преимущества и отличия одной системы от другой, данная статья — обзор конкретно Joomla, но я подумаю о проведении определенных опытов и сравнений и напишу об этом позже.

    Дмитрий, можно сказать, что ответ Анны (а она оптимизатор, который занимался многими сайтами на Joomla) для вас.

  • Владимир

    Все вроде ничего, но тольок блин будли!!! Сторонние компоненты — это зло, они не всегда справляются с дублями. Если еще стоит несколько копмонентов, а не тольок материалы джумлы, то каждый ройтер живет своей жизнью. В итоге по 2-3 будля каждой страницы + система часто дублирует страницы по заготовкам и мета тегам, тоже не очень хорошо. А как на WP у вас? хотел пробовать перейты, но не настроюсь никак…

    • Спасибо, Владимир, за комментарий. Дубли — все от настройки зависит и от выбора компонентов. Слишком много факторов, которые нужно учесть создавая сайт на Joomla и, согласна, это многих отпугивает, но практически от всех "болезней" джумлы есть "лекарства" в сети. По поводу WP — с ним действительно меньше танцев для разработчика, но и там можно дублей наделать — взяв чью-то кривую тему или при создании самому что-то не учесть. Но это больше по неопытности. В целом с WP действительно проще найти общий язык.

  • Сергей

    Автор написал все правильно. Joomla очень мощьный движок из существующих cms лучше просто не найти. Убрать дубли, оптимизация это все дело знаний данного движка и его болячек которые с легкостью лечатся. Движков на которых можно поставить такой функционал как на joomls за считанные минуты просто не существует, а если и существует то все они не функциональные. Так же хочу отметить, что joomla на хостинге за 1000 рублей держит в сутки по 1 200 000 уникальных посещений с включенным кешированием.