Google Programmable Search Engine

Integra Google Programmable Search Engine para buscar en tu sitio Drupal y/o cualquier otro sitio sin requerir una clave de API de Google.

google_cse
7,399 sites
28
drupal.org

Instalar

Drupal 11, 10 v5.0.3
composer require 'drupal/google_cse:^5.0'
Drupal 9 v4.0.0
composer require 'drupal/google_cse:^4.0'

Overview

Google Programmable Search Engine (anteriormente Google Custom Search Engine) es un módulo potente que te permite reemplazar o complementar la búsqueda integrada de Drupal con la tecnología de búsqueda de Google. El módulo proporciona un motor de búsqueda integrado que puede buscar en cualquier conjunto de uno o más sitios, aprovechando los algoritmos avanzados de indexación y clasificación de Google.

El módulo extiende el módulo Search de Drupal core proporcionando un plugin de búsqueda configurable. Los resultados de búsqueda pueden mostrarse directamente en tu sitio con renderizado JavaScript, o los usuarios pueden ser redirigidos a Google para ver los resultados. Hay múltiples opciones de diseño disponibles incluyendo superposición, ancho completo, dos columnas, compacto y solo resultados.

Para sitios que prefieren funcionalidad de búsqueda en línea, el módulo incluye un bloque que combina un campo de búsqueda con visualización de resultados en la misma página, haciéndolo ideal para integrar funcionalidad de búsqueda dentro de barras laterales o regiones de contenido. El módulo también soporta amplia personalización a través de atributos de datos de Google, permitiendo control detallado sobre el comportamiento de búsqueda incluyendo restricciones de idioma, filtrado por país, configuración de SafeSearch y más.

Features

  • Integra Google Programmable Search Engine sin requerir una clave de API de Google
  • Extiende el módulo Search de Drupal core con un plugin de búsqueda configurable
  • Múltiples opciones de diseño: superposición, ancho completo, dos columnas, compacto, solo resultados y alojado en Google
  • Opción para mostrar resultados de búsqueda en el sitio (requiere JavaScript) o redirigir a Google
  • Bloque de búsqueda independiente para integrar formulario de búsqueda con resultados en línea en cualquier página
  • Clave de parámetro de consulta personalizable para flexibilidad de URL
  • Soporte para atributos de datos de Google para controlar el comportamiento de búsqueda (idioma, país, SafeSearch, etc.)
  • Mejoras de accesibilidad incluyendo atributos ARIA role en los resultados de búsqueda
  • Visualización opcional de marca de agua de Google según las directrices de marca
  • Soporte para sobrescritura de hoja de estilos CSS personalizada
  • Texto de prefijo y sufijo alrededor de los resultados de búsqueda
  • Ancho de campo de búsqueda configurable
  • Soporte de migración desde instalaciones de Drupal 7
  • Soporte para múltiples instancias de búsqueda con diferentes configuraciones

Use Cases

Reemplazar la búsqueda integrada de Drupal

Establece Google Programmable Search como la búsqueda predeterminada para aprovechar la indexación y clasificación superior de Google para el contenido de tu sitio. Los usuarios obtienen resultados familiares estilo Google con funciones como autocompletado, mientras que los administradores se benefician de delegar la indexación de búsqueda a Google.

Portal de búsqueda multi-sitio

Configura un Google Programmable Search Engine para indexar múltiples sitios web, luego usa este módulo para proporcionar una experiencia de búsqueda unificada en todas las propiedades web de tu organización desde un único sitio Drupal.

Bloque de búsqueda integrado

Coloca el bloque de Google Programmable Search en una barra lateral o región de contenido para proporcionar búsqueda en línea con resultados mostrados en la misma página. Ideal para sitios de documentación o bases de conocimiento donde los usuarios quieren acceso rápido a la búsqueda sin abandonar su contexto actual.

Búsqueda de sitio multilingüe

Usa los atributos de datos de Google para restringir o impulsar resultados de búsqueda por idioma o país. Configura múltiples instancias de búsqueda con diferentes filtros de idioma para sitios con contenido en múltiples idiomas.

Búsqueda segura para sitios educativos

Habilita el filtrado SafeSearch a través de atributos de datos para asegurar que los resultados de búsqueda sean apropiados para sitios web educativos o familiares.

Tips

  • Registra tu motor de búsqueda en programmablesearchengine.google.com antes de instalar el módulo
  • Usa el diseño 'Solo resultados' con el campo de búsqueda de Drupal para la integración más fluida
  • Configura el atributo data-safeSearch a 'active' para SafeSearch estricto en sitios familiares
  • Usa CSS personalizado para hacer coincidir los estilos de resultados de búsqueda de Google con el tema de tu sitio
  • Se pueden crear múltiples instancias de búsqueda para diferentes casos de uso (ej., búsqueda del sitio vs. búsqueda de documentación)
  • La visualización de marca de agua de Google sigue las directrices de marca de Google - consulta su documentación para los requisitos
  • Para cumplimiento de accesibilidad, mantén la opción 'Añadir mejoras de accesibilidad' habilitada
  • Prueba la funcionalidad de búsqueda con JavaScript deshabilitado para verificar que el respaldo noscript funciona correctamente

Technical Details

Admin Pages 1
Añadir página de Google Programmable Search /admin/config/search/pages/add/google_cse_search

Crea una nueva instancia de página de Google Programmable Search. Se pueden crear múltiples instancias con diferentes configuraciones.

Permisos 1
Ver Google Programmable Search

Permite a los usuarios ver y usar los resultados de Google Programmable Search. El permiso para gestionar la configuración de búsqueda se controla por separado mediante el permiso 'Administrar búsqueda'.

Hooks 4
google_cse_form_search_block_form_alter

Altera el formulario del bloque de búsqueda de core cuando Google PSE está configurado como búsqueda predeterminada. Configura el ancho del campo de búsqueda, visualización de marca de agua y redirige a Google si está configurado.

google_cse_library_info_build

Construye dinámicamente definiciones de bibliotecas para archivos CSS externos personalizados configurados en plugins de búsqueda.

google_cse_entity_insert

Limpia la cache del enrutador cuando se crea una nueva entidad de página de búsqueda de Google CSE para registrar las nuevas rutas.

google_cse_migration_plugins_alter

Altera los plugins de migración para incluir la migración de configuración de Google CSE al actualizar desde Drupal 7.

Troubleshooting 5
Los resultados de búsqueda no se muestran

Asegúrate de que JavaScript esté habilitado en el navegador. Si los resultados están configurados para mostrarse 'En este sitio', se requiere JavaScript. También verifica que el ID del Motor de Búsqueda de Google (cx) esté introducido correctamente.

El bloque no muestra resultados en la misma página

No coloques el bloque de Google Programmable Search en la página de resultados de búsqueda. El bloque está diseñado para integrarse en otras páginas y entrará en conflicto con la página de búsqueda si se coloca allí.

Los atributos de datos no funcionan

Asegúrate de que las claves de atributos de datos comiencen con 'data-' y los valores contengan solo caracteres alfanuméricos, guiones bajos, guiones y puntos. Tanto la clave como el valor deben proporcionarse para cada atributo.

El parámetro de consulta personalizado no se reconoce

Después de cambiar la clave del parámetro de consulta, limpia todas las caches de Drupal. El módulo reconstruye automáticamente las rutas pero las páginas en cache pueden seguir usando el parámetro antiguo.

El formulario de búsqueda no aparece con el ancho correcto

Verifica que la configuración 'Ancho del campo de búsqueda' esté establecida a un valor mayor que 0. Un valor de 0 usará el ancho de campo predeterminado del navegador.

Security Notes 4
  • El módulo valida que los parámetros de consulta URL para el ID del motor de búsqueda (cx) y la configuración de SafeSearch coincidan con los valores configurados para prevenir manipulación de URL
  • Los valores de atributos de datos se validan para prevenir XSS a través de restricciones de caracteres solo alfanuméricos
  • El contenido HTML de prefijo y sufijo pasa por filtrado XSS - las etiquetas script se eliminan mientras se permite HTML básico
  • Las URLs de CSS personalizado deben ser de fuentes confiables ya que se cargan como hojas de estilo externas