Saltar al contenido principal

WordPress · Verificación de dominio

El plugin neuroon-search no usa meta-tags ni registros DNS para verificar el dominio. Confía en la API Key + el header Origin: cuando pulsas Verify Domain en el admin, el plugin envía POST /api/plugin/shops/verify con el dominio actual y el backend lo compara (tras normalizeUrl) con el shop.url ya registrado en Neuroon.

Cómo funciona el flujo

  1. Generas la Shop API Key en el dashboard de Neuroon.
  2. La pegas en Settings → Neuroon Search → Settings tab.
  3. Pulsas Verify Domain.
  4. El plugin envía:
POST/api/plugin/shops/verify
POST /api/plugin/shops/verify HTTP/1.1
Host: dev-api.neuroon.ai
X-Shop-API-Key: sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Origin: https://your-domain.example
Content-Type: application/json

{"domain": "https://your-domain.example"}
  1. Si el dominio normalizado coincide con el shop.url registrado, el backend devuelve:
{
"shopId": "shop_xxxxxxxx",
"verificationCode": "vc_yyyyyyyy",
"domain": "https://your-domain.example",
"name": "Your Shop"
}
  1. El plugin guarda neuroon_shop_id, neuroon_verification_code y marca neuroon_verified = 1 en wp_options. Las pestañas Products, Widget y Diagnostics aparecen.

Recuperar datos de verificación

Para inspeccionar el estado actual sin re-verificar:

GET/api/plugin/shops/{shopId}/verification-data
curl -s "https://dev-api.neuroon.ai/api/plugin/shops/$NEUROON_SHOP_ID/verification-data" \
-H "X-Shop-API-Key: $NEUROON_API_KEY" \
-H "Origin: https://your-domain.example"

Devuelve domain, verificationCode y verifiedAt. Útil para diagnósticos sin tocar el flujo de escritura.

Desverificar (unverify)

Si vendes la tienda, mueves de dominio o quieres rotar credenciales:

DELETE/api/plugin/shops/{shopId}/verify
curl -X DELETE "https://api.neuroon.ai/api/plugin/shops/$NEUROON_SHOP_ID/verify" \
-H "X-Shop-API-Key: $NEUROON_API_KEY" \
-H "Origin: https://your-domain.example"

Desde el admin, Settings tab → Unverify Domain dispara la misma llamada y limpia las opciones locales.

Rotar la API Key

Las API Keys son revocables. Si una key se ha filtrado:

  1. Genera una key nueva en el dashboard de Neuroon.
  2. Actualiza Settings → Neuroon Search → API Key y guarda.
  3. Revoca la antigua desde el dashboard.

El plugin no almacena la key en plano fuera de wp_options (neuroon_api_key). En entornos compartidos, restringe el acceso a la base de datos y considera mover la key a una constante en wp-config.php con un filtro propio.

Errores frecuentes

CódigoCausaSolución
401 UnauthorizedAPI Key inválida o revocadaRegenera y vuelve a pegar la key.
403 ForbiddenOrigin no coincide con el dominio registradoComprueba get_site_url. Aliases (www. vs apex) deben coincidir con la URL almacenada en shop.url.
404 Not FoundEl shopId no existe o no pertenece a tu keyPulsa Verify Domain desde cero; el plugin reescribe neuroon_shop_id.
429 Too Many RequestsRate limit verification (20/min) o verify-action (5/5min) superadoEspera el Retry-After. El plugin lo absorbe vía Neuroon_Rate_Limit_Handler.

Buenas prácticas

  • Verifica desde el dominio canónico que vas a usar en producción. Si tu tienda fuerza https://www.example.com, no verifiques https://example.com.
  • No expongas la API Key al frontend. Solo se usa server-to-server desde PHP.
  • Re-verifica tras un cambio de URL (siteurl o home en WP). El backend compara normalizeUrl(domain) exacto.

Próximos pasos