La API de Indexación de Google (Indexing API) es la herramienta más directa para solicitar la indexación de tus páginas. Originalmente diseñada para JobPosting y BroadcastEvent, muchos SEOs la utilizan estratégicamente para acelerar la indexación de cualquier tipo de contenido. En esta guía completa, aprenderás a configurarla, implementarla y optimizar su uso.
1. ¿Qué es la Indexing API de Google?
La Indexing API es una interfaz de programación que permite notificar directamente a Google sobre cambios en tus URLs. A diferencia del rastreo tradicional donde Google descubre contenido pasivamente, la API permite una comunicación proactiva.
Según la documentación oficial de Google, la API está diseñada principalmente para:
- JobPosting: Ofertas de empleo con schema markup
- BroadcastEvent: Eventos de transmisión en vivo
Uso extendido
Aunque oficialmente limitada a estos tipos de contenido, muchos profesionales SEO han documentado éxito usando la API para otros tipos de páginas. Google procesa las solicitudes aunque no garantiza indexación para contenido fuera del alcance oficial.
Ventajas sobre otros métodos
Puntos fuertes
- Comunicación directa con Google (sin intermediarios)
- Respuesta en minutos para contenido elegible
- Capacidad de notificar eliminaciones de URLs
- Verificación del estado de indexación vía API
- Automatizable completamente
- Gratuita dentro de los límites de cuota
2. Requisitos previos
Antes de comenzar la configuración, asegúrate de tener:
Requisitos técnicos
- Cuenta de Google: Necesaria para acceder a Google Cloud Platform
- Acceso a Search Console: Propiedad verificada del sitio web
- Conocimientos básicos de programación: O acceso a un desarrollador
- Servidor con capacidad de ejecutar scripts: PHP, Python, Node.js, etc.
Requisitos de contenido (oficial)
Para uso oficial de la API, tu contenido debe:
- Contener schema markup de JobPosting o BroadcastEvent
- Ser válido según las directrices de datos estructurados de Google
- Estar en un sitio verificado en Search Console
3. Configuración en Google Cloud Platform
La configuración en GCP es el paso más técnico. Sigue estos pasos cuidadosamente:
Paso 1: Crear proyecto en GCP
- Ve a console.cloud.google.com
- Haz clic en "Seleccionar proyecto" > "Nuevo proyecto"
- Nombra tu proyecto (ej: "indexacion-mi-sitio")
- Haz clic en "Crear"
Paso 2: Habilitar la Indexing API
- En el menú lateral, ve a "APIs y servicios" > "Biblioteca"
- Busca "Indexing API"
- Haz clic en "Web Search Indexing API"
- Haz clic en "Habilitar"
Paso 3: Crear cuenta de servicio
- Ve a "APIs y servicios" > "Credenciales"
- Haz clic en "Crear credenciales" > "Cuenta de servicio"
- Nombre: "indexacion-bot" (o el que prefieras)
- Haz clic en "Crear y continuar"
- Omite los roles opcionales, haz clic en "Continuar" y "Listo"
Paso 4: Generar clave JSON
- Haz clic en la cuenta de servicio creada
- Ve a la pestaña "Claves"
- Haz clic en "Agregar clave" > "Crear clave nueva"
- Selecciona "JSON" y haz clic en "Crear"
- Guarda el archivo JSON descargado de forma segura
Importante
El archivo JSON contiene credenciales sensibles. Nunca lo subas a repositorios públicos ni lo compartas. Guárdalo en un lugar seguro en tu servidor.
4. Vincular con Search Console
Para que la API funcione, debes dar permisos a la cuenta de servicio en Search Console:
Obtener el email de la cuenta de servicio
Abre el archivo JSON descargado y busca el campo "client_email". Tendrá un formato como:
indexacion-bot@tu-proyecto.iam.gserviceaccount.com
Añadir como propietario en Search Console
- Ve a Google Search Console
- Selecciona tu propiedad
- Ve a "Configuración" > "Usuarios y permisos"
- Haz clic en "Añadir usuario"
- Pega el email de la cuenta de servicio
- Selecciona permiso "Propietario"
- Haz clic en "Añadir"
Nota
El permiso de "Propietario" es necesario para que la API pueda enviar solicitudes de indexación. Permisos menores no funcionarán.
5. Implementación del código
Ahora que la configuración está lista, veamos cómo implementar las llamadas a la API.
Ejemplo en Python
from google.oauth2 import service_account
from googleapiclient.discovery import build
# Configuración
SCOPES = ["https://www.googleapis.com/auth/indexing"]
JSON_KEY_FILE = "ruta/a/tu/archivo-credenciales.json"
def indexar_url(url, tipo="URL_UPDATED"):
"""
Envía una solicitud de indexación a Google.
tipo puede ser: URL_UPDATED o URL_DELETED
"""
credentials = service_account.Credentials.from_service_account_file(
JSON_KEY_FILE, scopes=SCOPES
)
service = build('indexing', 'v3', credentials=credentials)
body = {
'url': url,
'type': tipo
}
response = service.urlNotifications().publish(body=body).execute()
return response
# Uso
resultado = indexar_url("https://tusitio.com/nueva-pagina")
print(resultado)
Ejemplo en PHP
<?php
require_once 'vendor/autoload.php';
$client = new Google_Client();
$client->setAuthConfig('ruta/a/tu/archivo-credenciales.json');
$client->addScope('https://www.googleapis.com/auth/indexing');
$service = new Google_Service_Indexing($client);
function indexarUrl($service, $url, $tipo = 'URL_UPDATED') {
$notification = new Google_Service_Indexing_UrlNotification();
$notification->setUrl($url);
$notification->setType($tipo);
try {
$response = $service->urlNotifications->publish($notification);
return $response;
} catch (Exception $e) {
return ['error' => $e->getMessage()];
}
}
// Uso
$resultado = indexarUrl($service, 'https://tusitio.com/nueva-pagina');
print_r($resultado);
?>
Ejemplo en Node.js
const {google} = require('googleapis');
const keyFile = 'ruta/a/tu/archivo-credenciales.json';
const scopes = ['https://www.googleapis.com/auth/indexing'];
async function indexarUrl(url, tipo = 'URL_UPDATED') {
const auth = new google.auth.GoogleAuth({
keyFile: keyFile,
scopes: scopes,
});
const indexing = google.indexing({version: 'v3', auth});
const response = await indexing.urlNotifications.publish({
requestBody: {
url: url,
type: tipo
}
});
return response.data;
}
// Uso
indexarUrl('https://tusitio.com/nueva-pagina')
.then(result => console.log(result))
.catch(error => console.error(error));
Sin complicaciones técnicas
RSS AutoIndex integra la Indexing API automáticamente. Solo conecta tu feed RSS y nosotros gestionamos las llamadas a la API.
Automatizar ahora6. Límites y gestión de cuota
La Indexing API tiene límites de uso que debes conocer y respetar.
Cuotas estándar
| Métrica | Límite | Período |
|---|---|---|
| Solicitudes de publicación | 200 | Por día |
| Solicitudes de estado | 200 | Por día |
| Solicitudes por minuto | 600 | Por minuto |
| Solicitudes batch | 100 URLs | Por solicitud |
Solicitar aumento de cuota
Si necesitas más de 200 URLs/día, puedes solicitar un aumento:
- Ve a la consola de GCP
- Selecciona tu proyecto
- Ve a "IAM y administración" > "Cuotas"
- Busca "Indexing API"
- Solicita aumento justificando el uso
Estrategias de optimización de cuota
- Priorizar URLs importantes: Usa la cuota para contenido nuevo de alto valor
- Batch requests: Agrupa hasta 100 URLs por solicitud
- Evitar duplicados: No envíes la misma URL múltiples veces
- Monitorizar uso: Revisa las métricas en GCP regularmente
7. Casos de uso avanzados
Más allá del uso básico, la Indexing API ofrece funcionalidades avanzadas.
Batch requests (solicitudes por lotes)
Envía múltiples URLs en una sola petición HTTP:
# Python - Batch request
def indexar_batch(urls):
credentials = service_account.Credentials.from_service_account_file(
JSON_KEY_FILE, scopes=SCOPES
)
batch = []
for url in urls:
batch.append({
'url': url,
'type': 'URL_UPDATED'
})
# Implementar batch HTTP request
# Ver documentación de Google para detalles específicos
pass
Verificar estado de indexación
La API también permite consultar el estado de una URL:
def obtener_estado(url):
credentials = service_account.Credentials.from_service_account_file(
JSON_KEY_FILE, scopes=SCOPES
)
service = build('indexing', 'v3', credentials=credentials)
response = service.urlNotifications().getMetadata(
url=url
).execute()
return response
Notificar eliminación de URLs
Cuando eliminas contenido, notifica a Google para acelerar la desindexación:
resultado = indexar_url("https://tusitio.com/pagina-eliminada", "URL_DELETED")
Integración con CI/CD
Automatiza la indexación en tu pipeline de despliegue:
# .github/workflows/deploy.yml
- name: Notificar nuevas URLs a Google
run: |
python scripts/indexar_nuevas_urls.py
env:
GOOGLE_APPLICATION_CREDENTIALS: ${{ secrets.GCP_CREDENTIALS }}
8. Errores comunes y soluciones
Estos son los errores más frecuentes al usar la Indexing API y cómo resolverlos:
Error 403: Forbidden
Causa: La cuenta de servicio no tiene permisos de propietario en Search Console.
Solución: Verifica que añadiste el email correcto con permiso de "Propietario".
Error 429: Too Many Requests
Causa: Has excedido la cuota diaria o por minuto.
Solución: Espera al día siguiente o solicita aumento de cuota.
Error 400: Invalid URL
Causa: La URL no pertenece a un dominio verificado o tiene formato incorrecto.
Solución: Verifica que la URL es correcta y que el dominio está verificado en Search Console.
Error de autenticación
Causa: Credenciales JSON inválidas o expiradas.
Solución: Regenera las credenciales en GCP y actualiza el archivo JSON.
Monitoreo recomendado
Implementa logging de todas las llamadas a la API para detectar errores temprano y optimizar tu uso de la cuota.
Con nuestra solución de indexación RSS, su contenido se envía automáticamente a los motores de búsqueda.
Conclusión
La Indexing API de Google es una herramienta poderosa para acelerar la indexación de tu contenido. Aunque oficialmente limitada a JobPosting y BroadcastEvent, su implementación correcta puede beneficiar a cualquier sitio web con contenido que requiera indexación rápida.
Puntos clave para recordar:
- Configuración inicial: Requiere proyecto GCP, cuenta de servicio y vinculación con Search Console
- Límites de cuota: 200 URLs/día estándar, ampliable bajo solicitud
- Uso estratégico: Prioriza contenido nuevo de alto valor
- Monitorización: Registra todas las llamadas y respuestas
- Automatización: Integra con tu flujo de publicación para máxima eficiencia
Combinada con otras técnicas como PubSubHubbub y sitemaps optimizados, la Indexing API forma parte de una estrategia de indexación robusta que puede reducir significativamente el tiempo entre publicación y aparición en resultados de búsqueda.
Deja que nosotros gestionemos la API
RSS AutoIndex usa la Indexing API automáticamente para acelerar la indexación de tu contenido. Sin configuración técnica, sin preocuparte por cuotas.
Crear cuenta gratis