Site Doctor Empieza gratis →

Qué le puedes preguntar a tu IA

Conectas Site Doctor por MCP y le preguntas en lenguaje normal por cualquier sitio WordPress que administras. Lee, cruza la evidencia y responde — nunca escribe nada. Casos reales, anonimizados, de sitios en vivo.

⚡ Agency o superior además escribe el fix y te lo deja activable con 1 click

Seguridad y compromiso

Creo que mi sitio fue hackeado — ¿puedes revisarlo?

Solo leyendo, encontró un skimmer de tarjetas, un backdoor con ejecución remota, el jQuery del core adulterado y 3 administradores fantasma — y te dejó el plan de limpieza exacto.

¿Esta alerta es real o un falso positivo?

Cruza la evidencia: un PHP «sospechoso» de 0 bytes era falso positivo, y un spam de apuestas dado por «arreglado» seguía inyectado con cloaking en 3 lugares.

El firewall bloquea a mi cliente que sí es legítimo.

Confirmó el falso positivo (score de bot 0, URLs de admin legítimas) y dejó lista la whitelist de su IP.

¿Cómo y cuándo entró el atacante?

Reconstruye la línea de tiempo desde usuarios y logs — y cuando el host ya rotó los logs, te lo dice en vez de inventar un vector.

Hay archivos PHP en mi carpeta de subidas — ¿es malware?

Los lee uno por uno: separa los benignos (restos de un plugin, módulos del core) de los realmente peligrosos, con la prueba de cada uno.

Formularios y leads

Mi formulario dejó de mandar leads al CRM — ¿por qué?

Recibía más de 100 envíos al mes pero no había webhook, la licencia no traía el add-on y 2 snippets estaban en borrador — no hacía falta rebuild, solo el puente.

¿Dónde está embebido mi formulario?

Encuentra cada página, shortcode y template de Elementor donde aparece — sin que lo busques a mano.

Tengo 3 plugins de formularios, ¿cuál está vivo y a dónde manda cada uno?

Inventaría todo: qué form está activo, sus destinatarios y sus webhooks (uno iba a Salesforce, otro a un CRM) — desenreda el setup.

¿Cuánto de lo que entra por el formulario es spam?

Lee las entradas y te da la proporción real (activas vs spam de Akismet) y desde qué páginas llega cada una.

Performance y caídas

¿Por qué se cayó el sitio con error 504?

Causa raíz: un cambio de TTL de caché (28 días → 10 min) duplicó los renders en PHP y saturó los workers — no fue ataque, fue config.

Mi sitio está lento — ¿me lo dejas arreglado?

Midió la cobertura real (12% del CSS usado, YouTube al inicio) y, por ser Agency, escribió el mu-plugin del fix y te lo dejó activable con 1 click.

⚡ Agency o superior
¿Por qué mis PHP workers están al 100%?

Un pico de scrapers pegando a paths sin caché, sin Redis, más una credencial vieja martillando el sitio — con la mitigación exacta.

El sitio se cayó y no sé por qué.

La auto-investigación junta sola los fatales, 5xx, brute-force y cambios recientes, e infiere la causa probable — antes de que preguntes.

¿Qué está inflando mi base de datos?

Encontró 587 MB de tablas de staging duplicadas, más de mil revisiones y tablas huérfanas de un plugin — pesando en cada request.

Caché, contenido y redirects

Muestra contenido viejo aunque publico cambios nuevos.

Encontró tres capas de caché sirviendo lo viejo (edge del host, un 304 eterno y el TTL) y armó el purge-on-publish.

¿De dónde salen estas cadenas de redirects?

Re-trazó 130 redirects en vivo, separó los tuyos de una capa externa y dejó los tuyos 25/25 a un solo salto.

Me dicen que mi canonical apunta a staging.

Verificó: producción estaba limpia (139/139 páginas), el reclamo era la URL de staging — no aceptó el claim a ciegas.

Quiero retirar una página vieja sin romper el SEO.

Arma un 410 Gone genuino y la saca del sitemap, sin noindex ni bloquear robots — verificado en staging.

Pagos y suscripciones

Google/Apple Pay da «callback timed out».

Causa: una regresión del plugin de Stripe 10.9.0 que colgaba el sheet de pago — el fix era actualizar a 10.9.1, verificado.

¿Tengo conflicto de doble botón express (Stripe + WooPayments)?

No — descartado con evidencia: solo Stripe renderiza el botón, los wrappers de WooPayments estaban vacíos.

Clientes con «upgrade despite active subscription».

Un bug de expiry/sync con Stripe (no del plugin de membresías) — 238 suscriptores resincronizados, el flapping frenado, 0 errores.

¿Están todas mis suscripciones de Stripe activas?

Reconcilió cuenta por cuenta: 458 con sub activa, 38 a triar — con la lista exacta para revisar.

Un cliente del exterior no puede completar la compra.

No era un bug: la tienda enviaba solo a EE.UU.; una dirección de afuera fallaba, una de EE.UU. daba «Free shipping» OK.

SEO y atribución

Mis leads pagos entran como «Direct» en el CRM.

Un script borraba utm_source al cargar la página — ~$2.500/semana en ads perdiendo atribución. Localizado, con el fix.

Quiero A/B testear mi sitio sin romper los deploys.

Instaló el A/B testing vía GTM (sobrevive los push de staging a prod) con la meta atada al submit del form, verificado.

Los registros gratis caen en mi lista de pago del email marketing.

Un defecto de ruteo por nivel — corregido para que los free vayan a la lista free, verificado en la config.

¿Qué crawlers de IA le están pegando a mi sitio?

Reactivó el logger de crawlers LLM (estaba apagado en prod) y verificó que registra — para que veas quién scrapea.

Email

Los emails de mi tienda no salen hace meses.

El servicio de email no tenía API key válida — miles de envíos fallando desde una fecha exacta; key nueva y verificado sin fallos.

¿Por qué mis emails caen en spam?

Revisa el alineamiento de SPF / DKIM / DMARC y el servicio de envío, y te dice qué falta para llegar a la bandeja.

¿A quién notifica mi formulario cuando lo completan?

Lee la config de notificaciones del form: a qué email va, la confirmación y si falta un webhook al CRM.

Velocidad y Core Web Vitals

Todo «salta» mientras carga la página (CLS altísimo).

Midió un CLS de 1.95 — el logo sin dimensiones y las fuentes cargando tarde. Por ser Agency, escribió el mu-plugin con los preloads y el aspect-ratio y te lo dejó activable con 1 click → CLS 0.07.

⚡ Agency o superior
Mi PageSpeed va 51 en móvil y 98 en escritorio.

La imagen del hero en móvil era un JPG de 337 KB y el CDN servía la copia de escritorio a los teléfonos. WebP liviano + preload por dispositivo, activable con 1 click.

⚡ Agency o superior
Mi hero se ve pesado solo en tablet.

La versión de tablet era un JPG de 252 KB mientras las demás ya eran WebP. Lo cambió a WebP y purgó la caché — activable con 1 click.

⚡ Agency o superior
¿Qué scripts de terceros me están frenando?

Los mide uno por uno — GTM 515 KB / 920 ms, Facebook, el challenge del CDN — y te dice cuánto ganas sacando o difiriendo cada uno.

Actualizaciones y mantenimiento

¿Puedo subir de PHP 7.4 a 8.4 sin romper el sitio?

Inventarió los plugins, el tema y hasta los snippets de código guardados en la base, y te dice qué es compatible y qué no antes de tocar nada.

Tengo un plugin abandonado desde 2020 — ¿lo saco?

Lo abrió: solo dejaba un tag de Analytics muerto en el HTML — cero riesgo, pero listo para quitar.

¿Estos snippets de código propios andan en PHP 8.4?

Leyó cada snippet activo directo de la base de datos y confirmó que el código es moderno y compatible.

¿Tengo algo de debug prendido en producción?

Encontró WP_DEBUG y WP_DEBUG_LOG en true en el wp-config — fuga de errores y un log creciendo. Preparó el cambio a false con backup del archivo.

⚡ Agency o superior
Mi debug.log pesa 181 MB — ¿qué lo llena?

Un plugin escribía «Migrating…» en cada request. Lo desenganchó y truncó el log en un mu-plugin one-time — activable con 1 click.

⚡ Agency o superior

Bugs raros y compatibilidad

El scanner dice que mi core está «modificado» — ¿me hackearon?

No: eran archivos de la plataforma del hosting administrado (un auto_prepend y un checksum comparado contra la versión equivocada). Dos falsos positivos, con la prueba.

Sospecho que hay un inyector de anuncios en el front y no lo encuentro.

Vio los hooks de wp_head que corren en el front-end (los que un escáner externo no ve) y determinó que era la integración en runtime de un tercero, no algo pegado en la base.

Aparece un recuadro azul al hacer click en los ítems de una lista.

No era un bug del tema: era el focus ring del navegador sobre el enlace de cada tarjeta. Te dejó el CSS exacto para suavizarlo sin perder accesibilidad.

Mi home sale en blanco solo en iPhone.

Un script de terceros cargaba tarde y bloqueaba el render en iOS; adelantarlo en el <head> lo resolvió — verificado en un iPhone real.

Mi robots.txt apunta al sitemap con saltos de más.

Detectó 2 saltos al sitemap y dejó la línea corregida a 0 saltos — y te avisa cuando la vista vieja es solo caché del CDN, no el archivo real.

⚡ Agency o superior

Desde Agency: la IA escribe el fix — tú lo activas

En los planes read-only, Site Doctor detecta el problema y te deja el arreglo exacto para que lo apliques tú. En Agency y superior da un paso más: la IA escribe el fix como un mu-plugin y te lo deja listo para activar con un click desde tu panel. Tú tienes el control — no corre nada hasta que lo prendes, te muestra antes exactamente qué hace, y se auto-desactiva solo si alguna vez provoca un fatal. El conector sigue sin escribir nada en tu sitio por su cuenta.

Cómo le das la orden a la IA

Se lo pides en lenguaje normal — igual que le pides que diagnostique. Por ejemplo:

Mi sitio está lento — escribime el fix y dejámelo listo para activar.
El conflicto de plugins de ayer: preparame un mu-plugin que pueda prender con un click.
Neutraliza el xmlrpc pingback en este sitio y dejámelo activable con 1 click.

🔒 Tú lo revisas, tú lo activas, y lo puedes revertir cuando quieras desde el panel.

Velo en tus propios sitios

Gratis para empezar — sin tarjeta. Instalas el conector read-only en dos minutos y le preguntas lo que quieras a tu IA.

Empieza gratis →