RevealTheme logo

Cómo funciona el detector de RevealTheme

Cuando introduces una URL en uno de nuestros detectores, ocurren muchas cosas en los dos segundos antes de que veas los resultados. Aquí tienes el recorrido técnico para los curiosos, incluidas las limitaciones que no podemos resolver con ingeniería.

Paso 1: Obtener el HTML público

Cuando envías una URL, nuestro servidor obtiene la página web pública de esa URL usando un User-Agent de navegador estándar. Es el mismo HTML que recibiría tu navegador si visitaras el sitio directamente. No sorteamos muros de pago, no extraemos contenido protegido por inicio de sesión ni usamos ninguna autenticación.

La obtención usa un tiempo de espera de 20 segundos. Seguimos hasta 10 redirecciones (lo que cubre las redirecciones HTTP → HTTPS, www → sin-www y las redirecciones por país). Si el sitio devuelve una respuesta 4xx o 5xx, o no responde dentro de la ventana de tiempo de espera, devolvemos un error claro de «no se pudo acceder» en lugar de adivinar.

Paso 2: Detectar la plataforma

Antes de intentar identificar un tema concreto, comprobamos qué CMS ejecuta el sitio. Buscamos huellas de las 7 plataformas compatibles —WordPress, Shopify, Magento, Joomla, Drupal, Moodle y PrestaShop— y elegimos la coincidencia más fuerte.

Si envías una URL de Shopify a nuestro detector de WordPress (o viceversa), te lo decimos y enlazamos al detector correcto. Sin adivinanzas, sin falsos positivos.

Paso 3: Detección del tema

Para WordPress en concreto, las referencias al tema suelen aparecer en el HTML de la página en rutas como wp-content/themes/NOMBRE_DEL_TEMA/style.css. Extraemos cada una de esas referencias de cualquier parte del documento: etiquetas link, etiquetas script, JavaScript en línea, bloques JSON-LD e incluso el contenido de texto. Esto detecta temas que los sitios muy optimizados han ocultado a las herramientas de detección estándar.

Para cada tema detectado, intentamos obtener el archivo style.css del tema. La cabecera de ese archivo contiene el nombre oficial del tema, el autor, la versión, la URI y la descripción, directamente del desarrollador del tema. Esa es la fuente de la rica información del tema que mostramos junto al resultado de la detección.

Paso 4: Detección de plugins

La detección de plugins usa dos enfoques paralelos. Primero, extraemos cualquier ruta de archivo que coincida con wp-content/plugins/NOMBRE_DEL_PLUGIN/. Segundo, ejecutamos decenas de comprobaciones basadas en firmas: buscamos estructuras HTML específicas, nombres de clase CSS, variables JavaScript en línea y cabeceras de respuesta HTTP que identifican de forma única a plugins populares como Elementor, Yoast SEO, WPForms, WooCommerce, Wordfence y más.

El diseño de doble enfoque detecta plugins que ocultan sus rutas de archivo (mediante caché o agrupación de recursos) pero que aun así dejan firmas distintivas. Para cada plugin detectado, lo buscamos en el Directorio de Plugins de WordPress.org para enriquecer el resultado con el nombre oficial del plugin, la descripción, el autor y las capturas de pantalla.

Paso 5: Búsquedas de alojamiento + DNS

Para identificar el proveedor de alojamiento, hacemos una búsqueda de DNS en el dominio e inspeccionamos la dirección IP, el ASN y el DNS inverso. Lo cruzamos con una base de datos de rangos de IP conocidos de proveedores de alojamiento para identificar al proveedor. La precisión es alta para los alojamientos principales (AWS, Cloudflare, Hostinger, SiteGround, etc.) y menor para los proveedores de nicho.

Lo que no podemos hacer

Algunos casos en los que la detección no funcionará, por muy bueno que sea nuestro código:

  • Desafío de bots de Cloudflare. Los sitios con protección estricta contra bots de Cloudflare (la pantalla «Realizando verificación de seguridad...») bloquean nuestro obtenedor igual que bloquearían cualquier solicitud automatizada. No hay una forma limpia de evitarlo.
  • Temas personalizados intensivos. Si un tema se ha modificado tanto que se ha eliminado del HTML cada referencia al nombre original del tema, no tenemos nada que detectar.
  • Caché agresiva con rutas de recursos reescritas. Plugins como LiteSpeed Cache, WP Rocket y el Rocket Loader de Cloudflare a veces reescriben las URLs de los recursos para ocultar la fuente. Nuestra detección basada en firmas detecta la mayoría de estos, pero no todos.
  • Sitios de exportación estática. Un sitio WordPress que se ha exportado a HTML estático pierde la mayoría de las firmas en tiempo de ejecución que hacen posible la detección.

Lo que no hacemos

Nos lo han preguntado. Las respuestas son no:

  • No almacenamos las URLs que envías
  • No registramos direcciones IP con fines de marketing
  • No compartimos datos de detección con proveedores
  • No sorteamos la autenticación, el robots.txt ni otros controles de acceso
  • No ejecutamos el detector en IPs internas/privadas (127.0.0.1, 10.x.x.x, etc.) por motivos de seguridad

Los detalles completos de privacidad están en nuestra Política de privacidad.

Acceso a la API

Actualmente no ofrecemos una API pública, pero hay acceso programático limitado disponible bajo petición para agencias e investigadores. Escribe a hello@revealtheme.com con tu caso de uso y el volumen de solicitudes previsto.

¿Por qué no es de código abierto?

Las reglas de detección son el núcleo del producto, y las actualizamos con frecuencia a medida que evolucionan los temas y plugins. Abrir su código ralentizaría nuestra cadencia de actualización. Dicho esto, publicamos entradas detalladas sobre técnicas de detección en nuestro blog: busca «detección» para encontrarlas.

¿Listo para probarlo?

Usa el detector que coincida con el sitio que quieres inspeccionar: