Hecho con Chinaski

Búsqueda del sitio

Los sites built incluyen una página de búsqueda funcional en /search/, generada por idioma en build time, respaldada por un índice JSON estático y consultada completamente en el navegador del visitante. Esta página cubre cómo funciona y cómo se mantiene actualizada.

Cómo funciona

  • El builder escribe un search index (<language>/search-index.json) que contiene cada página y post publicado en ese idioma: el tipo de entrada, el título, la URL absoluta y un excerpt (el excerpt del autor cuando se suministra; de lo contrario un resumen de 160 caracteres generado desde el cuerpo).
  • La página de búsqueda (renderizada desde search.tt, con el header y footer de tu theme) carga ese índice del lado del cliente y hace matching con el query q= del visitante localmente: sin round-trip al servidor, sin search backend, nada que configurar.

Qué es buscable

  • Páginas y posts publicados, por idioma. Cada entrada del índice lleva el título, la URL del resultado y el excerpt, así que lo que hace matching es exactamente lo que un visitante lee en el listado.
  • Los índices tienen scope por idioma: una búsqueda bajo el /search/ de un idioma nunca muestra resultados en otro idioma (consistente con el modelo de salida por idioma).
  • Los excerpts provienen del field de excerpt propio del autor cuando está definido, o del resumen auto-generado; el mismo texto usado en listados y feeds, así que las previews de búsqueda coinciden con lo que muestra un click-through.

Siempre actual

El índice se regenera en cada build, también en builds incrementales, así que los resultados de búsqueda reflejan exactamente el contenido que se promovió por última vez. Publica, re-build, y la búsqueda lo ve.

Detalles de las utility pages

  • Las páginas /search/ se marcan noindex por el builder, así que nunca aparecen en sitemaps ni en listados de crawlers.
  • El service worker (PWA) también pre-cachea la página de búsqueda por idioma, así que la búsqueda renderiza desde caché offline, haciendo matching de los queries contra el índice incluido.
  • El form de búsqueda del header apunta a la misma URL /search/ con un parámetro q=, en cada vhost de idioma.

Búsquedas del lado del CMS (un sistema relacionado pero separado)

El área de admin tiene sus propias superficies de búsqueda (la búsqueda de blocks de la Library, la búsqueda del listado de documentos, y el endpoint /api/search de la API para scripts), pero esas buscan en la base de datos y son administradas. La página de búsqueda pública es la built descrita aquí.

Lee este sitio en