Recherche de contenu

Last updated:

HubSpot CMS dispose d'une fonctionnalité intégrée de recherche sur le site pour permettre à vos visiteurs de trouver facilement le contenu qu'ils recherchent. Tout votre contenu HubSpot est automatiquement indexé dans le moteur de recherche natif de HubSpot, ce qui vous évite de devoir configurer un outil de recherche tiers pour votre site Web.

Recherche de contenu en cours

Le moteur de recherche est accessible via l'API de recherche de site. Cette API prend en charge de nombreuses options de filtrage pour vous permettre de créer une expérience de recherche puissante et hautement personnalisée sur votre site Web. Par exemple, si vous souhaitez effectuer une recherche sur votre blog, vous pouvez utiliser l'option type=BLOG_POST pour obtenir uniquement les articles de blog. Ou, si vous voulez intégrer la recherche dans la version espagnole de votre site Web, vous pouvez interroger langue=es pour ne renvoyer que les pages en espagnol.

L'API les renvoie au format JSON qui peut être analysé avec JavaScript pour afficher les résultats sur votre site Web. Tous les types de contenu renverront le domaine, le titre, l'URL et la langue de la page. La description renvoyée est un échantillon de texte du contenu qui correspond le mieux au terme recherché. Un élément <span class="hs-search-highlight hs-highlight-html"> encadrera le texte parfaitement adapté, ce qui vous permettra de mettre en évidence le texte correspondant avec la CSS. 

Selon le type de contenu recherché, les résultats renvoient des informations légèrement différentes. Vous pouvez ainsi afficher différemment les résultats pour des types de contenu spécifiques. Par exemple, les articles de blog renverront des informations sur les balises de l'article, l'auteur et la date de publication.

// json { "total": 850, "offset": 0, "limit": 10, "results": [ { "id": 3761238962, "score": 0.30858153, "type": "SITE_PAGE", "domain": "designers.hubspot.com", "url": "https://developers.hubspot.com/docs/cms/search", "language": "en", "title": "Content Search", "description": "Using HubSpot’s native search engine, content search, to implement <span class="hs-search-highlight hs-highlight-html">search on your website</span>" }, { "id": 3254581958, "score": 0.30858153, "type": "BLOG_POST", "domain": "designers.hubspot.com", "url": "https://designers.hubspot.com/blog/getting-started-with-local-development", "featuredImageUrl":"https://designers.hubspot.com/hubfs/local-development.jpg" "title": "Getting Started with Local Development", "description":"The beta Local Development Tooling connects your local workflow to HubSpot, allowing you to utilize <span class="hs-search-highlight hs-highlight-html">version control</span>, your favorite text editor and various web development technologies when developing on the HubSpot CMS." "authorFullName": "William Spiro", "tags": [ "Website Development", "Local Development" ], "publishedDate": 1447938000000 } }

Appliquer la recherche sur votre site Web

Il existe deux modules par défaut à utiliser pour appliquer facilement la recherche sur votre site Web, qui utilisent l'API de recherche de site : search_input et search_results.

Barre de recherche du site

Une barre de saisie dans laquelle les visiteurs peuvent saisir des termes à rechercher. Ce module peut se trouver n'importe où sur votre site Web. Ce module peut être inclus dans un modèle avec {% module "search_input" path="@hubspot/search_input" %}.

{% module "search_input" path="@hubspot/search_input" %}

Résultats de la recherche sur le site

Renvoie une liste de contenu basée sur le terme recherché. Ce module peut se trouver n'importe où sur votre site Web. Ce module peut être inclus dans un modèle avec

{% module "search_results" path="@hubspot/search_results" %}

Si la fonctionnalité de ces modules ne correspond pas à la manière dont vous souhaitez que la recherche fonctionne sur votre site Web, vous pouvez créer vos propres modules ou fonctionnalités de recherche. Les modules de recherche par défaut sont conçus pour être étendus en fonction de vos besoins de recherche. Vous pouvez visualiser et cloner ces modules dans le Gestionnaire de conception en recherchant leurs noms dans le Finder, ou vous pouvez les récupérer dans votre environnement local à l'aide de la CLI CMS en exécutant hs fetch @hubspot/search_input.module ou hs fetch @hubspot/search_results.module.

module de recherche par défaut

Modèle de résultats de recherche

Chaque domaine a sa propre page de résultats de recherche par défaut. Le modèle et le chemin d'accès de cette page sont définis dans Paramètres > Site Web > Pages sous l' onglet Pages système pour des domaines spécifiques. Par exemple, consultez le modèle de boilerplate de résultats de recherche du thème CMS. Le domaine défini pour la page de résultats de recherche est automatiquement connecté aux modules de recherche par défaut. Cependant, vous pouvez utiliser l'API de recherche de site web pour créer vos résultats de recherche comme vous le souhaitez sur n'importe quelle page de votre site web.

Comment la priorité de la recherche est-elle déterminée ?

L'ordre des résultats de recherche est déterminé par une série de comparaisons pondérées du contenu de la page par rapport au terme recherché par le visiteur. Le contenu de la page est séparé en champs de comparaison avec une pondération différente en fonction de l'endroit où se situe le contenu dans le code HTML de vos pages. Les champs de comparaison sont regroupés par ordre d'importance :

  1. Titre HTML
  2. Métadescription
  3. Éléments HTML H1
  4. Éléments HTML H2
  5. Éléments HTML H3
  6. Autres éléments HTML

Remarque : Cette liste est susceptible d'être modifiée. 

Si vous souhaitez indiquer à notre indexeur de booster spécifiquement certains éléments d'une page, vous pouvez encadrer le contenu dans une classe hs-search-keyword.

Contrôle de l'indexation pendant le développement

Lors du développement d'un nouveau site, il est utile de pouvoir tester la recherche sur le site sans se soucier de son indexation par les moteurs de recherche tels que Google.

Dans votre robots.txt vous pouvez demander à HubSpot de tout explorer, tout en bloquant les autres robots.

# Block all bots User-agent: * Disallow: / # Allow HubSpot Site Search Indexing User-agent: HubSpotContentSearchBot Allow: /

Si l'une de vos pages comporte une balise méta indiquant « no index », la page ne sera toujours pas indexée, même si elle est autorisée dans le fichier robots.txt.

N'oubliez pas de vérifier votre fichier robots.txt avant le lancement pour vous assurer que tout est indexé comme vous le souhaitez.

Comportement d'indexation par défaut

Comme le CMS connaît l'intention de certains types de pages, la recherche de contenu est en mesure de limiter l'indexation en toute sécurité pour permettre l'indexation des pages de type contenu. Exemples de pages de type contenu :

  • Pages du site
  • Pages de destination
  • Articles de la base de connaissances
  • Articles de blog

Les pages système et les pages protégées par un mot de passe ne sont pas indexées. Les pages réservées au contrôle de l'accès au CMS ne s'afficheront dans la recherche de contenu de HubSpot que pour les utilisateurs qui sont connectés et ont accès aux pages.

Comment puis-je exclure des pages des résultats de recherche ?

Si vous empêchez une page d'être indexée par les moteurs de recherche via le fichier de votre site Web robots.txt ou via les balises meta, elle ne sera pas indexée pour la recherche sur le site. 

Dans votre fichier robots.txt, ajoutez disallow.

# Block all bots User-agent: * Disallow: /path-to-page # Block just HubSpot Site Search Indexing User-agent: HubSpotContentSearchBot Disallow: /path-to-page

Vous pouvez également ajouter une métabalise NOINDEX, NOFOLLOW dans <head> au niveau de la page ou du modèle.

<meta name="ROBOTS" content="NOINDEX, NOFOLLOW">

Il n'est pas nécessaire de bloquer les robots en utilisant à la fois robots.txt et la balise meta. Cela peut prêter à confusion si vous décidez d'autoriser l'indexation d'une page.

Comment exclure des sections d'une page de l'indexation dans les recherches ?

Parfois, certaines zones d'une page ne sont pas utiles à faire apparaître dans les résultats de recherche. Il peut s'agir du contenu d'un en-tête, d'un pied de page, d'une barre latérale, etc. Lorsque c'est le cas, vous pouvez ajouter la classe hs-search-hidden à votre HTML pour que la recherche ignore le contenu de ces zones.

Cet article vous a-t-il été utile ?
Ce formulaire est destiné à recueillir les avis sur la documentation pour les développeurs. Si vous souhaitez faire part de votre avis sur les produits HubSpot, veuillez le partager sur le forum des idéesde la communauté.