Audit tautan pasca-penerbitan dengan GitHub Actions atau cron biasa
Postingan sudah live dan pipa tidak selesai. Runbook ini menambahkan audit terjadwal yang mencatat data tautan per situs dan memberi tahu orang hanya ketika ada sesuatu yang terlihat salah.
Tim riset SEOBlogBot ·
Mengapa melakukan audit setelah menerbitkan
Sebuah gerbang melihat draf. Audit melihat apa yang sebenarnya dilakukan situs live. Plugin mengubah tautan, editor menempelkan redirect afiliasi di atas URL bersih, dan migrasi CDN dapat mengubah satu host menjadi host lain. Tidak ada dari itu yang ada pada tahap draf, itulah mengapa run pasca-penerbitan adalah tempat pertama hal itu dapat muncul.
Audit yang berguna membosankan secara desain. Ia berjalan pada jadwal, menulis satu baris, dan tetap diam kecuali pengecualian terjadi. Diam adalah tujuannya. Sebulan log yang tenang berarti pekerjaan berjalan, bukan bahwa pekerjaan itu menganggur.
Tidak ada API pengecek backlink Google resmi untuk penggunaan umum, itulah mengapa tim memanggil indeks tautan pihak ketiga. Ini adalah crawler kami sendiri. Search Console menunjukkan pandangan Google tentang tautan Anda sendiri, dan audit melengkapi itu daripada menggantikannya.
Di mana pekerjaan berjalan
Tulis pemicu ke bawah. Tiga pengaturan mencakup sebagian besar tim, dan masing-masing menjalankan panggilan yang sama. Log lebih penting daripada pemicu, karena tanggal, URL, dan kredit yang digunakan harus mendarat di sana setiap kali.
GitHub Actions untuk repositori
Jika situs dibangun dari repositori, alur kerja terjadwal menambahkan gesekan paling sedikit. Pekerjaan hidup di sebelah kode, dan kunci berada di toko rahasia repositori. File alur kerja di bawah ini adalah minimum yang Anda butuhkan. Simpan di repositori, ditinjau seperti kode lain, dan kunci versi tindakan yang Anda andalkan.
Server biasa dengan cron
Tim yang sudah menjaga mesin untuk build mereka dapat menjadwalkan perintah yang sama di sana. Alat seperti n8n dapat menjalankannya melalui langkah Execute Command, atau baris crontab dapat menjalankannya secara langsung. Bagaimanapun, pekerjaan harus berjalan sebagai pengguna yang dapat membaca kunci dan tidak ada yang lain.
Webhook dari CMS Anda
Beberapa pengaturan CMS memicu webhook ketika postingan diluncurkan, dan peristiwa itu dapat memulai audit. Pemeriksaan kemudian berjalan saat postingan menjadi publik. Tetap jalankan terjadwal juga, karena satu webhook yang terlewat meninggalkan postingan tanpa diperiksa.
Runbook, secara berurutan
01
Picu saat penerbitan dan lagi 30 hari kemudian
Satu run tepat setelah postingan live memeriksa host outbound. Run kedua sebulan kemudian membaca refdomains untuk situs Anda, karena indeks diperbarui kira-kira setiap bulan dan pembacaan sebelumnya akan menunjukkan tidak ada yang baru.
02
Panggilan ringkasan gratis terlebih dahulu
action=overview mengembalikan angka utama situs tanpa biaya. Simpan sebagai baris dasar untuk run ini, dengan tanggal di sebelahnya.
03
Tarik daftar berbayar hanya jika ada perubahan
Jika ringkasan berbeda dari bulan lalu, panggil refdomains (2 kredit) dan anchors (2 kredit) dan bandingkan dengan daftar yang disimpan.
04
Tulis satu baris ke log
Tanggal, URL postingan, panggilan yang dibuat, saldo _credits. CSV biasa yang dikomitm ke repositori pribadi sudah cukup.
05
Peringatan hanya pada pengecualian
HTTP 401, HTTP 402, hasil kosong untuk situs yang memiliki baris bulan lalu, atau penurunan peringkat 10 poin atau lebih.
Situs mana yang akan diaudit
Mulailah dengan domain yang menampung postingan. Kemudian jalankan audit yang sama terhadap dua atau tiga rekan yang ingin Anda bandingkan. Gunakan compare untuk itu. Ini memakan hingga 20 domain untuk 1 kredit, sehingga pemeriksaan rekan hampir tidak ada biaya.
Lupakan ekor panjang. Setiap situs tambahan menambah kebisingan ke log yang harus dibaca orang. Benchmark dua puluh domain yang tidak terkait memberi Anda sangat sedikit tentang milik Anda sendiri.
Menjaga kunci tetap keluar dari log
Pekerjaan terjadwal membaca kuncinya pada setiap run, jadi tidak perlu langkah masuk. Satu-satunya hal yang harus dilindungi adalah kuncinya sendiri. Ada tiga kebocoran jelas: komit, lingkungan yang dicetak, dan URL yang dicatat proxy. Tutup masing-masing.
Gunakan toko rahasia, bukan file di repositori
Tempelkan kunci ke toko rahasia penyedia CI Anda, atau ke file lingkungan yang hanya dapat dibaca oleh pengguna pekerjaan. Jangan pernah mengkomitnya. Langkah yang memantulkan lingkungannya akan mencetaknya, jadi jangan tulis satu.
Kirim kunci dalam header
Header Bearer menjaga kunci tetap keluar dari sebagian besar log akses, karena URL dicatat dan header biasanya tidak. Bentuk string kueri juga berfungsi, tetapi itu meninggalkan salinan di setiap proxy yang melihat permintaan.
Batasi siapa yang dapat membaca toko
Berikan akses baca kepada orang yang memelihara pekerjaan dan tidak ada yang lain. Tinjau daftar itu ketika pekerjaan berganti tangan.
Kunci yang dapat dibaca banyak orang adalah kunci yang akan berakhir ditempelkan ke jendela obrolan suatu hari nanti.
Validasikan balasan sebelum Anda menuliskannya
Balasan yang tiba belum tentu balasan yang dapat Anda gunakan. Gunakan satu urutan setiap kali. Tulis hanya apa yang lulus, dan log sisanya. Balasan yang ditolak adalah bukti, dan orang berikutnya yang mendebug pekerjaan akan ingin melihatnya.
Periksa status dan ok terlebih dahulu
Baca kode status HTTP, lalu bidang ok di badan. 200 dengan ok diatur ke false masih merupakan panggilan yang gagal, dan log harus mengatakan itu.
Parse JSON sebelum penulisan apa pun
Konfirmasi bahwa badan adalah JSON yang valid sebelum Anda unzip, parse, atau append apa pun. Unduhan yang terpotong dapat terjadi pada runner yang tidak stabil. File yang rusak yang ditulis ke log terlihat baik sampai seseorang membukanya.
Perlakukan daftar kosong sebagai pertanyaan
Hasil kosong untuk situs yang memiliki baris bulan lalu adalah pertanyaan, bukan fakta. Periksa ejaan domain, termasuk www. di awal, sebelum seseorang mendapat peringatan.
File alur kerja untuk dimulai
Simpan kunci sebagai rahasia repositori bernama SBB_KEY. Ekspresi cron berjalan pada tanggal pertama setiap bulan pukul 06:00 UTC.
Pembaruan indeks sedang berlangsung atau salah ketik di domain
Coba lagi dalam sehari; periksa www.
Peringkat bergerak beberapa poin
Pembaruan bulanan
Jangan lakukan apa-apa; lihat trennya
Peringkat turun 10+
Tautan hilang atau perubahan pembaruan besar
Tarik refdomains dan diff
Cron pada server biasa
Perintah yang sama berjalan dari baris crontab. Simpan kunci dalam file lingkungan yang hanya dapat dibaca oleh pengguna pekerjaan, dan log ke file yang Anda putar.
Biaya dan di mana membacanya
Audit bulanan untuk satu situs costing 4 kredit ketika Anda menarik kedua daftar, yaitu $0.0004. Panggilan ringkasan gratis. Bulan tanpa perubahan oleh karena itu tidak ada biaya selain itu.
Jika tim Anda menerbitkan sepuluh postingan sehari di beberapa situs, audit tetap satu pekerjaan bulanan per situs, bukan satu pekerjaan per postingan. Itu menjaga jumlahnya kecil dan log dapat dibaca.
Saat Anda menambahkan situs kedua, salin pekerjaan daripada memperlebar itu. Satu alur kerja per domain menjaga log per situs dan membuat kegagalan mudah dilacak kembali ke pemiliknya.
Biaya yang lebih besar biasanya adalah menit penyedia CI Anda, bukan kredit kami. Tabel biaya menempatkan kedua baris berdampingan, sehingga Anda dapat memutuskan mana yang akan disesuaikan terlebih dahulu.
Minta run pertama mencetak _credits. Percayai balasan daripada tabel apa pun. Panduan gerbang mencakup pemeriksaan sisi draf yang datang sebelum ini.
Jadwal GitHub berjalan di UTC, jadi awal 06:00 mendarat di jam lokal yang berbeda untuk setiap tim. Tulis zona waktu ke runbook agar tidak ada yang terkejut oleh log.
Pertanyaan tentang menjalankan audit
Sebagian besar pertanyaan ini berasal dari tim yang baru saja menjadwalkan pekerjaan untuk pertama kalinya.
Apakah ini API pengecek backlink google?
Ini adalah audit yang dibangun di atas API kami sendiri, bukan produk Google. Google tidak menerbitkan API backlink umum, sehingga angka-angka berasal dari crawler kami sendiri dan indeks kami sendiri.
Dapatkah audit berjalan dengan setiap build?
Bisa, tetapi penarikan refdomains bulanan tidak perlu berjalan pada setiap build. Jalankan ringkasan gratis pada setiap penerbitan, dan penarikan berbayar sekali sebulan.
Apakah saya masih membutuhkan audit jika saya memiliki gerbang?
Ya, jika Anda menerbitkan melalui plugin atau CDN. Gerbang melihat draf Anda, dan audit melihat halaman live. Masing-masing menangkap kegagalan yang tidak dapat dilihat oleh yang lain.
Bagaimana jika pekerjaan gagal di tengah jalan?
Tulis hasil setiap langkah ke file sendiri, sehingga penarikan yang gagal meninggalkan ringkasan utuh. Jalankan ulang dari langkah yang gagal daripada dari atas, yang menghindari membayar untuk penarikan yang sama dua kali.
Berapa banyak kredit yang harus saya anggaran untuk setiap situs?
Anggaran 4 kredit per situs per bulan untuk dua penarikan berbayar, ditambah apa pun yang dibelanjakan gerbang Anda pada draf. Ringkasan gratis menambahkan apa pun pada angka itu, dan log memberi tahu Anda total sebenarnya.
Mengapa dua run beberapa hari berbeda?
Indeks diperbarui kira-kira sebulan sekali, sehingga perubahan harian biasanya adalah noise. Bandingkan snapshot bulan ini dengan bulan lalu sebelum Anda membuka insiden.
Penandatanganan runbook
Rahasia ada dan alur kerja telah berjalan sekali secara manual.
File log mencatat tanggal, URL, panggilan, dan _credits.
Seseorang memiliki saluran peringatan.
Pekerjaan memperlakukan data bulanan sebagai bulanan.