Búsqueda de contenido

Last updated:

El CMS de HubSpot tiene integrada la funcionalidad de búsqueda en el sitio para permitir a tus visitantes encontrar fácilmente el contenido que están buscando. Todo tu contenido de HubSpot se indexa automáticamente en el motor de búsqueda nativo de HubSpot, eliminando la molestia de configurar una herramienta de búsqueda de terceros para tu sitio web.

Buscando contenido

El motor de búsqueda es accesible a través de la api API de búsqueda del sitio.  Esta API admite numerosas opciones de filtrado para permitirte crear una experiencia de búsqueda altamente personalizada y potente en tu sitio web. Por ejemplo, si quieres construir una búsqueda en tu blog, puedes consultar por type=BLOG_POST para que solo te devuelva las publicaciones del blog. O, si quieres construir la búsqueda en la versión española de tu sitio web, podrías consultar language=es para devolver solo las páginas en español.

La API devuelve JSON que puede ser analizado con JavaScript para mostrar los resultados en tu sitio web. Todos los tipos de contenido devolverán el dominio de la página, el título, la url y el idioma. La descripción devuelta es una muestra del texto del contenido que mejor se ajusta al término de búsqueda. Un elemento <span class="hs-search-highlight hs-highlight-html"> envolverá perfectamente el texto coincidente, permitiéndote resaltar el texto coincidente con CSS. 

Dependiendo del tipo de contenido buscado, los resultados devuelven una información ligeramente diferente, por lo que puede mostrar los resultados para tipos de contenido únicos de manera diferente. Por ejemplo, las publicaciones del blog devolverán información sobre las etiquetas que tiene la publicación, quién es el autor y cuándo se publicó.

// 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 } }

Implementación de la búsqueda en tu sitio web

Hay dos módulos por opción predeterminada que puedes utilizar para implementar fácilmente la búsqueda en tu sitio web, que utilizan las API de búsqueda del sitio: search_input search_results.

Entrada de búsqueda en el sitio

Un campo de entrada para que los visitantes introduzcan los términos de búsqueda. Este módulo puede existir en cualquier lugar de tu sitio web. Este módulo puede incluirse en una plantilla con {% module "search_input" path="@hubspot/search_input" %}

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

Resultados de la búsqueda del sitio

Devuelve un listado de contenido basado en el término de búsqueda. Este módulo puede existir en cualquier lugar de tu sitio web. Este módulo puede incluirse en una plantilla con

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

Si la funcionalidad de estos módulos no es la que deseas que funcione la búsqueda en tu sitio web, puedes crear tus propios módulos o funcionalidad de búsqueda. Los módulos de búsqueda por opción predeterminada están diseñados para ser ampliados en función de tus necesidades de búsqueda. Puedes ver y clonar estos módulos en el Administrador de diseño buscando sus nombres en el Finder o puedes recuperarlos en tu entorno local utilizando la CLI del CMS ejecutando hs fetch @hubspot/search_input.module o hs fetch @hubspot/search_results.module.

módulo de búsqueda por opción predeterminada

Plantilla de resultados de búsqueda

Cada dominio tiene su propia página de resultados de búsqueda por opción predeterminada. La plantilla y la ruta de esta página se establecen en Configuración > Sitio web > Páginas en la pestaña Páginas del sistema para dominios específicos. Consulta la plantilla de resultados de búsqueda del tema CMS como ejemplo. El dominio establecido para la página de resultados de búsqueda se conecta automáticamente a los módulos de búsqueda por opción predeterminada. Sin embargo, puedes usar la API de búsqueda del sitio para crear tus resultados de búsqueda como quieras en cualquier página de tu sitio web.

¿Cómo se determina la precedencia de la búsqueda?

El orden de los resultados de la búsqueda se determina por una serie de comparaciones ponderadas del contenido de la página con el término de búsqueda del visitante. El contenido de la página se separa en campos de comparación con una ponderación distinta según dónde reside el contenido dentro de las HTML de tus páginas. Los campos de comparación se agrupan en orden de ponderación:

  1. Título HTML
  2. Metadescripción
  3. Elementos HTML H1
  4. Elementos HTML H2
  5. Elementos HTML H3
  6. Otros elementos HTML

Ten en cuenta que esta lista está sujeta a cambios. 

Si deseas indicar a nuestro indexador que potencie específicamente ciertos elementos de una página, puedes envolver el contenido en una clase hs-search-keyword.

Controlar la indexación durante el desarrollo

Mientras se desarrolla un nuevo sitio, es útil poder probar la búsqueda en el sitio sin preocuparse de que éste sea indexado por motores de búsqueda como Google.

En tu robots.txt puedes decirle a HubSpot que rastree todo, mientras bloquea otros bots.

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

Si alguna de tus páginas tiene una metaetiqueta que especifica que no se indexe, la página seguirá sin ser indexada, aunque se permita en el robots.txt.

Recuerda también revisar tu robots.txt antes del lanzamiento para asegurarse de que todo se indexa como quieres.

Comportamiento de indexación por opción predeterminada

Dado que el CMS conoce la intención de ciertos tipos de páginas, la búsqueda de contenido puede limitar de forma segura la indexación para permitir la indexación de páginas de tipo contenido. Ejemplos de páginas de contenido:

  • Páginas de sitio
  • Páginas de destino
  • Artículos de la base de conocimientos
  • publicaciones de blog

Las páginas del sistema y las páginas protegidas por contraseña no se indexan. Las páginas restringidas de CMS Membership solo se mostrarán en la búsqueda de contenido de hubspot para los usuarios que hayan iniciado sesión y tengan acceso a las páginas.

¿Cómo puedo excluir páginas para que no aparezcan en los resultados de la búsqueda?

Si bloqueas una página para que no sea indexada a los motores de búsqueda a través del archivo robots.txt de tu sitio web o a través de las metaetiquetas, no se indexarán para la búsqueda del sitio. 

En tu robots.txt agrega un disallow.

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

También puedes agregar una metaetiqueta NOINDEX, NOFOLLOW en <head> a nivel de página o plantilla.

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

No es necesario bloquear los robots utilizando tanto el robots.txt como la metaetiqueta. Hacerlo puede hacer que sea confuso después si decides permitir la indexación de una página.

Cómo excluir secciones de una página para que no se indexen en la búsqueda

A veces hay regiones de una página que no son útiles para aparecer en los resultados de búsqueda. Puede ser el contenido de un encabezado, un pie de página, una barra lateral, etc. En este caso, puedes agregar la clase hs-search-hidden a tu HTML para que la búsqueda ignore el contenido de esas regiones.

¿Te resultó útil este artículo?
Con este formulario puedes enviar tu opinión sobre nuestros documentos para desarrolladores. Si tienes comentarios sobre el producto de HubSpot, puedes enviarlos al Foro de ideas.