Программирование HTML Joomla: как правильно организовать мета-теги title, description и keywords для продвижения сайта Mon, June 26 2017  

Поделиться

нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Joomla: как правильно организовать мета-теги title, description и keywords для продвижения сайта Печать
Добавил(а) microsin   

В процессе работы с CMS Joomla (версия 1.0.12) постоянно сталкивался с трудностями при формировании мета-тегов title, description и keywords. В статье описано, как эту проблему можно решить простыми средствами.

Для начала несколько слов про вышеупомянутые мета-теги.

[Мета-теги title, description и keywords]

Мета-тег title влияет на внешний вид окна браузера при просмотре страницы сайта. Содержимое title отображается на плашке верхней браузера, а также на кнопке окна браузера в панели задач. Кроме того, title определяет внешний вид заголовка результата поиска Google и Yandex.

Мета-тег description представляет краткое описание (резюме) просматриваемой страницы. Он важен для оптимизации страниц сайта в плане популярности страниц у поисковых систем. Этот тег несколько утратил свое значение в плане важности, так как интеллект роботов индексации постоянно повышается, и их разработчики стараются улучшить разбор именно полезного содержимого страницы, а не просто тегов description и keywords. Но все равно важно правильно задать нужный тег description как для главной страницы сайта, так и для остальных страниц, поскольку этот тег сильно влияет на внешний вид результата поиска.

Мета-тег keywords предоставляет ключевые слова, которые важны в плане идентификации страницы сайта по поиску. В настоящее время тег keywords почти не влияет на работу поисковиков, но специалисты рекомендуют все-таки этот тег заполнять правильно.

[Проблемы Joomla, связанные с мета-тегами]

title - этот мета-тег можно поменять только для всего сайта сразу (он будет применен глобально и будет показываться на всех страницах сайта) в панели управления Joomla - меню Сайт -> Общие настройки -> закладка Сайт -> поле ввода "Имя сайта". Если тут ничего не задать, то на плашке браузера и кнопке панели задач вместо текста title будет показан адрес странички, что некрасиво. Идеальный, на мой взгляд вариант - если задан параметр "Алиас заголовка", то назначить title его значением, иначе применить глобальный title сайта.

description - этот мета-тег также задается в одном месте для всего сайта, для всех его страниц (меню Сайт -> Общие настройки -> закладка Метаданные -> поле ввода "Описание флага Meta для сайта"). Кроме того, для каждой отдельной страницы можно задать дополнительно еще и свою добавку к мета-тегу description (в редакторе статьи, в нижней части страницы есть закладка Мета-данные, и там есть поле ввода "Описание"). Если описание для статьи задано, то её содержимое добавляется в конец глобального описания сайта (заданного в админке), иначе выводится только общий тег описания. Недостаток такого алгоритма выдачи тега description - описание статьи добавляется в конец, что снижает информативность описания страницы сайта. Идеальный вариант решения проблемы - если имеется описание статьи, то его нужно отображать первым, а дальше вставлять общее описание сайта. Или, как вариант, отображать только описание статьи, без общего описания сайта.

keywords - этот мета-тег задается точно по такому же принципу, как и тег description - общие ключевые слова через меню Сайт -> Общие настройки -> закладка Метаданные -> поле ввода "Описание флага Meta Keywords", а ключевые слова статьи в редакторе статьи, в поле ввода Мета-данные -> Ключевые слова. Следовательно проблема осталась та же самая - ключевые слова статьи попадают в конец ключевых общих слов. Хотелось бы, чтобы было наоборот - ключевые статьи статьи выводить в первую очередь. Кроме того, отсутствует средство автоматической генерации списка ключевых слов, чтобы не надо было создавать ключевые слова отдельно для каждой страницы. Т. е. для тех статей, для которых пользователь не задал вручную ключевые слова, эти слова могли бы сгенерироваться автоматически из содержимого статьи по заданным правилам.

[Решение проблемы с тегом title]

Можно установить Title Manager 1.0.1 Released, и воспользоваться его возможностями (см. Ссылку 4). Но я пока решил эту проблему "в лоб" - просто убрал из текущего шаблона сайта код, который выводит тег title. Для этого нужно открыть файл templates/папка_текущего_шаблона/index.php и закомментировать строчку < title>< ?php echo $mosConfig_sitename; ?></title>, вот так (или вообще её удалить):

< head>
< !-- правка начало
 < title>< ?php echo $mosConfig_sitename; ?></title>
 правка конец-->
  < ?php
    include ("includes/metadata.php");
..

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

[Решение проблемы с тегом description]

Для этого я воспользовался советом из ссылки 2 (см. Ссылки), и исправил код файла /includes/frontend.php.

//изменение начало
//$mainframe->appendMetaTag( 'description', $mosConfig_MetaDesc );
//$mainframe->appendMetaTag( 'keywords', $mosConfig_MetaKeys );
$description = '';
$keywords = '';
  
$_meta_keys_index = -1;
$_meta_desc_index = -1;
  
$n = count( $mainframe->_head['meta'] );
for ($i = 0; $i < $n; $i++) {
  if ($mainframe->_head['meta'][$i][0] == 'keywords') {
    $_meta_keys_index = $i;
    $keywords = $mainframe->_head['meta'][$i][1];               
  } else if ($mainframe->_head['meta'][$i][0] == 'description') {
    $_meta_desc_index = $i;
    $description = $mainframe->_head['meta'][$i][1];               
  }
}
  
if (!$description) {
  $mainframe->appendMetaTag( 'description', $mosConfig_MetaDesc );
}
  
if (!$keywords) {
  $mainframe->appendMetaTag( 'keywords', $mosConfig_MetaKeys );
}    
//изменение конец

После этого изменения для тех статей, для которых не заданы теги description и keywords, содержимое тегов составляется из имени сайта и названия статьи.

[Решение проблемы с тегом keywords]

Частичное устранение проблемы дает предыдущий совет из ссылки 2, но для полного счастья нужно установить iJoomla Metatag Generator и настроить его (я пока этого делать не стал).

После того, как провел все вышеуказанные изменения, у меня выпали из индекса все проиндексированные статьи в Yandex. Точнее, индекс Yandex стал "кривой" - результаты поиска выдавались, но ссылки по ним были неправильные, из-за чего заметил снижение посещаемости сайта. С Google проблем никаких не было - результаты поиска были корректные. Индекс моего сайта в Yandex начал восстанавливаться только через неделю (узнал по статистике liex.ru). Приятно, что заново проиндексированные статьи начали показываться в результатах поиска Google и Yandex именно так, как я хотел - с указанием названия статьи (особенно с этим беда у меня раньше была на Yandex).

[Ссылки]

1Описание проблем с мета-тегами.
2. Joomla и SEO: оптимизация ключевых слов (решение проблемы с помощью правки /includes/frontend.php).
3. Компоненты для организации мета-тегов - metaFly, JoomSEO, iJoomla Metatag Generator
4. Title Manager 1.0.1 Released

 

Комментарии  

 
+1 #3 Ангелина 03.07.2011 03:05
Вообще нестандартная ситуация - пропали мета тег keywords на всем сайте. Настройки ничего не дали. Даже не представляю, где искать проблему, помогите кто чем сможет.

microsin: теги перестали генерироваться наверняка по причине неосторожных исправлений в коде модулей. Вам просто нужно найти ошибку, и вернуть "как было". Для этого попробуйте сделать следующее.

1. Слейте всю структуру файлов и каталогов на Денвер. Залейте на эту инсталляцию MySQL-базу с Вашего сайта.
2. Теперь смотрите внимательно, какие файлы *.php Вы меняли (сравнивая с файлами бекапа или просто Вашего дистрибутива Joomla) - и найдете ошибку.
3. Если у Вас мало ручных правок в коде Joomla по сравнению с дистрибутивом, просто сделайте новую инсталляцию Joomla, установите туда Ваш шаблон и нужные модули, а затем просто залейте старую базу MySQL сайта.
Цитировать
 
 
0 #2 klubnichka 21.01.2011 14:06
;-) А мне нужно для компонента прописать описание - как это сделать?
Цитировать
 
 
+1 #1 Скринкаст 11.12.2010 13:10
Недавно вышел плагин для title с разделителем | , но перед ним слово HOME|, как его заменить на имя своего сайта?
Цитировать
 

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


Защитный код
Обновить

Top of Page