Моя история освоения Joomla и мануал по внутренней оптимизации Joomla 2.5

Здравствуйте, уважаемые читатели. Я давно уже не писал ничего про Joomla, но теперь у меня появился весомый аргумент – совместный конкурс от Bizzteams и TemplateMonster «Joomla: от любви до ненависти и обратно». Эта статья как раз  будет написана в рамках данного конкурса,  и в ней я расскажу историю своего знакомства с Joomla, а также ещё мнооого интересного. =)

Joomla стала первой серьёзной CMS, которую я начал изучать. Решение выбрать именно её, конечно, пришло не сразу…

Давным-давно…

Больше полутора лет назад я решил, что пора уходить с Ucoz, становится настоящим «суровым» вебмастером и создавать  Сайт с большой буквы. Начались поиски новой системы управления сайтом,  которая подойдёт новичку. Выбор пал на одну из трёх – WordPress, Drupal или Joomla. Но, как я выяснил, WP была наиболее пригодна для блогов, а Drupal оказалась слишком сложна для таких новичков, каким был я. Кстати, вот отличная сравнительная инфографика, кликайте 🙂

Вот и осталась одна Joomla, к изучению которой я немедленно и приступил. На то время актуальной версией была 1.5. Сразу покупать хостинг это, конечно, было для меня слишком круто, поэтому я ограничился установкой Denwer’а – виртуального хостинга прямо на компьютере.

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

Начал собирать необходимые компоненты. Вот что я тогда нашёл:

  • Jcomments – до сих пор, пожалуй, лучший компонент по выводу комментариев. Никаких сложностей. Установил – работает.
  • JCE – нормальный человеческий редактор для форматирования публикаций.
  • Community Builder – вот это действительно мощный компонент, который заменяет стандартную систему учётных записей Joomla. К самому компоненту есть куча плагинов, которые вводят систему личных сообщений, возможность организовывать группы и прочие «фишки». Но есть большой недостаток – все они на английском и требуют дополнительной «заточки» под себя.
  • Mavik Thumbnails – это плагин, который позволяет увеличивать изображения по клику на них. Полезная и практичная штука.

Я не программист и мои познания в PHP очень скудны, поэтому создание моего пробного сайта затянулось не на один месяц. Долгими зимними вечерами я ковырялся в Joomla, изучая её. Но спустя пару-тройку месяцев всё-таки закончил – портал был более-менее готов.

Я смог осуществить следующий функционал:

  • неплохой вид статей, под каждой из которых я вывел комментарии, используя Jcomments. Ники комментаторов получилось сделать ссылками, которые вели на их профили из компонента Community Builder
  • сделал нормальное и человеческое отображение профилей, добавил дополнительные поля в профиле для указания ICQ, Skype и прочего
  • нормальная страница регистрации
  • получилось ввести систему личных сообщений между пользователей, но её интерфейс остался на английском языке
  • тогда вложенность категорий в Джумле была всего лишь двухуровневой, но мне этого хватило, чтобы создать нормальную структуру сайта.
  • другие удобные мелочи, сейчас уже всего и не вспомнишь. Всё это было натянуто на один паблик шаблон, который был отредактирован мной. (Здесь есть шаблоны для Joomla) В общем, для первого сайта было неплохо.

Тогда Joomla казалась мне лучшей CMS в мире, я привык с ней работать. Примерно тогда и закончился первый этап моих «отношений» с Joomla. Кстати, мне очень(!) помог блог wedal.ru, за что спасибо его владельцу. Зайдите, там действительно большое количество ценных уроков.

До ненависти…

В следующий раз с Джумлой я встретился уже через полгода. Тогда была попытка создать региональную доску объявлений. Был обнаружен компонент HotProperty и на его основе я попытался реализовать возможность добавления объявлений каждым зарегистрированным пользователем.

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

Я провозился с ним больше месяца, но после каждого исправления всегда что-то было не так: то неровно, то вообще не работает. В общем, намучался по полной. Я уже потерял всякую надежду на то, что этот сайт можно довести до ума и проект был с успехом…брошен, а Joomla для меня растеряла свою привлекательность.

И обратно…

Прошло ещё месяцев 8. За это время я успел ознакомиться с WordPress и понять, что она на порядок легче в освоении, чем Joomla. Но WP позиционируется как блоговая платформа, хотя её тоже можно заточить под свои нужны.

Но, несмотря на постоянные сравнения этих двух CMS, ни одна из них никогда не одержит верх. А все, потому что у них несколько разные предназначения. И при создании сайта всегда лучше предварительно оценивать в какую сторону пойдёт развитие проекта.

Не стоит без надобности использовать Joomla, когда можно обойтись WP, потому что первая будет посложнее и в освоении, и в пользовании. Но, допустим, WP не сможет потянуть функцию целого портала, в то время как на Джумле это сделать вполне реально, особенно если вы знаете PHP.

Так вот, я вновь начал создавать сайт и делать его решил именно на  Джумле. Я вновь «освежил» навыки использования это системы управления контентом и понял, что всё-таки она является одной из самых удобных лично для меня. Хотя, ведь я ещё не касался DLE и Drupal… 🙂

Внутреннее SEO на CMS Joomla

История моего знакомства с Джумлой теперь закончена. В этом разделе статьи я хочу рассказать вам о том, на чём «споткнулся» во время своего пользования – аспекты внутренней оптимизации на данной CMS. Многие, например, знают, что Joomla плодит дубли. Сейчас мы разберёмся как этого избежать. Скажу сразу, речь пойдёт о версии 2.5, которая актуальна на момент написания данной статьи.

Итак, специально для этого я создал тестовый сайт на Денвере, который так и называется – testsite.ru. Кстати, если есть проблемы с установкой, то вот моя статья – Как установить Joomla на хостинг.

Что я сделал? Установил CMS и поставил шаблон Yougrids, т.к. он прост и понятен. Приступим.

1.Уровни вложенности

В версии 2.5 уровни вложенности категорий не ограничены. Но это не значит, что нужно бездумно использовать данную возможность. Если на версии 1.5 было всего два уровня, то на новой версии я бы использовал не боле трёх. Таким образом, вы не будете публиковать текст слишком «глубоко» в сайте, усложняя доступ поисковым системам к вашим публикациям.

2. Валидный код

Код вашего сайта или блога должен быть валидным, на нём не должно быть грубых ошибок. Несколько мелких «косяков» или предупреждений это нестрашно, потому что полное отсутствие ошибок в коде это идеальный вариант. Проверить корректность кода можно здесь — http://validator.w3.org/

3. Отсутствие дубликатов страниц

Дубликаты страниц – это больное место Joomla, если не включать ЧПУ – человеко-понятные урлы. Но делать это нужно на начальном этапе, иначе могут возникнуть проблемы с переадресацией.

Но у меня при установке опция SEF-ссылок была включена. Но для изменения нужно перейти в панели управления сайтом на вкладку Сайт – Общие настройки. Там у вас должны стоять следующие настройки:

Опция про добавление суффиксов означает следующее – добавлять в конце адреса веб-страницы её формат. Например, .html.  Остаётся на ваше усмотрение.

Также нужно переименовать файл htaccess.txt в корневой папке сайте в .htaccess.

После этих действий на вашем сайте заработают SEF-ссылки, которые более понятны и для пользователей, и лучше воспринимаются ПС.

Допустим, я закинул тестовую статью в тестовую категорию и её адрес в браузере выглядит так:

Как мы видим, неясно откуда взялись цифры в адресе. Это ID категории и статьи. Но не всё так плохо – их можно без проблем убрать.

Идём по следующему адресу в корневой папке сайта —  /administrator/components/com_content/config.xml. Именно файл config.xml мы и будем редактировать.

Нужно скопировать код, расположенный ниже:

[cc lang=»xml»]

[/cc]

и вставить его после определённого фрагмента, как изображено на картинке ниже:

Таким образом, мы добавили новую опцию. Идём прямиком в менеджер материалов и нажимаем на настройки и видим новую опцию SEF Advanced mode. Ставим значение «Да». То есть, как на картинке:

Теперь адрес публикации такой:

Вот, всё получилось просто отлично. Ах да, возможно, не все понимают откуда берётся название публикации или категории в адресной строке. Так вот, при создании или редактировании материала\категории есть следующее поле – «Алиас»:

Именно оттуда и берётся адрес.

Также нужно удалить все дубли главной страницы, для этого нужно отредактировать файл .htaccess в корневой папке сайта. В конце вставьте следующий код:

[cc]RewriteRule ^index.html$ / [R=301,L]
Options +Indexes
Options +FollowSymLinks
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://testsite.ru/$1 [R=301,L]
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.testsite\.ru$ [NC]
RewriteRule ^(.*)$ http://testsite.ru/$1 [R=301,L][/cc]
И да, не забудьте подправить адрес testsite.ru на свой, иначе ничего не получится! После этой процедуры у нас будет одна-единственная главная страница – без www и приставки /index.php.

С дублями разобрались, к тому же теперь у нас есть красивые адреса страниц в Joomla. 🙂

4.Теги title, description, keywords, H1..H6

Многие забывают про оптимизацию этих тегов, а зря. Почему зря? Потому что, например, title имеет очень большое значение при ранжировании, а с помощью тега description поисковые системы формируют сниппет – краткое описание страницы в поисковой выдаче, а это напрямую влияет на кликабельность сайта. Сейчас я объясню, где на Joomle вбиваются те или иные теги. При редактировании статьи или категории вы попадёте на страницу, изображённую ниже. На картинке всё предельно ясно.

Кстати, можете почитать мою статью о теге title в Joomla. Там всё довольно запутано, но всё же.

Также не нужно забывать о данных тегах для главной страницы. Они идентичным образом настраиваются в разделе «Общие настройки» в панели управления сайтом.

5.XML-карта сайта для лучшей индексации

XML-карта сайта весьма полезна для сайта, она упрощает работу поисковым роботам, которые индексируют ваш сайт на порядок лучше, особенно если у вас большое количество страниц.

На Joomla есть отличный компонент Xmap, в его настройке нет совсем ничего сложного. Для начала скачайте его с официального сайта, после чего, естественно, установите.

Теперь идите в Компоненты – Xmap, таким образом вы попадёте на основную страницу нашего компонента. Переходим на вкладку Extensions и делаем так, как изображено на скриншоте ниже

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

Справа увидите вкладку Menus. Там нужно проставить галочки на тех меню, пункты которых должны, по вашему, входить в xml-карту сайта. После этого сохраняйте карту и не забудьте включить её публикацию.

Теперь рядом с названием карты сайта будет ссылка «xml sitemap». Нажмите на неё и попадёте на страницу карты вашего Joomla-сайта. 🙂 И да, не забудьте скопировать адрес и добавить следующую директиву в файл robots.txt. У меня вышло так:

[cc]Sitemap: http://testsite.ru/index.php?option=com_xmap&view=xml&tmpl=component&id=1[/cc]

У вас получится примерно что-то подобное.

6. Создание HTML-карты сайта с помощью Xmap

Если xml-карта создаётся для поисковых роботов, то html-карта будет полезна для пользователей, ведь она представляет собой список всех материалов на сайте, которые рассортированы по категориям. На Joomla 2.5 создать страницу с такой картой можно с помощью того же компонента — Xmap. Сейчас я объясню как.

Для начала зайдите в Менеджер меню и выберите то меню, в котором будет пункт, ведущий на страницу с картой сайта. Теперь зайдите на страницу создания нового пункта меню (либо через верхнюю панель, либо через жёлтую кнопку «Создать»). Увидите то, что изображено на картинке ниже:

Теперь нажмите на обозначенную мной кнопку «Выбрать» — так мы выбираем что этот пункт меню будет из себя представлять. Из предложенных вариантов нам нужно выбрать «HTML Sitemap«, как изображено на скриншоте:

Таким образом, мы выбрали, что данный пункт меню будет вести на HTML карту, созданную компонентом Xmap. Теперь справа появилась вкладка «Обязательные параметры», где мы должны выбрать какую именно из созданных карт сайта мы будем отображать (в случае, если их несколько)

Дальше попадаем на экран, где выбираем единственную созданную карту:

Вот и всё, теперь нужно лишь сохранить пункт меню. И да, не забудьте прописать его заголовок и алиас, который будет является адресом странички в браузере 🙂

Кстати, возможность генерировать различные версии HTML и XML карт сайта это весьма удобно. Если вы будете продавать статьи на своём сайте, то сможете заносить их в XML карту для индексации поисковыми системами, но не вносить в HTML карту, чтоб не напрягать пользователей простенькими статьями с покупными ссылками. Но это просто идея, может вы найдете возможности другое применение 🙂

7. Внутренняя перелинковка

При создании сайта не забываем о внутренней перелинковке, ведь это достаточно мощный инструмент, который позволяет поднять сайт по НЧ, а порой и СЧ запросам.

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

Во-первых, есть штатный модуль Breadcrumbs или «хлебные крошки». Данный модуль выводит навигационную цепочки с главной страницы до страницы, где вы находитесь. Например, так:

Главная страница – Категория – Подкатегория – Статья

В Joomla 2.5 данный модуль есть изначально, нужно лишь выбрать позицию для него. Как посмотреть позиции в шаблоне, я надеюсь, вы знаете. Нет? Просто допишите /?tp=1 к адресу вашего сайта.

Также в Joomla 2.5 присутствует модуль Похожих материалов. Он выводит в определённом месте какое-то конкретное количество похожих новостей. Похожие новости определяются по ключевым словам, которые вы вписываете для каждой статьи самостоятельно (об этом говорили выше). То есть, если в 2-ух статьях есть одно общее слово, то они считаются похожими. Аналог принципу тегов в CMS WordPress.

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

Заглянем в будущее

Joomla 3 на телефоне?Поговаривают о не таком уж и далёком релизе Joomla 3.0. Точной информации, я честно скажу, не знаю, но ходят слухи о глобальных изменениях.

Теперь такой панели управления, к какой мы привыкли ещё наверное с версии 1.0 не будет. Будет разработан полностью новый интерфейс, которые позволит редактировать что-либо не перезагружая страницу целиком – это очень сильно повышает удобство пользования новой CMS, да и выглядеть это будет просто приятнее.

Хотя тут поджидают и отрицательные стороны – переработка будет глобальной, а значит совместимости со старыми компонентами, плагинами и шаблонами может просто-напросто не быть. Это существенный минус, потому что всем разработчикам придётся перерабатывать свои модификации, а это может занять продолжительное время. Стоит вспомнить, сколько пришлось ждать Jcomments для 2.5.

Также я слышал, что теперь интерфейс каждого компонента будет подведён под один стандарт, а это, опять же, повышает удобство пользования системой. В общем, новая политика разработчиков Joomla в максимальной стандартизации для более эффективного использования системы. И ещё, как вы наверно поняли из картинки, появится возможность полноценно управлять сайтом прямо со смартфона…

В общем, не будем оценивать ещё не вышедшую CMS, нам остаётся только ждать. 🙂 Сейчас у нас есть версия 2.5, куча шаблонов и дополнений, которые позволят создать отличный, а после этой статьи ещё и оптимизированный сайт. Так что вперёд и удачи! 😀

 

,

Поделиться ссылкой:
Плюсануть
Поделиться
Отправить
Комментарии
Landorn:

Отличный мануал, с удовольствием читаю твои статьи. С джумлой я врядле щас знакомиться буду, пока только DLE.

Jmen7070:

Здравствуй!) 
Очень последовательная и хорошая статья)

Несколько нюансов по поводу дубликатов страниц.. После того как мы убираем значение ID категории и статьи из url, то получаем дубликат страницы с ID  и без ID. 
В таком случае тоже нужно поправить .htaccess? Если да, то как?

Спасибо за ответ)

Sky-R:

Не совсем понял, откуда возникает страница с прописанными ID страниц, если мы как раз и убрали id из адреса?
У меня с этим что-то никогда проблем не возникало, поэтому насчёт редактирования htaccess в данном случае помочь не могу

Jmen7070:

 При переходе на страницу в адресе нет ID, то есть так как мы и хотели. Но если ты впишешь id вручную, то попадаем на ту же страницу, что и без id, а это значит что у нас дубликат страницы.

Sky-R:

Хм, я ID никогда насильно не прописывал.
Но ведь если сделать всё правильно, то поисковая система страницу с прописанными ID даже не найдёт, верно?
Я делал именно так, как написал и страница с id никогда не попадал в индекс.

statsky:

Оч круто!Спасибо!

Boris:

Здравствуйте!
Подскажите, пожалуйста: «переименовать файл htaccess.txt в корневой папке сайте в .htaccess» означает сменить расширение у файла? Т.е. результат будет htaccess.htaccess ?

Sky-R:

Нет. Файл должен так и называться «.htaccess». Точка — начало названия, а не обозначение того, что это расширение.

Anatoly Shtonda:

Очень толковая и понятная статья!

Дмитрий:

Сделал как написано для удаления дублей страниц, теперь не могу разлогиниться на сайте. Что можно поправить чтоб корректно аторизация заработала?

Senten.ru:

Оличный материал, спасибо. Теперь о загвоздках )))
Про редактирование .htaccess.
Все сделал, как Вы рекомендовали, но сервер выдал ошибку 500
Техподдержка отредактировала файл следующим образом:
В строках с +FollowSymLinks заменила на +SymLinksIfOwnerMatch
Теперь все работает ))))

Добавить комментарий

Нажимая на кнопку, вы даёте согласие на обработку своих персональных данных в соответствии с политикой конфиденциальности.