SEO para desarrolladores: servir HTML legible para los rastreadores, devolver los códigos HTTP correctos, incluir las etiquetas clave, superar las Core Web Vitals y ser visible para la IA.

En resumen
para un desarrollador, el SEO consiste en que cada página importante sea accesible, renderizable e inequívoca para los rastreadores. Sirva el contenido principal en el HTML inicial (renderizado en el servidor o generación estática), devuelva códigos HTTP honestos, ponga el title, la meta description, la canonical y las directivas robots en la respuesta del servidor, enlace con elementos <a href> reales, cumpla los umbrales de las Core Web Vitals y añada datos estructurados en JSON-LD. La mayoría de los rastreadores de IA no ejecutan JavaScript: el contenido que solo existe tras la hidratación es invisible para ChatGPT, Claude y Perplexity.
¿Quiere ir más lejos? Pregunte a
Quiz rápido
¿Es el SEO para ti y cómo empezar?
4 preguntas rápidas para ver si Google puede traerte clientes.
Nuestro consejo para ti
Sorank es la solución adecuada para usted
La gente busca lo que vendes y puedes esperar unos meses: Sorank encuentra las búsquedas adecuadas, redacta y publica los artículos y te consigue enlaces.
Sorank encaja con tus respuestas
Pruébalo 3 días en tu propia web o empieza con una auditoría gratuita para saber dónde estás.
3 días gratis y luego lo dejas cuando quieras. Garantía de devolución de 90 días.
El SEO para desarrolladores es la parte del posicionamiento que vive en el código: plantillas, enrutamiento, renderizado, cabeceras y rendimiento. Marketing elige palabras clave y redacta, pero un código de estado erróneo, una ruta solo de cliente o un noindex olvidado pueden borrar ese trabajo en un despliegue. Los conceptos básicos de SEO en JavaScript de Google describen tres fases (rastreo, renderizado, indexación), y cada una tiene fallos que solo los desarrolladores pueden corregir. Esta guía los trata en el orden en que se rompen.
| Área | Responsabilidad del desarrollador | Síntoma típico cuando falla |
|---|---|---|
| Renderizado | Contenido principal y enlaces presentes en el HTML del servidor | Páginas indexadas vacías o incompletas |
| Códigos HTTP | 200, 301, 404, 410, 5xx devueltos con veracidad | Soft 404, páginas de error indexadas, páginas borradas que siguen posicionando |
| Etiquetas del head | Title, description, canonical, robots y hreflang únicos | Duplicados, URL equivocada posicionada, páginas fuera del índice |
| Control del rastreo | robots.txt, sitemap XML, enlaces internos, parámetros | Páginas importantes sin descubrir, rastreo malgastado en filtros |
| Rendimiento | Core Web Vitals en usuarios móviles reales | Mala experiencia de página, menos conversiones |
| Datos estructurados | JSON-LD válido y fiel al contenido visible | Sin resultados enriquecidos, confusión de entidad |
| Acceso de la IA | Rastreadores de IA permitidos, contenido legible sin JavaScript | Marca ausente de las respuestas de ChatGPT y Perplexity |
Googlebot ejecuta JavaScript, pero en una segunda etapa que puede retrasarse, y la propia Google escribe que el renderizado en el servidor o el prerenderizado sigue siendo una gran idea, porque es más rápido para usuarios y rastreadores y porque no todos los bots ejecutan JavaScript. Ese último punto importa hoy más que nunca: en su análisis de diciembre de 2024, The rise of the AI crawler, Vercel comprobó que ninguno de los grandes rastreadores de IA renderiza JavaScript actualmente, y citó entre otros a GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot y PerplexityBot. Gemini, que usa la infraestructura de Google, es la excepción.
| Modo de renderizado | Qué reciben los rastreadores | Encaje SEO |
|---|---|---|
| Renderizado en cliente (CSR) | Un HTML casi vacío, el contenido tras ejecutar JavaScript | Débil: diferido para Google, invisible para la mayoría de los rastreadores de IA |
| Renderizado en servidor (SSR) | HTML completo en cada petición | Fuerte para páginas dinámicas |
| Generación estática (SSG) | HTML completo generado al desplegar | El más fuerte para contenido que cambia poco |
| Regeneración incremental (ISR) | HTML estático renovado de forma periódica o bajo demanda | Fuerte para grandes catálogos y blogs |
Dos reglas valen sea cual sea el framework. Los enlaces deben ser elementos <a> con atributo href: Google indica que solo descubre enlaces en esa forma, así que los botones con manejadores de clic y las rutas con fragmentos son callejones sin salida. Y cada ruta necesita su propia URL, sin #, que devuelva su contenido directamente. Nuestras guías de SEO en JavaScript, SEO para aplicaciones de una sola página y SEO en Next.js entran en los detalles de cada framework.
Los códigos de estado son instrucciones para los rastreadores. La documentación de Google sobre códigos de estado HTTP y errores de red describe cómo trata cada familia:
Compruebe lo que envía realmente su servidor con un verificador de cabeceras HTTP y limite las cadenas de redirección a un solo salto: nuestro artículo sobre redirecciones SEO cubre los casos de migración.
Cada página indexable necesita un title y una description únicos, una canonical hacia sí misma y, en sitios multilingües, anotaciones hreflang. Manténgalas en la respuesta del servidor:
<title>Running shoes for flat feet | Example</title>
<meta name="description" content="Tested picks, sizes and prices.">
<link rel="canonical" href="https://example.com/running-shoes-flat-feet">
<link rel="alternate" hreflang="fr" href="https://example.com/fr/chaussures-pieds-plats">
<meta name="robots" content="index, follow">La etiqueta canonical debe apuntar a la URL que quiere posicionar, con el protocolo, el host y la convención de barra final exactos de su sitio.
Atención
No confíe nunca en JavaScript para quitar un noindex. Google indica que, al encontrar una etiqueta noindex, puede saltarse el renderizado: una página que se sirve con noindex en el HTML y lo elimina en el cliente puede quedarse fuera del índice.
Los buscadores indexan URL, así que su esquema es una decisión de SEO. Use rutas legibles, en minúsculas y separadas por guiones; elija una convención de barra final y redirija la otra; mantenga una URL por contenido. Los filtros, la ordenación y los parámetros de seguimiento multiplican las URL sin añadir contenido: apunte su canonical a la versión limpia y no enlace combinaciones de parámetros que no quiera que se rastreen.
Los enlaces internos sirven para descubrir y para jerarquizar. Renderice en el servidor la navegación, las migas de pan y los bloques de contenido relacionado, dé a las listas paginadas enlaces simples a cada página y evite el scroll infinito sin URL paginadas detrás. Un producto o artículo al que solo se llega por la búsqueda interna o un filtro en JavaScript es, para un rastreador, una página huérfana.
El robots.txt controla el rastreo, no la indexación: una URL bloqueada puede aparecer igualmente en los resultados si otras páginas la enlazan. Para dejar una página fuera del índice, permita su rastreo y devuelva noindex. Genere el sitemap XML desde sus rutas o su base de datos, incluya solo URL canónicas con 200 y actualice lastmod solo cuando el contenido cambie de verdad. Pruebe sus reglas con un verificador de robots.txt antes de cada despliegue y no lleve nunca a producción un robots.txt de preproducción con "Disallow: /".
Google usa las Core Web Vitals como parte de sus señales de experiencia de página. Según web.dev, una página es buena cuando alcanza estos umbrales en el percentil 75 de las cargas reales, en móvil y en escritorio:
| Métrica | Qué mide | Umbral bueno | Correcciones habituales en desarrollo |
|---|---|---|---|
| LCP (Largest Contentful Paint) | Carga | 2,5 s o menos | Precargar la imagen principal, renderizar en servidor la parte visible, usar una CDN |
| INP (Interaction to Next Paint) | Capacidad de respuesta | 200 ms o menos | Dividir tareas largas, diferir scripts de terceros, reducir el coste de hidratación |
| CLS (Cumulative Layout Shift) | Estabilidad visual | 0,1 o menos | Fijar ancho y alto de los medios, reservar espacio para anuncios e incrustaciones |
INP sustituyó a First Input Delay como Core Web Vital estable en 2024. Juzgue con datos de campo (Search Console, Chrome UX Report) y depure con herramientas de laboratorio. Nuestra entrada del glosario sobre las Core Web Vitals enumera las herramientas.
Use JSON-LD en una etiqueta script, renderizado en el servidor, que describa lo que se ve en la página:
<script type="application/ld+json">
{"@context": "https://schema.org", "@type": "Article",
"headline": "Running shoes for flat feet",
"datePublished": "2026-10-01",
"author": {"@type": "Person", "name": "Jane Doe"}}
</script>Genérelo a partir de los mismos datos que la página para que nunca diverjan, valídelo en la integración continua y evite inyectarlo con un gestor de etiquetas. Un generador de schema ofrece una plantilla inicial para los tipos más comunes.
Consejo
Añada comprobaciones SEO a su pipeline: haga fallar la compilación si una plantilla indexable no tiene title o canonical, si una ruta devuelve 200 para un slug desconocido o si el robots.txt de producción contiene "Disallow: /". Estas regresiones cuestan poco de detectar antes del despliegue y mucho después.
La visibilidad en la IA empieza por el acceso. Decida qué rastreadores de IA permite (GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot y otros) y escriba reglas explícitas en el robots.txt; nuestra guía del robots.txt para rastreadores de IA explica la diferencia entre bots de entrenamiento y de búsqueda. Después asegúrese de que textos, precios, especificaciones y preguntas frecuentes estén en el HTML inicial, use encabezados semánticos y tablas en lugar de imágenes con texto y mantenga las páginas ligeras para que se descarguen rápido. Un archivo llms.txt puede resumir sus páginas clave para herramientas de IA, pero ningún gran asistente ha confirmado que lo use: considérelo opcional.
Sorank es nuestro producto: un software de SEO y GEO en autopilot. Los desarrolladores lo encuentran sobre todo por sus integraciones: publica artículos en WordPress, Shopify, Webflow o Wix, o en cualquier pila propia mediante webhook, como se describe en la página de instalación. Su chat SEO responde en conversación a preguntas sobre su sitio, y el seguimiento de menciones en IA comprueba cada semana si ChatGPT, Claude y Gemini citan su marca.

En pocas palabras: sirva desde el servidor HTML completo, códigos de estado honestos y etiquetas correctas, y mida el rendimiento con usuarios reales. Eso sirve a Googlebot y a los rastreadores de IA que no ejecutan JavaScript. Para llenar un sitio bien construido de contenidos que posicionen, consulte los planes de Sorank, desde 49 € al mes con 3 días de prueba gratis.
No siempre para Google, que ejecuta JavaScript, pero añade retraso y riesgo, y la mayoría de los rastreadores de IA no ejecutan JavaScript en absoluto. Para las páginas que deben posicionar o ser citadas, sirva el contenido principal y los enlaces en el HTML inicial mediante renderizado en servidor, generación estática o prerenderizado, y reserve el renderizado en cliente para las partes interactivas.
Ambos indican a Google que la página ya no existe, y en los dos casos Google deja de usar la URL con el tiempo. Un 410 señala una eliminación intencionada y definitiva, algo que algunos equipos prefieren para contenidos borrados a propósito. Lo importante es no devolver un 200 con un mensaje de error, que genera soft 404.
Forman parte de las señales de experiencia de página, que Google describe como un factor entre muchos, con más peso para la relevancia y la calidad del contenido. Sobre todo desempatan entre páginas parecidas y tienen un fuerte efecto en las conversiones, así que alcanzar los umbrales merece la pena.
PROBARON SORANK ANTES QUE USTED
