Разработка сайтов,Красноярск.Оптимизация,seo,joomla.Настройка cms.

Ссылки Пожелания Новости Работы
 
Главная arrow Новости arrow Joomla! arrow Joomla! и кое что о ней. 
Новости Joomla! Joomla! и кое что о ней.

Joomla! Как организовать ключевые слова?
Какие основные недостатки Joomla! существуют при работе с ключевыми словами:

   1. Глобальные ключевые слова и описание отображаются на всех страницах
   2. Дублирование ключевых слов на страницах вроде «блог-раздел» и «блог-категория»
   3. Длинные описания (склейки) на страницах «блог-раздел» и «блог-категория»

Это не все недостатки, но очень весомые. Рассмотрим, как возможно решить эти проблемы.

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

Глобальные ключевые слова и описание отображаются на всех страницах
Действительно, при отображении любой страницы, Joomla! присоединяет к ключевым словам страницы слова, заданные в глобальной конфигурации Joomla!. И пользы от этого мало: с одной стороны список становиться слишком большой, с другой стороны — не все слова из глобального списка могут быть релевантны текущей страницы. И наконец, в этих списках возможно повторение одного и того же слова, а это дублирование, и оно тоже пользы не приносит.

Какие у нас варианты? Их два: использовать в глобальных ключевых словах минимум слов, которые были бы релевантны всему сайту или отображать эти ключевые слова только на тех страницах, для которых не заданы персональные ключевые слова и описание. Второй вариант более интересен. Для его реализации необходимо сделать небольшую модификацию.
  1. Изменяемый файл /includes/frontend.php
  2. Находим строчки:
    		$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 );
    	}
    	
  3. Сохраняем изменения в файле

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

Дублирование ключевых слов на страницах типа «блог-раздел» и «блог-категория»

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

Чтобы избежать повторения ключевых слов, в предыдущем фрагменте кода, сразу после строк:

if (!$keywords) {
$mainframe->appendMetaTag( 'keywords', $mosConfig_MetaKeys );
}
добавим дополнительный код для удаления дубликатов:
if ($_meta_keys_index != -1) {
$keys = $mainframe->_head['meta'][$_meta_keys_index][1];
$keys = preg_replace("/\,+/is", ", ", $keys);
$keys = preg_replace("/\s+/is", " ", $keys);
$keys = strtolower($keys);
$keys = implode(', ', array_unique(split(', ', $keys)));
$mainframe->_head['meta'][$_meta_keys_index][1] = $keys;
}

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

Длинные описания на страницах «блог-раздел» и «блог-категория»

При формировании страниц типа «блог-раздел» или «блог-категория», помимо суммирования ключевых слов, происходит суммирование и всех описаний материалов, что приводит к разрастанию поля описания страницы. Тут можно пойти разными путями:

  1. использовать глобальное описание;
  2. формировать описание из заголовков материалов.

Реализация обоих вариантов предполагает небольшую модификацию исходного кода стандартного компонента com_content.

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

Открываем файл /components/com_content/content.html.php

  1. Находим в нем строчку:
    	$mainframe->appendMetaTag( 'description', $row->metadesc );
    	
    и заменяем ее на:
    	global $option, $task;
    	if ( $task == 'view' ) {
    	$mainframe->appendMetaTag( 'description', $row->metadesc );
    	}
    	
  2. Сохраняем изменения в файле

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

Для реализации третьего варианта (генерация мета-описания для страниц типа «блог-раздел» или «блог-категория» из заголовков материалов) необходимо выполнить следующую модификацию:

  1. Открываем файл /components/com_content/content.html.php
  2. Находим в нем строчку:
    	$mainframe->appendMetaTag( 'description', $row->metadesc );
    	
    и заменяем ее на:
    	global $option, $task;
    	if ( $option != 'com_frontpage' && $task != 'view' ) {
    	$mainframe->appendMetaTag( 'description', $row->title );
    	}
    	
  3. Сохраняем изменения

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

Заключение

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


Статья написана с использовапнием материалов joomlaportal.ru



Также советуем почитать о том
  Оптимизируем заголовки.
Комментарии (3)add
...
Автор: Сергей , ноября 12, 2009
Всё в норме работает, только вот после первого примера не отображаются глобальные ключи на главной. Вместо них идёт набор ключей от статей главной страницы. Можно это решить?
Сообщить админу
Голос против
Голос за
Голосов: +0
...
Автор: СЕРЖ , ноября 05, 2009
Респект и огромное спасибо!!!
Желаю Вам успехов!
Сообщить админу
Голос против
Голос за
Голосов: +0
...
Автор: TRS , ноября 02, 2009
Спасибо большое! Очень полезная информация. Пол дня искал как сделать на разных страницах разные дэспкрипшны. Еще раз спасибо!
Сообщить админу
Голос против
Голос за
Голосов: +0
Написать комментарий

busy
 
Как узнать позиции модулей в шаблонах Joomla ?
Хотите узнать позиции модулей на сайте ? Но не знаете как это сделать ? Smile
А все просто, нужно добавить в конец URL "/?tp=1"  так чтобы URL имел такой вид : http:/ваш сайт/?tp=1 И вам покажутся все позиции в шаблоне сайта в которые можно установить модули !
 
SEO сервисы / SEO tools - Добавление сайта в поисковые системы, анализ запросов, Определение позиций в поисковиках,  Анализ сайта, Анализ плотности слов,  Определение PR, Ключевые слова ,  Оценка ресурса. Покупка и продажа ссылок, SEO-форумы...

Библиотека сайтостроения!

Библиотека сайтостроенияЗдесь собраны материалы о сайтостроении и все те мелочи, с которыми Вам, вполне вероятно, прийдется столкнуться при создании сайта, верстке html страничек и просто могут быть использованы для ознакомления. Сохранность данных
Хотите узнать как настраивать CMS Joomla! и оптимизировать ее для поисковых машин? Как организовать заголовки материалов (title), описание страниц (description) и  поднять PageRank ? Все что требуется для правильного SEO (Search Engine Optimisation).
 Перейти в раздел "Библиотека сайтостроения" дружественные сайты