API OpenAI para SEO: casos donde realmente vale la pena

Hace poco tuve que ayudar a un cliente con 15.000 keywords en Google Ads. Todos querían optimizar las meta descripciones, pero nadie quería pagarse a una agencia de redacción para hacerlo manualmente. Ahí es donde muchos ven la API de OpenAI como una varita mágica. La realidad es más matizada.

Clasificar keywords a escala sin morirse en el intento

La API de OpenAI es muy útil para una tarea específica: clasificar masivamente keywords por intención de búsqueda. No es lo más sexy, pero es donde mejor se comporta y donde ahorramos dinero real.

Tenía un cliente en ecommerce con 8.000 keywords sin agrupar. Manual: dos semanas de trabajo. Con la API y un script python básico, lo hicimos en tres horas. El prompt es simple pero efectivo:

import openai

openai.api_key = "tu-clave-aqui"

keywords = ["comprar zapatos negros online", "zapatos negros precio", "zapatos negros amazon"]

for keyword in keywords:
    response = openai.ChatCompletion.create(
        model="gpt-4o-mini",
        messages=[
            {"role": "system", "content": "Clasifica esta keyword en: Comercial, Informacional o De Navegación"},
            {"role": "user", "content": f"Keyword: {keyword}"}
        ],
        temperature=0.3,
        max_tokens=50
    )
    print(f"{keyword} → {response['choices'][0]['message']['content']}")

El coste de esa tarea: unos 2 euros. Hacer que una persona lo hiciera manualmente sin fallos: 200-300 euros. Ahí está el quid de la cuestión.

Pero hay una limitación seria: la API no entiende bien el contexto de búsqueda local o vertical. Una keyword como «reparación» podría ser Informacional o Comercial dependiendo de si buscas un tutorial o un servicio. El modelo lo adivina, pero no siempre acierta. Comparado con Semrush o Ahrefs, que tienen datos de intención basados en SERPs reales, la API de OpenAI es menos precisa pero muchísimo más barata para volúmenes grandes y personalizables.

Meta descripciones generadas: donde la cosa se complica

Aquí es donde veo que muchos se equivocan. Generan 5.000 meta descripciones con la API, se sienten productivos, suben todo y luego se sorprenden de que el CTR no mejora.

La razón: la API genera descripciones genéricas que no competem en la SERP. No ve qué dicen los competidores. No entiende qué hace que un snippet sea clicable de verdad. Genera «texto bonito» y poco más.

Hace tres meses probé esto en un proyecto de software SaaS: 200 descripciones generadas por la API versus 50 reescritas manualmente. Las manuales tuvieron 30% más CTR. No es magia, es que el modelo no tiene contexto de la competencia.

Dicho esto, la API SÍ es útil si la usas como punto de partida para editores humanos. Un prompt bien diseñado genera una base decente que un redactor optimiza en 5 minutos en lugar de escribir desde cero. El ahorro de tiempo es real.

response = openai.ChatCompletion.create(
    model="gpt-4o-mini",
    messages=[
        {
            "role": "user",
            "content": f"""Escribe una meta descripción de máximo 155 caracteres para:
Título: {titulo}
Contenido: {contenido}
Añade una llamada a la acción implícita. No repitas la keyword.
"""
        }
    ],
    temperature=0.7,
    max_tokens=100
)

Extracción de datos estructurados desde contenido sin estructura

Este es un caso donde la API funciona bien de verdad. Tienes 500 páginas con información dispersa, sin schema markup, y necesitas extraer precios, características, fechas de publicación o cualquier cosa que luego puedas usar para mejorar tu SEO técnico.

Es más rápido y flexible que regex y mucho más barato que contratar a alguien que lo haga a mano. El punto de inflexión es a partir de 200-300 URLs.

response = openai.ChatCompletion.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": "Extrae en formato JSON: precio, autor, fecha de publicación, categoría"},
        {"role": "user", "content": f"Contenido HTML: {html}"}
    ],
    temperature=0
)

Con temperatura en 0, el modelo es consistente. He extraído datos de 2.000 URLs con tasa de error menor al 3%, lo cual es aceptable para un primer paso de procesamiento.

Cuándo parar y usar otra cosa

No uses la API para generar contenido largo con la esperanza de posicionar directamente. Ni para análisis de backlinks que requieren contexto real de la web. Ni para predecir rankings. El modelo no ve la SERP.

Para eso existen herramientas especializadas. La API de OpenAI no es un reemplazo de Screaming Frog o Google Search Console. Es un complemento para automatizar tareas específicas de procesamiento de texto.

Mi recomendación: úsala donde hay tarea repetitiva, bajo contexto requerido y gran volumen. Clasificar, extraer, estructurar. No para crear o analizar competencia.