Pengaturan alat peringkat domain untuk sheet dan penjadwalan cron
Alur kerja yang tidak perlu diingat siapa pun lebih baik daripada yang hanya berniat dilakukan. Enam langkah membawa Anda dari sheet kosong ke penjadwalan bulanan yang mencatat biayanya sendiri.
Tim editorial ASEOTools ·
Enam langkah, sekitar satu jam
01
Masuk dan salin kunci Anda
Gunakan penandatanganan Google di /auth/google.php. Dasbor di /account.php menyimpan kunci Anda, yang dimulai dengan sk_ dan disertai kredit senilai $100.
02
Lakukan satu panggilan uji gratis
Jalankan tindakan ringkasan tanpa kunci terhadap domain Anda sendiri. Jika Anda menerima JSON dengan ok diatur ke true, jalur jaringan berfungsi.
03
Buat daftar domain
Satu kolom di sheet, satu domain per baris, tanpa https dan tanpa path. Hingga 2.000 baris dapat dimasukkan dalam satu permintaan bulk_dr.
04
Panggil bulk_dr dari sheet atau skrip
Kirim daftar sebagai nilai GET yang digabungkan koma atau sebagai body POST. Simpan balasan di tab kedua dengan kolom tanggal.
05
Jadwalkan secara bulanan
Jalankan tugas beberapa hari setelah tanggal 1 bulan tersebut, setelah pembaruan indeks bulanan selesai. Satu baris cron sudah cukup. Periksa output bulan pertama secara manual dengan membandingkannya dengan tiga domain yang Anda kenal baik.
06
Catat kredit dan beri peringatan jika saldo rendah
Setiap balasan yang diautentikasi membawa _credits yang berisi biaya dan saldo tersisa. Tulis keduanya ke baris log dan kirimkan email kepada diri Anda sendiri jika berada di bawah ambang batas yang Anda tentukan.
Bagian-bagiannya, siap untuk disalin
Ganti dengan kunci dan nama file Anda sendiri.
bash
# crontab: 06:00 on the 4th of each month
0 6 4 * * /usr/bin/curl -s -X POST \
-H "Authorization: Bearer sk_live_..." \
-d "domains=$(paste -sd, domains.txt)" \
"https://aseotools.com/api.php?action=bulk_dr" >> dr_log.jsonl
Jauhkan kunci dari sheet
Letakkan kunci di properti Apps Script, variabel lingkungan, atau tempat penyimpanan kredensial alat otomatisasi Anda. Siapa pun yang memiliki akses edit ke sheet dapat membaca kunci yang diketik ke dalam sel, dan kunci yang bocor akan menghabiskan kredit Anda.
Di mana pengaturan ini gagal
Keheningan adalah kegagalan yang paling umum. Penjadwalan cron yang error terlihat sama dengan yang berhasil.
Periksa kode HTTP. 401 berarti kunci hilang atau salah, dan 402 berarti kredit telah habis, jadi beri peringatan pada keduanya dan perbaiki sebelum laporan bulan berikutnya jatuh tempo.
Ingat juga bahwa paginasi dibatasi hingga 50.000 baris, dan bahwa bulk_dr menangani hingga 2.000 domain per panggilan. Daftar yang lebih panjang memerlukan pemotongan, yang merupakan satu loop tambahan dan memakan satu kredit per potongan.
Uji secara manual terlebih dahulu. Jalankan baris cron di terminal, baca file log, dan periksa apakah saldo turun tepat sebesar biaya yang Anda harapkan. Kemudian lihat bagaimana angka-angka tersebut dibandingkan dengan paket suite dan putuskan seberapa sering menjalankannya.
Versikan daftar domain Anda. Simpan file di repositori atau drive bersama dengan riwayat, sehingga ketika ada angka yang berubah di bulan Maret, Anda dapat melihat apakah daftarnya juga berubah. Tambahkan kolom catatan untuk domain yang Anda tambahkan secara sengaja, seperti pesaing baru atau klien yang mendaftar di bulan tersebut. Perlakukan daftar sebagai data yang memiliki pemilik, karena bug termurah adalah yang Anda temukan dalam diff.
Memecah daftar panjang menjadi potongan-potongan
Daftar panjang adalah tempat pengaturan yang rapi bertemu batasnya. Panggilan massal menangani hingga 2.000 domain, sehingga daftar 5.000 membutuhkan tiga permintaan, dan pemisahan harus dilakukan sebelum panggilan pertama dikirim.
Pisahkan berdasarkan aturan stabil, seperti urutan terurut kolom domain. Dengan cara itu, domain yang sama akan masuk ke potongan yang sama setiap bulan, dan perbandingan tetap valid.
Daftar di atas 2.000 baris
Tulis setiap potongan ke sheet sebagai blok tersendiri, dengan nomor potongan di kolom pertama. Potongan yang gagal kemudian mudah ditemukan.
Setiap potongan memakan satu kredit, sehingga daftar 5.000 baris menjadi 3 kredit per jalanan, yang setara dengan $0,0003. Alat peringkat domain hanya seefektif daftar yang dibacanya, jadi jaga agar daftar itu tetap rapi.
Jika daftar tumbuh melebihi 5.000 baris, pertimbangkan kembali tata letak sheet itu sendiri. Satu tab per bulan menjaga setiap jalanan tetap dapat dibaca ketika baris menumpuk.
Menjalankan ulang satu potongan yang gagal
Jika potongan dua mengembalikan error, jalankan ulang hanya potongan dua. Menjalankan ulang seluruh daftar akan menghabiskan kredit untuk baris yang sudah kembali.
Catat nomor potongan dengan kode status, sehingga jalankan ulang hanya satu baris di log, bukan pencarian di seluruh sheet.
Menjaga peta potongan tetap stabil
Jika urutan daftar domain berubah, potongan-potongannya juga bergeser, dan perbandingan bulan ke bulan menjadi tidak valid. Urutkan daftar sebelum memotongnya, setiap kali.
Simpan peta potongan di sebelah daftar.
Tes sederhana: pilih sembarang potongan dan hitung kembali jumlah barisnya terhadap daftar. Ketidakcocokan berarti peta telah bergeser, dan itu lebih murah untuk ditemukan di sheet daripada di laporan.
Biaya keseluruhan rutinitas, dengan ukuran contoh
Ukuran daftar hipotetis, harga tindakan yang diterbitkan.
Ukuran daftar
Panggilan per bulan
Kredit
Dolar
200 domain
1
1
$0.0001
5.000 domain
3
3
$0.0003
5.000 domain ditambah 20 penarikan backlink penuh
23
43
$0.0043
Apa yang harus dikonfirmasi sebelum penjadwalan pertama
Uji satu potongan secara manual dan baca balasan lengkapnya
Konfirmasi bahwa saldo turun tepat sebesar kredit yang Anda harapkan
Periksa kode status untuk setiap potongan, bukan hanya yang pertama
Bandingkan tiga domain yang Anda kenal baik dengan angka yang sudah Anda percayai
Tentukan jalur file log dan putuskan siapa yang membacanya setiap bulan
Tulis nama pemilik di bagian atas sheet
Apa yang harus dimiliki oleh baris log bulanan yang berguna
Log yang hanya mengatakan ok bukanlah log yang banyak. Setiap jalanan harus menulis satu baris yang dapat dibaca oleh orang yang lelah dalam sepuluh detik: tanggal, potongan, status, kredit yang dihabiskan, dan saldo setelah panggilan.
Hipotetis: satu baris yang menunjukkan potongan empat, status 200, satu kredit yang dihabiskan, dan saldo yang tersisa setelah panggilan menjawab sebagian besar pertanyaan sebulan kemudian tanpa membuka balasan.
Bidang yang layak dicatat
Catat tanggal, nama daftar, nomor potongan, kode status, kredit yang dibebankan, dan saldo setelah panggilan. Enam bidang tersebut mencakup sebagian besar pertanyaan sebulan kemudian.
Tambahkan catatan teks bebas hanya ketika seseorang mengubah sesuatu secara manual.
Peringatan yang tidak membuat serigala menangis
Beri peringatan segera pada 401 atau 402, karena keduanya berarti tugas tidak dapat melakukan pekerjaannya. Peringatan saldo rendah harus menggunakan ambang batas yang Anda pilih, sehingga hanya muncul sekali dan mengatakan apa yang harus dilakukan selanjutnya.
Kirim satu peringatan per jalanan, bukan satu per baris, atau kotak masuk Anda akan menjadi bising.
Pertanyaan pengaturan
Apakah Google Sheet berfungsi sebagai klien?
Ya. API adalah REST murni dengan CORS terbuka dan balasan JSON, sehingga Apps Script atau panggilan bergaya IMPORTDATA dapat menjangkaunya. Simpan kunci di properti skrip, bukan di sel yang dapat dibaca oleh kolaborator.
Bisakah saya menggunakannya dengan n8n atau Make?
Ya, melalui node permintaan HTTP biasa. Teruskan kunci sebagai header Authorization Bearer, parse balasan JSON, dan tulis bidang _credits ke log Anda sehingga Anda dapat melihat pengeluaran per jalanan.
Mengapa log menunjukkan biaya yang lebih tinggi daripada yang saya harapkan untuk alat peringkat domain ini?
Hitung jumlah panggilan, bukan hanya ukuran daftar. Satu potongan per jalanan, satu coba ulang, atau satu panggilan uji masing-masing menambah biayanya, dan bidang _credits di setiap balasan memberikan angka tepat untuk panggilan tersebut.
Haruskah kunci berada di baris cron itu sendiri?
Itu lebih sederhana, tetapi siapa pun yang dapat membaca crontab dapat membaca kunci. Muat dari file dengan izin terbatas atau dari variabel lingkungan yang diatur untuk tugas tersebut, dan jauhkan dari log bersama.
Siapa yang memperhatikan ketika tugas rusak
Tugas bulanan berjalan tanpa ada yang mengawasinya. Itulah tujuan otomatisasinya, dan itulah mengapa kegagalan dapat tetap tidak terlihat selama berminggu-minggu.
Sebutkan orang yang membaca log dan orang yang memperbaiki tugas. Dua nama lebih baik daripada satu. Liburan terjadi. Runbook menjelaskan cara memilih daftar sejak awal.
Waktu yang dihabiskan untuk pengaturan versus pemeliharaan
Jalanan pertama memakan sebagian besar jam, karena kunci, sheet, dan panggilan uji semuanya memerlukan perhatian. Setelah itu, rutinitas tersebut seharusnya hanya perlu dilihat sekilas setiap bulan, bukan dibangun ulang.
Jika pemeliharaan meningkat, daftar biasanya menjadi penyebabnya. Daftar yang berubah setiap minggu membutuhkan pemilik, versi, dan aturan untuk penambahan.
Membuat kegagalan terlihat
Baris yang hilang di output lebih mudah dilihat daripada error yang diam. Bandingkan jumlah baris dengan panjang daftar pada setiap jalanan, dan tulis peringatan ketika jumlahnya berbeda.
Simpan peringatan itu di file log yang sama, sehingga orang yang membaca log melihatnya terlebih dahulu.
Penjadwalan di sekitar pembaruan indeks
Indeks diperbarui kira-kira sebulan sekali, sehingga jalanan pada hari pertama bulan tersebut dapat membaca angka dari build sebelumnya. Menjalankan beberapa hari kemudian, seperti yang disarankan oleh langkah-langkah di atas, memberikan waktu bagi pembaruan untuk selesai.
Pilih hari yang sama setiap bulan agar seri tetap dapat dibandingkan, dan tulis hari tersebut ke dalam komentar pada baris cron.
Kapan berhenti mengotomatisasi
Tugas yang berjalan sekali setiap kuartal mungkin tidak memerlukan baris cron. Sheet dan pengingat kalender sudah cukup, dan rutinitas setengah otomatis lebih buruk daripada manual yang jelas.
Otomatisasi setelah langkah-langkah yang sama telah berjalan dengan lancar selama beberapa siklus berturut-turut.