dfsearchconsole — Google Search Console para PrestaShop
Instalación, configuración OAuth de Google, sincronización cron y explotación de las oportunidades SEO del módulo dfsearchconsole.
Presentación
dfsearchconsole sincroniza los datos de Google Search Console directamente en el back office de PrestaShop 8 y 9: top consultas por URL, CTR por página, posición media y, sobre todo, cuatro categorías de oportunidades SEO calculadas automáticamente con sugerencias de optimización contextuales.
El módulo añade 5 pestañas bajo Mejorar → Search Console: Cuadro de mando, Páginas, Consultas, Oportunidades y Ajustes. La comunicación con Google se realiza vía OAuth2 en solo lectura (ámbito webmasters.readonly), sin dependencia de Composer — únicamente cURL nativo.
Instalación
- Descarga el archivo ZIP del módulo desde tu cuenta de cliente DataFirefly.
- En el back office de PrestaShop: Módulos → Gestor de módulos → Subir un módulo.
- Selecciona el archivo ZIP y deja que la instalación termine.
- El módulo crea 4 tablas SQL (
ps_dfgsc_sync,ps_dfgsc_page,ps_dfgsc_query,ps_dfgsc_opportunity) y registra sus 5 pestañas bajo el menú Mejorar.
Requisitos: PrestaShop 8.0 a 8.2 o 9.0, PHP 7.4 mínimo (8.1+ recomendado), extensión cURL activada y una propiedad verificada en Google Search Console.
Configuración OAuth en Google Cloud
El módulo se comunica con la API de Search Console mediante tus propias credenciales OAuth2. Crearlas es gratuito y lleva unos diez minutos.
1. Crear el proyecto y activar la API
- Ve a console.cloud.google.com y crea un proyecto (o reutiliza uno).
- En APIs y servicios → Biblioteca, busca Google Search Console API y actívala.
2. Configurar la pantalla de consentimiento
- Abre APIs y servicios → Pantalla de consentimiento OAuth.
- Tipo de usuario: Externo (o Interno si usas Google Workspace).
- Rellena el nombre de la aplicación, el email de soporte y tu dominio.
- Añade el ámbito
https://www.googleapis.com/auth/webmasters.readonly. - Mientras la aplicación no esté publicada, añade tu dirección de Google como usuario de prueba.
3. Crear el ID de cliente OAuth
- En APIs y servicios → Credenciales, haz clic en Crear credenciales → ID de cliente OAuth.
- Tipo de aplicación: Aplicación web.
- En URIs de redirección autorizados, pega la URL mostrada en la pantalla de Ajustes del módulo (de la forma
https://tu-dominio.com/module/dfsearchconsole/oauth). - Anota el Client ID y el Client Secret.
4. Conectar el módulo
- En PrestaShop, abre Mejorar → Search Console → Ajustes.
- Pega el Client ID y el Client Secret, luego guarda.
- Haz clic en Conectar con Google y autoriza el acceso.
- De vuelta en el back office, selecciona la propiedad Search Console a sincronizar en el desplegable.
El botón Probar conexión verifica que el token funciona y muestra cuántas propiedades son accesibles desde la cuenta conectada.
Sincronización
Sincronización manual
El botón Sincronizar ahora de la pantalla de Ajustes lanza inmediatamente una sincronización completa. Cuenta unos segundos para una tienda pequeña hasta 2-3 minutos para un sitio con miles de páginas indexadas.
Sincronización automática (cron)
La pantalla de Ajustes muestra una URL de cron protegida por un token aleatorio de 32 caracteres. Añádela a tu crontab para una sincronización diaria:
0 4 * * * curl -s "https://tu-dominio.com/module/dfsearchconsole/cron?token=TU_TOKEN" > /dev/null
Google Search Console aplica un retraso de unos 2 días en los datos. Por tanto el módulo sincroniza siempre la ventana que termina en hoy − 2 días. Una sincronización al día es suficiente.
Ventana de lookback
Por defecto el módulo recupera 90 días de datos más los 90 días anteriores para calcular los deltas. Esta ventana es configurable de 28 a 480 días en Ajustes. Cuanto mayor sea la ventana, más larga será la sincronización.
Cuadro de mando
El cuadro de mando ofrece una visión general: 4 tarjetas KPI (clics, impresiones, CTR, posición media) con las evoluciones respecto al periodo anterior, el top 10 de páginas, el top 15 de consultas y una vista previa de las oportunidades prioritarias.
Para la posición media, una bajada es una mejora (cuanto más baja la posición, mejor clasifica la página). El cuadro de mando muestra por tanto una flecha verde cuando la posición disminuye.
Páginas y Consultas
Pestaña Páginas
Lista paginada y ordenable de todas las URLs reportadas por Search Console, con clics, impresiones, CTR, posición y delta de clics. Un filtro permite acotar por tipo de página (producto, categoría, CMS, otro) o por texto. Al hacer clic en una URL se abre su vista de detalle: KPIs de la página con valores del periodo anterior, consultas que apuntan a esa URL, oportunidades asociadas y enlace directo para editar la entidad PrestaShop correspondiente.
Pestaña Consultas
Dos modos de visualización:
- Vista agrupada — una línea por consulta, agregada entre todas las URLs. Ideal para identificar tus términos principales.
- Vista detallada — una línea por par consulta × URL. Imprescindible para analizar la canibalización.
Las posiciones se muestran con código de color: verde (1-3), azul (4-10), amarillo (11-20, boosteables), gris (21+).
Oportunidades SEO
Tras cada sincronización, el módulo recalcula automáticamente cuatro categorías de oportunidades:
- Top 11–20 boosteables (striking distance) — consultas posicionadas entre 11 y 20 (umbrales configurables) con un mínimo de impresiones. El módulo calcula la ganancia potencial de clics simulando un paso a la posición 5.
- CTR por debajo de la media (top 10) — páginas en el top 10 cuyo CTR real está por debajo del 50 % del CTR esperado según la curva de referencia integrada (agregada de estudios de Advanced Web Ranking, Sistrix y Backlinko).
- Canibalización — la misma consulta haciendo aparecer 2 o más URLs. El módulo lista las URLs competidoras.
- Pérdida de clics — páginas que han perdido más del 25 % de clics respecto al periodo anterior.
Cada oportunidad muestra una puntuación de prioridad, las métricas asociadas y sugerencias de optimización adaptadas al tipo de página (ficha de producto, categoría o página CMS). El flujo Abierta / Hecha / Descartada permite seguir tu progreso. El botón Recalcular reconstruye todas las oportunidades a partir de los datos ya en base, sin volver a llamar a la API de Google.
Ajustes de umbrales
En Ajustes, tres umbrales pilotan la detección:
- Impresiones mínimas (por defecto 50) — por debajo, el par consulta × URL es ignorado por los detectores.
- Posición mín / máx striking distance (por defecto 11 / 20) — la ventana de posiciones considerada boosteables.
Para una tienda pequeña con poco tráfico, baja el umbral de impresiones a 20-30. Para un sitio grande, súbelo a 100+ para que solo aparezcan los trabajos significativos.
Solución de problemas
« Token expirado » o error 401
El refresh token se usa automáticamente cada hora. Si Google ha revocado el acceso (cambio de contraseña, inactividad prolongada, revocación manual), reconecta el módulo mediante el botón Conectar con Google de la pantalla de Ajustes.
Ningún sitio en el desplegable
La cuenta de Google conectada debe tener acceso a al menos una propiedad Search Console (propietario o usuario). Verifica en search.google.com/search-console con la misma cuenta.
Error « redirect_uri_mismatch » durante la conexión
La URI de redirección declarada en Google Cloud Console debe coincidir exactamente con la mostrada en la pantalla de Ajustes del módulo (protocolo https incluido, sin barra final extra).
Sincronización muy larga o timeout
La API pagina en lotes de 25.000 filas. Para sitios grandes: aumenta memory_limit a 512M, aumenta max_execution_time y prioriza el cron (que no tiene el límite de tiempo del navegador).
URLs no resueltas a entidades PrestaShop
El resolvedor trabaja sobre el link_rewrite (slug de URL amigable). Las URLs generadas por módulos de routing de terceros pueden quedar sin enlazar: aparecen con el tipo « other » pero siguen siendo plenamente analizadas.
Desinstalación
La desinstalación elimina las 4 tablas SQL, las pestañas de administración y todas las claves de configuración (incluidos los tokens OAuth). Recuerda revocar el acceso de la aplicación en los ajustes de seguridad de tu cuenta de Google si ya no usas el módulo.