Verifique os backlinks do seu site no n8n ou em Python puro?
Um canvas com 25 nós para um job de três etapas é um arrependimento comum. Um script que ninguém mais consegue editar é o outro. Use a árvore.
Equipe editorial do Linkzoid ·
Árvore de decisão, de cima para baixo
Alguém não técnico editará o fluxo ou lerá suas execuções? Escolha n8n ou Make.
O job cabe em menos de 60 linhas e já vive em um repositório? Escolha Python.
Você precisa de uma postagem no Slack e uma linha em planilha, mas sem comparação (diff)? Escolha n8n com um único nó HTTP Request.
Você compara dezenas de domínios, mantém histórico ou testa unitariamente o parser? Escolha Python com SQLite.
A equipe já está pagando por execuções no n8n cloud? Conte-as: um loop de 40 domínios pode consumir um plano.
Nenhum dos anteriores se encaixa? Comece com curl em um script shell e veja o que dói.
Quando um fluxo visual ganha seu lugar
Um canvas vale o seu clutter em alguns jobs. Se uma pessoa não técnica precisa ver cada etapa e sua última execução, um fluxo visual vence um repositório que ela nunca abrirá. Mantenha-o curto.
A maioria dos jobs de backlink é buscar, verificar e gravar. Quatro nós fazem isso bem. Se o seu job é verificar os backlinks do seu site mensalmente para um cliente, essa forma se encaixa em um canvas. O problema começa quando alguém adiciona paginação, retries e diff, porque cada um traz sua própria ramificação.
Escolha o canvas para o leitor, não para o escritor.
Quem lê o fluxo
Pessoas de marketing e vendas leem um fluxo pelos seus outputs, e querem a última execução em plena vista. Um canvas dá isso a elas sem um ticket. Elas leem o output, não o código. Um script dá a elas um arquivo de log que elas não abrirão.
Dê ao fluxo um nome claro e uma descrição de uma linha, para que o próximo leitor saiba o que ele promete antes de abri-lo. Um nó com um rótulo vago custa mais tempo do que qualquer funcionalidade faltando.
Ramificações que você vê de relance
Um nó IF em ok é fácil de seguir. Três deles em uma página ainda são legíveis, se cada ramo tiver um nome simples. Passando disso, as linhas se cruzam, e um revisor precisa de dez minutos para ter certeza de qual ramo é acionado em um resultado vazio.
Onde um canvas se torna uma passivo
Loops sobre muitos domínios, estado compartilhado entre execuções e testes unitários são os pontos de pressão usuais. Um canvas lida com cada um com uma solução alternativa, e cada solução alternativa é um lugar onde o fluxo pode se desviar do que você pretendia.
Se você se vê exportando JSON para consertar um fluxo, o job superou o canvas. Mova a lógica para código e mantenha o canvas para a notificação.
A configuração do n8n em quatro linhas
Um nó HTTP Request, método GET, URL https://linkzoid.pro/api.php. Adicione parâmetros de query action, q, key. Qualquer um que queira verificar os backlinks do seu site dessa forma pode copiar em cinco minutos.
Armazene a key em credentials, não no nó. Adicione um nó IF em ok, e envie o ramo false para um workflow de erro que te notifique.
Divida o array rows com um nó Item Lists ou Split Out, então grave no Google Sheets ou Postgres. Observe as contagens de execução, porque cada item pode ser cobrado como um passo em alguns planos.
Esse é o job inteiro. Ele quebra quando a paginação chega: loops no n8n funcionam, mas ficam confusos além de cerca de dez nós.
Construa o fluxo n8n em cinco nós
Cada nó faz um job, e cada um pode ser testado sozinho antes que o próximo seja adicionado.
01
Crie o nó HTTP Request
Método GET e a URL https://linkzoid.pro/api.php. Adicione action, q e per como parâmetros de query, e deixe a key para o próximo passo.
02
Anexe a key como credential
Armazene-a nas credentials do n8n e referencie-a na query. Uma key digitada diretamente no campo URL pode acabar nos logs e exports.
03
Bloqueie na flag ok
Adicione um nó IF que lê ok. Envie o ramo false para um workflow de erro que publique o corpo da resposta em algum lugar onde você possa vê-lo.
04
Divida as rows
Use Split Out no array rows para que cada domínio se torne seu próprio item. Grave esses itens em uma planilha ou tabela, não a resposta inteira em uma única célula.
05
Teste primeiro na ação gratuita
Aponte o nó para overview, que não precisa de key, e confirme a forma da resposta antes de mudar para uma ação paga.
Tabela de solução de problemas
Sintoma
Causa no n8n
Causa no Python
Apenas 10 rows chegam
Parâmetro per não definido no nó
Igual, verifique a query string
Execução bem-sucedida, planilha vazia
Rows não divididas em items
Gravou o dict em vez de rows
402 após uma semana
Workflow faz loop em um trigger
Cron dispara duas vezes
Key vaza para logs
Colada no campo URL
Imprimiu a URL completa
Lacunas mês a mês
Retenção de execução apagou execuções antigas
Nunca armazenou histórico
Custo por execução
Do nosso lado, o custo é o mesmo em ambos os casos: 2 créditos para uma página de refdomains. O builder é onde os custos diferem.
Um n8n self-hosted é gratuito para executar. Planos cloud contam execuções. Um script puro no cron não custa nada.
Independentemente da escolha, mantenha uma cópia datada de cada execução fora da ferramenta. Snapshots semanais em Actions são um lugar organizado para isso, e a comparação de suites explica por que seu próprio histórico vale a pena ter.
Conte execuções por domínio
Um loop sobre quarenta domínios são quarenta execuções em um plano que conta execuções. Verifique como seu plano conta um loop antes de colocá-lo em um schedule, porque a conta segue a contagem, não os créditos.
Escreva a contagem esperada ao lado do schedule. Uma surpresa na conta é mais fácil de explicar quando a estimativa já estava no arquivo.
Self-hosting tem sua própria conta
Um n8n self-hosted custa o servidor, os upgrades e os backups. O banco de dados é seu para manter vivo. Um script puro em uma máquina pequena tem menos partes móveis, que é uma razão para escolhê-lo para um job mensal fixo.
O que geralmente quebra primeiro
No n8n é paginação e contagens de items. No Python é a coisa que ninguém testou: um rows vazio, um timeout, um campo com nome diferente do que você assumiu.
Nenhuma ferramenta está errada. Escolha por quem mantém a coisa em seis meses. Se for você, sozinho, código é mais fácil de grep. Se for uma equipe de marketing que já vive no canvas, um fluxo pequeno que eles podem ver vence um repositório que eles temem.
Configurações mistas também funcionam. Deixe o Python gravar o CSV em um schedule e deixe o n8n ler o arquivo e postar no Slack. Cada ferramenta faz a parte que lida melhor, e nenhum fluxo cresce além de dez etapas.
Mantendo a versão Python legível
O caso usual para código é que outra pessoa precise mudá-lo em seis meses. Torne isso fácil. Um script curto com nomes claros e uma resposta salva vence um one-liner esperto que ninguém ousa tocar.
Teste o parser em uma resposta salva
Salve uma resposta real em um arquivo e aponte um unit test para ela. O parser então executa sem gastar um crédito, e um campo renomeado falha no teste em vez de na segunda-feira de manhã.
Mantenha a resposta salva pequena, já que uma dúzia de rows é suficiente. Anote a data em que você a tirou, para saber quando os nomes dos campos mudaram pela última vez.
Mantenha as configurações em um só lugar
Domínios, ações e o tamanho da página pertencem a um pequeno bloco de config, não espalhados pelo script. Um colega pode então mudar a lista de alvos sem tocar na lógica que parseia as rows.
Mantenha secrets fora desse bloco também. Carregue-os do environment, da mesma forma que a key é carregada.
Execute um trial de duas semanas antes de se comprometer
Não resolva isso no papel. Construa a versão mais mínima do job em cada ferramenta, execute-a todos os dias por duas semanas e veja qual você abre sem ser solicitado.
Observe o que quebra. Conte as vezes que você teve que editar algo à mão, e as vezes que o output estava errado sem um erro. A ferramenta que pede menos correções manuais é a que deve ser mantida.
Logue cada correção manual
Mantenha uma nota simples de cada vez que você tocou no fluxo ou no script à mão. Uma lista curta após duas semanas diz mais do que qualquer tabela de features jamais dirá.
Anote quem pediu mudanças
Se as solicitações vieram de pessoas que não conseguem ler código, o canvas pode vencer. Se vieram de você, o repo é mais fácil de conviver.
Qualquer resposta está bem desde que você possa apontar para ela. Escreva o motivo ao lado do fluxo ou do repo, e revisite-o quando o job crescer.
Respostas curtas para builders
Make ou Zapier funcionam com esta API?
Sim. Qualquer coisa que possa enviar um HTTPS GET com parâmetros de query funciona, incluindo Make, Zapier, Pipedream e Apps Script. Use o módulo HTTP genérico, coloque a key em uma conexão armazenada e leia o array JSON rows no próximo passo.
Um agente de IA pode chamá-lo em vez disso?
Tecnicamente sim, já que é uma API HTTP simples. Para um job mensal fixo, um script é mais barato e previsível, e um agente adiciona uma conta de modelo e uma chance de parâmetro errado. Use um agente apenas para perguntas ad hoc.
Qual é a maneira mais barata de começar?
Um script shell com curl e a ação gratuita overview, executado do cron. Sem key, sem custo, e você aprende a forma da resposta. Mova para Python quando o primeiro parsing de JSON estranho aparecer.