Recherche de contenu
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.
Le moteur de recherche est accessible via l'API /contentsearch/v2/search. 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.
Pour en savoir plus sur les paramètres de requête et de résultats, consultez la documentation sur /contentsearch/v2/search
Il existe deux modules par défaut à utiliser pour appliquer facilement la recherche sur votre site Web, qui utilisent l'API /contentsearch/v2/search.
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" %}
.
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
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
.
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 construire la recherche comme vous le souhaitez en utilisant l'API /contentsearch/v2/search, sur toutes les pages de votre site Web.
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 :
- Titre HTML
- Métadescription
- Éléments HTML H1
- Éléments HTML H2
- Éléments HTML H3
- 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
.
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.
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.
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.
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
.
Vous pouvez également ajouter une métabalise NOINDEX, NOFOLLOW
dans <head>
au niveau de la page ou du modèle.
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.
hs-search-hidden
à votre HTML pour que la recherche ignore le contenu de ces zones.Merci d'avoir partagé votre avis.
Comment la priorité de la recherche est-elle déterminée ?