OpenSEO es una herramienta de SEO de código abierto para individuos y equipos, posicionada como una alternativa ligera a las suites comerciales como Semrush y Ahrefs. Proporciona investigación de palabras clave, seguimiento de clasificaciones, análisis de productos competitivos, vínculos de retroceso, auditoría de sitios y visibilidad de IA, y entrega datos de SEO a agentes de IA como Codex y Claude Code a través de MCP para su uso.
OpenSEO puede utilizar la versión alojada oficial o puede implementarla usted mismo. El autohospedaje le brinda control sobre los datos de la aplicación y del proyecto, pero no significa que todos los datos de SEO sean gratuitos: datos como palabras clave, SERP, vínculos de retroceso, etc. provienen de DataForSEO, que aún requiere sus propias credenciales API y paga por llamada.
Respuesta rápida
Para experimentar OpenSEO en una computadora personal, se recomienda utilizar Docker:
|
|
Establecido en .env:
|
|
Iniciar el servicio:
|
|
La dirección de acceso predeterminada es:
|
|
Recordatorio importante: el modo autohospedado de Docker usa AUTH_MODE=local_noauth de forma predeterminada y no tiene comprobaciones de inicio de sesión a nivel de aplicación. Es adecuado para máquinas locales o redes privadas confiables y no puede exponer puertos directamente a la red pública. El acceso remoto debe realizarse detrás de un proxy inverso, un túnel o una red privada autenticados.
Qué puede hacer OpenSEO
OpenSEO divide el trabajo común de SEO en procesos más enfocados:
| Flujo de trabajo | Problemas resueltos |
|---|---|
| Investigación de palabras clave | Volumen de búsqueda de consultas, dificultad, CPC, intención y tendencias |
| Seguimiento de clasificación | Guarde palabras clave y realice un seguimiento de las últimas clasificaciones |
| Perspectivas de la competencia | Encuentre palabras clave orgánicas, páginas y clientes potenciales de tráfico que compitan |
| Vínculos de retroceso | Ver una descripción general de vínculos de retroceso y dominios de referencia |
| Auditorías del sitio | Verifique los problemas técnicos del sitio y el estado de la página |
| Visibilidad de la IA | Observar la visibilidad de una marca o página en escenarios de búsqueda de IA |
MCP también puede leer los clics, las impresiones, el CTR y la posición promedio de Google Search Console, y verificar la indexación, el rastreo y el estado canónico de una URL determinada. Los datos que realmente se pueden llamar dependen de la versión actual, la fuente de datos conectada y los permisos de la cuenta.
Comprenda los costos antes del autohospedaje
El propio OpenSEO utiliza la licencia MIT, pero depende de DataForSEO de terceros para obtener datos de SEO. Cuando es autohospedado, el usuario paga directamente la tarifa de la llamada a DataForSEO.
La documentación oficial establece que las nuevas cuentas de DataForSEO pueden obtener una pequeña cantidad de cuota de prueba y tener una cantidad mínima de recarga; Estas políticas de precios pueden cambiar y debe consultar la página de facturación actual de DataForSEO antes de registrarse. No envíe las credenciales de la API de producción a Git y no pegue la cadena Base64 completa en registros, tickets o registros de chat.
Las credenciales proporcionadas por DataForSEO son los valores Base64 que combinan el correo electrónico de la cuenta y la contraseña de la API. La fuente del formato es:
|
|
Base64 solo codifica, no cifra. Alguien que tenga en sus manos DATAFORSEO_API_KEY puede agotar los saldos de las cuentas o acceder a datos permitidos, por lo que debe administrarse como una contraseña.
Autohospedaje mediante Docker
1. Clonar proyecto
|
|
2. Crear un archivo de variables de entorno
|
|
Edite .env para incluir al menos las credenciales de DataForSEO:
|
|
Las configuraciones opcionales incluyen:
|
|
PORT El valor predeterminado es 3001. ALLOWED_HOST se utiliza para permitir un nombre de host de proxy inverso. Si no desea enviar telemetría anónima, puede configurar OPENSEO_TELEMETRY_DISABLED=1 o puede usar DO_NOT_TRACK=1.
3. Comience y verifique
|
|
Confirme la configuración realmente leída por Compose:
|
|
El resultado aquí puede contener variables de entorno confidenciales y no debe copiarse directamente en problemas públicos o registros de CI. Una vez completada la verificación, abra http://localhost:3001.
4. Reconstruya el contenedor después de modificar la configuración.
Modifique .env y ejecute:
|
|
Simplemente realizar un reinicio normal no necesariamente volverá a aplicar todas las variables de entorno, y forzar una reconstrucción facilita la eliminación de los restos de configuraciones antiguas.
¿Por qué el modo Docker no puede exponer directamente la red pública?
El Compose oficial usa AUTH_MODE=local_noauth, el administrador local es admin@localhost y no se realizará la autenticación normal. Si asigna el puerto 3001 directamente a la red pública, cualquier persona con acceso a la dirección podría ingresar a la aplicación y usar las credenciales configuradas de DataForSEO.
Una solución de acceso remoto seguro debe cumplir al menos uno de los siguientes:
- Permitir únicamente el acceso a través de redes privadas como WireGuard y Tailscale;
- Colocar detrás de un proxy inverso con autenticación sólida;
- Utilizar túneles seguros con políticas de autenticación y acceso;
- Cambie a la solución autohospedada oficial de Cloudflare.
Al configurar el nombre de dominio del proxy inverso, configúrelo en .env:
|
|
Luego reconstruya el servicio:
|
|
La simple configuración de ALLOWED_HOST no reemplaza la autenticación, es solo una parte de la restricción del nombre de host.
Actualizaciones, versiones corregidas y reversiones
Extraiga la última imagen y reinicie:
|
|
No se recomienda utilizar latest flotante durante mucho tiempo en un entorno de producción. Las etiquetas de imágenes verificadas se pueden fijar en .env:
|
|
La etiqueta de ejemplo solo se usa para mostrar el formato de configuración. En realidad, debería seleccionar una versión existente y verificada de las versiones oficiales. Haga una copia de seguridad de los datos persistentes y registre las etiquetas antiguas antes de actualizarlas; restaurar imágenes antiguas y versiones de datos compatibles cuando se produzcan problemas.
Detener el contenedor:
|
|
El siguiente comando eliminará el volumen juntos. No lo ejecutes sin respaldo:
|
|
Desactivar la telemetría anónima
La documentación oficial indica que OpenSEO enviará eventos de uso principales y recuentos agregados con ID de instalación aleatorias. La documentación indica que no se recopilan URL, palabras clave, mensajes, direcciones de correo electrónico o ubicaciones inferidas basadas en IP, y que las instancias inactivas no envían datos.
Para desactivarlo, configúrelo en .env:
|
|
Luego reconstruya el contenedor:
|
|
Para entornos con requisitos de cumplimiento estrictos, aún debe verificar usted mismo la versión actual del código, las salidas de la red y las declaraciones de privacidad, en lugar de confiar únicamente en descripciones resumidas.
Autohospedado usando Cloudflare
Cuando necesita acceso desde la red pública a través de dispositivos o equipos, OpenSEO también proporciona una ruta de implementación de Cloudflare utilizando el plan gratuito de Cloudflare. El proceso oficial es aproximadamente el siguiente:
- Cree un trabajador a través del portal Implementar en Cloudflare proporcionado por el almacén;
- Conéctese a GitHub o GitLab;
- Habilite el acceso a Cloudflare en rutas y dominios de trabajadores;
- Agregue autenticación y configuración de DataForSEO en Variables y Secretos;
- Abra la URL del trabajador y verifique el inicio de sesión con la página OpenSEO.
Los secretos que deben configurarse incluyen:
|
|
POLICY_AUD y TEAM_DOMAIN provienen de la configuración de acceso de Cloudflare. No los escriba en los archivos de variables normales del repositorio.
Las respuestas de DataForSEO se almacenan en caché en R2 con el prefijo dataforseo-cache/. La recomendación oficial es establecer reglas de ciclo de vida para borrar automáticamente los cachés caducados:
|
|
Si el nombre del depósito R2 se cambia durante la implementación, debe reemplazar open-seo en el comando con el nombre real. Cuando no se configuran reglas del ciclo de vida, los objetos almacenados en caché continúan acumulándose y aumentan los costos de almacenamiento.
Conecte OpenSEO MCP a Claude Code
La dirección oficial de hosting MCP es:
|
|
Agregue MCP a nivel de usuario en Claude Code:
|
|
La primera vez que te conectes entrarás en el proceso de inicio de sesión y autorización de OpenSEO. Si solo desea utilizar el repositorio actual, puede utilizar el alcance local de acuerdo con la versión actual de Claude Code.
Conecte OpenSEO MCP al Codex
La CLI del Codex utiliza:
|
|
Luego siga las indicaciones para completar la autorización de inicio de sesión. Los usuarios de Codex Desktop pueden ir a Configuración, Integraciones y MCP, seleccionar Agregar servicio personalizado y luego pegar la misma URL.
Una vez que la conexión sea exitosa, primero permita que el Agente enumere los proyectos OpenSEO y obtenga la ID del proyecto, y luego realice una investigación de palabras clave o un análisis de clasificación. En lugar de simplemente decir “haz mi SEO por mí” al principio, una solicitud más efectiva incluiría el sitio web, el mercado, el idioma, los objetivos y el alcance del resultado.
Por ejemplo:
|
|
La diferencia entre MCP y Agent Skills
MCP proporciona al Agente las herramientas para consultar y escribir datos OpenSEO; Agent Skills especifica cómo combinar estas herramientas para completar un trabajo. El primero resuelve “a qué se puede acceder” y el segundo resuelve “qué proceso se debe seguir”.
Las capacidades de MCP enumeradas oficialmente incluyen:
- Consultar volumen de búsqueda de palabras clave, dificultad, CPC e intención;
- Obtenga resultados de búsqueda orgánica de Google en tiempo real;
- Analizar la clasificación de palabras clave de nombres de dominio o páginas;
- Comparar competidores SERP entre conjuntos de palabras clave;
- Consultar vínculos de retroceso y perfiles de dominio de referencia;
- Leer el rendimiento de Search Console y el estado del índice de URL.
Al autorizar al Agente AI, el alcance de la cuenta y del proyecto debe ser limitado. Verifique que el elemento seleccionado sea correcto con una consulta de solo lectura antes de pedirle al Agente que escriba las palabras clave guardadas o cambie los datos del elemento.
Preguntas frecuentes
La página se puede abrir, pero falla la consulta de datos de SEO.
Primero verifique si DATAFORSEO_API_KEY es la credencial Base64 completa proporcionada por DataForSEO y si la cuenta tiene saldo, y luego use el siguiente comando para confirmar que Compose haya leído la variable de entorno:
|
|
No exponga las credenciales en las capturas de pantalla de solución de problemas. Fuerce la reconstrucción del contenedor open-seo después de modificar .env.
Después del proxy inverso, indica que el host no está permitido.
Establezca ALLOWED_HOST en .env con el nombre de host público real, sin incluir la ruta, y reconstruya el contenedor. Al mismo tiempo, la autenticación debe configurarse en la capa de proxy.
MCP no puede conectarse
Confirma que la dirección es exactamente:
|
|
Cuando la autorización falla, primero elimine OpenSEO MCP del cliente, luego agréguelo nuevamente y complete el inicio de sesión. Cuando el Agente no puede encontrar un artículo, primero llama a la lista de artículos y utiliza el ID del artículo devuelto en solicitudes posteriores.
¿El autohospedaje es completamente gratuito?
El código de la aplicación se ejecuta por sí solo, pero los datos de SEO los proporciona DataForSEO, por lo que usted paga un precio. También puede haber costos adicionales para Cloudflare, servidores, nombres de dominio, copias de seguridad y redes.
¿Para quién es adecuado OpenSEO?
OpenSEO es adecuado para webmasters individuales y equipos pequeños que desean comprar datos de SEO por uso, necesitan flujos de trabajo centralizados como palabras clave y clasificaciones, o desean que AI Agent utilice directamente datos de SEO. El modo Docker es adecuado para la experiencia local y el plan Cloudflare es más adecuado para el acceso en equipo y en múltiples dispositivos.
Si necesita una gran base de datos histórica, permisos empresariales maduros, auditorías completas y una gran cantidad de informes listos para usar, primero debe comparar la cobertura de datos, la frecuencia de actualización y el costo total de OpenSEO con plataformas comerciales que utilizan proyectos reales, y no migrar simplemente en función del posicionamiento de “alternativa de código abierto”.
Resumen
OpenSEO pone investigación de palabras clave, clasificaciones, productos competitivos, enlaces, auditorías de sitios y datos de Search Console en una interfaz de código abierto y la pone a disposición de agentes como Codex y Claude a través de MCP. La experiencia personal puede comenzar con Docker, pero debes recordar que el modo local no tiene autenticación de aplicación; La implementación en equipo o en red pública debe utilizar Cloudflare Access o un límite de autenticación fuerte construido por usted mismo. Si bien el autohospedaje le permite controlar la aplicación y el proceso, los costos de las llamadas de DataForSEO permanecen separados.
Dirección del proyecto: every-app/open-seo
Documentación oficial: openseo.so/docs