inemaSEO · 5 herramientas locales · MIT

El Semrush abierto de tu propio sitio

Cinco herramientas de línea de comandos que corren en tu computadora, solo con Python, sin API de pago y sin cuenta en ningún servicio aparte de Search Console y Bing Webmaster, que son gratuitos.

Banner: Semrush abierto de tu propio sitio — 5 herramientas locales, sin API de pago
En resumen

inemaseo-sistemas es un conjunto de cinco programas gratuitos para cuidar el SEO (cómo aparece el sitio en Google y en las IAs) de tu propio sitio. Sirve para quien tiene un sitio y quiere saber qué está roto, quién lo encuentra, qué robots de IA leen las páginas y si el sitio está listo para agentes de IA. Todo corre en tu computadora, con Python 3.10 o más nuevo, usando solo datos gratuitos: el sitio, el log del servidor y los archivos que Search Console y Bing Webmaster permiten descargar.

Qué es

Cinco preguntas, cinco herramientas

Cada herramienta responde una pregunta, lee un dato que ya tienes y entrega un informe HTML (estándar INEMA) más JSON y CSV para que otra herramienta los lea.

Banner: el Semrush abierto de tu sitio, con las cinco herramientas gsc-historico, bing-ia, botlog, auditor y agente-ready
1

📈 gsc-historico

Cuántas búsquedas sin tu marca te encontraron, semana a semana, para siempre. Search Console solo guarda 16 meses; aquí queda en una base SQLite que nunca borra.

Dato: CSV de gsc_semanal.py (Search Console)

2

💬 bing-ia

Qué páginas citaron Copilot y Bing en respuestas de IA y si también tienen clic en Google. Las consultas de la IA que aún no cubres se vuelven ideas de contenido.

Dato: export del informe AI Performance de Bing Webmaster

3

🤖 botlog

Qué robots de IA leyeron el sitio de verdad, separados por finalidad (búsqueda, pedido del usuario, entrenamiento), y cuáles son falsos, con la IP verificada en las listas oficiales.

Dato: log de acceso de tu servidor + listas oficiales de IP

4

🩻 auditor

Qué está roto en el HTML que entrega el servidor: canónico, hreflang, sitemap, robots.txt por finalidad de robot de IA, bloqueo de CDN, páginas huérfanas. Cada hallazgo con una línea de "cómo corregir".

Dato: tu sitio, rastreado con cortesía

5

🎯 agente-ready

Nota de 0 a 100 de preparación para IA y agentes, con pesos públicos en pesos.json: puedes discrepar, cambiar y comparar. Incluye WebMCP (document.modelContext).

Dato: tu sitio

✓

🧾 Nada inventado

Nombre de robot, IP oficial, columna de CSV y regla de Google solo entran con fuente (enlace en el README de cada herramienta). Donde no hay fuente, está escrito [por confirmar].

Licencia: MIT · solo biblioteca estándar de Python

Cómo funciona

Entra dato gratuito, sale informe

Nada va a la nube. Apuntas la herramienta a un archivo o a la dirección del sitio, ella trabaja en tu computadora y guarda los resultados en una carpeta.

Tu dato gratuito→ Herramienta local (Python)→ relatorio.html+ JSON / CSV→ Siguiente herramienta

Archivos que descargas

Los CSV semanales de Search Console entran en gsc-historico. El CSV de AI Performance entra en bing-ia, que lo cruza con la base de gsc-historico.

Log del servidor

botlog lee nginx/Apache (combined, incluso .gz) y Cloudflare Logpush. Antes de compartir, el comando filtrar deja solo las líneas de robots con IP oficial (LGPD (ley brasileña de protección de datos)).

El propio sitio

auditor y agente-ready leen el HTML como un robot que no ejecuta JavaScript: solo GET, pausa de 1 s, respetando el robots.txt. agente-ready importa el núcleo del auditor.

Requisitos previos

Qué necesitas tener

Para el auditor y agente-ready basta con Python e internet. Las otras tres piden un archivo tuyo.

Python 3.10+ y git

Solo biblioteca estándar: no hay pip install.

python3 --version
git clone https://github.com/inematds/inemaseo-sistemas
cd inemaseo-sistemas

Search Console y Bing

Para gsc-historico: los CSV de gsc_semanal.py (repositorio inemaseo-metodo). Para bing-ia: el CSV exportado de AI Performance en el panel de Bing Webmaster (no existe API para esos datos).

Log de acceso

Para botlog: el access log de tu nginx/Apache o el JSON de Cloudflare Logpush. Solo lectura, por ejemplo:

ssh root@TU_SERVIDOR 'cd /var/log/nginx; zcat -f access.log.*.gz; cat access.log.1 access.log' > /tmp/site.log
Guía de uso · paso a paso

Del clon al primer informe

Los comandos de abajo se ejecutan desde la raíz del repositorio. Toda herramienta tiene --help en portugués y un README con todas las opciones.

1

Audita el HTML de tu sitio

Rastrea hasta 50 páginas (cámbialo con --max) y guarda relatorio.html, auditoria.json, achados.csv y paginas.csv. En la terminal, el resumen y los 5 primeros hallazgos críticos/importantes.

python3 ferramentas/auditor/auditor.py https://tusitio.com --max 50 --saida saida/auditor
python3 ferramentas/auditor/auditor.py https://usuario.github.io/repo/guia/ --max 20   # solo la carpeta de la guía
2

Saca la nota para IA y agentes

Lee la home y 4 páginas del sitemap (cámbialo con --paginas), unas 10 a 25 solicitudes. Salida: relatorio.html, agente-ready.json y criterios.csv. Un criterio que no aplica sale de la cuenta, no cuenta como falla.

python3 ferramentas/agente-ready/agente-ready.py https://tusitio.com --saida saida/agente-ready
python3 ferramentas/agente-ready/agente-ready.py https://tusitio.com --paginas 8
3

Guarda Search Console para siempre

Importa la carpeta de CSV (reimportar no duplica) y genera el informe de la semana: con marca × sin marca × anónimas, consultas que subieron y bajaron, temas pendientes (consulta nueva sin página dueña) y páginas con impresiones y 0 clics.

python3 ferramentas/gsc-historico/gsc_historico.py importar exemplos/gsc-historico/entrada --db dados/gsc.sqlite
python3 ferramentas/gsc-historico/gsc_historico.py relatorio --db dados/gsc.sqlite --site inema.club --saida saida/inema.club
4

Mira dónde te cita la IA de Bing

Importa los CSV de AI Performance y cruza con la base de gsc-historico. Si la herramienta no reconoce las columnas, pide el mapa con --colunas (Microsoft no documenta el export).

python3 ferramentas/bing-ia/bing_ia.py importar exemplos/bing-ia/entrada/*.csv --db dados/bing.sqlite
python3 ferramentas/bing-ia/bing_ia.py relatorio --db dados/bing.sqlite --gsc-db dados/gsc.sqlite --site inema.pro --saida saida/inema.pro
5

Descubre qué robots leen el sitio

Analiza el log (varios archivos, .gz incluido). Con --sitemap, muestra también las páginas que ningún robot logró leer. Antes de mostrar o publicar un log, usa filtrar.

python3 ferramentas/botlog/botlog.py analisar /tmp/site.log --sitemap https://tusitio.com/sitemap.xml --saida saida/site
python3 ferramentas/botlog/botlog.py filtrar /tmp/site.log --saida /tmp/solo-robots.log   # solo robots con IP oficial
6

Ejecuta las pruebas

Las pruebas no usan red: el auditor y agente-ready se prueban contra un sitio falso en tests/fixtures/.

for t in ferramentas/*/; do [ -d $t/tests ] && python3 -m unittest discover -s $t/tests; done
Hallazgos reales · 19/10/2026

Qué encontraron las herramientas en los sitios de INEMA

Los ejemplos del repositorio se generaron de verdad el 19/10/2026, solo con GET en sitios públicos de INEMA. Cada informe se abre en el navegador.

agente-ready · real

Nota de preparación para IA y agentes (0–100)

inema.club93
news.inema.pro72
eventos.inema.pro69
guia rea-engenharia-reversa54

En los tres últimos, la categoría entidad quedó en 0 (sin Organization/Person con @id en el JSON-LD) y WebMCP en 29 (ninguna herramienta registrada). inema.club registra una herramienta WebMCP y sacó 100 en esa categoría. · inema.club · eventos · news · guía REA

auditor · real

inema.club

50 páginas

1 hallazgo importante: 2 páginas de curso con menos de 80 palabras en el HTML entregado (77 y 78). En las mejoras: 28 títulos fuera del rango de 15–65 caracteres (rango práctico, no regla de Google) y una entidad sin @id.

abrir informe

auditor · real

eventos.inema.pro

0 críticos

Ningún hallazgo crítico ni importante en 50 páginas. 4 mejoras: títulos largos, títulos repetidos, más de un H1 y páginas sin JSON-LD.

abrir informe

auditor · real

guía en GitHub Pages

2 importantes

En la guía rea-engenharia-reversa: sitemap no encontrado y 3 páginas sin enlace canónico. El robots.txt de github.io pertenece a otro repositorio.

abrir informe

gsc-historico · real

inema.club, semana 05–11/10

157

impresiones de búsquedas sin la marca, con 0 clics (de 702 impresiones en total). El informe sacó 18 consultas para temas pendientes y 5 páginas con impresiones y ningún clic.

abrir informe

botlog · real

desenho.inema.pro

8 de 3.082

líneas del log del 05 al 19/10 eran de robots con IP oficial: GPTBot (4), ClaudeBot (2) y OAI-SearchBot (2). El resto (personas, escáneres, curl) salió con filtrar.

abrir informe

bing-ia · ficticio

Ejemplo etiquetado

El ejemplo de bing-ia usa un CSV con números inventados (las URL son reales de inema.pro), cruzados con la base real de gsc-historico. Los nombres de las columnas son una suposición [por confirmar] con un export real.

abrir informe

Límite honesto

Qué se puede y qué no se puede hacer gratis

El repositorio no promete lo que el dato gratuito no entrega. Lo que exige datos de pago queda fuera de él, como opción.

Se puede, con estas 5 herramientas

  • ✓Auditoría técnica del HTML entregado
  • ✓Historial de Search Console sin el límite de 16 meses
  • ✓Citas oficiales de la IA de Bing
  • ✓Robots de IA en el log, con los falsos separados
  • ✓Nota de preparación para agentes, con pesos públicos

No se puede sin datos de pago

  • ✕Volumen exacto de búsqueda y dificultad de palabra clave
  • ✕SERP de la competencia
  • ✕Backlinks completos
  • ✕Monitor automático de las respuestas de las IAs

Para eso existen DataForSEO, Firecrawl, Apify, Semrush y Ahrefs: opcionales, fuera de este repositorio. Comparativo en docs/ESPEC.md (en portugués).

Muestra, no el sitio completo

Con --max 50 en un sitio de mil URL, "huérfana" significa "sin enlace de entrada en las 50 páginas leídas". agente-ready lee la home y 4 páginas: es un termómetro.

Log no es cita

El log muestra quién pidió la página, no si la IA usó el contenido en una respuesta. Para citas, bing-ia. Detrás de una CDN, usa el log de la CDN.

Solo lo que ve el robot

Nada ejecuta JavaScript, a propósito. El auditor no mide velocidad (Core Web Vitals) ni backlinks.

Curso relacionado

Aprende a usarlo en inemaSEO

inemaseo-sistemas forma parte de inemaSEO y es la base del curso 7 de la Formação inemaSEO.