Inicio/Recursos/Automatizaciones/Detector Enlaces Rotos Automático | n8n
Recursos · Automatizaciones · n8n GRATIS · 2026

Detector Enlaces Rotos Automático | n8n

Revisar manualmente los enlaces de un sitio web es una tarea ingrata. Con decenas o cientos de páginas, cada una conteniendo múltiples enlaces internos, el proceso manual consume horas que podrían invertirse en tareas de mayor valor. Además, la revisión manual es propensa a errores humanos y rara vez se realiza con la frecuencia necesaria.

Gratis

La automatización completa, en tu bandeja

Sin spam · Cancela cuando quieras
Resumen

Etapa 1: Configurar el Disparador Programado

Detector Automático de Enlaces Rotos con n8n: Escanea tu Web y Genera Informes en Google Sheets (Workflow n8n Gratuito + Vídeo + Tutorial + Descarga)

Antes de empezar

Prerrequisitos: instancia n8n y claves API.

  1. !
    Necesitas

    Prerrequisitos: instancia n8n y claves API.

    • A self-hosted n8n instance with terminal access.
    • API credentials for the services used in this workflow.
Gratis

La automatización completa, en tu bandeja

Sin spam · Cancela cuando quieras
Paso 01 → 22

Desglose paso a paso del workflow n8n.

22 pasos para enviar esto. Esto es exactamente lo que corre por debajo.
  1. 01
    Paso 01

    Configurar el Disparador Programado.

    El nodo Schedule Trigger es el punto de partida de toda la automatización. Define cuándo se ejecuta el workflow, permitiendo que el análisis de enlaces rotos se realice de forma completamente autónoma sin necesidad de intervención manual.

    En este caso, el disparador está configurado para ejecutarse diariamente a medianoche. Este horario es estratégico: aprovecha las horas de menor tráfico web para realizar el escaneo sin afectar el rendimiento del sitio ni competir con los visitantes reales.

    Configurar el Disparador Programado
    Parámetros
    • Trigger Interval (Intervalo de activación): Days – El workflow se ejecutará basándose en intervalos diarios
    • Days Between Triggers (Días entre ejecuciones): 1 – Se ejecuta cada día (valores válidos: 1-31)
    • Trigger at Hour (Hora de ejecución): Midnight – La ejecución comienza a las 00:00
    • Trigger at Minute (Minuto de ejecución): 0 – Exactamente al inicio de la hora especificada
  2. 02
    Paso 02

    Definir la URL del Sitemap y el Dominio.

    Este nodo Set establece los valores fundamentales que el workflow necesita para funcionar: la URL de su sitemap XML y su dominio. Estos datos se utilizarán en múltiples etapas posteriores para recuperar las páginas y filtrar correctamente los enlaces internos.

    Es crucial configurar estos valores correctamente desde el principio, ya que determinan qué sitio web se analizará y cómo se identificarán los enlaces internos versus externos.

    Definir la URL del Sitemap y el Dominio
    Parámetros
    • Mode (Modo): Manual Mapping – Los valores se definen manualmente
    • site_map_url (URL del sitemap): [SU_URL_SITEMAP] – Ejemplo: https://sudominio.com/page-sitemap.xml
    • domain (Dominio): [SU_DOMINIO] – Ejemplo: sudominio.com
    • Include Other Input Fields (Incluir otros campos): Desactivado – Solo se pasan los campos definidos
  3. 03
    Paso 03

    Crear el Documento Google Sheets para el Informe.

    Este nodo crea automáticamente un nuevo documento Google Sheets cada vez que se ejecuta el workflow. El título incluye la fecha actual, lo que facilita organizar los informes cronológicamente y comparar la evolución de los enlaces rotos a lo largo del tiempo.

    Tener un documento separado por día permite mantener un historial limpio y detectar si ciertos enlaces rotos son recurrentes o si aparecen nuevos problemas tras actualizaciones del sitio.

    Crear el Documento Google Sheets para el Informe
    Parámetros
    • Credential to connect with (Credencial): Seleccione su credencial Google Sheets configurada en n8n
    • Resource (Recurso): Document – Crea un documento completo de Google Sheets
    • Operation (Operación): Create – Genera un nuevo documento
    • Title (Título): {{ $now.toFormat('MM-dd-yyyy') }} – Nombre dinámico con fecha (ejemplo: 01-17-2026)
  4. 04
    Paso 04

    Preparar la Estructura de Datos para Enlaces Rotos.

    Este nodo Set define la estructura de datos que se utilizará para almacenar la información de cada enlace roto detectado. Establece dos campos fundamentales: la URL de origen (la página donde se encontró el enlace) y el enlace roto en sí.

    Esta preparación estructural es esencial para que los datos fluyan correctamente hacia Google Sheets en el formato esperado, con columnas claramente definidas.

    Preparar la Estructura de Datos para Enlaces Rotos
    Parámetros
    • Mode (Modo): Manual Mapping – Configuración manual de campos
    • source_url (URL de origen): Campo de tipo String – Almacenará la página donde se detectó el enlace roto
    • broken_link (Enlace roto): Campo de tipo String – Almacenará la URL que devuelve error
    • Include Other Input Fields (Incluir otros campos): Desactivado – Solo se pasan estos dos campos
  5. 05
    Paso 05

    Configurar la Inserción de Filas en Google Sheets.

    El nodo Append Row se encarga de añadir cada enlace roto detectado al documento Google Sheets creado anteriormente. Mapea los datos de origen y el enlace roto a columnas específicas de la hoja de cálculo.

    Esta configuración garantiza que cada error detectado quede documentado con su contexto completo: tanto la URL problemática como la página donde aparece.

    Configurar la Inserción de Filas en Google Sheets
    Parámetros
    • Credential to connect with (Credencial): Seleccione su credencial Google Sheets
    • Resource (Recurso): Sheet Within Document – Opera sobre una hoja específica dentro del documento
    • Operation (Operación): Append Row – Añade una nueva fila al final de la hoja
    • Document (Documento): By ID con expresión {{ $('Create Report').item.json.spreadsheetId }} – Referencia dinámica al documento recién creado
    • Sheet (Hoja): By ID con valor 0 – Primera hoja del documento
    • Mapping Column Mode (Modo de mapeo): Map Each Column Manually – Configuración manual de columnas
    • Columna A1: Campo para source_url
    • Columna B1: Campo para broken_link
  6. 06
    Paso 06

    Mover el Informe a una Carpeta Organizada.

    Una vez generado el informe, este nodo lo mueve automáticamente desde la raíz de Google Drive a una carpeta dedicada. Esto mantiene su Drive organizado y facilita encontrar los informes históricos cuando necesite consultarlos.

    La organización automática de archivos es un detalle que marca la diferencia entre una automatización básica y una verdaderamente profesional.

    Mover el Informe a una Carpeta Organizada
    Parámetros
    • Credential to connect with (Credencial): Seleccione su credencial Google Drive
    • Resource (Recurso): File – Opera sobre archivos
    • Operation (Operación): Move – Mueve el archivo a otra ubicación
    • File (Archivo): By ID con expresión {{ $('Create Report').item.json.spreadsheetId }} – El documento recién creado
    • Parent Drive (Unidad destino): From listMy Drive – Su unidad principal de Google Drive
    • Parent Folder (Carpeta destino): From list[SU_CARPETA_INFORMES] – Seleccione o cree una carpeta dedicada
  7. 07
    Paso 07

    Recuperar el Sitemap XML.

    Este nodo HTTP Request descarga el contenido de su sitemap XML. El sitemap contiene la lista de todas las páginas de su sitio web que deben ser analizadas, sirviendo como el mapa de navegación para el resto del workflow.

    La solicitud GET recupera el XML completo que posteriormente será parseado para extraer cada URL individual.

    Recuperar el Sitemap XML
    Parámetros
    • Method (Método): GET – Solicitud de lectura
    • URL: {{ $('Set Domain').item.json.site_map_url }} – URL del sitemap definida en la Etapa 2
    • Authentication (Autenticación): None – Los sitemaps suelen ser públicos
    • Send Query Parameters (Enviar parámetros): Desactivado
    • Send Headers (Enviar cabeceras): Desactivado
    • Send Body (Enviar cuerpo): Desactivado
  8. 08
    Paso 08

    Convertir el XML del Sitemap a JSON.

    El sitemap se descarga en formato XML, pero n8n trabaja de forma nativa con JSON. Este nodo transforma la estructura XML en un objeto JSON manipulable, permitiendo acceder fácilmente a cada URL listada en el sitemap.

    Esta conversión es fundamental para poder iterar sobre las URLs en los siguientes pasos del workflow.

    Convertir el XML del Sitemap a JSON
    Parámetros
    • Mode (Modo): XML to JSON – Conversión de XML a JSON
    • Property Name (Nombre de propiedad): data – El XML se almacenará en este campo
  9. 09
    Paso 09

    Separar las URLs del Sitemap.

    Este nodo extrae cada URL individual del sitemap y las separa en items independientes. El sitemap tiene una estructura donde todas las URLs están agrupadas bajo urlset.url, y este nodo las descompone para procesarlas una por una.

    Cada URL del sitemap se convertirá en un item separado que fluirá por el resto del workflow.

    Separar las URLs del Sitemap
    Parámetros
    • Fields To Split Out (Campos a separar): urlset.url – Ruta al array de URLs en la estructura del sitemap
    • Include (Incluir): No Other Fields – Solo se conservan las URLs, descartando metadatos innecesarios
  10. 10
    Paso 10

    Procesar URLs en Lotes Individuales.

    Este nodo controla el flujo de procesamiento, enviando las URLs de una en una para evitar sobrecargar el servidor web o alcanzar límites de rate limiting. Procesar en lotes de 1 garantiza un análisis ordenado y controlado.

    El procesamiento secuencial es especialmente importante cuando se trabaja con sitios que tienen cientos de páginas.

    Procesar URLs en Lotes Individuales
    Parámetros
    • Batch Size (Tamaño del lote): 1 – Procesa una URL a la vez
  11. 11
    Paso 11

    Descargar el Contenido HTML de Cada Página.

    Para cada URL del sitemap, este nodo descarga el contenido HTML completo de la página. Este HTML será analizado en la siguiente etapa para extraer todos los enlaces internos que contiene.

    La solicitud GET recupera el código fuente de la página tal como lo vería un navegador.

    Descargar el Contenido HTML de Cada Página
    Parámetros
    • Method (Método): GET – Solicitud de lectura
    • URL: {{ $json.loc }} – URL de la página actual extraída del sitemap
    • Authentication (Autenticación): None – Páginas públicas del sitio
    • Send Query Parameters (Enviar parámetros): Desactivado
    • Send Headers (Enviar cabeceras): Desactivado
    • Send Body (Enviar cuerpo): Desactivado
  12. 12
    Paso 12

    Extraer Enlaces Internos con Filtrado Inteligente.

    Este nodo Code contiene la lógica JavaScript que extrae todos los enlaces del HTML descargado. Utiliza expresiones regulares para encontrar URLs en atributos href y src, y aplica filtros inteligentes para excluir recursos CDN, endpoints de API y archivos estáticos que no necesitan verificación.

    El código también deduplica los enlaces encontrados para evitar verificar la misma URL múltiples veces.

    Extraer Enlaces Internos con Filtrado Inteligente
    Parámetros
    • Mode (Modo): Run Once for All Items – El código se ejecuta una vez con todos los datos
    • Language (Lenguaje): JavaScript
    • Código JavaScript:
      • Extrae el HTML desde $input.item.json.data
      • Obtiene el dominio del nodo ‘Set Domain’
      • Usa regex para encontrar URLs en atributos href/src
      • Deduplica resultados con Set
      • Filtra patrones CDN comunes (cloudflare, jsdelivr, cdnjs, fonts.googleapis, etc.)
  13. 13
    Paso 13

    Consolidar Todos los Enlaces Extraídos.

    El nodo Merge recopila todos los enlaces extraídos de todas las páginas y los consolida en una única lista. Esto prepara los datos para ser enviados al sub-workflow que realizará la verificación de cada enlace.

    La agregación permite procesar todos los enlaces de forma eficiente en un solo paquete.

    Consolidar Todos los Enlaces Extraídos
    Parámetros
    • Aggregate (Agregar): All Item Data (Into a Single List) – Combina todos los items en una lista
    • Put Output in Field (Campo de salida): data – La lista consolidada se almacena en este campo
    • Include (Incluir): All Fields – Se conservan todos los campos de cada item
  14. 14
    Paso 14

    Enviar Enlaces al Sub-Workflow de Verificación.

    Este nodo envía la lista completa de enlaces al sub-workflow de verificación mediante una solicitud POST a un webhook. El payload incluye tanto los enlaces a verificar como el ID del documento Google Sheets donde se registrarán los errores.

    Esta arquitectura de dos workflows permite escalar el procesamiento y manejar grandes volúmenes de enlaces.

    Enviar Enlaces al Sub-Workflow de Verificación
    Parámetros
    • Method (Método): POST – Envío de datos
    • URL: [SU_URL_WEBHOOK]/brokenlinkcheck – URL del webhook del sub-workflow
    • Authentication (Autenticación): None
    • Send Body (Enviar cuerpo): Activado
    • Body Content Type (Tipo de contenido): JSON
    • Specify Body (Especificar cuerpo): Using JSON
    • JSON: {{ { spreadsheet_id: $('Create Report').item.json.spreadsheetId, data: $json.data } }} – Incluye ID del documento y lista de enlaces
  15. 15
    Paso 15

    Configurar el Webhook Receptor del Sub-Workflow.

    Este nodo Webhook es el punto de entrada del sub-workflow. Recibe los datos enviados por el workflow principal y los pasa a los nodos siguientes para la verificación individual de cada enlace.

    El webhook actúa como puente entre los dos workflows, permitiendo una arquitectura modular y mantenible.

    Configurar el Webhook Receptor del Sub-Workflow
    Parámetros
    • HTTP Method (Método HTTP): POST – Acepta solicitudes POST
    • Path (Ruta): brokenlinkcheck – Identificador único del webhook
    • Authentication (Autenticación): None – Sin autenticación requerida
    • Respond (Responder): Using 'Respond to Webhook' Node – La respuesta se gestiona con un nodo dedicado
  16. 16
    Paso 16

    Separar los Datos Recibidos del Webhook.

    Este nodo extrae el array de enlaces del cuerpo de la solicitud webhook. Los datos llegan agrupados y este nodo los separa para que cada enlace pueda ser procesado individualmente.

    La separación de datos es el primer paso del sub-workflow para iniciar la verificación enlace por enlace.

    Separar los Datos Recibidos del Webhook
    Parámetros
    • Fields To Split Out (Campos a separar): body.data – Ruta al array de enlaces en el payload del webhook
    • Include (Incluir): No Other Fields – Solo se conservan los enlaces
  17. 17
    Paso 17

    Procesar Enlaces Individualmente.

    Similar al nodo anterior en el workflow principal, este controla el ritmo de verificación de enlaces. Procesar de uno en uno evita saturar el servidor y permite manejar correctamente los timeouts y errores.

    El procesamiento secuencial es crucial para obtener resultados precisos sin falsos positivos por sobrecarga.

    Procesar Enlaces Individualmente
    Parámetros
    • Batch Size (Tamaño del lote): 1 – Verifica un enlace a la vez
  18. 18
    Paso 18

    Verificar el Estado HTTP de Cada Enlace.

    Este nodo realiza una solicitud HTTP HEAD a cada enlace. El método HEAD es más eficiente que GET porque solo recupera las cabeceras de respuesta sin descargar el contenido completo, permitiendo verificar rápidamente si el enlace funciona.

    El código de estado HTTP de la respuesta indicará si el enlace está activo (200) o roto (404, 500, etc.).

    Verificar el Estado HTTP de Cada Enlace
    Parámetros
    • Method (Método): HEAD – Solo recupera cabeceras, más rápido que GET
    • URL: {{ $json.url }} – URL del enlace a verificar
    • Authentication (Autenticación): None
    • Send Query Parameters (Enviar parámetros): Desactivado
    • Send Headers (Enviar cabeceras): Activado (sin cabeceras personalizadas configuradas)
    • Send Body (Enviar cuerpo): Desactivado
    • Options → Ignore SSL Issues (Ignorar problemas SSL): Activado – Evita fallos por certificados no válidos
  19. 19
    Paso 19

    Filtrar Solo los Enlaces con Error.

    Este nodo IF evalúa el código de estado HTTP de cada respuesta. Solo los enlaces que NO devuelven un código 200 pasan al siguiente paso para ser registrados como enlaces rotos. Los enlaces funcionales se descartan del flujo.

    Este filtrado es el corazón de la lógica de detección: cualquier código diferente a 200 (incluyendo 404, 500, 301, etc.) se considera problemático.

    Filtrar Solo los Enlaces con Error
    Parámetros
    • Condition (Condición): {{ $json.statusCode }} is not equal to 200
    • Convert types where required (Convertir tipos): Activado – Garantiza comparación correcta de tipos de datos
  20. 20
    Paso 20

    Registrar el Enlace Roto en Google Sheets.

    Cuando se detecta un enlace roto, este nodo añade una nueva fila al documento Google Sheets creado al inicio del workflow. Registra tanto la URL de la página donde se encontró el enlace (source_url) como el enlace roto en sí (broken_link).

    Este registro detallado facilita localizar y corregir cada enlace problemático.

    Registrar el Enlace Roto en Google Sheets
    Parámetros
    • Credential to connect with (Credencial): Seleccione su credencial Google Sheets
    • Resource (Recurso): Sheet Within Document
    • Operation (Operación): Append Row
    • Document (Documento): By ID con expresión {{ $('Receive Link').item.json.body.spreadsheet_id }} – Referencia al documento desde el webhook
    • Sheet (Hoja): By ID con valor 0 – Primera hoja
    • Mapping Column Mode (Modo de mapeo): Map Each Column Manually
    • source_url: {{ $('Loop Over Items').item.json.sourcePage }} – Página de origen
    • broken_link: {{ $('Loop Over Items').item.json.url }} – URL del enlace roto
  21. 21
    Paso 21

    Consolidar Resultados para la Respuesta.

    Este nodo Merge agrega todos los resultados del procesamiento en una estructura unificada antes de enviar la respuesta al webhook. Consolida la información de todos los enlaces verificados.

    La agregación final prepara los datos para la respuesta que confirmará al workflow principal que el procesamiento ha terminado.

    Consolidar Resultados para la Respuesta
    Parámetros
    • Aggregate (Agregar): All Item Data (Into a Single List)
    • Put Output in Field (Campo de salida): data
    • Include (Incluir): All Fields
  22. 22
    Paso 22

    Responder al Webhook Principal.

    Este nodo final envía una respuesta al workflow principal, confirmando que el procesamiento de verificación de enlaces ha concluido. Cierra el ciclo de comunicación entre ambos workflows.

    La respuesta indica al workflow principal que puede continuar o finalizar su ejecución.

    Parámetros
    • Respond With (Responder con): First Incoming Item – Devuelve los datos del primer item procesado como confirmación
Has visto el workflow completo

Consigue el JSON n8n listo para importar + la guía

Deja tu email y te enviamos el escenario completo.

  • JSON n8n listo para importar
  • Guía de setup escrita
  • Tutorial en video incluido
2.400+ makers descargaron este workflow este mes.
Why this matters

Por Qué Automatizar la Detección de Enlaces Rotos es un Game-Changer para Especialistas SEO y Webmasters

Los enlaces rotos son uno de los factores más subestimados que afectan tanto la experiencia del usuario como el posicionamiento en buscadores. Google interpreta los errores 404 como señales de un sitio mal mantenido, lo que puede impactar negativamente en su ranking.

Problemas comunes con la verificación manual de enlaces:
  • Consume horas que podrían dedicarse a tareas estratégicas de mayor valor
  • Se realiza con poca frecuencia, permitiendo que los problemas se acumulen
  • Es propensa a errores humanos y omisiones involuntarias
  • No escala cuando el sitio crece a cientos de páginas
  • Dificulta identificar patrones recurrentes o causas raíz
Beneficios de automatizar con n8n:
  • Monitoreo diario completamente automático sin intervención manual
  • Detección temprana de problemas antes de que afecten al SEO
  • Informes organizados por fecha que permiten seguimiento histórico
  • Escalabilidad ilimitada independiente del tamaño del sitio
  • Filtrado inteligente que excluye recursos CDN y archivos estáticos
  • Integración con Google Sheets para análisis y colaboración

Implementar este workflow transforma una tarea tediosa en un proceso invisible que trabaja constantemente para mantener la salud de su sitio web. Los especialistas SEO y webmasters pueden centrarse en estrategias de crecimiento mientras n8n vigila silenciosamente cada enlace.

Descargar el workflow

La automatización completa, en tu bandeja.

JSON n8n, guía escrita y tutorial en video, todo para desplegar en menos de 15 minutos.

  • Escenario n8n JSON completo
  • Documentación de setup paso a paso
  • Tutorial en video completo