|
Подробно расписывать, что заголовки играют важную роль в SEO я думаю не нужно. Не в последнюю очередь по заголовкам поисковик «понимает» чему посвящен Ваш сайт и соответственно его ранжирует.
Формируем заголовки в Joomla!
С заголовками в Joomla! так же как и со всем SEO, т.е. никак, см. Joomla! и SEO. Создатели Joomla! почему-то решили, что заголовки модулей очень важная вещь, и они все идут с заголовком H3, хорошо, что не заголовком H1
Итак, такое важное слово как «меню», «регистрация» и т.д. заголовком H3. Это надо убрать, или по крайне мере знать, как убрать.
Как мы помним см. Как собрать шаблон сайта. Первоначальные сведенья позиции интешгрируются в шаблон директивой <jdoc :include type="modules" style="xhtml" />. Нас интересует последний параметр style="xhtml. Он задает стиль, в нашем случае заголовок (H3) названия всех модулей входящих в позицию, например, left. Это надо убрать. Есть несколько решений.
- Можно просто убрать параметр style="xhtml". Но нередко стиль играет важную роль в оформлении. Уберем style="xhtml" Оформление упростится простой текст на белом фоне – не очень красиво.
- Где же задаются заголовки позиций? Папка \ваш сайт\templates\system\html\ файл modules.php. Это файл стилей всех позиций. Задают стили функции. Например, function modChrome_xhtml($module, &$params, &$attribs) задает стиль xhtml, а function modChrome_rounded($module, &$params, &$attribs) задает стиль rounded, т.е. имя функции обязательно должно начинаться с modChrome_ а то что после подчеркивания нужно использовать в качестве значения style при выводе в шаблоне. Иначе говоря, название функции после знака подчеркивание и есть название стиля, который потом употребляется при вставки позиций в шаблон. В этих функциях есть строка <H3><?php echo $module->title; ?></H3>. Переводя на человеческий язык – вывести наименование позиции (title) заголовком H3. Убираем теги <H3>. Проблема решена.
- Можно пописать свои стили в файле шаблона. \ваш сайт\templates\ваш шаблон\html\ файл modules.php
В modules.php пишем такую функцию
function modChrome_mycustom($module, &$params, &$attribs)
{
$headerLevel = isset($attribs[‘headerLevel’])? (int) $attribs[‘headerLevel’] : 3;
if (!empty ($module->content)) : ?>
<div class="mycustomdiv">
<?php if ($module->showtitle) : ?>
<div class="mycustomdivtitle"><h6><?php echo $module->title; ?></h6></div>
<?php endif; ?>
<?php echo $module->content; ?>
</div>
<?php endif;
}
Теперь в шаблоне для style теперь указываем значение mycustom. <jdoc:include type="modules" style="mycustom" />
Секрет !!! Меняете modules.php. Ничего не происходит. Не то меняете! Некоторые шаблоны располагают тот modules.php, который нужно менять, в другой директории, например, Ваш сайт\templates\ваш шаблон\html. Или еще где-нибудь. Расположение modules.php может быть очень хитрым, предсказать невозможно. Если изменения в modules.php по стандартному пути (\ваш сайт\templates\system\html\) ни к чему не приводят, посмотрите, где расположены все modules.php. Можно это сделать обычным поиском.
Таким образом, как убирать ненужные заголовки решили теперь надо решить, как ставить нужные.
\ваш сайт\components\com_content\views видим несколько папок.
- Archive в этой папке файлы, изменение в которых, поможет нам решить проблему заголовков в архиве. Это трогать мы не будем.
- Article - в этой папке файлы, изменение в которых, поможет нам решить проблему заголовков в отдельной статье.
- Category - в этой папке файлы, изменение в которых, поможет нам решить проблему заголовков в категориях.
- Frontpage - в этой папке файлы, изменение в которых, поможет нам решить проблему заголовков в заглавной странице.
- Section - в этой папке файлы, изменение в которых, поможет нам решить проблему заголовков в разделах.
В каждой из этих папок есть папка tmpl. В tmpl есть файл default.php. Он нам и нужен. Т.е. если мы будем править заголовки в отдельной статье (Article), нам нужно папка \ваш сайт\components\com_content\views\article\tmpl\ файл default.php
Итак, поехали.
1. Article Ищем в default.php строчку <?php echo $this->escape($this->article->title); ?>. Таких строчки там две. Первая заголовок, статьи как ссылка, вторая строчка заголовок статьи не как ссылка. Заключаем эти строчки в любые теги, например, <H2>, чтобы получилось <H2> <?php echo $this->escape($this->article->title); ?></H2>. Все теперь все заголовки статей H2.
2. Category. Здесь нам надо будет править больше файлов. Сначала разберем, что это за файлы
- blog.php БЛОГ. ЗАГОЛОВОК БЛОГА. Наиболее часто используют блог категорий. Когда мы выбираем в меню ссылку ШАБЛОН БЛОГА КАТЕГОРИИ. Как на этом сайте, поэтому нам нужен файл blog.php <?php echo $this->escape($this->params->get('page_title')); ?> заменяем на <h2><?php echo $this->escape($this->params->get('page_title')); ?></h2>.
- blog_item.php. БЛОГ. ЗАГОЛОВОК СТАТЕЙ. Теперь блог категории заголовком h2. А каким заголовком статье в блоге категории? Нам нужен файл blog_item.php. Заменяем строчки <?php echo $this->escape($this->item->title); ?> на <h3><?php echo $this->escape($this->item->title); ?></h3>. Теперь все заголовки статей в блоге категории h3.
- blog_links.php. Этот файл отвечает за вывод опции Еще статьи... Этот файл мы трогать не будем. Смысла выводит эти статьи заголовком нет.
- default.php. ЗАГОЛОВОК СПИСКА КАТЕГОРИИ. Список материалов. Когда мы выбираем в меню ССЫЛКУ ШАБЛОН СПИСКА КАТЕГОРИИ, то на странице отображается список всех материалов в данной категории. Этот файл отвечает за вывод ЗАГОЛОВКА материалов в режиме списка всех материалов в данной категории.
- Здесь нам нужен файл default.php Заменяем <?php echo $this->escape($this->params->get('page_title')); ?> на <h2><?php echo $this->escape($this->params->get('page_title')); ?></h2>. Теперь заголовок в категории при выводе списка всех материалов в этой категории h2.
- default_items.php. ЗАГОЛОВКИ СТАТЕЙ СПИСКА КАТЕГОРИИ. Этот файл отвечает за вывод ВСЕХ МАТЕРИАЛОВ в режиме списка всех материалов в данной категории. Трогать этот файл мы тоже не будем. Во всех папках названия файлов по аналогии. Теперь мы знаем, что за что отвечает.
3. Frontpage файл default.php. меняем <?php echo $this->escape($this->params->get('page_title')); ?> на <H2><?php echo $this->escape($this->params->get('page_title')); ?></H2>, файл default_item.php, мняем <?php echo $this->escape($this->item->title); ?> на <H3><?php echo $this->escape($this->item->title); ?></H3>
4. Section. Блог. Наиболее часто используют блог раздела. Когда мы выбираем в меню ссылку ШАБЛОН БЛОГА РАЗДЕЛА. Как на этом сайте, поэтому нам нужен файл blog.php. <?php echo $this->escape($this->params->get('page_title')); ?> заменить на <h2><?php echo $this->escape($this->params->get('page_title')); ?></h2>Файл. default.php <?php echo $this->escape($this->item->title); ?> заменить на <h3><?php echo $this->escape($this->item->title); ?></h3>
Конечно, Вы можете ставить другие заголовки, например, H1 или другие. Главное, что теперь Вы знаете, где и что менять.
|
Комментарии
не тут то было. убирая h3 перестают отображаться все заголовки модулей, даже если менять на h4 -все ранов пропадают
Ссылка "Подробнее" с главной страницы отличается от сслыки "Подробнее" из блога раздела - отсюда проблема с открытием нужного меню соответствующег о статье.
Вот ссылка на мериал с главное страницы - http://www.33lab.ru/index.php/1s8/skat-8.html
А вот ссылка на тот же материал но из блога раздела - http://www.33lab.ru/index.php/automat/2-1-8/20-skat-8.html
Вопрос только в том, как изменить размер выводимых заголовков, несмотря на тег ?
Это все правится в template.css в самом шаблоне.
2Турецкий
просто в CSS для классов contentheading и пр.
RSS лента комментариев этой записи.