AlfaLinks
AlfaLinksZarejestruj się

Przewodnik konfiguracji

Licznik backlinków dla dashboardu SaaS, krok po kroku

Działający licznik wymaga jednej trasy serwerowej i małego komponentu. Ten przewodnik tworzy oba, uwzględniając stany awaryjne, które często pomijają pierwsze wersje.

Rzemieślnik składający pięć mechanicznych kółek na drewnianym stole warsztatowym reprezentującym kroki dashboardu
Zakres tego przewodnika

Zakładamy backend w Node lub Python oraz dowolną technologię frontendową. Każde z poniższych żądań trafia do udokumentowanego API, a bazowy URL to własny adres Twojej marki: alfalinks.net/api.php.

Pięć kroków w kolejności, w jakiej je wdrożymy

01

1. Utwórz klucz i przechowaj go jako sekret

Zaloguj się przez Google na /auth/google.php, skopiuj klucz sk_ ze strony konta i umieść go w środowisku serwera. Frontend nigdy go nie widzi.

02

2. Dodaj jedną trasę proxy

Udostępnij trasę typu /internal/links?domain=..., która waliduje domenę, wywołuje nasze API i zwraca tylko pola używane przez interfejs. Walidacja jest kluczowa, ponieważ użytkownicy wpisują dowolne wartości.

03

3. Zacznij od akcji darmowej

Akcja overview jest bezpłatna, więc pierwsza wersja licznika nie niesie żadnych ryzyk związanych z rozliczeniami. Przejście na akcje płatne następuje dopiero wtedy, gdy ekran tego wymaga.

04

4. Wyrenderuj trzy stany

Ładowanie, dane i niedostępność. Stan niedostępności obejmuje błędy HTTP 401, HTTP 402 oraz awarię sieci i nigdy nie powinien wyświetlać zera.

05

5. Dodaj etykietę świeżości

Nasz indeks odświeża się mniej więcej raz w miesiącu. Szara linia z tekstem 'dane linków zaktualizowane miesięcznie' zapobiega zgłoszeniu wsparcia zaczynającemu się od 'dodałem link wczoraj'.

Trasa proxy w Node

Wystarczająco krótka, by zmieścić się na jednym ekranie. Bufor to zwykła mapa Map; zamień ją na Redis, gdy uruchomisz więcej niż jeden proces.

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);
});
Ogrodnik używający szerokiej sieci do łapania stada ptaków reprezentującego żądania zbiorcze domen

Dodanie odznaki DR po działaniu licznika

Licznik to łatwiejsza połowa. Odznaka wymaga jednego dodatkowego wywołania.

Dla tabeli domen klientów wyślij pojedyncze żądanie bulk_dr z do 2000 domenami zamiast jednego wywołania na wiersz. Kosztuje to 1 kredyt niezależnie od liczby wierszy, a odpowiedź mapuje każdą domenę do jej wartości 0-100, którą przechowujesz obok zbuforowanego przeglądu.

Dopasowuj domeny na znormalizowanej nazwie hosta. Usuń schemat, ścieżkę i wiodące www, inaczej połowa wierszy nie znajdzie dopasowania i pokaże puste wartości.

Przeczytaj uwagi o ocenie w sprawie sformułowań etykiet oraz przepis na buforowanie w sprawie TTL dla tych wywołań.

Pokaż wartość najpierw, potem poproś o konfigurację

Nowi użytkownicy rzadko czytają strony konfiguracji. Chcą zobaczyć, czy funkcja jest warta wysiłku, a licznik backlinków pokazujący rzeczywistą wartość odpowiada na to pytanie szybciej niż jakikolwiek formularz. Umieść wartość na pierwszym planie. Konfiguracja idzie drugoplanowo.

Ponieważ darmowa akcja overview nie wymaga klucza, Twój pierwszy ekran może pokazać wartość jeszcze przed jakąkolwiek konfiguracją ze strony użytkownika.

Czego wymaga pierwsze wyrenderowanie?

Tylko jednej domeny i jednego darmowego wywołania. Wyobraź sobie nowego użytkownika, który wpisuje swoją stronę w procesie onboardingu i widzi licznik w tym samym widoku strony. Ta jedna wartość robi więcej dla rozpoczęcia konfiguracji niż lista kroków, więc resztę konfiguracji umieść za nią.

Użytkownik widzi, co otrzyma, zanim ktokolwiek poprosi o kartę, klucz lub drugi formularz. Nic na pierwszym renderowaniu nie powinno wyglądać jak bariera.

Gdzie powinna znaleźć się zachęta do konfiguracji?

Tuż po wartości, a nie przed nią. Krótka linia typu 'Podłącz domenę, aby śledzić ją co miesiąc' pasuje pod licznik. Jeśli ta sama zachęta znajduje się powyżej wartości, użytkownicy traktują ją jako barierę i odchodzą.

Śledź, którzy użytkownicy ukończyli każdy krok konfiguracji. Mały lej pokazuje, gdzie ludzie przestają, a zmiana sformułowań często zmienia tę liczbę bardziej niż nowa funkcja.

Testowanie przed uruchomieniem

Testuj najpierw ścieżki nieudane. Ścieżki udne testują się same.

Unieważnij klucz w środowisku staging i potwierdź, że karta pokazuje 'niedostępne' zamiast zera. Następnie wyczerp testowy balans, aby wywołać błąd 402, i wklej niepoprawne dane, np. domenę ze schematem i końcową ścieżką, aby udowodnić, że walidator odrzuca je przed zużyciem jakichkolwiek kredytów.

Krótki test dymny powinien znaleźć się w CI. Jedno darmowe wywołanie overview na nytimes.com, uruchamiane codziennie, poinformuje Cię, czy trasa i klucz nadal działają.

Trzy żelazne klucze wiszące na ciężkich dębowych drzwiach reprezentujących zasady dostępu i limity domen

Kto może sprawdzić jaką domenę i za jaki koszt

Licznik akceptujący dowolny ciąg znaków to otwarta furtka do Twojego salda. Zdecyduj, kto może o co prosić, zanim trasa pójdzie na produkcję, i zapisz odpowiedź w kodzie, a nie na stronie wiki, której nikt nie otwiera.

Każdym razem pojawiają się trzy pytania: które domeny, jaki limit i gdzie znajduje się klucz.

Jakie domeny użytkownik powinien mieć prawo wpisać?

Tylko te, do których przestrzeń robocza ma roszczenia, oraz dowolne publiczne wyszukiwania, które postanowiliśmy zaoferować. Jeśli przestrzeń robocza posiada dwa serwisy, trasa może akceptować te dwie domeny i odrzucać każdą inną z jasnym komunikatem, co zapobiega wydawaniu kredytów przez jednego najemcę na domeny, które nie są jego własnością.

Sprawdzenie nazwy hosta w trasie to minimum. Dowodzi, że wejście wygląda jak domena, a nie że użytkownik ją posiada, więc przechowuj listę roszczeń w swojej bazie danych jako osobną tabelę.

Jak powstrzymać jednego użytkownika przed wyczerpaniem salda?

Umieść limit na przestrzeń roboczą w swoim magazynie i zliczaj tam wywołania. Saldo po naszej stronie to pojedynczy pulę z góry opłaconą, więc nie może powiedzieć, który klient wydał ile. Notatki ze strony wyszukiwania omawiają publiczną stronę tego samego problemu. Gdy przestrzeń robocza osiągnie limit, zwróć prosty komunikat i pozwól buforowi kontynuować odpowiadanie tym, co już posiada.

Wybierz limit na podstawie obliczeń z notatek na temat liczby miejsc, a nie zgadywania, i przeglądaj go przy zmianie planu. Przetestuj trasę z drugą przestrzenią roboczą, zanim zaufasz limitowi.

Czy przeglądarka kiedykolwiek powinna trzymać klucz?

Nie. Klucz znajduje się na Twoim serwerze, a przeglądarka wywołuje Twoją trasę. Ten podział to również to, co umożliwia limit, ponieważ każde rozliczane wywołanie przechodzi przez kod, którym kontrolujesz. Jeśli klucz kiedykolwiek pojawi się w spakowanym pakiecie, obróć go tego samego dnia i sprawdź dziennik sald pod kątem wywołań, których nie zrealizowałeś. Niektóre zespoły przechowują klucz w pliku konfiguracyjnym, który frontend odczytuje w czasie budowania, a ten plik ląduje w pakiecie. Trzymaj klucz z dala od wszystkiego, co etap budowy może zobaczyć, i sprawdź spakowane pliki raz przed każdą releasą.

Akcje darmowe mogą być wywoływane ze strony publicznej bez klucza, i to jest jedyny przypadek, w którym przeglądarka może komunikować się z API bezpośrednio.

Co powinien mówić licznik, a czego nie powinien

Mów mniej niż wiesz. Licznik oznaczony jako 'backlinki' zaprasza do pytania 'dlaczego Ahrefs pokazuje inną wartość?', a uczciwą odpowiedzią jest to, że dwa crawlery widzą dwa wycinki sieci.

Oznacz wartość jej źródłem i miesiącem zamiast tego. Coś takiego jak 'Domeny odsyłające, indeks AlfaLinks, październik 2026' jest dłuższe, ale kończy dyskusję zanim się zacznie i dobrze wygląda w małej karcie.

Zaokrąglaj do wyświetlenia. Użytkownik, który widzi 12 481 w poniedziałek i 12 481 w piątek, ufa narzędziu bardziej niż ten, który widzi drgania, a nasz miesięczny odświeżacz daje Ci tę stabilność za darmo.

Jeśli chcesz mieć obok wartość 0-100, przeczytaj najpierw uwagi o ocenie backlinków. To nasz własny wskaźnik, więc nazewnictwo ma znaczenie.

Stany awaryjne i zachowanie interfejsu

Kody HTTP to te, które zwraca API; kolumna UI to nasza sugestia.
SygnałZnaczenieCo widzi użytkownikCo robisz
HTTP 401Brakujący lub błędny klucz'Dane linków niedostępne'Strona sama w sobie: błąd wdrożenia
HTTP 402Brak kredytów'Dane linków niedostępne'Doładuj USDT (TRC-20)
ok: falseŻądanie odrzuconeLink do ponowienia w liniiZaloguj domenę i akcję
Przekroczenie czasuProblemy z sieciąWartość z bufora, jeśli maszPonów raz, potem zwolnij

Utrzymanie licznika w stanie zgodnym z prawdą w wsparciu i logach

Licznik zawodzi cicho znacznie częściej niż głośno. Zaloguj wystarczająco dużo, aby odpowiedzieć na pytanie, które zada klient, i całkowicie wyeliminuj dane osobowe z logów. Krótkie linie wygrywają. Linia odpowiadająca na pytanie wsparcia oszczędza więcej czasu niż dowolne powiadomienie, jakie możesz napisać.

Większość wątków wsparcia dotyczących licznika to jedno z trzech pytań, więc zaplanuj log wokół nich. Trzymaj te trzy pytania w swojej instrukcji obsługi, obok kroków obracania klucza.

Co powinna rejestrować każda linia logu?

Akcję, domenę, kod statusu, wiek bufora i saldo kredytów, które zwrócono. Te pięć pól odpowiada na większość pytań wsparcia. Jeśli użytkownik pyta, dlaczego jego licznik pokazuje starą wartość, wiek bufora i miesiąc indeksu powiedzą Ci, czy problemem jest bufor, czy etykieta.

Pozostaw klucz API poza każdą linią, w tym śladami błędów. Zmaskuj go w loggerze, ponieważ jedna wyciekła linia może wyczerpać całe konto.

Jak wiedzieć, że licznik jest zdrowy każdego tygodnia?

Obserwuj trzy liczby: udział stanów niedostępnych, trend salda kredytów i wskaźnik trafień bufora. Nagły skok stanów niedostępnych zwykle wskazuje na problem z kluczem lub saldem. Wolny spadek salda zwykle wskazuje na zbyt specyficzny klucz bufora.

Każdy odczyt ma inne rozwiązanie, dlatego pojedynczy kafel dashboardu dla wszystkich trzech rzadko komuś pomaga. Umieść trzy odczyty w jednej linii w swoim cotygodniowym notatniku, z ostatnią wartością i zmianą od poprzedniego tygodnia. Liczby odczytywane izolowanie zapraszają do zgadywania, podczas gdy krótki trend utrzymuje rozmowę na tych samych faktach.