- Как исправить проблемы с тегом заголовка в WordPress SEO от Yoast
- Когда тег заголовка не отображается должным образом в шаблонах WordPress
- В форматах, которые поддерживают заголовок
- Шаблоны, которые не поддерживают заголовок
- Редактировать файлы шаблона
- Используйте Force Rewrite
- Заголовки, которые не отображаются должным образом для пользовательских типов контента
- Изменить динамические заголовки, когда Yoast SEO установлен
- Изменить динамические заголовки, когда Yoast SEO не установлен
- В итоге
Как исправить проблемы с тегом заголовка в WordPress SEO от Yoast
Исправлено дублирование заголовков и некорректное / желаемое отображение тега <title> на сайтах WordPress.
Одним из первых плагинов, которые мы устанавливаем, когда создаем новый сайт WordPress или когда клиент уже имеет сайт WordPress и хочет его продвигать, является плагин WordPress SEO by Yoast . Это отличный инструмент для управления SEO на страницах на сайтах WordPress, а также для управления картой сайта вашего сайта, проверки Search Console и даже богатых фрагментов.
Но есть интерес, с которым я столкнулся на нескольких сайтах, и после установки плагина важный тег <title> для продвижения страницы дублируется, и содержимое внутри него появляется дважды на каждой странице и странице сайта. Так как это происходит не в каждой установке и не на каждом сайте, напрашивается вывод о том, что существует связь с используемым нами форматом, и мне кажется, что это достаточно важно, чтобы написать о коротком посте.
Итак, давайте посмотрим, что мы делаем, чтобы исправить дубликаты заголовков и общие проблемы, связанные с отображением тега заголовка на сайтах WordPress, при условии, что вы используете плагин WordPress SEO by Yoast.
Когда тег заголовка не отображается должным образом в шаблонах WordPress
Итак, вы столкнулись с ситуацией, когда теги заголовка в WordPress не отображаются так, как вы их установили или как вы ожидали? Например - появляются ли дубликаты заголовков? Названия не соответствуют тем, которые вы ввели В локальных настройках Джоала ?
Локальные настройки - это конкретные настройки для каждой страницы, которые определяются в самой странице / публикации.
Для этого может быть несколько причин, и мы можем отделить ваш шаблон от режима тега заголовка и не поддерживаем эту функцию:
В форматах, которые поддерживают заголовок
Если ваш шаблон создан для WordPress версии 4.1 или выше, он должен объявить поддержку тегов title и переопределить любые теги <title> из файлов шаблонов (обычно header.php) для поддержки динамических тегов заголовков.
Вы можете проверить, поддерживается ли ваш сайт WordPress функцией поиска () add_theme_support В шаблоне functions.php (или Дочерний формат ) Ваш:
add_theme_support ('title-tag');Если эта строка появляется, вы должны удалить тег <title> из файла header.php, однако вы все равно увидите тег <title> в верхней части исходного кода каждой страницы благодаря функции динамических заголовков .
Другими словами, если разработчик шаблона определил использование тега title , вы вообще не должны видеть вызов <title> в header.php, и если вы видите, что вам нужно удалить его, чтобы поддержка тега title и динамические заголовки работали правильно.
Кстати, если вы не уверены, какие файлы шаблонов влияют на конкретную страницу, вы можете использовать плагин Что за файл ,
Шаблоны, которые не поддерживают заголовок
Если шаблон не поддерживает поддержку тегов заголовков , у вас есть два варианта - отредактировать файлы шаблона или использовать опцию Force Rewrite Titles в плагине WordPress SEO by Yoast:
Редактировать файлы шаблона
Найдите файлы шаблонов в элементе <title>, который обычно находится в header.php. Если элемент выглядит примерно так:
<title> <? php wp_title (''); ?> <? php if (wp_title ('', false)) {echo ':'; }?> <? php bloginfo ('name'); ?> </ title>Вы должны изменить его так, чтобы он выглядел следующим образом, и эта опция предотвратит появление двойных заголовков:
<title> <? php wp_title (''); ?> </ title>Важно отметить, что функция () wp_title Предназначен для устранения в Wordpress 4.4, но было решено оставить его на некоторое время, чтобы понять последствия, которые могут возникнуть перед лицом таких добавок и шаблонов, прежде чем они будут устранены. Следовательно, эта функция, вероятно, будет отключена в ближайшем будущем, поэтому вы всегда должны добавлять поддержку тегов title, как мы упоминали ранее при разработке шаблонов WordPress, и отказываться от тега <title>, написанного в коде.
Используйте Force Rewrite
Второй вариант - активировать опцию «Принудительно перезаписывать заголовки» в Yoast, которая появляется на вкладке « SEO»> «Поиск» на вкладке « Общие ». Обратите внимание, что вы не увидите эту опцию, если ваш шаблон правильно поддерживает тег заголовка.
Важно отметить, что этот вариант следует избегать любой ценой, поскольку он может значительно замедлить скорость вашего сайта. И если мы процитируем то, что написано на сайте Yoast:
«Использование принудительной перезаписи заголовков может замедлить работу вашего сайта и является наименее желательным вариантом из двух»
Заголовки, которые не отображаются должным образом для пользовательских типов контента
Если вы испытываете ситуации в них Типы контента Созданные вами данные не дают правильного тега заголовка. Сначала необходимо убедиться, что вы правильно ввели заголовок и мета-описание в локальных настройках Yoast на рассматриваемой странице.
Следует также отметить, что вы не перепутали настройки формата заголовка страницы архива с настройками формата заголовка одной страницы для того же типа сопоставленного содержимого при определении Yoast. Если вы работаете с последней версией Joast (на момент написания статьи), настройки будут в разделе « SEO»> «Поиск» на вкладке « Типы контента » и будут выглядеть следующим образом:
Если вы не видите tparu, задайте заголовок и мета-описание для страницы архива определенного типа контента, убедитесь, что в коде типа контента существует 'has_archive' => true.
Изменить динамические заголовки, когда Yoast SEO установлен
Следующий код изменит теги заголовка, когда установлен Yoast и используются динамические заголовки, объявив поддержку тега заголовка . Это сделано крюк (Фильтр конечно), который Yoast предоставляет тем, кто хочет изменить теги для разных страниц, используя код:
function custom_theme_titles_yoast ($ title) {$ sep = '|'; $ name = get_bloginfo ('name'); $ desc = get_bloginfo ('description', 'display'); if (is_front_page ()) {$ pagetitle = $ title; return "{$ pagetitle}"; } elseif (is_404 ()) {$ pagetitle = "404"; return "{$ pagetitle} {$ sep} {$ name} - {$ desc}"; } else {$ pagetitle = $ title; return "{$ pagetitle} {$ sep} {$ name} - {$ desc}"; }} add_filter ('wpseo_title', 'custom_theme_titles_yoast', PHP_INT_MAX);Обратите внимание, что если вы используете этот фильтр, любые изменения, которые вы вносите в локальные настройки каждой страницы, будут проходить через этот фильтр ...
Изменить динамические заголовки, когда Yoast SEO не установлен
Если WordPress SEO от Yoast не установлен, вам нужно написать новую функцию для изменения этих динамических тегов заголовков. Для этого мы передадим функцию () document_title_parts В фильтре. В репрезентативном примере мы изменим заголовок и сайт , оба параметра принадлежат document_title_parts.
function custom_theme_titles ($ titleparts) {if (is_front_page ()) {$ pagetitle = $ titleparts ['title']; $ titleparts ['title'] = $ pagetitle; unset ($ titleparts ['site']); } elseif (is_404 ()) {$ pagetitle = "404"; $ sep = "|"; $ name = get_bloginfo ('name', 'display'); $ sep2 = "-"; $ desc = get_bloginfo ('description', 'display'); $ titleparts ['title'] = $ pagetitle. $ sep. $ name. $ sep2. $ desc; unset ($ titleparts ['site']); } elseif (is_category ()) {$ category = get_the_category (); $ catName = $ category [0] -> cat_name; $ pagetitle = "Blog -". $ catName. "archives"; $ sep = "|"; $ name = get_bloginfo ('name', 'display'); $ sep2 = "-"; $ desc = get_bloginfo ('description', 'display'); $ titleparts ['title'] = $ pagetitle. $ sep. $ name. $ sep2. $ desc; unset ($ titleparts ['site']); } else {$ pagetitle = $ titleparts ['title']; $ sep = "|"; $ name = get_bloginfo ('name', 'display'); $ sep2 = "-"; $ desc = get_bloginfo ('description', 'display'); $ titleparts ['title'] = $ pagetitle. $ sep. $ name. $ sep2. $ desc; unset ($ titleparts ['site']); } вернуть $ titleparts; } add_filter ('document_title_parts', 'custom_theme_titles', PHP_INT_MAX);Для того, чтобы получить информацию, необходимую для отображения, мы используем функцию () get_blog_info Получить название и описание сайта. В случае категорий мы используем () get_the_category Чтобы получить соответствующую категорию, а затем получить имя с помощью cat_name.
Обратите внимание, что мы удалили $ titleparts ['site'] в строке X, потому что он добавил имя сайта в конец тега title. Конечно, это на ваше усмотрение и в соответствии с потребностями сайта.
Результатом этого кода будет тег заголовка, построенный в форме «Имя страницы | Имя сайта - Описание сайта ", где для домашней страницы тегом будет " Имя сайта - Описание сайта ", и они будут приниматься динамически, а также будут работать для категорий, страница 404 и т. Д.
В итоге
В этом посте описано несколько основных действий, предназначенных для исправления ситуации, в которой теги заголовка, т. Е. Теги <title> не отображаются должным образом или как вы запланировали для поисковых систем. Если есть другие интересные ситуации или решения, с которыми вы знакомы, вы можете поделиться своими комментариями с нами.
В любом случае - если вы заинтересованы в SEO и SEO, и если у вас есть сайт WordPress - вы найдете ряд статей, руководств и интересных советов по теме Продвижение сайтов WordPress В блоге Сабби. Посмотрите и поделитесь соответствующими постами с постами, которые вы любите, это помогает! 🙂
Например - появляются ли дубликаты заголовков?Php wp_title (''); ?
Gt; <?
Php if (wp_title ('', false)) {echo ':'; }?
Gt; <?
Php bloginfo ('name'); ?
Php wp_title (''); ?