Вопрос о правильной разметке шапки сайта, пожалуй один из значимых, который нужно разрешить в самом начале славных дел ведения блога и по возможности без ошибок, иначе – проблем не избежать.
А исправления h1 – h2 “зевков” на рабочем сайте, будут трудоёмки и плачевным, в плане падения трафиков и т. п…
Напомню тем, которые решаются работать с бесплатным шаблоном WordPress: вы должны быть готовы к большой работе по доводке темы! – и удаление рекламных ссылок в футере и т.п…й котовасии только самое начало работы! и также:
Большинство бесплатных шаблонов Вордпресс реализованы с неверной (в плане seo) теговой разметкой страниц сайта (скажем так). Так что – придётся изловчиться и всё это шаблонное неряшество вовремя лично поправить. В противном случае множество непоняток с поисковыми системами обеспечены.
Вы готовы к невниманию ПС ?? и нулю посетителей вашего блога…
Не упускайте! Или ищите какие-то варианты заказа тем.
Не сочтите за навязчивую рекламу (конечно, это реклама, но не навязчивая, а логичная), – прочтите ЭТО ТЕМНОЕ.
как размечать шапку (лого) сайта тегами H1 – h2
В статье буду рассматривать один из вариантов распределения тегов заголовков, а именно, когда h1
обозначается главная страничка на всех, кроме отдельной записи, страницы и т.п…
То есть – странички категорий (category), тегов (tag), архивов (archive) будут всегда под тегом h1
. И, соответственно, тайтлы (title) статей h2
Условные теги WordPress: полная подборка, пояснения….
Сразу говорю: подробно толковать не стану, ибо информации по поводу синтаксического написания кода, в сети много. Да и учиться нужно правильно и постепенно, а у нас – сегодня иная тема!
И !! если вы прочтёте внимательно этот пост, и потренируетесь на локалке, – многое из описанного станет понятно.
ПАМЯТКА:
…напоминаю всякий раз: заведите какой-то документ «запоминалку» всех совершаемых эксов с блогом. Копируйте редактируемые файлы. Пригодится!
Поверьте: так короче до профессионализма, ибо возможность переварки накопленных крупиц знаний в кашу маловероятна!
Вот целомудренный и чистый код, который обычно встречается в “в новых” темах:
<div class="logo">
<?php if ($theme->get_option('themater_logo_source') == 'image') { ?>
<a href="<?php echo home_url(); ?>"><img src="<?php $theme->option('logo'); ?>" alt="<?php bloginfo('name'); ?>" title="<?php bloginfo('name'); ?>" /></a>
<?php } else { ?>
<?php if($theme->display('site_title')) { ?>
<h1 class="site_title"><a href="<?php echo home_url(); ?>"><?php $theme->option('site_title'); ?></a></h1>
<?php } ?>
<?php if($theme->display('site_description')) { ?>
<h2 class="site_description"><?php $theme->option('site_description'); ?></h2>
<?php } ?>
<?php } ?>
</div><!-- .logo -->
У вас будет что-то типа показанного в примере выше. Обратите внимание на строки 1 (див класс лого) и 2 и 3 – основной код вывода заголовка логотипа-картинки или текстового варианта..
Этот код будет работать следующим образом: куда бы вы ни пошли гулять по сайту… везде переход на главную будет обозначен тегом h1
. Тут врас) напрашивается логичный вопрос: а как же отдельные записи?
Правильно! и в отдельных записях тег h1
останется, но вот тайтл (заглавие записи) странички будет h2
. Это в корне неверно!! (ну, во всяком случае по seo правилам-c сумнительно)
Предлагаю открыть файл вашего шаблона, отвечающий за вывод отдельных страниц, это, как правило документ single.php
или post-single.php
и заменить следующие строки:
<h2 class="title" itemprop="headline"><?php the_title(); ?></h2>
Тег h2
на h1
– обращаю внимание на то, что рассматриваемые ныне теги парные!
Отныне у вас отдельная запись будет обозначена h1
– правильно! И таким же макаром поступайте с файлом page.php
и
post-page.php
– отвечающим за отдельную страницу (не запись) и всеми подобными файлами…
К слову сказать, обратили внимание на атрибутику itemprop="headline"
в строке??? – да, это размеченный вариант файла: микроразметка schema.org.
Первичный этап закончен!
Но, как понимаете, это только полдела! …ИБО в таком случае у нас и на отдельной страничке статьи будет два h1
– перебор (ошибка). То есть: сам логозаголовок САЙТА и теперь заглавие статьи!
Нужно это дело поправить!
Помните: тег h1
должен использоваться на страничке только один раз!!
Этим и займёмся:
заменим в шапке сайта стандартный вывод тегов h1 -2 -3 на SEO оптимизированный вариант
Нынче нам в помощь так называемые условные теги: (для примера)
is_category ()
!is_category ()
…и тому подобные…
Очень полезные “придумки” о которых станем говорить подробнее…
Вот полный рабочий вариант кода LOGO и заголовков записей файла header.php
, – смотрите, разбирайтесь и реализуйте на своём сайте.
Обращаю внимание: я даю вариант ЛОГО с картинкой – это более сложный способ, ибо предстоит как следует поработать с файлом CSS, иначе – шапка сломается.
Как сделать шапку сайта без рисунка лого (в формате txt), расскажу ниже.
Что не ясно – спрашивайте в коммах.
Внимательнее к путям подключения…
<?php if (is_tag ()) : ?><h1 class="site_title"><a href="<?php echo home_url(); ?>"><img src="/wp-content/themes/шаблон/images/logo.png" alt="МИХАЛИКА" title="МИХАЛИКА" />Михалика</a></h1>
<?php endif; ?>
<?php if (is_category ()) : ?><h1 class="site_title"><a href="<?php echo home_url(); ?>"><img src="/wp-content/themes/шаблон/images/logo.png" alt="МИХАЛИКА" title="МИХАЛИКА"/>Михалика</a></h1>
<?php endif; ?>
<?php if (is_page ()) : ?><h2 class="site_title"><a href="<?php echo home_url(); ?>"><img src="/wp-content/themes/шаблон/images/logo.png" alt="МИХАЛИКА" title="МИХАЛИКА" />Михалика</a></h2>
<?php endif; ?>
<?php if (is_single ()) : ?><h2 class="site_title"><a href="<?php echo home_url(); ?>"><img src="/wp-content/themes/шаблон/images/logo.png" alt="МИХАЛИКА" title="МИХАЛИКА" />Михалика</a></h2>
<?php endif; ?>
<?php if (!is_tag ()) : ?><?php if (!is_category ()) : ?><?php if (!is_page ()) : ?><?php if (!is_single ()) : ?>
<h1 class="site_title"><a href="<?php echo home_url(); ?>"><img src="/wp-content/themes/шаблон/images/logo.png" alt="МИХАЛИКА" title="МИХАЛИКА" />Михалика</a></h1>
<?php endif; ?><?php endif; ?><?php endif; ?><?php endif; ?>
Немного практической теории…
На отдельных страничках!! Тайтл статьи (при проверке “F12” или в исходном коде Ctrl+U) должен быть h1 НО!! главная теперь h2 (т.е главная, по теговому ранжированию, становится как бы второстепенной – h2
) – это необходимые правила SEO.
Помните ведь: тег h1
должен использоваться на страничке только один раз! и в нашем случае именно так.
Тут важно разобраться с аргументацией (условиями) функциональных строк кода: (обратите внимание – я специально сделал строки категорий <?php if (is_category ()) : ?>
и условного <?php if (is_tag ()) : ?>
отдельно, чтобы было понятно).
Конечно, этот код возможно прописать иначе… всё зависит от требований админа.
Ну, давайте рассмотрим на отдельном примере:
как отрегулировать условия вывода тегов h1 – h2 главной страницы и отдельных записей
Рассмотрите повнимательнее строки условий ниже:
<?php if (is_single ()) : ?> ваше кодированное предложение вывода "лого" в шапке
<?php endif; ?>
В общем, отличие (если вглядеться) одно: знак !
который отменяет действие h1
и вменяет на всех кроме главной выполнение отработки тега h2
. Так называемые логические условия, которыми мы и будем управлять – задавать и инвертировать (противоположное значение) условия: как раз отрабатываются в принципе те условные теги, о которых я упоминал выше.
Т.е (is_single ())
прописываем или выносим значок !
из функционала (это упрощённо).
<?php if (!is_single ()) : ?> ваше кодированное предложение вывода "лого" в шапке
<?php endif; ?>
Итак, функциональный вывод проделанной работы:
Если вы находитесь на странице тегов, категорий или главной то – файл header.php
обусловит (для вордпресс) генерацию странички соответственно, сравнивая условия, например, с (is_tag ())
/строка 1/ и обычный вариант h1
!! (строки в коде выше 1 и 3.)
Но, когда вы переходите на отдельную страничку записи, в этом случае выводимое ИМЯ САЙТА – home_url();
– в файле header.php
пристёгнуто как бы к отработке файла single.php
, отвечающего за вывод (к генерированию)) отдельной записи (скажу просто: инвертирует условия заданных заголовков значком !
) и, соответственно, в этом случае выводится инвертированный заголовок главной h2
.
Ну а само заглавие статьи будет h1
которое мы задавали в первой части настоящего поста.
Вся аналогичная отработка условий касаема и остальных разностных страничек сайта…
И помните: все прописанные условия тегов h1 - h2
файла header.php
выполняются относительно отображаемой страницы браузером. Другими словами – на основании функций отрабатываемых файлов-документов single.php category.php
и тому подобных… т.е с их условиями отображения!!
В общем, ничего страшного в сегодняшней работе нет, чтобы её не выполнить!
…попристальнее вглядывайтесь в строки рабочего кода, пробежитесь ещё разок по статье и постарайтесь понять принцип вывода в шапке сайта тегов h1 и h2… ибо это важно!!
Далее…
…конечно обратили внимание, у меня в статье способ – картика-логотип!
Я его предложил для тех, которым этот вариант шапки более симпатичен. Но, коли вам нужен обычный текстовой вариант, в этом случае достаточно убрать кодированные строки вывода картинки img
. А именно вот эти:
<img src="/wp-content/ .... logo.php/ alt="имя" title="имя" />
Вот и занавес близок…
Ну, думаю, в общем понятно изложил… Хотя мог и запутать ненароком)
Вот ещё что: вам потребуется подкорректировать и иные файлы, к примеру CSS, в общем, сложного ничего, но новичку трудновато.. и стань я в статье подробно расписывать многие поправки, то – точно бы запутались…
А посему, будет правильнее, если вы о чём-то конкретном поинтересуетесь… есть же комментарии…
Однако, упреждая вопрос о цикличном link, рекомендую прочесть как убирать циклическую ссылку логотипа главной страницы
И кстати же, очень рекомендую ЧИТАТЬ о том, как убрать теги h3 -h4 в заголовках сайдбара и приветственную строку h3 перед формой комментирования.
На этом у меня на сегодня решительно всё!.. можно и отдохнуть мальца
А вот как обозначать в шапке description (дескрипшн – описание блога) в следующих моих публикациях.
Кодекс аргументов функционалаWP.
http://codex.wordpress.org/Conditional_Tags
Online консультация по настройкам и созданию сайтов на WordPress
mihalica.ru !
Здравствуйте Миша!
У меня что-то не получается создать условия распределения тегов h1 b h2/ Понимаю, что где-то путаюсь с
<?php endif; ?>
что ли…Белиберда какая-то и на сайте (в файле) и в исходном коде.
Поможете?
Здравствуйте, Вика!
Вы мне пришлите файлик header.php на почту (мой адрес есть у Вас в письме о комментариях) – я посмотрю и попытаюсь помочь – сделаю, как первому комментатору и мастеровому.
все ровно даже у вас идет на страница h2 а потом уже h1 – проверьте эту страницу в этом сервисе
//arsenkin.ru/tools/check-h/
как быть с такой проблемой если можно то уведомление на почту киньте. Подписался на ответ). Если можно то подробнее влияет ли это на ранжирования, на сколько я знаю яндекс очень придирчив по этому поводу.Здравствуйте Саня!
Вопрос Ваш чисто SEOшный (эти мутные воды их стихия))…
1 – во-первых: если взять из инета совершенно не оптимизированный шаблон – в нём этот Ваш валидатор покажет верный результат разметки! Почему? А потому, что, к примеру, на страничке статьи главная страница (лого) будет обозначена h1 и уже сама статья h2 и т.д!! (так устроен обычный шаблон)
Вроде как бы правильно для валидатора: НО (!) в этом случае получается, что заглавная страничка будет на всяких страничках сайта обозначена ГЛАВНОЙ – т.е h1, а все остальные h2 – в том числе и СТАТЬЯ.
Спрашивается, что первичнее? – я, думаю, что на страничке статьи ВАЖНЕЕ ИМЕННО ЕЁ обозначить тегом h1, а уж саму главную – h2 (у некоторых в этом случае лого как “р”): ибо “главная – ЛОГО” одна всегда будет главной – доменной!!
Но вот отдельную-статейную страницу сайта, на мой взгляд, логичнее показать поисковику как заглавную КОНТЕНТНУЮ!! то, что должно предоставлять ПС (продвигать) – то бишь контент, а стало быть – H1.
2 – Валидатор всего-то показывает правила структуры расположения иерархии тегов. …всего-то!!
А уж оптимизировать или не оптимизировать (и каким образом оптимизировать) тему блога/сайта – это наше личное дело!
Думаю, ПС не настолько и глуп, чтобы не разобраться в величинах (и порядке иерархии) тегов: а вот разделы нашего сайта ГЛАВНЫЕ/НЕГЛАВНЫЕ/ПРОДВИГАЕМЫЕ мы ему уже указываем, обозначая ВАЖНОСТЬ тегами, на наше усмотрение – и это справедливо!
Именно для этого и существуют теги! – чтобы указывать ПС иерархию странички, но не тупую последовательность от
h1
доh6
…Есть пословица же: не всё хорошо, что оч. хорошо))
У меня таких сведений нет: Яндекс (впрочем, как и все ПС) придирчив к качеству сайта – его контенту, чистоте кода и т.п.!!
А правило одно: тег
H1
должен использоваться только РАЗ на всей страничке, а вот выше или ниже остальных – на усмотрение автора сайта.Если я Вас правильно понял))
Может немного сумбурно…
ps|
по этому поводу скоро напишу статью…
Тут дело вот в чём: когда я делаю кому-то тему, – и если меня просят – то я выстраиваю идеальную (+ -) для валидаторов площадку. Т.е ошибок нет: новичок-владелец спокоен!
Однако проходит время и админ возвращается… поправить его “идеалы”))
Спасибо, за комментарий и дельный вопрос, Саня.
Здравствуйте, Михаил! Я начинающий вебмастер, по этому ни как не могу разобраться с
У меня такая ошибка: “в разделе не хватает заголовка. Рассмотрите возможность использования h2-h6 элементы для добавления определения заголовков всех разделов.
…
За ранее благодарен за помощь!
Здравствуйте Александр!
Я Ваш пример кода убрал из комментария (т.к длинный и не очень ясный), хотя вопрос ясен: Вы мне пришлите ПОЛНЫЙ ФАЙЛ (по эл/п), на основе которого выдаётся ошибка. …И ещё раз опишите в письме, что Вам конкретно нужно. Попробую помочь !!
Михаил, спасибо за оперативность! Файлик с описанием проблемы отправил вам на E-mail.
Сейчас посмотрю…
Здравствуйте! Михаил спасибо за интересный пост. Не могли бы вы подсказать правильно ли сформирован заголовок h1 подобным образом:
Здравствуйте Оксана!
Сейчас посмотрю…
…и отпишусь…
Оксана, в принципе у Вас всё правильно на данном этапе выполнено… если главная стр. в таком варианте будет работать… (и это логично: у Вас же не блог))
Т.е
h1
(важнейший тег для логотипа) отдаётся на гл. странице… а иные заголовки помечены вh2 и h3
– всё правильно.Далее… предположим, перехожу в раздел “Продукция” – в этом случае у Вас заголовок “Продукция” тоже теперь в h1 (и это правильно!) и в прочих разделах всё верно.
…
Далее Вам, желательно бы, в разделах как-то обозначить логотип (главную страницу сайта) в, скажем, тег
h2
(некоторые обозначают в “р”). Тогда получится так на стр. разделов (и иных…): основная инфаh1
, а переход на главную стр.h2
(или “р”). Так правильнее по законам SEO.И ещё, коли есть желание, проработайте циклические ссылки логотипаУбираем циклическую ссылку h1 логотипа на главной странице…
В помощь условные
php
теги…Вы движетесь в правильном направлении – уверен, получится и дальше!!
Возникнут трудности, спрашивайте… не стесняйтесь…
Уважаемый Михаил, извиняюсь, я про другой сайт, тот не мой. Вот тег h1 моего, по поводу которого у меня большие сомнения. Если не затруднительно вам посмотреть, буду очень признательна. С уважением.
Сейчас взгляну…
Главная стр. по начальной структуре размечена правильно: только нужно логотип (гл. стр. домена) обозначить в
h1
– у Вас он пустой!!И страница записи обозначена правильно: только как и пояснял в предыдущем комме – Вам остаётся обозначить переход со страницы записи на главную чем-нить типа h2 или “р”… чтобы главная не затерялась!
…Ну и в рубриках – вряд ли оправдано имя Рубрики тегом
h1 - нужно бы h2
(или strong) – а описания записей h2… (хотя, это по желанию)… кстати: исключите из тегов h… пояснение “Архив Рубрик такой-то…” оставьте обёрнутыми тегамиh
только имя темы…То, о чём я говорил в первом ответе – актуально и для Вашего сайта…
…словом, Вам нужно поработать… Например, можно убрать обёртку тегов
h3
“Добавить комментарий” и пр. пр.Если что-то не ясно пояснил, переспрашивайте…
Спасибо! Попробую воплотить в жизнь.
Дерзайте…
здравствуйте Михаил!
Не могу убрать h1 из названия сайта. Файл header.php отредактировал а воз и ныне там. Почему не удаляется? Еще где-то прописан? Помогите если можете
Здравствуйте Владимир!
Если речь идёт о сайте, на который вы дали ссылку, то – всё просто!
У вас 2 тега h1 – это ошибка!! …редактируйте (уберите, если нужно!!) в классе –
class="site-title"
тег h1 – вheader.php
И, конечно же, уберите в описании сайта – это, вероятно, страница “Центр Марины Кугаевских” либо запись… Отредактируйте файл, отвечающий за вывод страницы/записи класс –
class="entry-title"
ID постаid="post-36"
.…и всё получится.
P|S
у вас в шаблоне неправильно свёрстаны файлы для отдельных записей/страниц… везде h1 – это неверно относительно SEO! нужно хотя бы h2.
Спасибо за ответ Михаил. Я хочу убрать h1 только из шапки. На главной получается два h1 на страницах и записях нормально там шапки нет. в header h1 я убрал а он все равно остался. Надо убрать еще и класс?
…нет, класс убирать не нужно! Только редактируйте
class="site-title"
– измените тег, либо задайте стили css…Перед тестированием сбрасывайте кэш (и браузера и сайта).
– тег h1 должен быть ТОЛЬКО один на отдельной странице… (у вас их минимум по 2)
У вас же и в архивах по несколько h1 тегов (этакий подход принято считать ошибочным).
Я изменяю файл
header.php
а изменений кода страницы не происходит.Почему? Голова лопаетсяВ таком случае (если верно помяли тег) где-то кэшируется. я об этом говорил.
Все почистил. Может шаблон не позволяет изменение, но на сервере то поменялся файл.
Может кроме header еще где то надо менять.
менять нужно только в требуемом файле!
Странно как-то…
…сказать что-то более предметно не могу: нужно смотреть файлы шаблона…
Печаль. Видно не судьба мне. шаблон Jolene Версия: 1.1.6
…если хотим создать приличный ресурс бесплатно (что, бесспорно, очень трудно), то нужно лично изучать логику построения шаблонов, например! …и всё получится – ведь своя голова всегда гораздо ловчее чужой….
IMHO такое у меня))
По сути решение вашей задачи элементарно…
…будем лично изучать логику построения шаблонов…очень трудно………….и все получится…..
….ведь решение элементарно…..
…и это правильно!))
…благодарю за бесплатную часть консультаций….и это правильно…
К сожалению, я не волшебник, чтобы вслепую решить задачу!
…ну как же- ведь решение моей задачи элементарно!
Шлите бэкап шаблона – сделаю… уберу h1 с главной страницы…
как его сделать