Verifică backlinkurile site-ului tău în n8n sau într-un script Python simplu?
Un canvas cu 25 de noduri pentru un job în trei pași este un regret comun. Un script pe care nimeni altcineva nu îl poate edita este celălalt. Folosește arborele.
Echipa editorială Linkzoid ·
Arbore decizional, de sus în jos
Va edita fluxul sau va citi execuțiile cineva care nu este tehnic? Alege n8n sau Make.
Se încadrează jobul în sub 60 de linii și trăiește oricum într-un repo? Alege Python.
Ai nevoie de un mesaj Slack și de un rând în foaia de calcul, dar nu de compararea diferențelor? Alege n8n cu un singur nod HTTP Request.
Compari zeci de domenii, păstrezi istoricul sau faci unit testing la parsare? Alege Python cu SQLite.
Echipa ta plătește deja pentru execuții în n8n cloud? Numără-le: un loop pe 40 de domenii poate consuma un plan.
Niciuna dintre opțiunile de mai sus nu se potrivește? Începe cu curl într-un script shell și vezi ce doare.
Când un flux vizual își câștigă locul
Un canvas merită aglomerația lui în anumite joburi. Dacă o persoană non-tehnică trebuie să vadă fiecare pas și ultima execuție, un flux vizual bate un repo pe care nu-l vor deschide niciodată. Ține-l scurt.
Majoritatea joburilor de backlinkuri sunt un fetch, o verificare și un write. Patru noduri fac asta bine. Dacă jobul tău este să verifici backlinkurile site-ului tău lunar pentru un client, această formă se potrivește unui canvas. Problemele apar când cineva adaugă paginare, retry-uri și un diff, pentru că fiecare aduce propria ramură.
Alege canvasul pentru cititor, nu pentru scriitor.
Cine citește fluxul
Oamenii de marketing și vânzări citesc un flux după output-urile lui și vor ultima execuție vizibilă. Un canvas le oferă asta fără un ticket. Ei citesc output-ul, nu codul. Un script le oferă un fișier log pe care nu-l vor deschide.
Dă fluxului un nume clar și o descriere pe un rând, astfel încât următorul cititor să știe ce promite înainte să-l deschidă. Un nod cu o etichetă vagă costă mai mult timp decât orice funcție lipsă.
Ramuri vizibile dintr-o privire
Un nod IF pe ok este ușor de urmărit. Trei dintre ele pe o singură pagină sunt încă lizibile, dacă fiecare ramură are un nume simplu. Dincolo de asta, liniile se încrucișează, iar un reviewer are nevoie de zece minute ca să fie sigur care ramură se activează pe un rezultat gol.
Unde un canvas devine o povară
Loop-uri peste multe domenii, stare partajată între execuții și unit tests sunt punctele de presiune obișnuite. Un canvas gestionează fiecare cu un workaround, iar fiecare workaround este un loc unde fluxul se poate abate de la intenția ta.
Dacă te trezești exportând JSON ca să repari un flux, jobul a depășit canvasul. Mută logica în cod și păstrează canvasul pentru notificare.
Configurația n8n în patru linii
Un nod HTTP Request, metoda GET, URL https://linkzoid.pro/api.php. Adaugă parametrii query action, q, key. Oricine vrea să verifice backlinkurile site-ului său în acest mod îl poate copia în cinci minute.
Păstrează cheia în credențiale, nu în nod. Adaugă un nod IF pe ok și trimite ramura false la un workflow de eroare care te ping-ează.
Separați array-ul rows cu un nod Item Lists sau Split Out, apoi scrie în Google Sheets sau Postgres. Urmărește numărul de execuții, deoarece fiecare item poate fi facturat ca un pas în unele planuri.
Asta e tot jobul. Se strică când apare paginarea: loop-urile în n8n funcționează, dar se citesc greu dincolo de aproximativ zece noduri.
Construiește fluxul n8n în cinci noduri
Fiecare nod face un singur job și poate fi testat individual înainte de a adăuga următorul.
01
Creează nodul HTTP Request
Metoda GET și URL-ul https://linkzoid.pro/api.php. Adaugă action, q și per ca parametri query și lasă cheia pentru următorul pas.
02
Atașează cheia ca credențial
Stoară-o în credențialele n8n și refer-o din query. O tastată direct în câmpul URL poate ajunge în logs și exports.
03
Blochează pe flag-ul ok
Adaugă un nod IF care citește ok. Trimite ramura false la un workflow de eroare care postează body-ul răspunsului undeva unde să-l vezi.
04
Separați rândurile
Folosește Split Out pe array-ul rows astfel încât fiecare domeniu să devină un item propriu. Scrie acele item-uri într-o foaie sau tabel, nu întregul răspuns într-o singură celulă.
05
Testează mai întâi pe acțiunea gratuită
Punctează nodul către overview, care nu necesită cheie, și confirmă forma răspunsului înainte să treci la o acțiune plătită.
Tabel de troubleshooting
Simptom
Cauză n8n
Cauză Python
Ajung doar 10 rânduri
Parametrul per nu este setat în nod
La fel, verifică query string-ul
Execuția reușește, foaia e goală
Rândurile nu sunt separate în items
Ai scris dict-ul în loc de rows
402 după o săptămână
Workflow-ul face loop pe un trigger
Cron-ul se declanșează de două ori
Cheia scapă în logs
Lipită în câmpul URL
Print-uit URL-ul complet
Goluri lună peste lună
Retenția execuțiilor a șters rulări vechi
Nu ai stocat niciodată istoricul
Cost per execuție
Din partea noastră costul e același indiferent: 2 credite pentru o pagină refdomains. Aici diferă costurile sunt la cel care construiește.
Un n8n self-hosted e gratuit de rulat. Planurile cloud numără execuțiile. Un script simplu pe cron nu costă nimic.
Indiferent ce alegi, păstrează o copie datată a fiecărei execuții în afara instrumentului. Snapshots săptămânale în Actions sunt un loc ordonat pentru asta, iar comparația de suite explică de ce istoricul tău propriu merită să existe.
Numără execuțiile pe domeniu
Un loop peste patruzeci de domenii înseamnă patruzeci de rulări pe un plan care numără execuțiile. Verifică cum numără planul tău un loop înainte să îl pui pe un schedule, deoarece factura urmează numărul, nu creditele.
Scrie numărul așteptat lângă schedule. O surpriză la factură e mai ușor de explicat când estimarea era deja în fișier.
Self-hosting-ul are propria factură
Un n8n self-hosted costă serverul, upgrade-urile și backup-urile. Baza de date e a ta să o ții în viață. Un script simplu pe o mașină mică are mai puține părți mobile, care e un motiv să îl alegi pentru un job lunar fix.
Ce se strică de obicei primul
În n8n e paginarea și numărul de items. În Python e lucrul pe care nimeni nu l-a testat: un rows gol, un timeout, un câmp numit diferit decât ai presupus.
Niciun instrument nu e greșit. Alege în funcție de cine va întreține lucrul peste șase luni. Dacă ești tu, singur, codul e mai ușor de grepat. Dacă e o echipă de marketing care trăiește deja în canvas, un flux mic pe care îl pot vedea bate un repo pe care îl tem.
Configurațiile mixte funcționează și ele. Lasă Python să scrie CSV-ul pe un schedule și lasă n8n să citească fișierul și să posteze în Slack. Fiecare instrument face partea pe care o gestionează cel mai bine, iar niciun flux nu crește dincolo de zece pași.
Păstrarea versiunii Python lizibile
Cazul obișnuit pentru cod este că altcineva trebuie să îl modifice peste șase luni. Fă asta ușor. Un script scurt cu nume clare și un răspuns salvat bate un one-liner clever pe care nimeni nu îndrăznește să îl atinge.
Testează parserul pe un răspuns salvat
Salvează un răspuns real într-un fișier și pointează un unit test către el. Parserul rulează apoi fără a cheltui un credit, iar un câmp redenumit eșuează în test run în loc de luni dimineața.
Păstrează răspunsul salvat mic, deoarece o duzină de rânduri e suficient. Notează data când l-ai luat, astfel încât să știi când s-au schimbat ultimeori numele câmpurilor.
Păstrează setările într-un singur loc
Domeniile, acțiunile și dimensiunea paginii aparțin unui bloc mic de config, nu răspândite în script. Un coleg poate apoi să modifice lista țintă fără să atingă logica care parsează rândurile.
Păstrează și secretele în afara acelui bloc. Încarcă-le din mediu, în același mod în care se încarcă cheia.
Rulează o trial de două săptămâni înainte să te angajezi
Nu te așeza pe hârtie. Construiește cea mai mică versiune a jobului în fiecare instrument, ruleaz-o zilnic timp de două săptămâni și vezi care dintre ele o deschizi fără să ți se ceară.
Uită-te la ce se strică. Numără de câte ori ai trebuit să editezi ceva manual și de câte ori output-ul a fost greșit fără o eroare. Instrumentul care cere mai puține remedieri manuale e cel de păstrat.
Loghează fiecare remediere manuală
Păstrează o notă simplă de fiecare dată când ai atins fluxul sau scriptul manual. O listă scurtă după două săptămâni îți spune mai mult decât orice tabel de funcții va vreodată.
Notează cine a cerut modificări
Dacă solicitările au venit de la oameni care nu pot citi cod, canvasul poate câștiga. Dacă au venit de la tine, repo-ul e mai ușor de trăit cu.
Orice răspuns e bun atâta timp cât poți să arăți spre el. Scrie motivul lângă flux sau repo și revizuiește-l când jobul crește.
Răspunsuri scurte pentru builderi
Funcționează Make sau Zapier cu acest API?
Da. Orice poate trimite un HTTPS GET cu parametri query funcționează, inclusiv Make, Zapier, Pipedream și Apps Script. Folosește modulul HTTP generic, pune cheia într-o conexiune stocată și citește array-ul JSON rows în pasul următor.
Poate un agent AI să îl apeleze în schimb?
Tehnic da, deoarece e un API HTTP simplu. Pentru un job lunar fix un script e mai ieftin și mai predictibil, iar un agent adaugă o factură de model și șansa unui parametru greșit. Folosește un agent doar pentru întrebări ad-hoc.
Care e cea mai ieftină modalitate de a începe?
Un script shell cu curl și acțiunea overview gratuită, rulat din cron. Fără cheie, fără cost, și înveți forma răspunsului. Treci la Python când apare prima parsare JSON stânjenitoare.