Ingeniería
SEO técnico para aplicaciones web: qué mueve de verdad el posicionamiento
La mayoría de los consejos de SEO están escritos para sitios de contenido. Las aplicaciones fallan de otra manera, y normalmente por razones que ninguna herramienta de palabras clave le mostrará jamás.
Cuando una aplicación web no posiciona, la causa rara vez es el contenido. Es que el rastreador recibió una página vacía, o encontró cuatro URL con lo mismo, o gastó su asignación de rastreo en combinaciones de filtros por facetas, o una directiva perdida le dijo que no indexara la página en absoluto. Nada de eso aparece en un informe de palabras clave, y todo ello necesita a alguien que pueda cambiar el código.
Empiece por lo que el rastreador recibe realmente
El hábito más útil en SEO técnico es dejar de mirar la página en un navegador. Descargue el HTML en bruto que devuelve el servidor y léalo. Habitualmente es un documento distinto del que usted ve.
En aplicaciones renderizadas en el cliente puede ser un armazón vacío con una etiqueta de script. Google sí renderiza JavaScript, pero el renderizado se encola aparte del rastreo y no está garantizado que sea rápido ni completo; y otros rastreadores, incluidos los que hay detrás de las vistas previas sociales y de varios sistemas de IA, renderizan con mucha menos fiabilidad o no lo hacen en absoluto.
La solución es servir el contenido en el HTML inicial de cualquier página que quiera posicionar. El renderizado en servidor, la generación estática o el prerenderizado lo consiguen; cuál elegir es una decisión de arquitectura, pero el requisito no es negociable si la búsqueda importa.
Las URL duplicadas matan en silencio
Las aplicaciones generan variantes de URL sin esfuerzo: parámetros de seguimiento, identificadores de sesión, combinaciones de orden y filtro, variantes con y sin barra final, rutas en mayúsculas, y la misma página accesible por dos caminos. Para un rastreador cada variante es una URL distinta, y las señales de posicionamiento se reparten entre ellas.
Tres cosas lo resuelven. Cada página necesita una canónica que apunte a sí misma, a la versión que quiere indexar. El servidor debería redirigir las variantes —host no canónico, protocolo incorrecto, barra final inconsistente— con una redirección permanente en lugar de servirlas todas. Y los parámetros que no cambian el contenido no deberían producir una URL indexable distinta.
El error más común aquí es una canónica que contradice al sitemap, o una canónica que apunta a una URL que redirige. Ambas se tratan como señales confusas, y la confusión se resuelve en su contra.
El presupuesto de rastreo es real en cuanto hay filtros
Para un sitio de cincuenta páginas, el presupuesto de rastreo no es su problema. Para una aplicación con navegación por facetas es uno de los primeros, porque un puñado de filtros produce una explosión combinatoria de URL y un rastreador dedicará semanas a ellas con gusto en lugar de a las páginas que importan.
Decida explícitamente qué combinaciones de filtros merecen indexarse —normalmente las que tienen demanda real de búsqueda, como una categoría más un atributo— y haga que el resto no sea indexable. Use robots.txt para impedir el rastreo de patrones de parámetros sin valor, y una directiva noindex para las páginas que deben seguir siendo rastreables por sus enlaces pero no deben aparecer en resultados.
No son intercambiables, y confundirlos es habitual: una página bloqueada en robots.txt no puede rastrearse, así que su noindex nunca se ve, y la URL aún puede aparecer en resultados solo por señales externas. Si quiere una página fuera del índice, debe ser rastreable y llevar noindex.
Core Web Vitals, medidos en uso real
El rendimiento es un factor de posicionamiento y, más importante aún, un factor de conversión. El error es optimizar contra una puntuación de laboratorio en una máquina rápida en lugar de contra lo que experimentan los usuarios reales.
Para Largest Contentful Paint los culpables habituales son una imagen no precargada, una fuente que impide que el texto se pinte, y una hoja de estilos que bloquea el renderizado. Precargue el elemento que será el mayor, use font-display para que el texto aparezca de inmediato con una fuente de reserva, e incruste los estilos necesarios para la primera pantalla.
El Cumulative Layout Shift casi siempre viene de imágenes e insertados sin dimensiones, de contenido inyectado por encima del contenido existente, y de fuentes web que reajustan el texto al sustituirse. Fije ancho y alto explícitamente, reserve espacio para todo lo que llegue tarde, y haga coincidir las métricas de la fuente de reserva.
Interaction to Next Paint es el que más fallan las aplicaciones, porque mide la capacidad de respuesta con un hilo principal de JavaScript cargado. Fragmente las tareas largas, haga menos trabajo en el hilo principal, y sea honesto sobre cuánto framework hace falta realmente en una página cuyo cometido es mostrar información.
Datos estructurados que concuerdan
Los datos estructurados no elevan directamente el posicionamiento, pero determinan cómo se muestra un resultado y con cuánta seguridad un buscador resuelve de qué trata su sitio. El fallo común no es un marcado inválido: es un marcado que se contradice entre páginas, describiendo la misma organización de tres maneras distintas.
Use un único nodo de organización identificado y haga que todos los demás bloques lo referencien, en lugar de repetir la descripción de la empresa en cada página. Valide en la compilación en vez de pegar de vez en cuando en una herramienta de prueba, para que una regresión haga fallar la compilación en lugar de publicarse en silencio.
No marque reseñas que no ha recogido, valoraciones que ha agregado de la nada, ni preguntas frecuentes que no aparecen en la página. Eso atrae acciones manuales, y el resultado enriquecido no compensa el riesgo.
Internacionalización, y dónde suele torcerse
Si ofrece varios idiomas, hreflang indica a los buscadores qué versión mostrar. También es una de las cosas en las que más fácil resulta equivocarse sutilmente.
- Las anotaciones deben ser recíprocas. Si la página en inglés apunta a la alemana, la alemana debe apuntar de vuelta, o se ignora todo el conjunto.
- Cada URL del conjunto debe devolver 200. Un solo 404 en el grupo lo socava todo.
- La canónica de cada página debe apuntar a sí misma, no a la versión en inglés. Una canónica hacia otro idioma es una petición para retirar esa página del índice.
- Use x-default como alternativa cuando ningún idioma coincida.
- No traduzca una página automáticamente y la marque como alternativa de idioma salvo que sea realmente buena. Una traducción pobre o destrozada es peor que no ofrecer ese idioma.
Medición que sobrevive a una web centrada en la privacidad
Una parte importante de los visitantes bloquea la analítica de cliente, y la proporción es máxima entre audiencias técnicas, que para un producto de software son justamente la audiencia que más quiere entender. Los números de una etiqueta bloqueada no solo están incompletos: están sesgados en una dirección que importa.
Los registros del servidor y la medición en servidor no tienen este problema, y además le muestran el comportamiento de los rastreadores, cosa que la analítica de cliente nunca hará. Para un sitio nuevo, ver llegar a Googlebot en los registros es una señal más útil que cualquier panel: le dice si tiene un problema de rastreo o de posicionamiento, y se arreglan de formas muy distintas.
Search Console sigue siendo la fuente más valiosa, porque informa de las consultas por las que ya aparece. Esas consultas son un mejor guion de contenidos que cualquier herramienta de palabras clave, porque muestran dónde está lo bastante cerca como para que una pequeña mejora cambie el resultado.
Un orden de trabajo práctico
- Primero comprobar la indexabilidadSearch Console, el informe de cobertura y un rastreo de su propio sitio. No tiene sentido optimizar una página que está excluida.
- Corregir el renderizadoAsegúrese de que el contenido que quiere posicionar esté en la respuesta HTML inicial.
- Resolver duplicadosCanónicas, redirecciones y tratamiento de parámetros, para que las señales se concentren en lugar de dividirse.
- Controlar el rastreoDecida qué URL generadas merecen indexarse y evite que el resto consuma su asignación de rastreo.
- Luego el rendimientoDatos de campo, no puntuaciones de laboratorio, y fijados en el pipeline de compilación para que no puedan volver atrás.
- Luego el contenidoEscrito para las consultas en las que Search Console muestra que ya está cerca.
Ese orden importa. El contenido escrito para una página que el rastreador no puede ver es trabajo perdido, y ajustar el rendimiento de una página excluida del índice no cambia absolutamente nada.