Ещё один пост, чтобы было под рукой. Заголовки нужны, это знают все. Никто не знает насколько сильно их наличие влияет на позиции, но с точки зрения логики документа, заголовки h1,h2,h3,h4,h5,h6 нужны для того, чтобы поисковые машины могли отличить более важные данные в структуре страницы от менее важных.
А также:
Не вдаваясь в размышления “хорошо-плохо”, мои манипуляции в Joomla (сначала рекомендую изучить существующую структуру вашего шаблона, т.к. могут быть пересечения заголовков шаблона и самой жумлы):
1. Открываем components/content.html.php и там ищем вывод функции title:
function Title( &$row, &$params, &$access ) {
if ( $params->get( 'item_title' ) ) {
if ( $params->get( 'link_titles' ) && $row->link_on != '' ) {
?>
<td width="100%">
<h2 class="contentheading<?php echo $params->get( 'pageclass_sfx' ); ?>"><a href="<?php echo $row->link_on;?>" class="contentpagetitle<?php echo $params->get( 'pageclass_sfx' ); ?>">
<?php echo $row->title;?></a></h2>
<?php HTML_content::EditIcon( $row, $params, $access ); ?>
</td>
<?php
} else {
?>
<td width="100%">
<h1 class="contentheading<?php echo $params->get( 'pageclass_sfx' ); ?>"><?php echo $row->title;?></h1>
<?php HTML_content::EditIcon( $row, $params, $access ); ?>
</td>
<?php
}
} else {
?>
<td class="contentheading <?php echo $params->get( 'pageclass_sfx' ); ?>" width="100%">
<?php HTML_content::EditIcon( $row, $params, $access ); ?>
</td>
<?php
}
}и заменяем на
function Title( &$row, &$params, &$access ) {
if ( $params->get( 'item_title' ) ) {
if ( $params->get( 'link_titles' ) && $row->link_on != '' ) {
?>
<td width="100%">
<h2 class="contentheading<?php echo $params->get( 'pageclass_sfx' ); ?>"><a href="<?php echo $row->link_on;?>" class="contentpagetitle<?php echo $params->get( 'pageclass_sfx' ); ?>">
<?php echo $row->title;?></a></h2>
<?php HTML_content::EditIcon( $row, $params, $access ); ?>
</td>
<?php
} else {
?>
<td width="100%">
<h1 class="contentheading<?php echo $params->get( 'pageclass_sfx' ); ?>"><?php echo $row->title;?></h1>
<?php HTML_content::EditIcon( $row, $params, $access ); ?>
</td>
<?php
}
} else {
?>
<td class="contentheading <?php echo $params->get( 'pageclass_sfx' ); ?>" width="100%">
<?php HTML_content::EditIcon( $row, $params, $access ); ?>
</td>
<?php
}
}Получаем:
- заголовок H1 при просмотре статьи;
- заголовок H2 при просмотре содержимого в режимах “блог категории”, “блог раздела”. ВНИМАНИЕ! Если в режимах “блог категории”, “блог раздела”, названия материалов выводятся как гиперссылки, то эти ссылки будут внутри тега H2. Как воспринимается такая конструкция поисковиками, мне точно не известно. Может, и никак вовсе.
2. В этом же файле ищем:
<div class="componentheading<?php echo $params->get( 'pageclass_sfx' ); ?>"> <?php echo htmlspecialchars( $title->name, ENT_QUOTES ); ?> </div>
И заменяем на:
<h1 class="componentheading<?php echo $params->get( 'pageclass_sfx' ); ?>"> <?php echo htmlspecialchars( $title->name, ENT_QUOTES ); ?> </h1>
Получаем заголовки H1 категорий и разделов при просмотре в виде “таблица категории”, “таблица раздела”.
3. В components/content.php
строку
echo '<div class="componentheading'. $params->get( 'pageclass_sfx' ) .'">'. $header .'</div>';
модифицируем так:
echo '<h1 class="componentheading'. $params->get( 'pageclass_sfx' ) .'">'. $header .'</h1>';
И получаем заголовки разделов и категорий для “блог раздела”, “блог категории”.
Вот так. Всё работает на Joomla 1.0.15RE.
Чайник уточняет – у меня title копирует название категории (h1). Есть еще по одному h1 и title на каждой странице от логотипа сайта. Название статьи выводится автоматически в тэг h2.
У меня два вопроса:
1. То что Вы предложили, поможет решить проблему одинаковых текстов в title страницы и h1 – названии категории?
2. Не подскажите что сделать с логотипом, чтобы не было повторных title и h1?
Спасибо!
[Ответить]
Отлично, все работает! Спасибо.
[Ответить]
23:40
Вопрос мучает один: как изменить жирность h4? Так, чтобы он не был жирным вообще? Очень нужно…
[Ответить]
Март 25th, 2011 в 16:16
@Mike, это вам нужно лезть в css файл используемой темы
[Ответить]