Données structurées du champ de recherche de liens sitelink (WebSite)

Un champ de recherche de liens sitelink permet aux utilisateurs de faire rapidement des recherches sur votre site ou dans votre application directement depuis la page de résultats de recherche. Il offre des suggestions en temps réel ainsi que d'autres fonctionnalités.

La recherche Google peut afficher automatiquement un champ de recherche limité à votre site Web lorsque ce dernier apparaît dans les résultats de recherche, sans que vous n'ayez à effectuer quoi que ce soit. Ce champ de recherche est alimenté par la recherche Google. Cependant, vous pouvez fournir explicitement des informations en ajoutant des données structurées WebSite, ce qui peut aider Google à mieux comprendre votre site.

Si la recherche Google a déjà affiché un champ de recherche de liens sitelinks pour votre site, vous pouvez en contrôler certains aspects en ajoutant des données structurées WebSite.

Mettre en œuvre le champ de recherche de liens sitelink

Pour que votre site puisse s'afficher avec un champ de recherche dans les résultats de recherche Google, procédez comme suit :

  1. Installez un moteur de recherche opérationnel sur votre site Web ou votre application Android.

    Les requêtes de recherche de liens sitelink renvoient l'utilisateur vers la page de résultats de recherche de votre site ou de votre application. Vous avez donc besoin d'un moteur de recherche opérationnel pour activer cette fonctionnalité.

    • Sites Web : configurez un moteur de recherche sur votre site Web. Cette fonctionnalité transmet la requête de l'utilisateur à votre cible à l'aide de la syntaxe spécifiée dans les données structurées. Votre moteur de recherche doit prendre en charge les requêtes encodées en UTF-8.
    • Applications : consultez l'article de présentation de la recherche sur le site des développeurs Android pour découvrir comment mettre en œuvre un moteur de recherche pour votre application. L'application Android doit être compatible avec les intents ACTION_VIEW à partir des résultats de recherche. De plus, l'URI de données correspondant doit être spécifié dans la propriété potentialAction.target du balisage.
  2. Mettez en œuvre l'élément de données structurées WebSite sur la page d'accueil de votre site. Cette fonctionnalité nécessite que l'application soit associée à un site Web, même s'il ne comporte qu'une seule page. Voici quelques consignes supplémentaires :
    • Ajoutez ce balisage uniquement à la page d'accueil, pas à d'autres pages.
    • Si vous implémentez déjà des données structurées WebSite pour la fonctionnalité de nom du site, veillez à imbriquer les propriétés de nom du site dans le même nœud. En d'autres termes, évitez si possible de créer un autre bloc de données structurées WebSite sur votre page d'accueil.
    • Spécifiez toujours une propriété SearchAction pour le site Web, et éventuellement une autre si vous proposez une fonctionnalité de recherche dans votre application. Vous devez définir une propriété SearchAction pour le site Web même si l'application est votre cible de recherche préférée. Ainsi, lorsque l'utilisateur n'effectue pas sa recherche depuis un téléphone Android ou s'il n'a pas installé votre application Android, le résultat de la recherche renverra vers votre site Web.
    • En fonction du format que vous utilisez, découvrez où insérer des données structurées sur la page.
  3. Suivez les consignes.
  4. Validez votre code à l'aide de l'outil de test des résultats enrichis.
  5. Vérifiez la mise en œuvre du moteur de recherche. Pour ce faire, copiez l'URL WebSite.potentialAction.target à partir des données structurées, remplacez {search_term_string} par une requête de test, puis accédez à cette URL dans un navigateur Web. Par exemple, si votre site Web est example.com et que vous souhaitez tester la requête "kittens", vous devez accéder à la page https://www.example.com/search/?q=kittens.
  6. Définissez une URL canonique de prédilection pour la page d'accueil de votre domaine à l'aide de l'élément link rel="canonical" dans toutes les variantes de la page d'accueil. Cette pratique aide la recherche Google à choisir l'URL appropriée pour votre balisage. Votre serveur doit prendre en charge l'encodage des caractères UTF-8.
  7. Pour les applications, activez les filtres d'intent appropriés afin de permettre l'utilisation de l'URL que vous spécifiez dans la cible du balisage. Pour obtenir un exemple de création de filtres d'intent pour les URL de la recherche Google, consultez la section sur l'indexation des applications Firebase pour Android.
  8. Déployez quelques pages où figurent vos données structurées et utilisez l'outil d'inspection d'URL pour découvrir comment Google voit la page. Assurez-vous que Google peut accéder à votre page et qu'elle n'est pas bloquée par un fichier robots.txt, la balise noindex ni par des identifiants de connexion. Si tout semble être en ordre, vous pouvez demander à Google d'explorer de nouveau vos URL.
  9. Pour informer Google des modifications futures de vos pages, nous vous recommandons de nous envoyer un sitemap. Vous pouvez automatiser cette opération à l'aide de l'API Sitemap de la Search Console.

Exemple

Voici un exemple de résultat de recherche pour "Pinterest" sur Google, qui renvoie un champ de recherche de liens sitelink pour le site Web Pinterest :

Champ de recherche de liens sitelink utilisé

Voici un exemple de balisage mettant en œuvre un champ de recherche de liens sitelink qui utilise le moteur de recherche personnalisé du site Web :

JSON-LD

Voici un exemple au format JSON-LD :


<html>
  <head>
    <title>The title of the page</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "WebSite",
      "url": "https://www.example.com/",
      "potentialAction": {
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://query.example.com/search?q={search_term_string}"
        },
        "query-input": "required name=search_term_string"
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>
Microdonnées

Voici un exemple sous forme de microdonnées :


<div itemscope itemtype="https://schema.org/WebSite">
  <meta itemprop="url" content="https://www.example.com/"/>
  <form itemprop="potentialAction" itemscope itemtype="https://schema.org/SearchAction">
    <meta itemprop="target" content="https://query.example.com/search?q={search_term_string}"/>
    <input itemprop="query-input" type="text" name="search_term_string" required/>
    <input type="submit"/>
  </form>
</div>
  

Voici un exemple de site et d'application au format JSON-LD :

<html>
  <head>
    <title>The title of the page</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "WebSite",
      "url": "https://www.example.com/",
      "potentialAction": [{
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://query.example.com/search?q={search_term_string}"
        },
        "query-input": "required name=search_term_string"
      },{
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "android-app://com.example/https/query.example.com/search/?q={search_term_string}"
        },
        "query-input": "required name=search_term_string"
      }]
    }
    </script>
  </head>
  <body>
  </body>
</html>

Consignes

Pour que votre site puisse s'afficher en tant que résultat enrichi, suivez ces consignes.

Un champ de recherche de liens sitelink peut être ajouté à votre site via la recherche Google même s'il n'inclut pas les données structurées décrites ici. Toutefois, pour empêcher l'affichage de ce champ, vous pouvez ajouter la balise meta suivante à la page d'accueil :

<meta name="google" content="nositelinkssearchbox">

Définitions des types de données structurées

Pour que votre contenu puisse être affiché avec un champ de recherche de liens sitelink, vous devez inclure les propriétés obligatoires.

Type modifié WebSite

La recherche Google utilise un type de données structurées WebSite modifié à la fois pour les champs de recherche de sites Web et d'applications. La définition complète de l'élément WebSite est fournie sur schema.org, bien que la recherche Google dévie légèrement de la norme. Les propriétés prises en charge par Google sont les suivantes :

Propriétés obligatoires
potentialAction

Tableau composé d'un ou deux objets SearchAction.

Cet objet décrit l'URI auquel envoyer la requête, ainsi que la syntaxe de la requête envoyée. Vous devez mettre en œuvre une page Web ou un gestionnaire d'intent en mesure de recevoir la requête et d'effectuer une recherche appropriée sur la chaîne soumise. Si l'utilisateur ne se trouve pas sur une application Android (ou s'il est sur une application Android, mais qu'il n'a pas spécifié de cible d'intent Android), le champ de recherche envoie la version de site Web de la requête à l'emplacement spécifié. S'il est sur un appareil Android et qu'il a spécifié un URI d'intent Android, cet intent est envoyé.

Vous devez créer une propriété SearchAction de site Web afin de permettre les recherches sur ordinateur. Si vous proposez également la fonctionnalité de recherche dans votre application, vous pouvez spécifier un objet SearchAction. Chaque objet SearchAction doit contenir les propriétés imbriquées suivantes :

Exemple pour un site Web

L'exemple suivant envoie une requête GET à https://query.example.com/search?q=user%20search%20string.


"potentialAction": [{
  "@type": "SearchAction",
  "target": {
    "@type": "EntryPoint",
    "urlTemplate": "https://query.example.com/search?q={search_term_string}"
  }
  "query-input": "required name=search_term_string"
}]

Exemple pour une application

L'exemple suivant envoie un intent Android à android-app://com.example/https/query.example.com/search/?q=user_search_string.


"potentialAction": [{
  "@type": "SearchAction",
  "target": {
    "@type": "EntryPoint",
    "urlTemplate": "android-app://com.example/https/query.example.com/search/?q={search_term_string}"
  }
  "query-input": "required name=search_term_string"
}]
potentialAction.query-input

Text

Utilisez la chaîne littérale required name = search-term, ou l'espace réservé que vous avez utilisé dans target. Assurez-vous que les deux valeurs d'espace réservé correspondent. Par exemple, les deux valeurs d'espace réservé dans les propriétés target et query-input utilisent la chaîne search-term :


"potentialAction": [{
  "@type": "SearchAction",
  "target": {
    "@type": "EntryPoint",
    "urlTemplate": "https://query.example.com/search?q={search-term}"
  }
  "query-input": "required name=search-term"
}]
potentialAction.target

EntryPoint

Un objet EntryPoint avec une propriété urlTemplate.

L'élément urlTemplate doit être une chaîne au format suivant : search_handler_uri{search_term_string}

Exemple :

https://query.example.com/search?q={search_term_string}
search_handler_uri Pour les sites Web, il s'agit de l'URL du gestionnaire qui reçoit et gère la requête de recherche. Pour les applications, il s'agit de l'URI du gestionnaire d'intent de votre moteur de recherche qui gère les requêtes.
search_term_string

Chaîne d'espace réservé qui est remplacée par la requête de recherche de l'utilisateur lorsque celui-ci clique sur le bouton "Rechercher" dans le champ de recherche. Assurez-vous que la chaîne d'espace réservé que vous utilisez ici correspond également à la valeur de l'élément name pour la propriété query-input.

url

URL

Spécifie l'URL du site faisant l'objet de la recherche. Définissez la page d'accueil canonique de votre site. Par exemple : https://www.example.org

使用 Search Console 监控富媒体搜索结果

Search Console 是一款工具,可帮助您监控网页在 Google 搜索结果中的显示效果。即使没有注册 Search Console,您的网页也可能会显示在 Google 搜索结果中,但注册 Search Console 能够帮助您了解 Google 如何查看您的网站并做出相应的改进。建议您在以下情况下查看 Search Console:

  1. 首次部署结构化数据后
  2. 发布新模板或更新代码后
  3. 定期分析流量时

首次部署结构化数据后

等 Google 将网页编入索引后,请在相关的富媒体搜索结果状态报告中查看是否存在问题。 理想情况下,有效项目数量会增加,而无效项目数量不会增加。如果您发现结构化数据存在问题,请执行以下操作:

  1. 修正无效项目
  2. 检查实际网址,核实问题是否仍然存在。
  3. 使用状态报告请求验证

发布新模板或更新代码后

如果对网站进行重大更改,请监控结构化数据无效项目的增幅。
  • 如果您发现无效项目增多了,可能是因为您推出的某个新模板无法正常工作,或者您的网站以一种新的错误方式与现有模板交互。
  • 如果您发现有效项目减少了(但无效项目的增加情况并不对应),可能是因为您的网页中未再嵌入结构化数据。请通过网址检查工具了解导致此问题的原因。

定期分析流量时

请使用效果报告分析您的 Google 搜索流量。数据将显示您的网页在 Google 搜索结果中显示为富媒体搜索结果的频率、用户点击该网页的频率以及网页在搜索结果中的平均排名。您还可以使用 Search Console API 自动提取这些结果。

Dépannage

Si vous ne parvenez pas à mettre en œuvre ou à déboguer des données structurées, voici quelques ressources susceptibles de vous aider.