Lewati ke konten
SEO Tools AI
SEO Tools AIDaftar

Resep

Sinkronkan skor tautan dari sheet atau n8n

Sebagian besar direktori alat berbasis spreadsheet, basis data Airtable, atau database kecil. Resep ini mengubah pemeriksaan backlink alat menjadi pengisian kolom: satu permintaan per 2.000 baris.

Tim riset SEO Tools AI ·

Pekerja kertas yang memotong jembatan yang menghubungkan lemari arsip ke jalan

Resep dalam lima langkah

01

Ekspor domain

Ambil kolom situs web dari daftar Anda, hapus protokol dan path, lalu hapus duplikat. Duplikat tidak menambah biaya, tetapi membuat langkah pemetaan menjadi berantakan.

02

Bagi menjadi kelompok berisi 2.000

bulk_dr menerima hingga 2.000 domain per panggilan. Sheet berisi 5.000 baris memerlukan tiga panggilan.

03

Kirim, periksa ok

Panggil API, baca JSON, dan hentikan jika ok bernilai false. Log _credits agar Anda dapat melihat saldo setelah setiap proses.

04

Tulis kembali dengan tanggal

Simpan rating dan tanggal hari ini di dua kolom. Jangan pernah menimpa nilai bagus dengan nilai kosong.

05

Jadwalkan sebulan sekali

Jalankan pada tanggal 1 setiap bulan. Indeks berubah sekitar sebulan sekali, sehingga frekuensi lebih tinggi tidak memberikan manfaat tambahan.

Pilih pemicu awal pekerjaan

Pemicu menentukan seberapa sering panggilan dilakukan, jadi pilih sebelum Anda membangun pemetaan. Dua jenis pemicu mencakup hampir semua direktori.

Jadwal pada tanggal 1 setiap bulan adalah opsi paling sederhana. Ini sesuai dengan ritme indeks, dan tidak ada yang perlu mengingat tombol.

Jadwal untuk penyegaran bulanan

Letakkan pemicu jadwal di awal, atur ke tanggal pertama setiap bulan, dan biarkan membaca seluruh tabel daftar. Setiap proses kemudian membuat satu batch panggilan bulk_dr, dengan ukuran sesuai jumlah baris.

Pertahankan jadwal meskipun tabel kecil. Pekerjaan bulanan yang berjalan pada sheet kecil hanya memakan satu kredit, dan ini menjaga agar skor tetap bertanggal dan terkini.

Pemicu pada setiap baris baru

Misalkan daftar masuk satu per satu, setiap beberapa hari. Pemicu yang aktif per baris baru memang menarik, tetapi setiap panggilan dikenakan biaya sekali, sehingga satu panggilan per baris lebih mahal daripada satu batch untuk sebulan.

Jika Anda ingin skor segera, biarkan alur baris baru menulis dr kosong dan biarkan proses bulanan mengisinya. Baris mendapatkan angka tanpa panggilan untuk setiap kedatangan.

Jika daftar masuk secara beruntun, kelompokkan baris baru menjadi satu batch di akhir minggu. Itu hanya memakan satu panggilan, dan sheet tidak lagi berubah hanya sebulan sekali.

Tanggal yang menandai baris yang telah selesai

Simpan dr_checked_on pada setiap baris yang Anda skor. Penilaian yang dimulai dengan filter berdasarkan tanggal tersebut akan melewati baris yang sudah selesai bulan ini, sehingga tidak perlu antrian terpisah.

Saat penilaian berhenti di tengah jalan, baris yang sudah diberi stempel tetap ditandai. Penilaian berikutnya akan melanjutkan dari titik terakhir penilaian sebelumnya, yang merupakan cara pemulihan termurah.

Sebelum mengotomatisasi apa pun

Lakukan pemeriksaan manual pada lima daftar terlebih dahulu. Gunakan tindakan overview gratis untuk setiap daftar, yang tidak memerlukan kunci API, dan bandingkan hasil yang Anda lihat dengan ekspektasi Anda.

Hal ini menangkap kejutan umum sejak dini: daftar yang mengarah ke subdomain, produk yang berada di jalur situs yang lebih besar, atau domain yang melakukan redirect pada musim semi tahun lalu. Penilaian berlaku untuk domain, bukan untuk produk.

Tentukan bagaimana lembar kerja Anda menandai kasus-kasus tersebut, misalnya dengan kolom catatan yang berisi shares domain. Pembaca lebih mudah memaafkan catatan kaki daripada skor yang terlihat salah.

Ketika lima daftar tersebut terlihat wajar, lanjutkan ke batch. Referensi bidang Anda mencantumkan kolom-kolomnya, dan contoh biaya menunjukkan berapa biaya satu kali penilaian.

Versi Python kecil

Memerlukan paket requests. Ini adalah sketsa bentuk pekerjaan: cetak satu respons nyata terlebih dahulu, lalu petakan bidang yang Anda butuhkan ke kolom Anda sendiri.

python
import csv, requests

KEY = "sk_live_..."
BASE = "https://seotoolsai.org/api.php"

rows = list(csv.DictReader(open("listings.csv")))
domains = sorted({r["domain"] for r in rows})

for i in range(0, len(domains), 2000):
    chunk = domains[i:i + 2000]
    r = requests.post(BASE, params={"action": "bulk_dr", "key": KEY},
                      data={"domains": ",".join(chunk)}, timeout=60)
    if r.status_code in (401, 402):
        raise SystemExit(f"stop: HTTP {r.status_code}")
    data = r.json()
    if not data.get("ok"):
        raise SystemExit("api said not ok")
    print(data["_credits"])   # cost and remaining balance
    open(f"raw_{i}.json", "w").write(r.text)
Roda gigi kertas dan sabuk konveyor yang mengelompokkan balok

Melakukannya di Google Sheets atau n8n

Sheets dapat memanggil URL dari Apps Script dengan UrlFetchApp, dan n8n memiliki node HTTP Request. Keduanya melakukan hal yang sama dengan skrip di atas.

Di n8n, letakkan pemicu jadwal terlebih dahulu, lalu node yang membaca lembar atau tabel Anda, lalu langkah pemecahan item yang membangun kelompok berisi 2.000 item, lalu HTTP Request. Tambahkan node akhir yang menulis kembali rating dan tanggal.

Simpan kunci di tempat penyimpanan kredensial platform, bukan di teks alur kerja. Alur kerja sering dibagikan, disalin, dan ditempelkan di forum, dan kunci yang ditempelkan bersamanya adalah uang yang terbuang.

Tanpa kode atau skrip: bentuk mana yang sesuai dengan tim Anda

Kedua rute melakukan panggilan yang sama. Perbedaannya adalah siapa yang harus memelihara alur tersebut satu tahun dari sekarang, dan seberapa mudah menjelaskannya kepada orang tersebut.

Pilih bentuk yang masih bisa Anda baca setelah istirahat selama beberapa bulan. Alur kerja yang cerdas tetapi tidak dipahami siapa pun lebih buruk daripada skrip sederhana yang dapat diikuti semua orang.

Alur kerja yang dapat Anda jelaskan kepada editor berikutnya

Alur kerja n8n pendek dengan empat node berlabel mudah diserahkan: pemicu, baca, batch, tulis kembali. Beri nama setiap node sesuai fungsinya, bukan sesuai label bawaannya.

Hindari menumpuk banyak cabang untuk kasus tepi. Setiap cabang adalah satu tempat tambahan di mana domain bisa mendapatkan skor yang salah.

Kapan skrip layak digunakan

Skrip masuk akal ketika inputnya adalah folder file CSV, atau ketika pekerjaan memerlukan logika yang sulit ditangani oleh alur kerja. Sketsa di atas cocok untuk kasus tersebut.

Simpan skrip dalam kontrol versi dan simpan kunci dalam variabel lingkungan. Skrip yang membaca kuncinya dari file dalam folder yang sama adalah kebocoran yang menunggu untuk ditemukan di drive bersama.

Tutorial yang melewatkan bagian sulit

Banyak video menunjukkan alur kerja yang berhasil pada percobaan pertama dengan tiga baris. Daftar nyata memiliki kekosongan, duplikat, dan domain aneh, dan di situlah alur kerja memerlukan perhatian.

Buat alur kerja berdasarkan lima baris uji Anda sendiri terlebih dahulu. Jika sebuah tutorial tidak dapat bertahan dengan data tersebut, maka tutorial tersebut belum mencakup seluruh pekerjaan.

Saat menyerahkan alur kerja kepada orang lain, sertakan lima baris uji sebagai sampel. Orang berikutnya dapat melihat bagaimana hasil penilaian yang baik sebelum menyentuh data langsung.

Arti dari error tersebut

Perilaku API dan apa yang seharusnya dilakukan oleh tugas sinkronisasi.
SinyalArtiApa yang dilakukan oleh tugas tersebut
HTTP 401Kunci hilang atau tidak validHentikan, beri tahu manusia
HTTP 402Kredit telah habisHentikan, pertahankan skor lama, isi ulang
ok bernilai falsePanggilan tidak berhasilLog bagian body, coba lagi pada putaran berikutnya
Hasil kosong untuk sebuah domainTidak ada di indeksBiarkan sel kosong
Tukang kebun kertas yang meluruskan batang tanaman miring di taman

Jaga agar lembar kerja tetap bersih antar putaran

Sebuah tugas sinkronisasi hanya sebaik lembar kerja yang ditulisnya. Beberapa kebiasaan dapat mencegah kerusakan perlahan yang menumpuk antar satu putaran dan putaran berikutnya.

Kebanyakan masalah dimulai dari edit yang tampaknya tidak berbahaya: kolom yang disisipkan di atas kolom skor, atau baris yang disalin yang secara diam-diam mengubah sebuah domain.

Simpan respons mentah di tab terpisah

Simpan setiap respons mentah di tab terpisah, atau sebagai JSON Lines dengan satu respons per baris. Salinan ini memungkinkan Anda membangun kembali kolom yang terlihat tanpa panggilan berbayar kedua.

Tab mentah juga menjawab pertanyaan yang diajukan editor enam bulan kemudian: apa yang dikembalikan oleh API pada tanggal tersebut.

Beri nama setiap tab mentah dengan tanggal batch-nya, agar salinan tersebut tersusun secara berurutan saat Anda menggulir ke belakang.

Kunci baris header

Bekukan baris header dan jangan pernah menyisipkan kolom di atas kolom skor. Pemetaan yang menunjuk ke kolom F akan membaca data yang salah setelah penyisipan, dan hal itu akan terjadi tanpa ada error.

Beri nama kolom dalam pemetaan, bukan berdasarkan posisi. Nama bertahan jika terjadi pengur ulang, sedangkan posisi tidak.

Hitung jumlah baris sebelum dan sesudah

Tulis jumlah baris ke dalam log sebelum putaran dimulai dan lagi setelahnya. Kedua angka tersebut seharusnya berbeda hanya oleh baris yang Anda maksudkan untuk ditambahkan, dan celah di antara keduanya memberi tahu Anda bahwa ada kesalahan.

Urutkan lembar kerja berdasarkan kolom skor sekali sebulan dan periksa baris teratas dan terbawah. Nilai yang aneh di sana biasanya menunjukkan domain yang dipetakan ke daftar yang salah.

Uji terlebih dahulu pada salinan

Duplikasi lembar kerja dan jalankan alur kerja terhadap salinan tersebut sebelum Anda mengubah yang asli. Membuat salinan tidak memerlukan biaya.

Pemetaan yang salah yang ditulis di atas skor langsung sulit dibatalkan, karena nilai lama telah hilang. Simpan salinan tersebut hingga putaran jujur pertama cocok dengan yang Anda harapkan.

Hapus salinan hanya setelah putaran terjadwal kedua telah cocok dengannya. Dua putaran bersih berturut-turut adalah sinyal yang lebih baik daripada satu.

Sebelum putaran langsung pertama

  • Kunci disimpan di tempat penyimpanan kredensial platform atau variabel lingkungan, bukan dalam teks alur kerja.
  • Satu panggilan overview gratis diperiksa secara manual terhadap daftar yang Anda ketahui.
  • Putaran tersebut diuji pada salinan lembar kerja, dan salinan tersebut cocok dengan yang Anda harapkan.
  • Tugas tersebut menulis tanggal di sebelah setiap skor yang disentuhnya.
  • Status 401 dan 402 menghentikan tugas dan mengirim pesan ke seseorang.

Pertanyaan sinkronisasi

Bagaimana cara menghindari pembayaran ganda jika tugas gagal di tengah jalan?

Tulis tanggal di sebelah setiap skor saat Anda berjalan, dan miliki putaran berikutnya untuk melewati baris yang sudah dicap bulan ini. Potongan berukuran 2.000 berarti kegagalan hanya memakan paling banyak satu kredit, sehingga risikonya sangat kecil, namun kebiasaan ini menjaga agar lembar kerja tetap rapi.

Bisakah orang non-pemrogram mengatur ini?

Sebagian besar ya. Node HTTP Request di n8n atau Make hanya memerlukan URL, kunci, dan daftar. Bagian yang rumit adalah mengubah respons menjadi kolom, jadi lakukan satu panggilan uji dan lihat JSON-nya sebelum Anda membangun pemetaan.