SEO Audit
Configurar OAuth

Ajustes

Configura OAuth con Google para conectar Search Console y Adense. Mientras no esté listo, la app usa datos sintéticos (modo MOCK).

Estado OAuth: Sin configurar

1. Variables de entorno (Cloudflare Pages)

Define estas variables en tu proyecto de Cloudflare Pages → Settings → Environment variables. Después de guardarlas, refresca esta página.

VariableValor (ejemplo)Tipo
GOOGLE_OAUTH_CLIENT_ID123…apps.googleusercontent.comSecret
GOOGLE_OAUTH_CLIENT_SECRETGOCSPX-…Secret
GOOGLE_OAUTH_REDIRECT_URIhttps://webapp-25m.pages.dev/api/oauth/google/callbackVariable

En local (con wrangler pages dev) también puedes usar el archivo .dev.vars:

# .dev.vars
GOOGLE_OAUTH_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_OAUTH_CLIENT_SECRET=GOCSPX-xxxxxxxx
GOOGLE_OAUTH_REDIRECT_URI=http://localhost:3000/api/oauth/google/callback

2. Crear proyecto OAuth en Google Cloud Console

  1. Ve a console.cloud.google.com y crea un proyecto nuevo (por ejemplo seo-audit-personal).
  2. Ve a APIs & Services → Library y activa:
    • Google Search Console API (oficial ID: searchconsole.googleapis.com)
    • AdSense Management API (oficial ID: adsense.googleapis.com)
  3. Ve a APIs & Services → OAuth consent screen → Configure consent screen:
    • User type: External (o Internal si usas Google Workspace).
    • App name: el nombre que prefieras.
    • Support email: tu correo.
    • Scopes: añade openid email profile, https://www.googleapis.com/auth/webmasters.readonly, https://www.googleapis.com/auth/adsense.readonly.
    • Test users: añade tu dirección de Gmail (la que usará la app hasta que la app pase revisión).
    • Guarda y vuelve a la pantalla.
  4. Ve a Credentials → Create Credentials → OAuth client ID:
    • Application type: Web application.
    • Authorized redirect URIs: añade exactamente la GOOGLE_OAUTH_REDIRECT_URI de arriba (en producción: https://tu-proyecto.pages.dev/api/oauth/google/callback; en local: http://localhost:3000/api/oauth/google/callback).
  5. Copia el Client ID y el Client Secret que te muestra Google.

3. Conectar

Faltan variables de entorno. Configúralas primero (paso 1) y vuelve a esta página.

🔗 Conectar con Google

4. Configurar la propiedad en Search Console

Para que la app lea tus datos de GSC, la propiedad debe estar ya verificada en Google Search Console:

  • Ve a search.google.com/search-console.
  • Selecciona el tipo de propiedad correcto:
    • Dominio (recomendado, cubre todas las variantes): sc-domain:tudominio.com
    • URL prefix: https://tudominio.com/ — úsalo solo si no puedes verificar el dominio.
  • Verificación: Google recomienda DNS TXT record (ej: google-site-verification=xxxxx) en tu dominio. Si usas Cloudflare como DNS, es un click.
  • Pega el valor de la propiedad en el formulario "Editar sitio" de cada sitio en esta app (campo Search Console property).

5. AdSense (opcional)

Para leer ingresos por página y RPM, tu cuenta AdSense debe estar vinculada al correo que uses en OAuth y tener sitios aprobados.

  1. En AdSense, confirma que el dominio está aprobado.
  2. Tu Publisher ID lo encuentras en Account → Settings → Account information (formato ca-pub-XXXXXXXXXXXXXXXX).
  3. Pégalo en el campo Adsense Publisher ID de cada sitio en esta app.

6. Límites y cuotas del backend

  • Cloudflare Pages (Free): 100k requests/día, 10ms CPU/request gratuito (30ms en plan de pago).
  • Cloudflare D1 (Free): 5M reads/día, 100k writes/día, 10GB almacenamiento.
  • Cloudflare KV (Free): 100k reads/día, 1k writes/día, 1GB almacenamiento.
  • PageSpeed Insights (gratis, sin API key): ~25 queries/minuto por IP. Si abusas, pon un PSI_API_KEY en el entorno (no implementado en esta versión, queda anotado para una futura).
  • GSC API: 200 queries/minuto por proyecto GCP — más que suficiente.
  • AdSense API: quota diaria generosa para uso personal.

Para 10-20 sitios auditando ~5/mes, todo el free tier cubre holgadamente.