¿Verificar los backlinks de tu sitio web en n8n o en Python puro?
Un lienzo de 25 nodos para un trabajo de tres pasos es un arrepentimiento común. Un script que nadie más puede editar es el otro. Usa el árbol.
Equipo editorial de Linkzoid ·
Árbol de decisiones, de arriba a abajo
¿Alguien no técnico editará el flujo o leerá sus ejecuciones? Elige n8n o Make.
¿El trabajo cabe en menos de 60 líneas y vive en un repositorio de todos modos? Elige Python.
¿Necesitas una publicación en Slack y una fila en una hoja, pero sin comparaciones? Elige n8n con un solo nodo de Solicitud HTTP.
¿Comparas docenas de dominios, guardas historial o pruebas unitarias de análisis? Elige Python con SQLite.
¿El equipo ya está pagando por ejecuciones en la nube de n8n? Cuéntalas: un bucle de 40 dominios puede consumir un plan.
¿Ninguna de las anteriores encaja? Comienza con curl en un script de shell y ve qué duele.
Cuando un flujo visual gana su lugar
Un lienzo vale su desorden en algunos trabajos. Si una persona no técnica necesita ver cada paso y su última ejecución, un flujo visual supera a un repositorio que nunca abrirán. Manténlo breve.
La mayoría de los trabajos de backlinks son una búsqueda, una verificación y una escritura. Cuatro nodos hacen eso bien. Si tu trabajo es verificar los backlinks de tu sitio web cada mes para un cliente, esa forma encaja en un lienzo. El problema comienza cuando alguien añade paginación, reintentos y una comparación, porque cada uno trae su propia rama.
Elige el lienzo para el lector, no para el escritor.
Quién lee el flujo
Las personas de marketing y ventas leen un flujo por sus salidas, y quieren la última ejecución a la vista. Un lienzo les da eso sin un ticket. Leen la salida, no el código. Un script les da un archivo de registro que no abrirán.
Dale al flujo un nombre claro y una descripción de una línea, para que el siguiente lector sepa qué promete antes de abrirlo. Un nodo con una etiqueta vaga cuesta más tiempo que cualquier función faltante.
Ramas que puedes ver de un vistazo
Un nodo IF en ok es fácil de seguir. Tres de ellos en una página siguen siendo legibles, si cada rama tiene un nombre claro. Más allá de eso, las líneas se cruzan, y un revisor necesita diez minutos para estar seguro de qué rama se activa con un resultado vacío.
Donde un lienzo se convierte en una responsabilidad
Los bucles sobre muchos dominios, el estado compartido entre ejecuciones y las pruebas unitarias son los puntos de presión habituales. Un lienzo maneja cada uno con un recurso, y cada recurso es un lugar donde el flujo puede desviarse de lo que querías.
Si te encuentras exportando JSON para arreglar un flujo, el trabajo ha superado el lienzo. Mueve la lógica al código y mantén el lienzo para la notificación.
La configuración de n8n en cuatro líneas
Un nodo de Solicitud HTTP, método GET, URL https://linkzoid.pro/api.php. Añade parámetros de consulta action, q, key. Cualquier persona que quiera verificar los backlinks de tu sitio web de esta manera puede copiarlo en cinco minutos.
Guarda la clave en credenciales, no en el nodo. Añade un nodo IF en ok, y envía la rama falsa a un flujo de error que te notifique.
Divide el array rows con un nodo Listas de elementos o Dividir, luego escribe en Google Sheets o Postgres. Vigila los recuentos de ejecución, porque cada elemento puede facturarse como un paso en algunos planes.
Ese es todo el trabajo. Se rompe cuando llega la paginación: los bucles en n8n funcionan pero se leen mal más allá de unos diez nodos.
Construye el flujo de n8n en cinco nodos
Cada nodo hace un trabajo, y cada uno puede ser probado por separado antes de añadir el siguiente.
01
Crea el nodo de Solicitud HTTP
Método GET y la URL https://linkzoid.pro/api.php. Añade action, q y per como parámetros de consulta, y deja la clave para el siguiente paso.
02
Adjunta la clave como credencial
Guárdala en las credenciales de n8n y refiérete a ella desde la consulta. Una clave escrita directamente en el campo URL puede terminar en registros y exportaciones.
03
Controla en la bandera ok
Añade un nodo IF que lea ok. Envía la rama falsa a un flujo de error que publique el cuerpo de la respuesta en algún lugar donde puedas verla.
04
Divide las filas
Usa Dividir en el array rows para que cada dominio se convierta en su propio elemento. Escribe esos elementos en una hoja o una tabla, no toda la respuesta en una sola celda.
05
Prueba primero con la acción gratuita
Apunta el nodo a overview, que no necesita clave, y confirma la forma de la respuesta antes de cambiar a una acción de pago.
Tabla de solución de problemas
Síntoma
Causa en n8n
Causa en Python
Solo llegan 10 filas
No se configuró el parámetro per en el nodo
Igual, revisa la cadena de consulta
La ejecución tiene éxito, la hoja está vacía
Filas no divididas en elementos
Se escribió el diccionario en lugar de rows
402 después de una semana
El flujo de trabajo buclea en un activador
El cron se dispara dos veces
La clave se filtra en los registros
Pegada en el campo URL
Se imprimió la URL completa
Brechas mes a mes
La retención de ejecuciones eliminó ejecuciones antiguas
Nunca se guardó el historial
Costo por ejecución
Por nuestra parte, el costo es el mismo en ambos casos: 2 créditos para una página de refdomains. El constructor es donde difieren los costos.
Un n8n autoalojado es gratuito para ejecutar. Los planes en la nube cuentan las ejecuciones. Un script plano en cron no cuesta nada.
Independientemente de lo que elijas, guarda una copia fechada de cada ejecución fuera de la herramienta. Instantáneas semanales en Actions son un lugar ordenado para ello, y la comparación de suites explica por qué tu propio historial vale la pena.
Cuenta las ejecuciones por dominio
Un bucle sobre cuarenta dominios son cuarenta ejecuciones en un plan que cuenta ejecuciones. Verifica cómo cuenta tu plan un bucle antes de programarlo, porque la factura sigue el recuento, no los créditos.
Escribe el recuento esperado junto a la programación. Una sorpresa en la factura es más fácil de explicar cuando la estimación ya estaba en el archivo.
El autoalojamiento tiene su propia factura
Un n8n autoalojado cuesta el servidor, las actualizaciones y las copias de seguridad. La base de datos es tuya para mantener viva. Un script plano en una máquina pequeña tiene menos partes móviles, que es una razón para elegirlo para un trabajo mensual fijo.
Lo que suele romperse primero
En n8n es la paginación y los recuentos de elementos. En Python es lo que nadie probó: un rows vacío, un tiempo de espera, un campo que tiene un nombre diferente al que asumiste.
Ninguna herramienta está equivocada. Elige por quién mantendrá la cosa en seis meses. Si eres tú, solo, el código es más fácil de buscar. Si es un equipo de marketing que ya vive en el lienzo, un flujo pequeño que pueden ver supera a un repositorio que temen.
Las configuraciones mixtas también funcionan. Deja que Python escriba el CSV en una programación y deja que n8n lea el archivo y publique en Slack. Cada herramienta hace la parte que maneja mejor, y ningún flujo crece más allá de diez pasos.
Mantener la versión de Python legible
El caso habitual para el código es que otra persona tenga que cambiarlo en seis meses. Hazlo fácil. Un script corto con nombres claros y una respuesta guardada supera a una línea ingeniosa que nadie se atreve a tocar.
Prueba el analizador en una respuesta guardada
Guarda una respuesta real en un archivo y apunta una prueba unitaria hacia ella. El analizador luego se ejecuta sin gastar un crédito, y un campo renombrado falla en la ejecución de la prueba en lugar de el lunes por la mañana.
Mantén la respuesta guardada pequeña, ya que una docena de filas es suficiente. Anota la fecha en que la tomaste, para saber cuándo cambiaron los nombres de los campos por última vez.
Mantén la configuración en un solo lugar
Los dominios, las acciones y el tamaño de página pertenecen a un pequeño bloque de configuración, no dispersos por el script. Un colega puede entonces cambiar la lista de destino sin tocar la lógica que analiza las filas.
Mantén los secretos fuera de ese bloque también. Cargarlos desde el entorno, de la misma manera que se carga la clave.
Ejecuta una prueba de dos semanas antes de comprometerte
No resuelvas esto en papel. Construye la versión más pequeña del trabajo en cada herramienta, ejecútala todos los días durante dos semanas, y ve cuál abres sin que te lo pidan.
Mira qué se rompe. Cuenta las veces que tuviste que editar algo a mano, y las veces que la salida fue incorrecta sin un error. La herramienta que pida menos correcciones manuales es la que debes mantener.
Registra cada corrección manual
Mantén una nota simple de cada vez que tocaste el flujo o el script a mano. Una lista corta después de dos semanas te dirá más que cualquier tabla de funciones.
Anota quién pidió cambios
Si las solicitudes vinieron de personas que no pueden leer código, el lienzo puede ganar. Si vinieron de ti, el repositorio es más fácil de soportar.
Cualquiera de las respuestas está bien mientras puedas señalarla. Escribe la razón junto al flujo o al repositorio, y revísala cuando el trabajo crezca.
Respuestas cortas para constructores
¿Funciona Make o Zapier con esta API?
Sí. Cualquier cosa que pueda enviar una HTTPS GET con parámetros de consulta funciona, incluyendo Make, Zapier, Pipedream y Apps Script. Usa el módulo HTTP genérico, pon la clave en una conexión almacenada, y lee el array JSON rows en el siguiente paso.
¿Puede un agente de IA llamarlo en su lugar?
Técnicamente sí, ya que es una API HTTP plana. Para un trabajo mensual fijo, un script es más barato y predecible, y un agente añade una factura de modelo y la posibilidad de un parámetro incorrecto. Usa un agente solo para preguntas ad hoc.
¿Cuál es la forma más barata de comenzar?
Un script de shell con curl y la acción gratuita de vista general, ejecutado desde cron. Sin clave, sin costo, y aprendes la forma de la respuesta. Pasa a Python cuando aparezca el primer análisis de JSON incómodo.