AlfaLinks
AlfaLinksDaftar

Panduan pengaturan

Counter backlink untuk dashboard SaaS, langkah demi langkah

Counter yang berfungsi memerlukan satu rute server dan satu komponen kecil. Panduan ini membangun keduanya, termasuk status kegagalan yang sering dilupakan pada versi pertama.

Pengrajin merakit lima roda gigi mekanik di atas meja bengkel kayu yang mewakili langkah-langkah dashboard
Lingkup panduan ini

Kami mengasumsikan backend Node atau Python dan kerangka kerja front-end apa pun. Setiap permintaan di bawah ini mengenai API yang didokumentasikan, dan URL dasar adalah milik merek Anda sendiri: alfalinks.net/api.php.

Lima langkah, sesuai urutan yang akan kami terapkan

01

1. Buat kunci dan simpan sebagai rahasia

Masuk dengan Google di /auth/google.php, salin kunci sk_ dari halaman akun, dan masukkan ke lingkungan server Anda. Front-end tidak pernah melihatnya.

02

2. Tambahkan satu rute proxy

Paparkan sesuatu seperti /internal/links?domain=... yang memvalidasi domain, memanggil API kami, dan hanya mengembalikan bidang yang digunakan UI Anda. Validasi penting karena pengguna memasukkan apa saja.

03

3. Mulai dengan tindakan gratis

Tindakan overview tidak memakan biaya, sehingga versi pertama counter tidak memiliki risiko penagihan sama sekali. Beralih ke tindakan berbayar ketika layar membutuhkannya.

04

4. Render tiga status

Memuat, data, dan tidak tersedia. Tidak tersedia mencakup HTTP 401, HTTP 402, dan kegagalan jaringan, dan status ini tidak boleh menampilkan angka nol.

05

5. Tambahkan label kesegaran

Indeks kami diperbarui sekitar sebulan sekali. Garis abu-abu bertuliskan 'data tautan diperbarui secara bulanan' mencegah tiket dukungan yang berbunyi 'Saya menambahkan tautan kemarin'.

Rute proxy, dalam Node

Cukup pendek untuk dibaca dalam satu layar. Cache di sini adalah Map biasa; ganti dengan Redis jika Anda menjalankan lebih dari satu proses.

js
const cache = new Map();
const MONTH = 30 * 24 * 3600 * 1000;

app.get('/internal/links', async (req, res) => {
  const domain = String(req.query.domain || '').toLowerCase().trim();
  if (!/^[a-z0-9.-]+\.[a-z]{2,}$/.test(domain)) return res.status(400).json({ok:false});
  const hit = cache.get(domain);
  if (hit && Date.now() - hit.t < MONTH) return res.json(hit.v);
  const r = await fetch(`https://alfalinks.net/api.php?action=overview&q=${domain}`);
  if (!r.ok) return res.status(502).json({ok:false});
  const v = await r.json();
  cache.set(domain, {t: Date.now(), v});
  res.json(v);
});
Tukang kebun menggunakan jaring lebar untuk menangkap kawanan burung yang mewakili permintaan domain massal

Menambahkan lencana DR setelah counter berfungsi

Counter adalah setengah yang mudah. Lencana memerlukan satu panggilan tambahan.

Untuk tabel domain pelanggan, kirimkan satu permintaan bulk_dr dengan hingga 2.000 domain, bukan satu panggilan per baris. Biayanya 1 kredit berapa pun jumlah barisnya, dan responsnya memetakan setiap domain ke angka 0-100, yang Anda simpan di samping ringkasan yang di-cache.

Cocokkan domain pada hostname yang dinormalisasi. Hapus skema, jalur, dan www di awal, atau setengah dari baris Anda akan melewatkan pencarian dan menampilkan kosong.

Baca catatan skor untuk penulisan label, dan resep cache untuk TTL pada panggilan ini.

Tampilkan nilai terlebih dahulu, lalu minta pengaturan

Pengguna baru jarang membaca halaman pengaturan. Mereka ingin melihat apakah fitur ini layak usaha, dan counter backlink yang menampilkan angka nyata menjawab itu lebih cepat daripada formulir apa pun. Letakkan nilai di depan. Konfigurasi datang kedua.

Karena tindakan ringkasan gratis tidak memerlukan kunci, layar pertama Anda dapat menampilkan angka sebelum pengguna melakukan konfigurasi apa pun.

Apa yang diperlukan untuk render pertama?

Hanya satu domain dan satu panggilan gratis. Bayangkan pengguna baru yang memasukkan situs mereka sendiri ke dalam onboarding dan melihat counter muncul dalam tampilan halaman yang sama. Angka tunggal ini lebih efektif untuk memulai pengaturan daripada daftar langkah, jadi sisakan sisa pengaturan di belakangnya.

Pengguna melihat apa yang akan mereka dapatkan sebelum siapa pun meminta kartu, kunci, atau formulir kedua. Tidak ada pada render pertama yang terlihat seperti gerbang.

Di mana seharusnya prompt pengaturan berada?

Tepat setelah angka, bukan sebelum angka. Baris pendek seperti 'Hubungkan domain untuk melacak ini setiap bulan' cocok di bawah counter. Jika prompt yang sama berada di atas angka, pengguna membacanya sebagai gerbang dan pergi.

Lacak pengguna mana yang menyelesaikan setiap langkah pengaturan. Corong kecil menunjukkan di mana orang berhenti, dan perubahan kata-kata sering menggerakkan angka tersebut lebih dari fitur baru.

Pengujian sebelum peluncuran

Uji jalur yang tidak bahagia terlebih dahulu. Jalur yang bahagia menguji dirinya sendiri.

Cabut kunci di lingkungan staging dan konfirmasi kartu menampilkan 'tidak tersedia' bukan nol. Kemudian kuras saldo uji untuk memicu 402, dan tempelkan input yang tidak valid seperti domain dengan skema dan jalur akhir, untuk membuktikan validator menolaknya sebelum kredit dibelanjakan.

Tes asap singkat cocok di CI. Satu panggilan overview gratis di nytimes.com, dijalankan setiap malam, memberi tahu Anda bahwa rute dan kunci masih berfungsi.

Tiga kunci besi tergantung di pintu oak berat yang mewakili aturan akses dan batas domain

Siapa yang boleh melihat domain mana, dan dengan biaya berapa

Counter yang menerima string apa saja adalah pintu terbuka ke saldo Anda. Putuskan siapa yang bisa meminta apa sebelum rute diluncurkan, dan tulis jawabannya ke dalam kode, bukan ke halaman wiki yang tidak pernah dibuka siapa pun.

Tiga pertanyaan muncul setiap kali: domain mana, batas apa, dan di mana kunci berada.

Domain mana yang boleh diketik oleh pengguna?

Hanya yang dimiliki oleh workspace, plus pencarian publik apa pun yang Anda pilih untuk ditawarkan. Katakanlah workspace memiliki dua situs. Rute dapat menerima dua itu dan menolak yang lain dengan pesan yang jelas, yang menjaga agar satu penyewa tidak menghabiskan kredit untuk domain yang bukan milik mereka.

Pengecekan hostname dalam rute adalah minimum. Ini membuktikan input terlihat seperti domain, bukan bahwa pengguna memilikinya, jadi simpan daftar klaim di database Anda sendiri sebagai tabel terpisah.

Bagaimana Anda menghentikan satu pengguna menguras saldo?

Letakkan kuota per workspace di penyimpanan Anda sendiri dan hitung panggilan di sana. Saldo di sisi kami adalah satu pool pra-bayar, sehingga tidak dapat memberi tahu Anda pelanggan mana yang menghabiskan apa. Catatan halaman pencarian mencakup sisi publik dari masalah yang sama. Ketika workspace mencapai batasnya, kembalikan pesan sederhana dan biarkan cache terus menjawab dengan apa yang sudah dimilikinya.

Pilih batas dari aritmatika di catatan per-kursi, bukan dari tebakan, dan tinjau ulang ketika paket berubah. Uji rute dengan workspace kedua sebelum Anda mempercayai kuota.

Apakah browser pernah memegang kunci?

Tidak. Kunci berada di server Anda, dan browser memanggil rute Anda. Pemisahan ini juga yang membuat kuota mungkin, karena setiap panggilan yang ditagih melewati kode yang Anda kendalikan. Jika kunci pernah muncul dalam bundle yang dikirim, putar hari itu juga dan periksa log saldo untuk panggilan yang tidak Anda buat. Beberapa tim menyimpan kunci dalam file konfigurasi yang dibaca front-end saat build, dan file itu berakhir di dalam bundle. Jauhkan kunci dari apa pun yang dapat dilihat langkah build, dan periksa file yang dikirim sekali sebelum setiap rilis.

Tindakan gratis dapat dipanggil dari halaman publik tanpa kunci, dan itu adalah satu-satunya kasus di mana browser dapat berbicara langsung dengan API.

Apa yang harus dikatakan oleh counter, dan apa yang tidak boleh

Katakan lebih sedikit dari yang Anda ketahui. Counter yang diberi label 'backlink' mengundang pertanyaan 'mengapa Ahrefs menampilkan angka yang berbeda?', dan jawaban yang jujur adalah bahwa dua crawler melihat dua bagian web.

Beri label angka dengan sumber dan bulan sebagai gantinya. Sesuatu seperti 'Domain pengacu, indeks AlfaLinks, Oktober 2026' lebih panjang, tetapi itu mengakhiri argumen sebelum dimulai dan terbaca baik di kartu kecil.

Bulatkan untuk tampilan. Pengguna yang melihat 12.481 pada hari Senin dan 12.481 pada hari Jumat mempercayai alat lebih daripada yang melihat fluktuasi, dan pembaruan bulanan kami memberi Anda stabilitas itu secara gratis.

Jika Anda ingin angka 0-100 di sebelahnya, baca catatan tentang skor backlink terlebih dahulu. Ini adalah metrik kami sendiri, sehingga penamaan penting.

Status kegagalan dan apa yang dilakukan UI

Kode HTTP adalah yang dikembalikan API; kolom UI adalah saran kami.
SinyalArtiYang dilihat penggunaYang Anda lakukan
HTTP 401Kunci hilang atau buruk'Data tautan tidak tersedia'Halaman sendiri: bug penyebaran
HTTP 402Kredit habis'Data tautan tidak tersedia'Isi ulang dengan USDT (TRC-20)
ok: falsePermintaan ditolakTautan coba ulang inlineLog domain dan tindakan
Waktu tungguMasalah jaringanNilai cache jika Anda memilikinyaCoba lagi sekali, lalu kurangi frekuensi

Menjaga counter tetap jujur dalam dukungan dan log

Counter gagal dengan tenang jauh lebih sering daripada gagal dengan keras. Log cukup untuk menjawab pertanyaan berikutnya yang diajukan pelanggan, dan jauhkan data pribadi dari log sepenuhnya. Baris pendek menang. Baris yang menjawab pertanyaan dukungan menghemat lebih banyak waktu daripada peringatan apa pun yang bisa Anda tulis.

Sebagian besar thread dukungan tentang counter adalah salah satu dari tiga pertanyaan, jadi rencanakan log di sekitar mereka. Simpan tiga pertanyaan itu di buku panduan Anda, di samping langkah-langkah untuk memutar kunci.

Apa yang harus dicatat oleh setiap baris log?

Tindakan, domain, kode status, usia cache, dan saldo kredit yang kembali. Lima bidang tersebut menjawab sebagian besar pertanyaan dukungan. Katakanlah pengguna bertanya mengapa counter mereka menampilkan angka lama. Usia cache dan bulan indeks memberi tahu Anda apakah masalahnya adalah cache atau label.

Tinggalkan kunci API dari setiap baris, termasuk jejak error. Masking di logger, karena satu baris yang bocor dapat menguras seluruh akun.

Bagaimana Anda tahu counter sehat setiap minggu?

Pantau tiga angka: bagian status tidak tersedia, tren saldo kredit, dan tingkat hit cache. Lonjakan tiba-tiba dalam status tidak tersedia biasanya mengarah pada masalah kunci atau saldo. Penurunan lambat dalam saldo biasanya mengarah pada kunci cache yang terlalu spesifik.

Setiap pembacaan memiliki perbaikan berbeda, itulah mengapa satu tile dashboard untuk semuanya jarang membantu siapa pun. Letakkan tiga pembacaan dalam satu baris di catatan mingguan Anda, dengan nilai terakhir dan perubahan sejak minggu sebelumnya. Angka yang dibaca secara terisolasi mengundang tebakan, sementara tren singkat menjaga percakapan pada fakta yang sama.