Periksa backlink halaman melalui API dan lakukan caching secara jujur
Indeks kami diperbarui sebulan sekali, sehingga sebagian besar pencarian dapat dilayani dari memori. Sebuah resep untuk cache yang menghemat kredit tanpa menampilkan data usang kepada pengguna.
Tim editorial AlfaLinks ·
Aturan
Cache hingga pembaruan indeks berikutnya, bukan untuk durasi jam tetap
Karena data berubah sekitar sebulan sekali, TTL per jam tidak memberikan manfaat apa pun selain menambah biaya. Kunci yang berjangka sebulan memberikan jawaban yang sama sepanjang bulan dan menjadi tidak valid sekaligus saat pembaruan.
Kunci: tindakan + domain + parameter + bulan indeks
TTL: hingga akhir bulan, ditambah satu hari toleransi
Jangan pernah melakukan caching respons error
Mengapa TTL pendek hanyalah donasi untuk saldo kredit Anda
Tim yang baru mengenal data tautan sering meniru kebiasaan dari alat pelacak peringkat. Kebiasaan pertama: cache per jam, karena posisi berubah. Grafik tautan hampir tidak berubah.
Panggilan backlinks senilai 2 kredit berharga $0,0002. Angka ini terdengar kecil hingga Anda menyadari bahwa tampilan daftar memicu 50 panggilan tersebut setiap pemuatan halaman di 400 workspace aktif, berulang setiap jam untuk jawaban yang identik.
Perhitungan rinci di bawah ini adalah contoh, bukan pengukuran lalu lintas nyata. Asumsikan 400 workspace, 20 tampilan domain per hari, 2 kredit per tampilan, dan cache 1 jam yang berhasil sekitar satu kelima dari waktu. Sebagian besar tampilan masih mencapai API. Dengan kunci sebulan, lalu lintas yang sama hanya akan mencapai API sekali per domain per bulan, sehingga celah inilah inti dari resep ini.
Alat riset kata kunci membutuhkan data yang lebih segar, dan untuk itu, suite besar tetap menjadi pilihan yang lebih baik. Untuk konteks tautan, sebulan adalah produk yang tepat.
TTL berdasarkan tindakan
Disarankan, bukan diwajibkan. Semua tindakan membaca indeks bulanan yang sama.
Tindakan
Kredit
TTL yang Disarankan
Alasan
ringkasan, statistik
0
Hingga akhir bulan
Gratis, tetapi server Anda tetap menghemat latensi
bulk_dr
1
Hingga akhir bulan
Seluruh tabel pelanggan dalam satu panggilan
refdomains, backlinks
2
Hingga akhir bulan, per parameter halaman
Sertakan halaman, per, sort dalam kunci
anchors, toppages
2
Hingga akhir bulan
Stabil antara pembaruan
search, keyword
3
7 hari
Jarang diulang, murah untuk dilewati caching
Contoh permintaan: memanaskan cache untuk tabel pelanggan
Panggil bulk_dr sekali per pelanggan, bukan sekali per baris. Hingga 2.000 domain dapat dimuat dalam satu badan POST dan berharga satu kredit.
bash
curl -X POST "https://alfalinks.net/api.php?action=bulk_dr&key=sk_live_..." \
-d "domains=stripe.com,notion.so,linear.app,figma.com,vercel.com"
# billed once, whatever the row count
Bangun cache dalam lima langkah
Setiap langkah memiliki satu tugas. Lewatkan satu langkah dan kegagalan akan muncul nanti, biasanya sebagai tagihan.
01
Pilih kunci
Gunakan tindakan, domain, parameter paging dan pengurutan, serta bulan indeks. Hilangkan parameter apa pun yang dapat diubah pengguna tanpa mengubah jawaban, seperti warna tampilan atau nama tab.
02
Simpan respons yang telah diparsing
Simpan JSON yang telah didekodekan beserta flag ok dan datanya, bukan byte mentah. Tampilan selanjutnya dapat kemudian membangun kembali seluruh tabel dari memori tanpa panggilan kedua.
03
Kedaluwarsa pada akhir bulan
Atur masa berlaku hingga akhir bulan indeks, ditambah hari toleransi dari aturan di atas. Gunakan aturan yang sama untuk setiap tindakan, sehingga logika berada dalam satu fungsi dan tidak di lima tempat berbeda.
04
Log saldo pada setiap panggilan
Baca objek _credits pada setiap respons terautentikasi dan tulis sisa saldo ke log Anda sendiri. Penurunan lambat pada baris ini sering menjadi tanda pertama bahwa kunci cache salah.
05
Pantau tingkat hit
Lacak seberapa sering tampilan dilayani dari cache. Tingkat yang rendah berarti kunci terlalu spesifik, atau pengguna membuka domain baru setiap kunjungan. Temuan ini berguna saat Anda merencanakan anggaran.
Apakah data usang merupakan pilihan produk atau bug?
Angka tautan bisa berusia sebulan dan masih benar untuk indeks asalnya. Apakah layar Anda menyatakannya adalah pertanyaan sebenarnya. Sebagian besar tiket dukungan tentang angka lama adalah masalah label. Label biasanya memperbaikinya.
Berikan setiap angka bulan indeksnya. Tampilkan kepada pengguna. Begitu mereka dapat melihat tanggalnya, angka tersebut berhenti terlihat seperti feed yang rusak, dan garis kecil itu melakukan lebih banyak daripada TTL pendek apa pun.
Seberapa tua angka tautan yang sudah terlalu tua?
Indeks kami diperbarui sekitar sebulan sekali, sehingga angka yang di-cache pada hari pertama menggambarkan indeks yang sama dengan yang di-cache pada hari terakhir. Tidak ada perubahan dalam jawaban selama sebulan. Masalah dimulai ketika pengguna mengharapkan tautan dari kemarin, dan solusinya adalah label yang jelas, seperti yang dibahas di label skor.
Apakah panggilan ringkasan gratis perlu di-cache sama sekali?
Tindakan ringkasan tidak memakan kredit, sehingga cache di sini melindungi kecepatan, bukan saldo. Server Anda tetap membayar setiap perjalanan bolak-balik, dan halaman yang dibuka lima puluh kali per menit akan merasakannya. Simpan juga jawaban gratis tersebut, dengan kunci bulan yang sama, agar halaman tetap cepat sementara proxy Anda tetap tenang. Catatan pencarian publik menjelaskan ide yang sama untuk pengunjung.
Apakah tautan segar harus melewati cache?
Biasanya tidak. Melewati cache memakan kredit untuk jawaban yang kemungkinan identik dengan yang di-cache. Jika pelanggan bersikeras, jelaskan bulan indeks dan tawarkan satu pembaruan manual per workspace per bulan, bukan tombol buka yang dapat ditekan siapa saja secara berulang.
Perlindungan stampede dan hal kecil lainnya
Single-flight: jika sepuluh pengguna membuka domain yang sama, buat satu panggilan upstream dan bagikan janjinya.
Panaskan pada tanggal 1 dengan pekerjaan latar belakang, bukan pada pukul 9 pagi saat pengguna tiba.
Simpan respons _credits.remaining dan beri peringatan di bawah ambang batas yang Anda tentukan.
Cache hasil negatif 'domain tidak ditemukan' selama sehari, bukan sebulan.
Paparkan usia cache di UI agar dukungan dapat menjawab 'kapan ini diambil?'.
Mengapa cache mengalahkan scraping untuk pemeriksaan tautan
Tim yang perlu memeriksa backlink halaman dalam skala besar sering memulai dengan skrip yang langsung mencari mesin pencari. Skrip tersebut macet. Terlihat murah pada hari pertama, itulah sebabnya tim mempertahankannya jauh lebih lama dari yang seharusnya. Cache di depan API stabil biasanya merupakan desain yang lebih murah, dengan lebih sedikit komponen yang harus diawasi.
Perbedaannya terlihat pada jam rekayasa lebih daripada pada tagihan pertama. Jaga cache agar tetap sederhana, dan sebagian besar jam tersebut tidak akan pernah terjadi.
Mengapa alat periksa tautan buatan sendiri terus macet?
Mesin pencari membatasi kueri otomatis, sehingga skrip yang berjalan lancar untuk lima puluh URL dapat macet pada lima puluh ribu. Coba ulang, kumpulan proxy, dan penundaan acak semuanya menambah biaya yang tidak muncul di baris kredit, dan mereka rusak tanpa peringatan ketika target mengubah responsnya.
Bagaimana Anda membuat pekerjaan daftar panjang yang dapat dimulai ulang?
Tulis setiap domain yang selesai ke cache saat berjalan. Jika pekerjaan terhenti di tengah jalan, restart akan melewati setiap domain yang sudah memiliki jawaban tersimpan dan melanjutkan dari tempat terakhir. Tidak ada biaya ganda untuk bulan yang sama, karena kunci sudah memegang jawabannya.
Jalankan pekerjaan dengan kecepatan stabil, bukan dalam satu ledakan. Mengatur jarak panggilan membuat log dapat dibaca dan membuat perubahan penggunaan kredit mudah dijelaskan.
Berapa biaya daftar 22.000 URL dengan cache?
Katakanlah Anda perlu memeriksa 22.000 URL penaut untuk satu klien. Banyak di antaranya berbagi domain, sehingga deduplikasi ke domain terlebih dahulu. 22.000 tautan tersebut mungkin berkurang menjadi beberapa ribu domain unik, dan satu panggilan bulk_dr menangani hingga 2.000 di antaranya dengan satu kredit. Simpan setiap hasil per domain dan bulan, dan daftar tersebut berhenti menjadi pekerjaan per-URL. Simpan aritmatika dalam catatan singkat di sebelah pekerjaan, agar orang berikutnya dapat menjalankannya kembali dengan ukuran daftar berbeda. Angka dengan perhitungan yang ditampilkan lebih mudah dipercaya daripada total saja.
Koneksi ini
Cache adalah lapisan tengah dalam pengaturan penghitung. Setelah berfungsi, biaya per pengguna menjadi dapat diprediksi dan Anda dapat menetapkan harga paket di atasnya dengan perbandingan per pengguna. Halaman pendek memerlukan akhir yang jelas. Halaman ini memilikinya.
Pertanyaan cache yang sering muncul saat tinjauan kode
Apakah cache harus hidup di browser juga?
Cache browser jangka pendek membantu navigasi tombol kembali, tetapi cache bersama di server Anda melakukan penghematan utama. Simpan penyimpanan sisi klien hanya selama beberapa menit, karena pengguna di mesin berbeda akan melihat angka berbeda untuk domain yang sama pada hari yang sama.
Bagaimana jika pelanggan mengatakan tautan baru hilang?
Periksa bulan indeks yang ditampilkan di UI Anda. Jika tautan ditambahkan setelah pembaruan terakhir, tautan tersebut akan muncul setelah pembaruan berikutnya. Tawarkan catatan, bukan pengembalian dana, karena tidak ada yang rusak.
Bisakah saya melewati cache sesuai permintaan?
Bisa, tetapi setiap melewati cache memakan kredit untuk jawaban yang kemungkinan identik. Tawarkan hanya kepada admin, dan batasi laju per workspace untuk menghindari loop tidak sengaja.
Paging dan kunci cache
Paging menggigit semua orang sekali. Sertakan dalam kunci.
Tindakan backlinks dan refdomains mengembalikan hingga 1.000 baris per panggilan, dengan page dan per antara 10 dan 5000, dan paging dalam dibatasi hingga 50.000 baris, sehingga kunci tanpa parameter tersebut akan melayani halaman satu untuk setiap permintaan.
Pengurutan juga termasuk dalam kunci. Pengguna yang beralih dari DR menurun ke abjad mengharapkan daftar yang berbeda, dan cache harus memenuhinya tanpa panggilan upstream baru ketika set lengkap sudah disimpan.
Tes cepat menangkap sebagian besar kesalahan kunci. Minta halaman dua, ubah pengurutan, lalu periksa apakah halaman dua yang di-cache berbeda dari halaman satu yang di-cache. Jika tidak, kunci kehilangan parameter. Ditemukan awal, biayanya hanya beberapa menit. Pelanggan tidak pernah melihatnya. Jalankan tes lagi sebelum setiap rilis, karena opsi pengurutan baru adalah alasan umum kunci rusak. Tulis ke daftar periksa rilis Anda.
Rencanakan tombol ekspor secara terpisah: satu pekerjaan latar belakang, satu file tersimpan, dan satu notifikasi saat siap.