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.
| Variable | Valor (ejemplo) | Tipo |
|---|---|---|
| GOOGLE_OAUTH_CLIENT_ID | 123…apps.googleusercontent.com | Secret |
| GOOGLE_OAUTH_CLIENT_SECRET | GOCSPX-… | Secret |
| GOOGLE_OAUTH_REDIRECT_URI | https://webapp-25m.pages.dev/api/oauth/google/callback | Variable |
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
- Ve a console.cloud.google.com y crea un proyecto nuevo (por ejemplo seo-audit-personal).
- Ve a APIs & Services → Library y activa:
Google Search Console API(oficial ID:searchconsole.googleapis.com)AdSense Management API(oficial ID:adsense.googleapis.com)
- 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.
- Ve a Credentials → Create Credentials → OAuth client ID:
- Application type: Web application.
- Authorized redirect URIs: añade exactamente la
GOOGLE_OAUTH_REDIRECT_URIde arriba (en producción:https://tu-proyecto.pages.dev/api/oauth/google/callback; en local:http://localhost:3000/api/oauth/google/callback).
- 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 Google4. 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.
- Dominio (recomendado, cubre todas las variantes):
- 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.
- En AdSense, confirma que el dominio está aprobado.
- Tu Publisher ID lo encuentras en Account → Settings → Account information (formato
ca-pub-XXXXXXXXXXXXXXXX). - 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_KEYen 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.