Après avoir opté pour un autre thème wordpress, Google a commencé à ajouter un nom de site à TOUS les titres de page dans les résultats de recherche.
Par exemple.:
"Titre de la page - Nom du site"
Même en laissant vide la zone du nom de site, Google ajoute toujours le titre de la page d'accueil à côté de chaque page. Cela a commencé seulement après que je sois passé à mon nouveau thème wordpress actuel.
J'utilise le plugin Yoast SEO et j'ai même essayé de supprimer "%% sep %% %% sitename %%" dans les paramètres, mais cela ne fonctionne toujours pas.
J'ai contacté le développeur du thème, voici sa réponse:
"Le thème ne définit aucun titre personnalisé. Il utilise par défaut add_theme_support ('title-tag'); les fonctions wordpress et Seo by Yoast fonctionnent avec cela."
Comment puis-je supprimer le nom de site? Dois-je changer le code header.php? Si non, quel code dois-je éditer?
Par défaut, WordPress utilise _wp_render_title_tag
pour accrocher wp_head
(voir ici )
add_action( 'wp_head', '_wp_render_title_tag', 1 );
Cette fonction encapsule wp_get_document_title
pour afficher la balise de titre sur le thème si add_theme_support( 'title-tag' );
est ajouté dans le fichier de thème functions.php
(généralement). https://core.trac.wordpress.org/browser/tags/4.4.2/src/wp-includes/general-template.php#L944 }
Si vous voyez le filtre document_title_parts
sur la fonction wp_get_document_title()
, nous pouvons filtrer les paramètres utilisés dans le titre (title
, page
, tagline
, site
).
Supposons que si nous avons besoin de supprimer le titre du nom de site de la page d’accueil et de la publication unique , il vous suffit de désélectionner les paramètres title
et site
avec balises conditionnelles , ici le code exemple (ajouter dans functions.php
fichier de thème):
add_filter( 'document_title_parts', function( $title )
{
if ( is_home() || is_front_page() )
unset( $title['title'] ); /** Remove title name */
if ( is_single() )
unset( $title['site'] ); /** Remove site name */
return $title;
}, 10, 1 );
À propos de votre problème dans l'indexation de Google, il est hors sujet ici.
Dans votre header.php, vous devrez peut-être remplacer:
<title><?php whatever code you find in your existing theme ?></title>
avec:
<title><?php wp_title(''); ?></title>
Assurez-vous de faire une copie en premier afin de pouvoir revenir si vous en avez besoin!