< BACK Cómo realizo una auditoría técnica de SEO con Screaming Frog y GSC -- ilustración de arte lineal

Cómo realizo una auditoría técnica de SEO con Screaming Frog y GSC

Un cliente me envió una vez un sitio que había sido "optimizado para SEO por una agencia profesional" durante 18 meses. Las clasificaciones estaban estancadas. El tráfico bajaba año tras año. El reporte de la agencia tenía 47 páginas e incluía una sección sobre "alineación de marca". Lo que no incluía era el hecho de que 3,400 páginas retornaban códigos de estado 200 pero tenían etiquetas noindex incrustadas en el meta. Tres mil y pico de páginas. Desaparecidas. Invisibles. La agencia nunca había rastreado el sitio.

Punto clave: un rastreo de Screaming Frog cruzado con datos de Search Console sigue encontrando la mayoría de los problemas técnicos de SEO en cualquier sitio; el método importa más que herramientas exóticas.A Screaming Frog crawl cross-referenced with Search Console data still finds most technical SEO problems on any site; the method matters more than exotic tooling.

Lo arreglé en una semana. Con Screaming Frog y Google Search Console.

Eso es lo que tiene el SEO técnico: recompensa a quien realmente mira los datos en lugar de solo hablar de ellos. Y honestamente, en el 90% de los sitios que audito a través de Seahawk, no necesito Ahrefs, Semrush ni ninguna de las grandes plataformas para encontrar los problemas que genuinamente están lastimando el rendimiento. Dos herramientas. Un proceso. Aquí va.Seahawk, I don't need Ahrefs, Semrush, or any of the big platforms to find the problems that are genuinely hurting performance. Two tools. One process. Here it is.

---

Antes de rastrear nada, configura Screaming Frog correctamente

La mayoría de las personas abre Screaming Frog, pega una URL y presiona inicio. Está bien para un blog de 50 páginas. Para cualquier cosa más grande, estarás esperando 40 minutos para un rastreo que te da datos incorrectos.

La configuración importa más que la velocidad de rastreo.

Lo primero que hago: voy a Configuration > Spider y me aseguro de estar rastreando el protocolo correcto. Si el sitio está en HTTPS (como debe ser), empiezo desde la homepage canónica en HTTPS. También desactivo el rastreo de ciertos tipos de archivo, PDFs, imágenes, videos, a menos que específicamente quiera auditar esos. Reduce el tiempo de rastreo a la mitad.Configuration > Spider and make sure I'm crawling the correct protocol. If the site is on HTTPS (it should be), I'm starting from the canonical HTTPS homepage. I also turn off crawling of certain file types, PDFs, images, videos, unless I specifically want to audit those. It halves the crawl time.

Luego configuro Configuration > Respect Canonical Tags en desactivado. Contraintuitivo, lo sé. Pero quiero ver cada URL canonicalizada para poder auditar si la canonicalización es realmente correcta. Si Screaming Frog se salta las páginas canonicalizadas, nunca sabrás que existen.Configuration > Respect Canonical Tags to off. Counter-intuitive, I know. But I want to see every canonicalised URL so I can audit whether the canonicalisation is actually correct. If Screaming Frog skips canonicalised pages, you'll never know they exist.

Una cosa más: en Configuration > Custom Extraction, configuro una regla de extracción para extraer el <title> y meta description directamente del código fuente HTML. ¿Por qué? Porque algunos sitios WordPress, especialmente los que corren Yoast junto con un page builder, generan dos title tags. La columna predeterminada de Screaming Frog solo te muestra el primero. La regla de extracción te muestra todo.Configuration > Custom Extraction, I set up an extraction rule to pull the raw <title> and meta description directly from the HTML source. Why? Because some WordPress sites, particularly ones running Yoast alongside a page builder, output two title tags. Screaming Frog's default column only shows you the first one. The extraction rule shows you everything.

---

El primer paso: qué busco en los datos del rastreo

Una vez que termina el rastreo, no comienzo con enlaces rotos. Todos comienzan con enlaces rotos. Comienzo con la pestaña Response Codes y filtro por redirecciones 3xx.Response Codes tab and filter for 3xx redirects.

A principios de 2021, Seahawk tomó un cliente de e-commerce, un minorista de muebles de tamaño medio, unos 8,000 URLs. Su equipo de desarrollo había estado manejando redirecciones de forma improvisada durante dos años. Encontramos 19 cadenas de redirección, algunas de cuatro saltos. La Página A redirigía a la Página B, que redirigía a la Página C, que redirigía a la Página D. Google dice que sigue hasta 10 saltos, pero en la práctica, cualquier cosa más de dos saltos desperdicia presupuesto de rastreo y diluye la equidad de enlaces. Lo colapsar todo a redirecciones de un solo salto. Solo eso, sin cambios de contenido, sin construcción de enlaces, movió tres páginas de categoría de la página 3 a la página 1 en seis semanas.Google says it follows up to 10 hops, but in practice, anything beyond two hops wastes crawl budget and dilutes link equity. We collapsed everything to single-hop redirects. That alone, no content changes, no link building, moved three category pages from page 3 to page 1 within six weeks.

El orden en el que trabajo a través de las pestañas

  1. Response Codes → 3xx, cadenas de redirección y bucles, redirect chains and loops
  2. Response Codes → 4xx, páginas rotas (filtrar por inlinks para priorizar), broken pages (filter by inlinks to prioritise)
  3. Indexability → Non-Indexable, noindex, canonicals que apuntan a otro lado, bloqueado por robots.txt, noindex, canonicals pointing elsewhere, blocked by robots.txt
  4. Page Titles, faltantes, duplicados, más de 60 caracteres, missing, duplicated, over 60 characters
  5. Meta Description, faltante o duplicado (no es un factor de ranking, pero el click-through sí importa), missing or duplicated (not a ranking factor, but click-through matters)
  6. H1, faltante, duplicado, o más de uno por página, missing, duplicated, or more than one per page
  7. Imágenes → Texto alternativo faltante, victoria rápida, especialmente para sitios de productos, quick win, especially for product sites
  8. Directivas → Canónico, verifica que coincidan con la URL realmente indexable, check these match the actual indexable URL

Ese orden es deliberado. Trabajo desde problemas estructurales (redirecciones, páginas rotas) hacia problemas en página. Arreglar una cadena de redirección rota ayuda a cada página en esa cadena. Arreglar una meta descripción faltante ayuda a una página.

---

Capas en Search Console: Donde la cosa se pone interesante

Screaming Frog te dice qué hay en el sitio. Search Console te dice qué cree Google que hay en el sitio. La brecha entre esos dos conjuntos de datos es donde viven los problemas reales.

Cobertura abierta (o Indexación → Páginas en la interfaz más nueva). Estás observando cuatro cosas:Coverage (or Indexing → Pages in the newer interface). You're looking at four things:

  • Error, páginas que Google intentó indexar y no pudo, pages Google tried to index and couldn't
  • Válido con advertencias, a menudo "URL enviada no seleccionada como canónica", que es un lío que necesitas deshacer, often "Submitted URL not selected as canonical," which is a mess you need to untangle
  • Excluido, páginas que Google eligió no indexar (rastreadas pero no indexadas, noindexadas, etc.), pages Google chose not to index (crawled but not indexed, noindexed, etc.)
  • Válido, páginas que Google ha indexado, pages Google has indexed

El depósito "Excluido" se usa criminalmente poco. La mayoría de la gente lo ignora. Yo voy directo allí. Filtra por "Rastreado, actualmente no indexado". Google te está diciendo: encontré esta página, la leí, y decidí que no valía la pena indexarla. Eso casi siempre es un problema de contenido delgado. O es una página que está genuinamente bien pero es demasiado similar a otra, un problema clásico con navegación facetada o archivos de etiquetas.I found this page, I read it, and I decided it wasn't worth indexing. That's almost always a thin content problem. Or it's a page that's genuinely fine but is too similar to another page, a classic issue with faceted navigation or tag archives.

Comparar exclusiones de GSC contra tu rastreo de Screaming Frog

Exporta tu rastreo de Screaming Frog a CSV. Exporta las URLs "Excluidas" de Search Console. Carga ambas en Google Sheets y ejecuta un VLOOKUP. Cualquier URL que aparezca en el rastreo de Screaming Frog y en la lista de exclusiones de GSC es una investigación prioritaria.and in the GSC excluded list is a priority investigation.

Sé que la gente recurre a scripts de Python para esto. No lo necesitas. VLOOKUP en Sheets te toma cuatro minutos y te da la misma respuesta.

---

Crawl Budget: Solo importa si tu sitio es realmente grande

Bueno, seamos honestos. Si tu sitio tiene menos de 1.000 páginas, crawl budget no es tu problema. Puedes dejar de preocuparte por ello.

Pero una vez que pasas aproximadamente 10,000 URLs, y muchas tiendas WooCommerce o Magento llegan a eso solo por variantes de productos y URLs filtradas, el presupuesto de rastreo empieza a morder. La documentación de Google Search Central sobre presupuesto de rastreo es en realidad una de las cosas más claras que han escrito. Vale la pena leerla bien.Google Search Central documentation on crawl budget is actually one of the clearer things they've written. Worth reading properly.

Los dos controles que tienes en Search Console son el informe de Crawl Stats y la herramienta URL Inspection. Crawl Stats te muestra la actividad de rastreo de Google durante 90 días: páginas rastreadas por día, tiempos de respuesta, códigos de respuesta. Si ves un pico de 404s en una fecha específica, es un despliegue que salió mal. Si el tiempo promedio de rastreo está por encima de 2 segundos, tu servidor es el problema, no tu SEO.Crawl Stats report and the URL Inspection tool. Crawl Stats shows you Google's crawl activity over 90 days: pages crawled per day, response times, response codes. If you see a spike in 404s on a specific date, that's a deployment that went wrong. If average crawl time is above 2 seconds, your server is the problem, not your SEO.

---

He auditado bien más de cien sitios en Seahawk donde el cliente estaba gastando dinero real en construcción de enlaces, publicaciones de invitado, relaciones públicas digitales, todo, y tenían páginas huérfanas sin ningún enlace interno que apuntara a ellas. Google no puede priorizar lo que no puede encontrar a través de tu estructura de sitio.orphaned pages that no internal link pointed to. Google can't prioritise what it can't find through your site structure.

En Screaming Frog, filtra el rastreo por Inlinks = 0. Cualquier página con cero links internos es una huérfana. Hazla referencia cruzada contra las páginas indexadas de Search Console. Si la página está indexada pero no tiene links internos, significa que Google la encontró a través de un sitemap XML o un backlink externo. Eso es frágil. Dale un link interno desde una página relevante y le estás dando a Google una señal estructural de que esta página importa.Inlinks = 0. Any page with zero internal links is an orphan. Cross-reference it against Search Console's indexed pages. If the page is indexed but has no internal links, it means Google found it through an XML sitemap or an external backlink. That's fragile. Give it an internal link from a relevant page and you're giving Google a structural signal that this page matters.

Algunas cosas que observo en el enlazado interno

  • Páginas de paginación que enlazan a páginas de producto/artículo pero esas páginas no enlazan de vuelta a páginas de categoría
  • Entradas de blog publicadas en 2019 que nunca han sido enlazadas desde contenido más reciente
  • Páginas con docenas de enlaces internos entrantes pero tráfico muy bajo en GSC, a menudo una señal de que la página misma tiene un problema, no los enlaces.

---

Core Web Vitals: Lee los Datos, No Entres en Pánico

Search Console tiene un reporte de Core Web Vitals. Extrae datos del Chrome UX Report de usuarios reales, que es data de campo, usuarios reales en dispositivos reales, no una simulación de laboratorio. Esto es más significativo que lo que obtendrías de una ejecución puntual de Lighthouse.Core Web Vitals report. It pulls from real-user Chrome UX Report data, which is field data, actual users on actual devices, not a lab simulation. This is more meaningful than what you'd get from a one-off Lighthouse run.

El reporte agrupa URLs en "Bueno", "Necesita mejora" y "Deficiente" según LCP, FID (ahora reemplazado por INP) y CLS. No intentes arreglarlo todo a la vez. Ordena por el grupo "Deficiente" y mira qué patrón de URL tiene más páginas fallando. Usualmente es una sola plantilla, todas las páginas de producto fallando CLS, o todas las páginas de categoría con LCP lento. Arregla la plantilla, arregla cientos de páginas de una vez.

Una cosa que he aprendido de la manera difícil: los problemas de CLS en sitios con anuncios o banners de cookies casi siempre provienen de elementos que se inyectan sobre el pliegue después del renderizado inicial. Screaming Frog no lo detectará. Necesitas observar la página real. Usa Chrome DevTools con las regiones de Layout Shift habilitadas en Rendering.

---

La Revisión de Robots.txt y Sitemap (Toma 10 Minutos, Te Ahorra Semanas)

Ve a tudominio.com/robots.txt. Lee cada línea. He visto con mis propios ojos un sitio en producción con Disallow: / en el robots.txt. No era un sitio de prueba. Era producción. Un negocio de siete años. Su desarrollador había copiado el robots.txt de staging durante una migración y nunca lo verificó. Habían estado esencialmente invisibles para Google durante cuatro meses antes de darse cuenta.yourdomain.com/robots.txt . Read every line. I have seen, with my own eyes, a live production site with Disallow: / in the robots.txt. Not a staging site. Production. A seven-year-old business. Their developer had copied the staging robots.txt during a migration and never checked it. They had been essentially invisible to Google for four months before they noticed.

En Search Console, ve a Sitemaps. Verifica qué se ha enviado. Verifica la última vez que Google lo obtuvo. Si el sitemap no ha sido obtenido en más de una semana, algo está roto. También compara el conteo de URLs enviadas vs el conteo de URLs indexadas, si has enviado 4,000 URLs y solo 1,200 están indexadas, es una conversación que necesitas tener sobre calidad de contenido, no sobre arreglos técnicos.Sitemaps. Check what's been submitted. Check the last time Google fetched it. If the sitemap hasn't been fetched in over a week, something is broken. Also check the submitted URL count vs the indexed URL count, if you've submitted 4,000 URLs and only 1,200 are indexed, that's a conversation you need to have about content quality, not about technical fixes.

---

FAQ

¿Necesito la versión de pago de Screaming Frog?

La versión gratuita tiene un límite de 500 URLs. Para cualquier cosa por encima de eso, que es la mayoría de sitios que valen la pena auditar, necesitas la licencia de pago. Son £259 por año al momento de escribir. Es aproximadamente el precio de una sola hora de tiempo de agencia. Cómpralo.£259 per year as of writing. That's about the price of a single hour of agency time. Buy it.

¿Con qué frecuencia debo ejecutar una auditoría técnica?

Para sitios activos que publican regularmente o cambian productos frecuentemente, diría que trimestralmente. Para sitios más pequeños y estáticos, dos veces al año está bien. Ejecutar una auditoría una sola vez y tratarla como "hecha" es como cambiar el aceite del auto una vez y esperar que funcione por siempre.

Screaming Frog muestra estado 200 pero GSC muestra que la página no está indexada, ¿por qué?

Casi siempre es una de tres cosas: una etiqueta meta noindex, un encabezado HTTP noindex, o una etiqueta canonical apuntando a otro lado. Pasa la URL por la herramienta URL Inspection de Search Console y te dirá exactamente qué encontró. Esa herramienta está subestimada, te muestra la última versión rastreada por Google de la página, incluyendo el HTML renderizado, lo que detecta etiquetas noindex inyectadas por JavaScript que una solicitud HTTP básica no vería.last crawled version of the page, including the rendered HTML, which catches JavaScript-injected noindex tags that a basic HTTP request wouldn't see.

¿Qué pasa con los sitios renderizados con JavaScript?

Screaming Frog tiene un modo de renderizado JavaScript bajo Configuration > Spider > Rendering. Actívalo para sitios con mucho JavaScript. Es más lento, significativamente más lento, pero es la única forma de detectar problemas con contenido o enlaces que son inyectados por JavaScript después de que se carga el HTML inicial. Para un sitio React o Next.js, siempre rastra en modo de renderizado JS.Configuration > Spider > Rendering. Turn it on for JS-heavy sites. It's slower, significantly slower, but it's the only way to catch issues with content or links that are injected by JavaScript after the initial HTML loads. For a React or Next.js site, always crawl in JS rendering mode.

¿Es Google Search Console suficiente para investigación de palabras clave?

Para encontrar qué queries tus páginas existentes ranquean, sí, es excelente. Para descubrir nuevas oportunidades de keywords, no, necesitarás algo más. Pero eso está fuera del alcance de una auditoría técnica.existing pages rank for, yes, it's excellent. For discovering new keyword opportunities, no, you'll need something else. But that's out of scope for a technical audit.

---

Dos herramientas. Una hoja de cálculo. Algunas horas. Eso es genuinamente todo lo que esto requiere. Las plataformas costosas tienen su lugar, no estoy en contra, pero he visto demasiados propietarios de sitios asumir que pagar más significa encontrar más. Los problemas casi siempre están en lo básico. Solo necesitan que alguien realmente los mire.

< BACK