Сьогодні у мене в гостях Антон Шитиков shitikoff , який розповість про створення сайтів на движку Joomla.
Система управління вмістом Joomla! є відгалуженням широко відомої CMS Mambo. Команда незалежних розробників відокремилася від проекту Mambo через незгоди в економічній політиці. 16 вересня 2005 року в світ вийшла перша версія Joomla!, є по суті перейменованої Mambo 4.5.2.3 і включає в себе виправлення знайдених на той момент помилок і вразливостей.
В даний час актуальна версія 1.7. Версія 1.0 вважається застарілою, її офіційна підтримка припинено 1 липня 2009 року. Підтримка версії 1.6 припинена з 19 серпня 2011 року.
Частина 1 – установка Joomla
Завантажуємо архів з CMS з будь-якого сайту зі списку
- http://joomla.org
- http://joom.ru
- http://joomlaportal.ru
і розпаковуємо на свій комп’ютер.
Налаштування сервера для Joomla
Краще використовувати версію PHP 5.2.хх Мінімальний набір бібліотек, необхідний для хорошої стабільної роботи CMS (як приклад – налаштування nic.ru)
Частина 2 – установка компонентів, модулів і плагінів
Що таке компонент? Простими словами, компонент Joomla являє собою міні-систему управління, яка відповідає за певну функцію (наприклад, створення форми зворотного зв’язку або фотогалереї). Якщо я не помиляюся, це аналог модулів Drupal і плагінів WordPress.
Що таке модуль? Модуль служить для виведення будь-якої інформації в певній частині сайту.
Що таке плагін? Плагіни в Joomla поділяються на системні (додають функціонал в ядро Joomla) і контент-плагіни (як приклад, вставка певного html коду в статтю).
Де скачати? У Joomla є сайт з розширеннями під будь-які потреби — Joomla! Extensions Directory .
http://extensions.joomla.org/extensions/top-rated – топ-100 розширень для Joomla за оцінками
Як встановити: компоненти, модулі та плагіни встановлюються через меню «Розширення-Встановити/Видалити»
Що ставити? Це залежить від того, якого функціоналу від сайту ви хочете добитися – дослідіть Joomla! Extensions Directory і форуми російської підтримки, і ставте необхідні вам доповнення.
Нижче я опишу лише необхідні, на мій погляд, розширення, без яких не обходяться мої сайти.
Безпека
З того, що представлено в топ-100, обов’язково потрібно завантажити два безкоштовних компонента від Akeeba – Admin Tools і Akeeba Backup.
Admin Tools дозволяє без проблем оновлювати вашу версію CMS, змінювати суфікс БД, фиксить таблиці бази даних, змінювати рівні доступу, змінювати кодування таблиць БД і багато іншого.
Akeeba Backup – створення бекапів, 5 типів бекапа, серед яких бекап головною БД або всього сайту або тільки файли. На додаток до цього компоненту йде плагін автоматичного створення бекапів – Akeeba Backup Lazy Scheduling (за замовчуванням вимкнено)
Величезний плюс даних компонентів – оновлюються прямо з адмінки.
Для міграції з версії Джумлы 1.5 до версії 1.6-1.7 можна використовувати розширення jUpgrade, але я роблю огляд розширень саме для версії 1.5.
Також раджу ставити secure – плагін платний, але досить його ранньої версії. Кому зручно купити – купіть, кого жаба душить – сам знайде, де дістати.
Різне корисне
- Є сайт http://nonumber.nl (сайт програміста Peter van Westen). Вивчаєте, завантажуєте менеджер розширень і ставите з адмінки все, що побажаєте. З розряду «must have»-розширень, вкажу його Cache cleaner – плагін миттєвої очищення кеша з адмінки з безліччю налаштувань.
- JCH Optimize — відмінний плагін оптимізації сайту (Gzip-стиснення і комбінування JS і CSS і т. д.)
Про розширення для SEO поговоримо у відповідній главі
Частина 3 – Створення шаблону
http://joomlaforum.ru/index.php/topic,9638.0.html – стаття на форумі російської підтримки Joomla. Дослідимо index.php трехколоночного шаблону за адресою /сайт/templates/ваш_шаблон/index.php:
/** * @copyright Copyright (C) 2005 — 2008 Open Source Matters. All rights reserved. * @license GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative works of licensed under the GNU General Public License, or * other free or open source software licenses. * See COPYRIGHT.php for copyright notices and details. */
// no direct access – забороняємо прямий виклик файлу /сайт/templates/ваш_шаблон/index.php
defined( ‘_JEXEC’ ) or die( ‘Restricted access’ );
?>» lang=»language; ?>» >
Розберемо нашу структуру
У модулів є різні умови для відображення, читаємо про це тут: http://joomlaforum.ru/index.php/topic,67278.0.html. Ще посилання про створення нових стилів виводу модуля у файлі modules.php
Підсумок: процес створення шаблону для Joomla вимагає знання html і CSS.
В Joomla SEO
Одна з проблем Joomla – SEO.
Не поспішайте розчаровуватися, в стандартному функціоналі є все необхідне для успішного просування сайтів.
Але не всі розширення підтримують дружні посилання (SEF). А також для багатьох розширень неможлива функція для заповнення meta-тегів для кожної сторінки. Наприклад, цим «славиться» самий великоваговий магазин на Джумла – Virtuemart.
SEF
Особисто я ніколи не використовую розширення для SEF – для більшості сайтів вистачає вбудованого SEF Joomla (включається в меню «Сайт — Загальні параметри — сайт — встановлення Search Engine Optimization») . З недавніх пір я почав додавати суфікс до URL, на скріншоті ця опція вимкнена. 
Опис, плюси і мінуси розширення для SEF можна знайти тут: http://joomlaforum.ru/index.php/board,108.0.html. Деякі з описаних компонентів дозволяють також прописувати мета-дані для кожної сторінки.
SEO
Будь-статті в Джумла можна прописати мета-теги, але нормально це можна зробити лише якщо ви привласнюєте кожній статті (матеріалу) пункт меню (я так роблю для невеликих сайтів), що, погодьтеся, дуже прикро, якщо ви ведете блог і у вас в категорії йде список матеріалів (у такому разі назва матеріалу дублюється в title і змінити його можна лише змінивши заголовок матеріалу).
Розширення для SEO
Список їх знайдете тут: http://extensions.joomla.org/extensions/site-management/seo-a-metadata/. В основному, розширення для SEO в Joomla виконують функцію автоматичної генерації keywords і description. Але є і більш адекватні, з яких:
- Smart SEO v0.7b – аналог битриксовского рідного модуля для SEO-оптимізації. Платне розширення (15$). Подейкують, що створює для кожної сторінки додатковий запит до БД
- Meta Tag – безкоштовний компонент і плагін для управління мета-тегами сайту. Можна привласнити кожній ссылке свої мета-дані
- JSEOPlugin 2.1 знайдете на сайті Леоніда Тушова, http://tushov.ru/downloads
Плагін дозволяє «брэндировать» title, роблячи їх виду «заголовок матеріалу – назва сайту» а також дозволяє закривати від індексації зовнішні посилання і автоматично генерувати keywords і description (перевірено, не завжди якісно).
Соціальні закладки в Joomla
Для стандартних матеріалів Джумлы раджу використовувати плагін SocButtons – кнопки соціальних мереж Facebook, Twitter, ВКонтакте, Google +1, Мій Світ.Також один із самих популярних плагінів – ValAddThis plugin. Модуль Twitter FollowMe.
Для вашої зручності на JED створений цілий розділ для «соціалізації» вашого сайту.
Для CCK можливий висновок віджетів для кожної сторінки в модулі «html-код» (створюються в менеджері модулів Джумлы), скопіювавши туди коди віджетів і потім вставивши цей модуль в потрібне місце шляхом запису {loadposition назву позиції} або користуємося плагіном Modules Anywhere.
Також, якщо вам потрібно вбудувати соцзакладки в шаблон якого-небудь компонента, можна скопіювати код віджету (наприклад, код віджету «Поділитися» від Яндекса)в потрібне місце шаблону.
Дублі сторінок
Дублі сторінок, як відомо, проблема багатьох безкоштовних і платних, (привіт, Бітрікс!) CMS. Боремося з ними стандартним методом – закриваємо їх в robots.txt і використовуємо 301 редирект там, де це можливо. Описувати якийсь стандартний robots.txt не має сенсу – для різних компонентів використовуються різні записи.
Перед запуском проекту закриваємо всі не-SEF url. В інструментах для вебмайстрів Google працюємо з параметрами url. Обговорення: Правильний robots.txt? Як закрити дублі сторінок VirtueMart і зробити для нього ідеальний robots.txt.
Карта сайту
Найпопулярнішим розширенням для генерації карти сайту на Joomla є
Xmap + доповнення для різних компонентів
Інші компоненти для генерації карт сайту
Ну і не забуваємо http://xml-sitemaps.com для невеликих сайтів.
Перелінковка
1. Linkr – компонент + кнопка редактора для ручної перелінковки статей Joomla
Нижченаведені розширення дуже давно підгледів у Олени Камськой, але їх не використовую.
2. SeoLinks (умовно безкоштовний копірайт автора прибирається за гроші)– автоматична перелінковка сторінок за ключовими словами. Плагін автоматично знаходить у текстах сторінок вказані слова (виду машина=http://site.ru/mashina.html) і замінює їх на посилання.
3. TitleLink – перехресна перелінковка матеріалів на базі заголовка статті. Його можна використовувати для перелінковки разом з SeoLinks.
Якщо ви використовуєте CCK – у багатьох компонентів є вбудована функція додавання схожих матеріалів, в тому числі і автоматична.
Корисності: PageNav – змінює стандартну посторінкову навігацію за статтями (попередня-сдедующая) на заголовки статей. Підбірка 53 корисних плагін для Joomla 1.5 від Олени Камськой.
Коментарі
JComments – компонент коментарів з великою кількістю налаштувань прав доступу і зовнішнього вигляду. По посиланню також доступні плагіни та модулі даного компонента.
Постинг через мобільні пристрої
Joooid
Живі приклади сайтів
Окремо зазначу роботи Палича: http://palpalych.ru/portfolio.html і http://www.axaple.ru/. Цікаві рішення є у http://webstudio.pro/. Роботи форумчан Joomlaforum.ru: Кращі роботи, гідні роботи і цікаві рішення.
Дякую за цікавий пост.
Терехов.