Claude Code para SEO: qué es y tu primer flujo de trabajo
Respuesta corta
Claude Code es un asistente de IA que trabaja desde tu terminal: lee los archivos de una carpeta, propone cambios y solo escribe o ejecuta comandos cuando tú lo apruebas. Para SEO, un buen primer flujo es revisar títulos y metadescripciones a partir de un rastreo exportado: Claude Code propone, un script comprueba y tú decides.
Por Robert Virona Publicado el 8 min de lectura
En este artículo · 5 secciones
Qué es Claude Code (y qué no es)
Claude Code es una herramienta de Anthropic que lee los archivos de un proyecto, los edita, ejecuta comandos y se conecta con otras herramientas. Su documentación la presenta como una herramienta para programar (Claude Code overview (se abre en pestaña nueva), 12 oct 2026). Lo que te propongo aquí es usarla sobre una carpeta de trabajo SEO, con un archivo de datos, unas reglas y unas propuestas, en lugar de un proyecto de código.
Para entender qué le estás dando, piensa en un practicante muy rápido al que le abres una carpeta sobre tu escritorio. Ve lo que hay dentro, te pregunta antes de mover algo y no tiene las llaves de tu gestor de contenidos. Si no está en la carpeta, no lo sabe.
Eso marca lo que no es. No rastrea tu sitio: trabaja con el rastreo que tú exportes. No publica nada en tu web. Y no sustituye tu criterio: genera borradores que tú aceptas o descartas.
Existe en la terminal, en extensiones para editores de código, en una aplicación de escritorio y en el navegador (misma documentación). Uso la terminal en este flujo porque deja ver cada paso que da.
Qué necesitas antes de empezar
| Necesitas | Detalle |
|---|---|
| Una cuenta | Una suscripción de Claude (Pro, Max, Team o Enterprise), una cuenta de Claude Console o acceso a través de un proveedor en la nube compatible (Quickstart (se abre en pestaña nueva), 12 oct 2026) |
| Una terminal | La de tu sistema; en Windows, la documentación recomienda además instalar Git for Windows para que pueda usar Bash; sin él usa PowerShell |
| Un rastreo exportado | Un CSV de tu rastreador con tres columnas: url, title y meta_description |
| Node.js (opcional) | Solo para el script de control del paso 6; la alternativa es una fórmula de hoja de cálculo |
La documentación ofrece varias formas de instalarlo. Estos son los comandos de instalación nativa tal como figuran el 12 oct 2026:
irm https://claude.ai/install.ps1 | iexcurl -fsSL https://claude.ai/install.sh | bashCuando termine, abre una terminal nueva y escribe claude --version: si imprime un número de versión, quedó instalado.
Cuidado
Copia el comando desde la página oficial (se abre en pestaña nueva) el día que instales, porque estas instrucciones cambian. Y recuerda que ejecutar un script descargado de internet le da permiso a ese script en tu equipo: si no te convence, la misma página ofrece otras vías (Homebrew, WinGet).
Tu primer flujo: revisar títulos y metas
Elijo esta tarea por cuatro razones: tiene un archivo de entrada claro, el resultado es una tabla que se revisa en minutos, un error no rompe nada (nada se publica solo) y se repite con cada cliente.
- Prepara la carpeta. Crea una carpeta nueva, por ejemplo
revision-titulos, y guarda dentro tu exportación comorastreo.csv. Si tu herramienta usa otros nombres de columna, cámbialos en la primera fila. - Escribe las reglas del proyecto en un archivo
CLAUDE.md. - Cierra los permisos que no necesitas con un archivo
.claude/settings.json. - Abre Claude Code dentro de la carpeta y pide un inventario antes de pedir nada más.
- Pide las propuestas en un archivo nuevo.
- Comprueba el resultado con un script que cuente caracteres y busque repetidos.
- Revisa a mano y aplica tú los cambios en tu gestor de contenidos.
Las reglas del proyecto (CLAUDE.md)
Claude Code lee el archivo CLAUDE.md de la carpeta al empezar cada sesión; es el lugar para las instrucciones que quieres que recuerde (documentación de memoria (se abre en pestaña nueva), 12 oct 2026). Su guía recomienda mantenerlo corto, por debajo de unas 200 líneas. Este es el mío para esta tarea:
# Revisión de títulos y metas
- Trabaja solo con los archivos de esta carpeta. No inventes datos del sitio:
si una URL no te dice de qué trata la página, dilo.
- Títulos: máximo 60 caracteres, uno distinto por URL, con el tema de la
página al principio y el nombre de la marca al final.
- Metas: máximo 155 caracteres, escritas para que una persona quiera entrar.
Sin promesas de posiciones ni cifras que no estén en el archivo.
- No modifiques rastreo.csv. Todo lo que generes va en archivos nuevos.
- Responde en español neutro, con tuteo.Los 60 y los 155 caracteres son mi criterio de revisión, no un límite de Google. Google indica que no hay un límite de longitud para el <title>, que los títulos largos se acortan según el dispositivo y que puede reescribir el título cuando no refleja bien la página (Google Search Central (se abre en pestaña nueva), 12 oct 2026). Por eso el objetivo es un título claro, no uno que llegue justo al número.
Los permisos
En modo manual, Claude Code puede leer archivos dentro de la carpeta de trabajo sin preguntar, pero pide aprobación antes de editar archivos o ejecutar comandos de terminal (Configure permissions (se abre en pestaña nueva), 12 oct 2026). Puedes endurecerlo con reglas de denegación en .claude/settings.json; las reglas de denegación se evalúan primero:
{
"permissions": {
"deny": [
"Read(./.env)",
"Edit(./rastreo.csv)"
]
}
}La primera regla impide que lea un archivo .env (donde suelen vivir las claves); la segunda protege tu rastreo original. Con /permissions dentro de la sesión ves todas las reglas activas.
Un detalle de versión: según tu versión y tu plan, Claude Code puede arrancar en modo automático, donde un clasificador revisa las acciones en lugar de ti (Choose a permission mode (se abre en pestaña nueva), 12 oct 2026). Para este primer flujo cambia a modo manual (Shift+Tab recorre los modos), así ves cada aprobación y entiendes qué está pidiendo.
Los dos pedidos
Abre una terminal dentro de la carpeta y escribe claude. La primera vez te pedirá iniciar sesión en el navegador. Empieza sin pedir propuestas:
Lee rastreo.csv. Sin modificar nada, escribe inventario.md con: cuántas URL
tienen el title vacío, cuántas lo repiten y cuáles pasan de 60 caracteres, y
lo mismo para meta_description. Incluye la lista de URL afectadas en cada caso.Te pedirá permiso para crear inventario.md. Ábrelo y compara una o dos cifras con tu rastreador: si no coinciden, el problema está en cómo entendió el archivo y conviene aclararlo antes de seguir. Resultado: un inventario que puedes comprobar contra tu herramienta.
Para las URL con title vacío, repetido o de más de 60 caracteres, escribe
propuestas.csv con las columnas url, title_actual, title_propuesto, motivo y
meta_propuesta. Sigue las reglas de CLAUDE.md. Si con los datos del archivo no
puedes saber de qué trata una página, deja title_propuesto vacío y explica por qué.La última frase es la más importante: le das una salida honesta para cuando no sabe. Sin ella, un modelo tiende a rellenar el hueco con algo que suena bien.
El control automático
Antes de leer una sola propuesta, deja que una máquina haga lo mecánico. Este script revisa longitudes y títulos repetidos en propuestas.csv y termina con error si encuentra problemas:
import { readFileSync } from "node:fs";
const MAX_TITULO = 60; // criterio propio, no un límite de Google
const MAX_META = 155;
function leerCsv(texto) {
const filas = [];
let fila = [], campo = "", comillas = false;
for (let i = 0; i < texto.length; i++) {
const c = texto[i];
if (comillas) {
if (c === '"' && texto[i + 1] === '"') { campo += '"'; i++; }
else if (c === '"') comillas = false;
else campo += c;
} else if (c === '"') comillas = true;
else if (c === ",") { fila.push(campo); campo = ""; }
else if (c === "\n" || c === "\r") {
if (c === "\r" && texto[i + 1] === "\n") i++;
fila.push(campo); campo = "";
if (fila.some((x) => x !== "")) filas.push(fila);
fila = [];
} else campo += c;
}
if (campo !== "" || fila.length) { fila.push(campo); filas.push(fila); }
return filas;
}
const archivo = process.argv[2];
if (!archivo) { console.error("Uso: node revisar-propuestas.mjs propuestas.csv"); process.exit(2); }
const [cabecera, ...filas] = leerCsv(readFileSync(archivo, "utf8").replace(/^/, ""));
const col = (n) => cabecera.indexOf(n);
const iUrl = col("url"), iTitulo = col("title_propuesto"), iMeta = col("meta_propuesta");
if ([iUrl, iTitulo, iMeta].includes(-1)) {
console.error("Faltan columnas: url, title_propuesto, meta_propuesta");
process.exit(2);
}
const problemas = [];
const vistos = new Map();
for (const f of filas) {
const url = f[iUrl], t = (f[iTitulo] ?? "").trim(), m = (f[iMeta] ?? "").trim();
if (!t) problemas.push(`${url} · título vacío`);
else {
if (t.length > MAX_TITULO) problemas.push(`${url} · título de ${t.length} caracteres (> ${MAX_TITULO})`);
const clave = t.toLowerCase();
if (vistos.has(clave)) problemas.push(`${url} · título repetido con ${vistos.get(clave)}`);
else vistos.set(clave, url);
}
if (!m) problemas.push(`${url} · meta descripción vacía`);
else if (m.length > MAX_META) problemas.push(`${url} · meta de ${m.length} caracteres (> ${MAX_META})`);
}
console.log(`${filas.length} filas revisadas, ${problemas.length} problemas.`);
for (const p of problemas) console.log("- " + p);
process.exit(problemas.length ? 1 : 0);Lo ejecutas con node revisar-propuestas.mjs propuestas.csv. Lo probé con un archivo correcto (termina sin problemas) y con uno defectuoso (detecta un título largo, una meta vacía y un título repetido). Si no usas Node, una hoja de cálculo hace lo esencial: =LARGO(C2) junto a cada título y un formato condicional para los que pasan de 60.
Cómo revisar lo que propone
Aquí empieza tu trabajo, que no se delega. Para cada fila, hazte cuatro preguntas:
- ¿Dice de qué trata la página? Ábrela. Un título bonito sobre otra cosa es peor que el actual.
- ¿Conserva lo que ya funciona? Si la URL ya recibe clics en Search Console, cambiar su título cambia cómo se muestra tu resultado: consulta el rendimiento de esa página antes de aceptar el cambio.
- ¿Inventó algo? Precios, ubicaciones, plazos o cualquier dato que no esté en el archivo.
- ¿Todas suenan igual? Si casi todas siguen la misma plantilla, el lote se vuelve plano; reescribe a mano las páginas importantes.
Google recomienda revisar y verificar a mano el contenido generado con IA antes de publicarlo, y señala que eso incluye títulos y metadescripciones (Google Search Central (se abre en pestaña nueva), 12 oct 2026). Tu revisión es esa parte del proceso.
Riesgos y permisos: qué le dejas tocar y qué no
Mi regla para empezar es mínima. La carpeta contiene solo lo que quieres que lea. No pongas dentro claves de tu gestor de contenidos, de Search Console ni de ninguna herramienta de pago. Los cambios en el sitio los aplicas tú, desde tu propio acceso.
Dos recursos más que conviene conocer. El modo de planificación (plan) hace que Claude Code investigue y proponga sin editar; es útil cuando aún no sabes qué le vas a pedir. Y como cualquier asistente de IA, necesita leer lo que le abres para poder responder: antes de subirle el rastreo de un cliente, revisa qué te permite tu contrato hacer con sus datos.
Siguiente paso
Cuando el flujo te salga bien con un cliente, el siguiente paso natural es repetirlo cada mes sin abrir la terminal. Para decidir con qué herramienta automatizarlo, mira n8n vs Make para una agencia SEO. Si te interesa otra tarea de archivos con el mismo método, la de robots.txt y bots de IA también empieza leyendo un archivo antes de tocar nada. Más guías de este tipo en la categoría Agentes de IA y Claude Code.
Fuentes
- Claude Code overview (se abre en pestaña nueva)
- Quickstart (se abre en pestaña nueva)
- How Claude remembers your project (se abre en pestaña nueva)
- Configure permissions (se abre en pestaña nueva)
- Choose a permission mode (se abre en pestaña nueva)
- Influencing your title links in search results (se abre en pestaña nueva)
- Google Search's guidance on using generative AI content (se abre en pestaña nueva)
Si quieres aprender el método
Si quieres aprender a construir estos flujos con método, entra a la lista de espera de la Academia. Es un proyecto en construcción: te aviso cuando haya novedades, sin precio ni fecha por ahora.
Sigue leyendo
n8n vs Make para una agencia SEO: cuál elegir según tu caso
Comparativa de n8n y Make para automatizar tareas de una agencia SEO: alojamiento, datos de clientes, mantenimiento e integraciones. Veredicto por caso.
Robert Virona ·
robots.txt y bots de IA: cuáles permitir y cuáles bloquear
Qué hace cada bot de OpenAI, Anthropic y Perplexity, qué pasa si lo bloqueas en robots.txt y tres configuraciones listas para copiar.
Robert Virona ·
Informe SEO mensual automático: Search Console y Looker Studio
Cómo armar un informe SEO mensual con Search Console y Looker Studio sin copiar y pegar: qué preguntas responde, qué datos usar y dónde revisar a mano.
Robert Virona ·