Pemeriksaan backlink halaman saat publikasi, langkah demi langkah
Satu webhook, satu panggilan HTTP, satu keputusan. Panduan pelaksanaan ini memandu tim headless CMS melalui hook, panggilan, dan kasus kegagalan.
Tim riset Contentin ·
Tentukan apa yang boleh dilakukan oleh gerbang
Pemeriksaan backlink halaman dalam alur rilis adalah tugas kecil. Jaga agar tetap kecil. Bagian tersulitnya adalah menentukan apa yang boleh diubah oleh jawaban tersebut, karena grafik tautan yang menyegarkan setiap bulan tidak dapat memveto sebuah halaman secara mandiri.
Kami menyarankan agar gerbang memberikan peringatan, mencatat log, dan membiarkan build terus berjalan. Default dapat berubah. Blokir keras berlaku untuk hal-hal yang Anda kendalikan, seperti markup yang rusak atau tag canonical yang hilang. Data tautan adalah sinyal, dan sinyal dapat berubah.
Tuliskan kebijakan tersebut. Lakukan sebelum Anda mengkodekannya. Kebijakan satu baris seperti "peringatkan editor, tandai entri, jangan hentikan deploy" menghemat perdebatan panjang pada pukul 6 malam di hari rilis. Ini juga memberi tahu insinyur berikutnya mana kegagalan yang disengaja dan mana yang merupakan bug, yang lebih penting dari yang terdengar. Tinjau sekali setiap kuartal.
Enam langkah dari klik publikasi hingga catatan tersimpan
1
Pilih pemicunya
Berlangganan peristiwa publikasi CMS Anda. Contentful, Sanity, dan Strapi dapat memanggil URL yang Anda miliki ketika sebuah entri dipublikasikan, dan Storyblok serta Payload juga menawarkan webhook atau hook. Filter ke jenis konten yang membawa URL keluar atau canonical.
2
Sederhanakan URL menjadi domain
API menerima domain dalam q, jadi https://www.example.com/blog/post?x=1 harus menjadi example.com terlebih dahulu. Putuskan bagaimana Anda memperlakukan www, dan uji satu domain nyata pada tindakan domain gratis sebelum membangun apa pun.
3
Panggil tindakan gratis terlebih dahulu
overview tidak memakan biaya. Jika hasilnya tipis, domain mungkin baru atau tidak dikenal oleh indeks kami. Itu bukan bukti apa-apa yang buruk.
4
Habiskan kredit hanya saat aturan terpicu
Ketika aturan Anda mengatakan untuk melihat lebih dekat, panggil backlinks dengan per=100. Itu 2 kredit, berapa pun jumlah barisnya, jadi minta satu halaman baris yang berguna daripada sepuluh baris kecil.
5
Tulis catatan, bukan JSON mentah
Simpan putusan singkat dalam bidang milik Anda sendiri, ditambah tanggal pemeriksaan. Respons mentah akan membesarkan entri dan cepat usang, karena indeks bergerak setiap bulan.
6
Gagal dengan lembut
HTTP 401 berarti kunci hilang atau salah, jadi beri tahu manusia. HTTP 402 berarti kredit habis. Kesalahan lain: catat lognya, lewati pemeriksaan, biarkan publikasi berjalan.
Di mana kunci berada dan apa yang harus dilakukan dengan 402
Setiap panggilan berbayar membawa kunci Anda, baik dalam string kueri atau header Bearer. Lebih baik gunakan header. String kueri dapat berakhir di log server dan jejak proxy, dan header biasanya tetap tidak ada di dalamnya.
Simpan kunci sebagai rahasia di platform hosting Anda, jangan di dalam entri itu sendiri. Editor dapat membaca bidang apa pun yang dapat mereka buka, tetapi lingkungan fungsi biasanya hanya terlihat oleh orang yang mengelola deploy.
Di mana kunci harus berada?
Kunci yang bocor dapat menghabiskan saldo di akun Anda, jadi perlakukan seperti kata sandi. Jauhkan dari repositori dan CMS, dan putar jika file log pernah menampilkannya dalam teks biasa.
Tag log Anda dengan nama hook. Pengeluaran kemudian mudah dilacak kembali ke satu fungsi, bahkan ketika beberapa hook berbagi akun yang sama.
Bisakah alat tanpa kode melakukan panggilan?
Ya, ketika alat memiliki langkah permintaan HTTP biasa. Banyak pembuat otomatisasi dapat mengirim GET dengan string kueri dan membaca JSON kembali, sehingga tindakan overview gratis tidak memerlukan kode sama sekali.
Mulailah hanya dengan tindakan gratis. Alur yang terpicu pada setiap simpanan draf dapat menghabiskan kredit lebih cepat dari yang diperhatikan editor, jadi tambahkan langkah berbayar setelah panggilan gratis berjalan tenang untuk beberapa waktu.
Apa yang harus memicu 402?
402 berarti saldo kosong. Itu tidak mengatakan apa-apa tentang halaman. Lewati pemeriksaan berbayar, catat peristiwa tersebut, dan kirimkan satu peringatan kepada siapa pun yang mengisi ulang akun, lalu biarkan publikasi berjalan.
Atur alarm saldo jauh di atas nol, sehingga peringatan tiba saat masih ada waktu untuk mengisi ulang. Loop retry tidak akan membantu di sini, karena setiap panggilan gagal dengan cara yang sama hingga seseorang menambahkan kredit. Tabel biaya memiliki angka-angkanya.
Uji dua panggilan dari terminal
Jalankan ini sekali terhadap domain yang Anda kenal sebelum hook melakukannya untuk Anda. Baca bidang _credits pada respons kedua.
bash
# free, no key
curl -s "https://contentin.app/api.php?action=overview&q=example.com"
# 2 credits, key in a header
curl -s -H "Authorization: Bearer sk_live_..." \
"https://contentin.app/api.php?action=backlinks&q=example.com&per=100"
Domain mana yang masuk ke parameter q
API menerima domain telanjang di q, jadi URL lengkap harus disederhanakan terlebih dahulu. Tulis penyederhanaan itu sekali, dalam satu fungsi. Kemudian uji pada URL nyata.
Tautan relatif dan skema yang hilang adalah kasus yang biasanya merusak hook. Penyederhanaan yang berhasil pada contoh bersih masih bisa gagal pada URL berantakan yang disisipkan editor pada pukul 5 sore.
Apakah www mengubah jawabannya?
Mungkin, dan cara jujur untuk mengetahuinya adalah dengan bertanya. Jalankan tindakan domain gratis pada kedua bentuk satu situs yang Anda kenal, lalu bandingkan dua responsnya secara berdampingan.
Aturan mana pun yang Anda pilih, tuliskan dalam komentar kode agar insinyur berikutnya tidak harus menebak. Komentar tidak memakan biaya dan menghemat perdebatan panjang nanti.
Bagaimana dengan redirect dan subdomain?
Kirim host yang sebenarnya dikunjungi oleh pembaca Anda, bukan tautan yang disisipkan editor beberapa tahun lalu. Jika tautan itu melakukan redirect, sederhanakan alamat akhir dan abaikan hop di antaranya.
Blog di subdomain sendiri adalah penilaian. Putuskan sebelumnya apakah itu diperiksa secara mandiri atau bersama domain induknya, dan tuliskan pilihan itu di samping aturan.
Daftar periksa pra-rilis untuk hook
Hook hanya terpicu saat publikasi, bukan pada setiap simpanan draf
URL disederhanakan menjadi domain telanjang sebelum panggilan
Tindakan gratis dijalankan terlebih dahulu dan kredit hanya dihabiskan pada flag
401 dan 402 masing-masing memiliki peringatan dan pesan tersendiri
Timeout ditetapkan, sehingga API yang lambat tidak pernah menggantung editor
Catatan yang disimpan membawa tanggal, sehingga tidak ada yang mengira itu sebagai data langsung
Entri yang sama yang dipublikasikan dua kali tidak ditagih dua kali (lihat daftar mitos)
Seseorang telah membaca tabel biaya untuk volume bulanan Anda
Apa yang harus dicatat, dan apa yang tetap tidak ada di entri
Baris log untuk setiap pemeriksaan yang dilewati adalah jejak audit termurah yang dapat Anda bangun. Catat ID entri, domain yang Anda kirimkan, kode status, dan apakah langkah berbayar dijalankan. Biasanya itu sudah cukup.
Catatan yang disimpan tetap singkat dan bertanggal, seperti yang dikatakan langkah-langkah di atas. Respons lengkap milik log Anda sendiri, jika milik di mana pun, karena ukurannya besar dan cepat usang.
Bidang mana yang masuk ke baris log?
Mulailah dengan ID entri dan versi publikasi. Webhook yang diulang kemudian muncul sebagai pasangan yang sama dua kali, yang persis seperti yang ingin Anda lihat.
Tambahkan domain, nama tindakan, kode status, dan waktu panggilan dimulai. Biarkan kunci itu sendiri keluar, karena log yang menahannya menjadi tempat kedua di mana rahasia hidup.
Berapa lama catatan yang disimpan harus hidup?
Selama entri itu hidup, kecuali jika pemeriksaan baru menggantinya. Yang penting adalah pembaca dapat mengetahui seberapa tua catatan tersebut, karena catatan dari beberapa bulan lalu dibaca seperti data langsung.
Panduan bidang skor menunjukkan empat bidang yang kami sarankan untuk catatan itu, termasuk tanggalnya.
Uji hook di lingkungan staging sebelum peluncuran
Jalankan empat pemeriksaan ini sebelum siapa pun mengandalkan hook.
1
Putar ulang satu publikasi masa lalu
Picu hook dengan salinan entri yang sudah Anda publikasikan. Bandingkan catatan yang disimpan dengan yang Anda harapkan, dan konfirmasi bahwa entri yang sama tidak ditagih dua kali.
2
Coba domain yang baru terdaftar
Gunakan domain mitra yang baru bagi Anda. Jawaban kosong atau tipis harus disimpan sebagai tidak diketahui, bukan sebagai kegagalan, dan catatan harus mengatakan itu dengan kata-kata yang jelas.
3
Paksa 402 dengan sengaja
Jalankan hook dengan kunci di akun uji yang saldo telah Anda kosongkan. Konfirmasi bahwa skip, baris log, dan peringatan semuanya terpicu, dan bahwa publikasi masih mencapai build.
4
Baca pesan yang dilihat editor
Minta seseorang di luar tim untuk membaca teks kesalahan dengan lantang. Jika mereka tidak dapat mengatakan apa yang harus dilakukan selanjutnya, tulis ulang pesan sebelum hari peluncuran. Post-mortem menunjukkan apa yang ditimbulkan pesan yang kabur oleh satu tim buatan.
Apa yang tidak dapat dilihat oleh hook
Indeks kami menyegarkan sekitar sebulan sekali. Tautan yang ditambahkan setelah penyegaran terakhir tidak akan muncul, dan tautan yang dihapus sejak itu mungkin masih muncul. Untuk bukti hari yang sama, gunakan Laporan Tautan di Google Search Console.