Лишние заголовки на страницах особенно часто встречаются в бесплатных шаблонах. В том числе в служебных файлах. Просмотрим сайт в расширении RDS bar. К сожалению, мы будем неприятно удивлены, что на страницах наших статей находятся элементы, которым там совершенно не место. Как будто бы авторы шаблонов должны были предназначить теги <h1> – <h6> только для статей. Однако встретить их можно где угодно.
Лишние заголовки — проверка в браузерах
Много заголовков присоединяется к адресам статей из сайтбаров. Например, из виджетов, баннеров, из форм подписки, поиска и др. Но это портит каждую запись, при этом, из-за частых повторений поисковые системы учитывают их, как ключевые слова. На скриншоте показано, что мы можем увидеть в разделе SEO, используя браузер Firefox.
Понятно, что все лишнее с сайта нужно удалить. Иногда в составе ключевых слов встречаются и другие служебные ссылки. К заголовкам они никак не относятся, например, «читать далее» или еще какое-то «nn». Конечно, каждый блогер с таким явлением встречается.
Лишние заголовки — удаление из сайтбара
На блоге moylubimiblog.ru удаление из сайтбара заголовков h3 сделала в файле редактора «Widget.php», заменив теги h3 на div.
1 2 3 4 5 6 7 | 'after_widget' => '</aside>', 'before_title' => '<div class="widget-title">', 'after_title' => '</div>', ) ); |
Это сделать совсем просто. Но после вставки кода тексты остаются на месте. Они больше не присоединяются к статьям, потому что теперь стали другими тегами — «widget-title». Но на другом сайте, у меня в теме три сайтбара. То же самое сделала, но только в 3 абзацах кода файла функций. Откроем файл функций и в поиске напишем слово register. По этому слову найдем три абзаца подряд и заменим теги заголовков на div.
Например, описание сайта о даче и доме находится в моем шаблоне, в уголочке сайтбара. Там у него почему-то заголовок h3. Его тоже заменила, в файле редактора, боковой колонки — sidebar.php.
После замены получилось так:
1 | <div class="site-description"><?php echo esc_html($description ); ?></div> |
Удаление из навигации
На сайте о доме и даче навигация нашлась в файле редактора template-tags.php. Там она встретилась два раза: для главной страницы и для остальных записей. Перемены сделала в обеих случаях. Было так:
1 2 3 4 5 6 | <h2 class="screen-reader-text"><?php _e( 'Posts navigation', 'twentyfourteen' ); ?> </h2> <nav class="navigation post-navigation" role="navigation"> <h2 class="screen-reader-text"> <?php _e( 'Post navigation', 'twentyfourteen' ); ?></h2> <div class="nav-links"> |
Тег h2 заменила тегом p, поучилось так:
1 2 3 | <nav class="navigation post-navigation" role="navigation"> <p class="screen-reader-text"><?php _e( 'Post navigation', 'twentyfourteen' ); ?> </p>. |
На сайте moylubimiblog.ru заголовок навигации h2 пришлось искать по всем файлам. Пишу в поиске слово navigation и просматриваю все файлы, тег нашелся в файле (library/lineday.php)
1 2 3 | <nav class="navigation post-navigation" role="navigation"> <h2 class="screen-reader-text"><?php _e( 'Post navigation', 'lineday' ); ?> </h2. |
1 2 | <nav class="navigation post-navigation" role="navigation"> <p class="screen-reader-text"><?php _e( 'Post navigation', 'lineday' ); ?></p> |
Работаю в браузере Firefox, проводя замену сразу на обеих сайтах и здесь же их проверяю. Удалены почти все лишние заголовки, однако они остались в записи над формой комментариев.
Удаление из формы комментариев
Поступаю так же, как с предшествующими тегами, найдя их в файле комментариев – на моем любимом блоге.
1 2 3 4 5 6 7 | <h2 class="comments-title"> <?php printf( _nx( 'One Response on “%2$s”', '%1$s Responses on “%2$s”', get_comments_number(), 'comments title', 'lineday' ), number_format_i18n( get_comments_number() ), '<span>' . get_the_title() . '</span>' ); ?> </h2> |
Заменяю тегом p. Все хорошо исправилось, заглавие над формой комментирования сохранилось, стили не меняла. В блоге о доме и даче comments-title нашелся тоже в файле комментариев, поступила с ним так же.
Так было:
1 2 3 4 5 6 7 8 9 10 11 12 | <h3 class="comments-title"> <?php printf( _n( 'One thought on “%2$s”', '%1$s thoughts on “%2$s”', get_comments_number(), 'twentyfourteen' ), number_format_i18n( get_comments_number() ), get_the_title() ); ?> </h3>. |
Стало так:
1 2 3 4 5 6 7 8 9 10 11 12 | <p class="comments-title"> <?php printf( _n( 'One thought on “%2$s”', '%1$s thoughts on “%2$s”', get_comments_number(), 'twentyfourteen' ), number_format_i18n( get_comments_number() ), get_the_title() ); ?> </p> |
Здесь же нашелся еще один код заголовка для комментариев, изменяю его так же, как предшествующий.
1 2 3 4 | <h3 class="screen-reader-text"><?php _e(<h3 class="screen-reader-text"> <?php _e( 'Comment navigation', 'twentyfourteen' ); ?></h3> , 'twentyfourteen' ); ?></h3> |
Однако эти действия привели лишь к частичному удалению фраз. Остаются заголовки в тегах h3 «добавить комментарий, отменить ответ». Искала как удалить эти фразы, но удалось найти с помощью добавления кода в плагин функций.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | // убираем h3 в форме комментирования function my_comment_form_before() { ob_start(); } add_action( 'comment_form_before', 'my_comment_form_before' ); function my_comment_form_after() { $html = ob_get_clean(); $html = preg_replace( '/<p id="reply-title"(.*)>(.*)<\/p>/', '<p id="reply-title"\1>\2</p>', $html ); echo $html; } add_action( 'comment_form_after', 'my_comment_form_after' ); |
Код вставляем осторожно, после первого значка <?php нажмем клавишу Enter и во второй строке вставим его. Вставила на обеих сайтах и все лишние заголовки исчезли. Имеются заголовки непосредственно для каждого комментария в тегах: h4 и h5, но комментарии принадлежат статье, потому их не меняю.
В дальнейшем такие вставки делаю не в файл функций, а в плагин. Стоит заметить, что всем этим занималась, пока пользовалась бесплатными шаблонами. Однако, за небольшую сумму шаблон можно купить у Алексея Гудвина. Купила, после чего пользуюсь в течение года и перестала мучиться с кодами, не являясь программистом.