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
Instalar
composer require 'drupal/google_cse:^5.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
/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
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
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.
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í.
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.
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.
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