🔍 Auditoría SEO Técnica - Bitnovo.com

Análisis técnico del estado SEO inicial - www.bitnovo.com
Fecha6 de marzo de 2026
Dominiowww.bitnovo.com
Páginas auditadas16
AuditorAngel Daniel Gutierrez Quiroga
PerfilTechnical SEO Specialist
📋Resumen Ejecutivo

La presente auditoría analiza el estado técnico SEO inicial de bitnovo.com, plataforma fintech de compra, venta y gestión de criptomonedas con presencia en múltiples mercados.

El diagnóstico revela un sitio con buena base técnica en desktop pero con problemas críticos de performance en mobile el canal más relevante para Google en términos de indexación y ranking.

Herramientas y tecnologías aplicadas: PageSpeed Insights Lighthouse Chrome DevTools Wappalyzer Chrome CrUX Python Crawler SEO On-Page Scanner .js JS Console Injection Python JavaScript HTML CSS Next.js SSR/SSG/CSR Analysis GEO / AI Search Analysis Reporte Web Interactivo
🛠️Stack Tecnológico Detectado
Identificado mediante Wappalyzer, inspección de DevTools y análisis del código fuente visible en el navegador.
Categoría Tecnología Estado SEO Nota técnica
CMS / Blog WordPress 6.8.3 + Elementor 3.31.1 ⚠️ Revisar Arquitectura headless — WP actúa como backend
Frontend Next.js + React + CSS ✅ OK Stack moderno, bien orientado a performance
Servidor Web Next.js + PHP + MySQL ⚠️ Revisar Combinación híbrida, introduce complejidad ops
CDN / Infra DigitalOcean Spaces + Sucuri ⚠️ Revisar Cobertura de PoPs limitada vs Cloudflare
Seguridad Sucuri WAF + reCAPTCHA ✅ OK Cobertura sólida para sitio fintech
Animaciones GSAP + Framer Motion + LottieFiles ❌ Problema 3 librerías juntas impactan bundle y LCP
JS Legacy jQuery + jQuery Migrate 3.4.1 ❌ Problema Deuda técnica en stack Next.js — revisar origen
Tag Manager Google Tag Manager ✅ OK Verificar head + noscript en body
Analytics GA4 + Hotjar + Ahrefs tag ✅ OK Stack de medición completo
Cookie Consent Cookie Control + Cookie Notice + Cookiebot ❌ Problema Triple banner — compliance y performance crítico
Multiidioma Polylang ⚠️ Revisar Verificar hreflang en frontend Next.js
Auth / Pagos Google Sign-in + Apple Sign-in + Google Pay + Checkout.com ✅ OK Stack enterprise para fintech
Performance Priority Hints + HTTP/3 + PWA ✅ OK Buenas señales de infraestructura moderna
SEO On-page Open Graph + Ahrefs ⚠️ Revisar Auditar implementación con script de consola
🚨Prioridades de Acción
# Problema Impacto Prioridad
1 Triple banner de cookies Compliance roto + triple carga de scripts en critical path + consent inconsistente por región Alta
2 jQuery + 3 librerías de animación Bundle inflado, posible impacto en LCP e INP. Investigar qué plugin de WP inyecta jQuery en el frontend Next.js Alta
3 Hreflang en arquitectura headless Polylang gestiona hreflang en WP, pero en headless las etiquetas pueden no llegar al HTML que renderiza Next.js Alta
4 CDN — DigitalOcean Spaces PoPs limitados para tráfico global. Evaluar migración a Cloudflare para latencia y cobertura regional Media
5 GTM — verificar implementación Confirmar snippet en <head> + noscript en <body>. Frecuente que en headless quede mal ubicado Media
📝Notas Técnicas Adicionales
La arquitectura WordPress + Next.js es funcional pero introduce puntos de falla en SEO técnico: hreflang, canonical, metadatos y schemas deben generarse en Next.js, no depender del HTML de WordPress.
Checkout.com como pasarela de pago indica producto de nivel enterprise orientado a cripto/fintech esto implica altos estándares de seguridad.
Priority Hints bien implementado junto a HTTP/3 son señales positivas. Revisar que las animaciones (GSAP/Framer/Lottie) no estén compitiendo con el LCP hero element.
El uso de Contact Form 7 en una arquitectura headless sugiere que hay páginas WordPress convencionales corriendo en paralelo al frontend Next.js mapear qué URLs sirve cada capa es crítico para evitar problemas.
⚙️Rendering y JavaScript
Next.js - Ventaja SEO
El uso de Next.js es una ventaja significativa para SEO: permite implementar SSR, SSG e ISR según el tipo de página, entregando HTML pre-renderizado a Googlebot. Sin embargo, esto requiere que la configuración de rendering esté correctamente implementada en cada ruta, lo cual se analiza en la sección siguiente.
Análisis HTML crudo vs DOM renderizado
Metodología aplicada:
Chrome DevTools con JavaScript deshabilitado → contenido visible sin rendering.
Chrome DevTools con JavaScript habilitado → contenido final que ve el usuario.
📎 Ver grabación de pantalla
Imágenes rotas en modo oscuro (Dark UI)
Se detectó un error de imágenes rotas en una de las secciones de la home al realizar el cambio a dark mode en la UI. Pendiente adjuntar captura de pantalla como evidencia.
📎 Anexar captura de pantalla
Crawl Budget de Google
El crawl budget es la cantidad de URLs que Googlebot está dispuesto a rastrear e indexar en un sitio durante un período de tiempo determinado. Es crítico evitar URLs duplicadas, parámetros innecesarios y recursos bloqueados en robots.txt que puedan desperdiciar cuota de rastreo. Un mal uso del crawl budget puede retrasar la indexación de páginas nuevas o actualizadas.
Tipo de Rendering por Ruta
Para verificar el tipo de rendering aplicado en cada página (SSR, SSG, ISR o CSR), sería ideal acceder y analizar el código fuente directamente desde el repositorio o mediante herramientas de auditoría de Next.js. Sin acceso al código fuente, la verificación se realiza comparando el HTML crudo (view-source:) con el DOM renderizado, buscando señales de hidratación de React y cabeceras HTTP como x-nextjs-cache.
🤖Rastreo e Indexación
El acceso a los archivos de rastreo se realizó colocando la URL del directorio directamente desde la barra de URL del navegador.
robots.txt
Ubicación verificada en: https://bitnovo.com/robots.txt
📎 Anexar captura de pantalla
sitemap.xml
Ubicación verificada en: https://bitnovo.com/sitemap.xml
📎 Anexar captura de pantalla
llms.txt
Ubicación verificada en: https://bitnovo.com/llms.txt
📎 Anexar captura de pantalla
Auditoría con Crawler Python desarrollado
Para complementar el análisis de rastreo e indexación, se desarrolló un crawler propio en Python capaz de recorrer hasta 200 URLs del sitio con una profundidad de hasta 5 niveles. La herramienta fue construida específicamente para esta auditoría con el objetivo de superar las limitaciones de la versión gratuita de Screaming Frog (500 URLs, sin renderizado de JavaScript).
El crawler analiza de forma automática, por cada página rastreada: title tag y meta description, estructura de encabezados (H1–H6), imágenes sin atributo alt, canonical tag, meta robots, viewport, charset, Open Graph, Twitter Card, Schema markup (JSON-LD), tiempo de carga, tamaño de página, HTTPS, redirecciones, conteo de palabras y densidad de keywords. A nivel de sitio verifica robots.txt, sitemap.xml, links externos rotos y detecta títulos duplicados, páginas con noindex y páginas con carga lenta.
Requisitos previos
Python 3.8 o superior instalado en el sistema.
Dependencias: requests, beautifulsoup4, lxml.
# Instalación de dependencias (una sola vez)
pip install requests beautifulsoup4 lxml
Instrucciones de uso
1 Crear una carpeta de trabajo dedicada y ubicarse dentro de ella desde la terminal:
mkdir seo-audit && cd seo-audit
2 Colocar el archivo seo_audit.py dentro de esa carpeta.
3 Ejecutar el crawler pasando la URL del sitio a auditar como argumento:
python seo_audit.py https://www.bitnovo.com
4 Al finalizar, el script genera automáticamente un reporte HTML con el nombre seo_report_bitnovo_com_FECHA_HORA.html en la misma carpeta, y lo abre directamente en el navegador.
Parámetros configurables
# Límites ajustables al inicio del script
MAX_PAGES = 200 # Máximo de URLs a rastrear
MAX_DEPTH = 5 # Profundidad máxima del crawl
REQUEST_TIMEOUT = 15 # Timeout por petición (segundos)
DELAY_BETWEEN = 0.3 # Pausa entre requests (segundos)
Nota: El crawler respeta el archivo robots.txt del sitio auditado y utiliza un User-Agent identificado como SEOAuditBot/1.0. No realiza acciones de escritura ni modifica ningún recurso del servidor.
⬇️ Descargar crawler python Reporte SEO Bitnovo
Core Web Vitals y Performance
Datos de Campo — Usuarios Reales (PageSpeed Insights)
✅ Core Web Vitals: APROBADO
Métrica Valor (campo) Estado Umbral Óptimo
LCP — Largest Contentful Paint 1.7s 🟢 < 2.5s
INP — Interaction to Next Paint 75ms 🟢 < 200ms
CLS — Cumulative Layout Shift 0.03 🟢 < 0.1
FCP — First Contentful Paint 1.6s Diagnóstico < 1.8s
TTFB — Time to First Byte 0.6s Diagnóstico < 800ms
📎 Ver captura PageSpeed Desktop 📎 Ver captura PageSpeed Mobile
Diagnóstico por Métrica
LCP — Largest Contentful Paint
Desktop 🟢 1.7s  |  Mobile 🔴 4s (p75)
El LCP mobile supera el umbral crítico de 2.5s. Solo el 53% de los usuarios en mobile lo experimenta como bueno. Causa probable: imagen hero de gran tamaño sin optimización responsive, combinada con el impacto de GSAP + Framer Motion + Lottie en el hilo principal retrasando el renderizado del elemento más grande.
INP — Interaction to Next Paint
Desktop 🟢 75ms  |  Mobile 🟡 227ms (p75)
Mobile supera el umbral óptimo de 200ms. El TBT de 1,350ms en mobile (vs 550ms en desktop) indica que el hilo principal está bloqueado durante largos períodos, retrasando la respuesta a interacciones del usuario. Origen probable: carga simultánea de tres librerías de animación (GSAP, Framer Motion, Lottie) y jQuery sin lazy loading.
CLS — Cumulative Layout Shift
Desktop 🟢 0.03  |  Mobile 🟢 0
Sin problemas de estabilidad visual en ningún dispositivo. La implementación de dimensiones en imágenes y elementos dinámicos está correctamente gestionada.
TTFB — Time to First Byte
Desktop 🟢 0.6s  |  Mobile 🟡 0.9s
El servidor responde correctamente en desktop, pero mobile roza el límite recomendado de 800ms. Posible causa: ausencia de edge caching o CDN con cobertura limitada de PoPs para conexiones móviles en determinadas regiones. Evaluar migración de DigitalOcean Spaces a Cloudflare CDN.
⚠️ Prioridad crítica — Mobile-First Indexing: Google utiliza la versión mobile del sitio como referencia principal para indexación y ranking. El LCP de 4s en mobile afecta directamente el posicionamiento orgánico. La causa raíz es el volumen de JavaScript sin usar (1,249 KB) y las 20 tareas largas en el hilo principal — ambos problemas tratables con code splitting, lazy loading y eliminación de librerías redundantes.
Lighthouse — DevTools
Resultados Generales
Métrica 📱 Mobile 🖥️ Desktop Interpretación
Performance 36 61 Rendimiento medio, necesita optimización
Accessibility 88 88 Muy buena accesibilidad
Best Practices 73 73 Algunas prácticas web mejorables
SEO 100 100 Excelente optimización SEO técnica
Performance — Problema Principal 📱 36 🖥️ 61
La página no carga tan rápido como debería, especialmente en dispositivos móviles. Las principales causas detectadas:
1️⃣ Tiempo de respuesta del servidor (TTFB)
Problema: Reduce initial server response time
Posibles causas: hosting lento · backend pesado · falta de caché · demasiadas redirecciones
2️⃣ JavaScript innecesario (solo Desktop)
Problema: Reduce unused JavaScript
Afecta: tiempo de carga · interacción inicial. Soluciones: code splitting · lazy loading · eliminar librerías innecesarias
3️⃣ CSS sin usar
Problema: Reduce unused CSS — Parte del CSS cargado no se usa en la vista inicial.
Capturas de Pantalla del Reporte
🖥️Resumen Lighthouse Desktop 📱Resumen Lighthouse Mobile
🔎SEO On-Page
Para esta sección se decidió crear un script ejecutable desde la consola del navegador que detecta automáticamente los factores más importantes del SEO on-page. Esta decisión se tomó porque la licencia gratuita de Screaming Frog no permite renderizar JavaScript y tiene un límite de 500 URLs, lo que impide auditar correctamente un sitio construido con Next.js donde el contenido se genera en el cliente.
📋 Instrucciones de uso
1Abre la página que quieres auditar en Chrome.
2Abre DevTools con F12 y ve a la pestaña Consola.
3Importante: escribe allow pasting y presiona Enter. Google bloquea el pegado de scripts por seguridad este paso lo habilita.
4Pega el contenido del script descargado y presiona Enter.
5Los resultados aparecerán formateados directamente en la consola con tablas por sección y luego se te descargará el informe de esa página correspondiente.
⬇️ Descargar script .js — SEO On-Page Scanner
🌐Páginas auditadas de ejemplo — Aplicando SEO On-Page Scanner JS
Haz clic en cualquier página para abrir su reporte SEO detallado.
🤖GEO — Optimización para Motores de IA
Estado Actual
Para una detección más precisa de oportunidades de mejora GEO, sería ideal contar con el soporte de herramientas como Semrush o Ahrefs, que permiten monitorizar citaciones de marca en respuestas generadas por modelos de IA y medir la visibilidad en entornos como ChatGPT, Perplexity o Google AI Overviews.
📎 Ver citaciones IA — ChatGPT 📎 Ver citaciones IA — Gemini
🔧Compensación de Limitaciones de Acceso
Esta auditoría fue realizada sin acceso a Google Search Console ni Google Analytics, y utilizando herramientas desarrolladas ad-hoc. Estas limitaciones fueron compensadas con análisis técnico directo mediante los siguientes métodos:
Inspección directa del DOM renderizado en DevTools habilitando y deshabilitando JavaScript. Esto permite identificar con precisión qué contenido crítico depende de JS y qué ve Googlebot realmente vs lo que ve el usuario final.
Crawler SEO desarrollado en Python para rastrear el sitio de forma automatizada y obtener un análisis técnico exhaustivo de hasta 200 URLs: metadata, headings, imágenes, Schema, links, velocidad de carga y keywords generando un reporte HTML detallado por página y a nivel global de sitio.
Inspección directa del DOM con DevTools para verificar implementación de metadata, Schema, canonical y hreflang sin depender de herramientas de terceros.
🚀Potencial con Acceso al Repositorio
Con acceso al repositorio de GitHub del frontend, el alcance de esta auditoría podría potenciarse significativamente.
Un agente de IA en el IDE (Cursor) permitiría hacer un chequeo exploratorio del código fuente directamente, detectando problemas de rendering, metadata dinámica, Schema markup y Core Web Vitals en la raíz del código no solo en sus síntomas superficiales.
Todas las mejoras identificadas se trabajarían en una rama de Git separada (feature/seo-improvements), garantizando que el trabajo en curso no interfiera con el desarrollo principal ni con producción. Una vez validados los cambios, se enviarían como Pull Request para que el equipo de desarrollo pueda revisarlos, discutirlos y aceptarlos a su ritmo respetando los flujos de trabajo establecidos y dándoles total visibilidad y control sobre cada modificación implementada.
En los casos donde la mejora sea simple y de bajo riesgo como agregar un JSON-LD, corregir un canonical o añadir el atributo priority a una imagen hero se podría resolver en minutos sin depender de los ciclos de desarrollo tradicionales.
🐍Crawler SEO Interno — Desarrollo y Potencial de Evolución
Por qué se desarrolló un crawler propio
Durante el proceso de auditoría se evaluó el uso de Screaming Frog SEO Spider como herramienta principal de rastreo. Sin embargo, su versión gratuita impone una restricción de 500 URLs por crawl y no es capaz de renderizar JavaScript, lo que la hace incompatible con sitios construidos sobre Next.js donde gran parte del contenido es generado dinámicamente en el cliente. Auditar bitnovo.com con esa configuración habría producido resultados incompletos o directamente incorrectos para una porción significativa de las páginas.
Ante esta limitación, se tomó la decisión de desarrollar un crawler SEO propio en Python una herramienta liviana, sin dependencias de licencias, totalmente configurable y orientada a producir resultados accionables. El crawler fue diseñado y construido específicamente para esta auditoría, con capacidad para rastrear hasta 200 URLs con una profundidad de 5 niveles, y generar un reporte HTML detallado con score por página, resumen global del sitio y análisis de más de 20 factores SEO por URL.
Potencial de evolución con mayor tiempo de desarrollo
La herramienta desarrollada representa una base técnica sólida. Con un mayor horizonte temporal, el crawler podría evolucionar hasta convertirse en un activo interno permanente para el equipo de SEO y desarrollo, incorporando funcionalidades de nivel profesional:
Capacidades técnicas ampliadas
Rastreo ilimitado por volumen de URLs, con control de crawl budget y respeto configurable de robots.txt.
Validación avanzada de hreflang y detección de conflictos en arquitecturas multiidioma.
Verificación automatizada de Core Web Vitals vía integración con la API de PageSpeed Insights.
Valor operacional para el equipo
Ejecución programada como auditoría periódica automatizada — por ejemplo, tras cada deploy o semanalmente con alertas por regresión de métricas clave.
Comparación de reportes entre ejecuciones para detectar cambios en el perfil SEO del sitio a lo largo del tiempo.
Exportación de datos a formatos estructurados (CSV, JSON, XLSX) para integración con dashboards de reporting.
Cero dependencia de licencias externas la herramienta es completamente open source y propiedad del equipo.
Consideración estratégica: disponer de un crawler interno elimina la dependencia de herramientas SaaS con límites de plan, cuotas de uso o restricciones de renderizado. En un contexto donde el sitio continuará creciendo en número de páginas y complejidad técnica especialmente con la arquitectura headless actual contar con esta capacidad interna representa una ventaja operacional significativa para el equipo de SEO a largo plazo.
⚠️Limitaciones Declaradas
Sin acceso a GSC y GA4 no es posible incluir en esta auditoría:
Datos históricos de tráfico orgánico y tendencias.
Posiciones reales de keywords en las SERPs.
Errores de cobertura acumulados reportados por Google.
Datos de Core Web Vitals de campo con histórico extendido.
Análisis de páginas que Google dejó de rastrear o indexar.
Con acceso a estas herramientas, el alcance y precisión del diagnóstico se ampliaría considerablemente especialmente para priorizar páginas por impacto real de tráfico orgánico.