AlfaLinks
AlfaLinksĐăng ký

Hướng dẫn thiết lập

Bộ đếm backlink cho bảng điều khiển SaaS, từng bước một

Một bộ đếm hoạt động cần một tuyến máy chủ và một thành phần nhỏ. Hướng dẫn này xây dựng cả hai, bao gồm các trạng thái lỗi mà hầu hết các phiên bản đầu tiên thường bỏ qua.

Thợ thủ công lắp ráp năm bánh răng cơ khí trên bàn làm việc bằng gỗ đại diện cho các bước bảng điều khiển
Phạm vi của hướng dẫn này

Chúng tôi giả định một backend Node hoặc Python và bất kỳ khung giao diện người dùng nào. Mọi yêu cầu dưới đây đều truy cập vào API được tài liệu hóa, và URL cơ sở là của chính thương hiệu bạn: alfalinks.net/api.php.

Năm bước, theo thứ tự chúng tôi sẽ triển khai

01

1. Tạo khóa và lưu trữ nó dưới dạng bí mật

Đăng nhập bằng Google tại /auth/google.php, sao chép khóa sk_ từ trang tài khoản và đặt nó vào môi trường máy chủ của bạn. Frontend sẽ không bao giờ thấy nó.

02

2. Thêm một tuyến proxy

Tiếp xúc với thứ gì đó giống như /internal/links?domain=... xác thực tên miền, gọi API của chúng tôi và chỉ trả về các trường mà giao diện người dùng của bạn sử dụng. Việc xác thực rất quan trọng vì người dùng có thể nhập bất kỳ thứ gì.

03

3. Bắt đầu với hành động miễn phí

Hành động overview không tốn phí, vì vậy phiên bản đầu tiên của bộ đếm hoàn toàn không có rủi ro về thanh toán. Chuyển sang các hành động trả phí khi một màn hình cần chúng.

04

4. Hiển thị ba trạng thái

Đang tải, dữ liệu và không khả dụng. Không khả dụng bao gồm HTTP 401, HTTP 402 và lỗi mạng, và nó không bao giờ được hiển thị số không.

05

5. Thêm nhãn độ tươi mới

Chỉ mục của chúng tôi được làm mới khoảng hàng tháng. Một dòng màu xám ghi 'dữ liệu backlink được cập nhật hàng tháng' sẽ ngăn chặn phiếu hỗ trợ bắt đầu bằng 'Tôi đã thêm một backlink vào hôm qua'.

Tuyến proxy, bằng Node

Đủ ngắn để đọc trong một màn hình. Bộ nhớ cache là một Map đơn giản ở đây; hãy thay thế bằng Redis khi bạn chạy nhiều hơn một quy trình.

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);
});
Người làm vườn sử dụng một chiếc lưới rộng để bắt một đàn chim đại diện cho các yêu cầu tên miền hàng loạt

Thêm huy hiệu DR khi bộ đếm đã hoạt động

Bộ đếm là nửa dễ dàng. Huy hiệu cần một cuộc gọi bổ sung.

Đối với một bảng tên miền khách hàng, hãy gửi một yêu cầu bulk_dr duy nhất với tối đa 2.000 tên miền thay vì một cuộc gọi cho mỗi hàng. Nó tốn 1 tín dụng bất kể số hàng, và phản hồi ánh xạ mỗi tên miền với số 0-100 của nó, thứ mà bạn lưu bên cạnh bản xem trước đã lưu trong bộ nhớ cache.

Khớp tên miền trên tên máy chủ đã được chuẩn hóa. Loại bỏ lược đồ, đường dẫn và www ở đầu, nếu không một nửa số hàng của bạn sẽ bỏ lỡ việc tra cứu và hiển thị khoảng trống.

Đọc ghi chú về điểm số để biết cách ghi nhãn, và công thức bộ nhớ cache để biết TTL cho các cuộc gọi này.

Hiển thị giá trị trước, sau đó yêu cầu thiết lập

Người dùng mới hiếm khi đọc trang thiết lập. Họ muốn xem liệu tính năng này có đáng công sức hay không, và một bộ đếm backlink hiển thị một con số thực tế sẽ trả lời nhanh hơn bất kỳ biểu mẫu nào. Đặt giá trị lên trước. Cấu hình đến sau.

Vì hành động xem miễn phí không cần khóa, màn hình đầu tiên của bạn có thể hiển thị một con số trước khi người dùng đã cấu hình bất cứ thứ gì.

Lượt hiển thị đầu tiên cần gì?

Chỉ một tên miền và một cuộc gọi miễn phí. Hãy tưởng tượng một người dùng mới nhập trang web của chính họ vào quá trình khởi tạo và thấy bộ đếm xuất hiện trong cùng một lượt xem trang. Con số duy nhất đó giúp bắt đầu thiết lập hiệu quả hơn nhiều so với một danh sách các bước, vì vậy hãy giữ phần còn lại của quá trình thiết lập ở phía sau nó.

Người dùng thấy những gì họ sẽ nhận được trước khi bất kỳ ai yêu cầu một thẻ, một khóa hoặc một biểu mẫu thứ hai. Không có gì trong lượt hiển thị đầu tiên trông giống như một cổng.

Nơi đặt lời nhắc thiết lập?

Ngay sau con số, không phải trước nó. Một dòng ngắn như 'Kết nối một tên miền để theo dõi điều này mỗi tháng' phù hợp dưới bộ đếm. Nếu cùng một lời nhắc nằm trên con số, người dùng sẽ đọc nó như một cổng và rời đi.

Theo dõi những người dùng hoàn thành từng bước thiết lập. Một phễu nhỏ cho thấy nơi mọi người dừng lại, và một thay đổi về cách diễn đạt thường làm thay đổi con số đó nhiều hơn một tính năng mới.

Kiểm tra trước khi ra mắt

Kiểm tra các đường dẫn không thuận lợi trước. Các đường dẫn thuận lợi tự kiểm tra chính chúng.

Thu hồi khóa trong môi trường staging và xác nhận thẻ hiển thị 'không khả dụng' thay vì số không. Sau đó, làm cạn một số dư thử nghiệm để kích hoạt lỗi 402, và dán một đầu vào không hợp lệ chẳng hạn như một tên miền có lược đồ và đường dẫn cuối, để chứng minh trình xác thực từ chối nó trước khi bất kỳ tín dụng nào được chi tiêu.

Một bài kiểm tra khói ngắn gọn thuộc về CI. Một cuộc gọi overview miễn phí trên nytimes.com, chạy hàng đêm, cho bạn biết tuyến và khóa vẫn hoạt động.

Ba chìa khóa sắt treo trên một cánh cửa gỗ sồi nặng đại diện cho các quy tắc truy cập và giới hạn tên miền

Ai có thể tra cứu tên miền nào, và với chi phí bao nhiêu

Một bộ đếm chấp nhận bất kỳ chuỗi nào là một cánh cửa mở vào số dư của bạn. Quyết định ai có thể yêu cầu gì trước khi tuyến đi vào hoạt động, và viết câu trả lời vào mã thay vì một trang wiki mà không ai mở.

Ba câu hỏi xuất hiện mỗi lần: tên miền nào, giới hạn nào, và khóa nằm ở đâu.

Những tên miền nào người dùng được phép nhập?

Chỉ những tên miền mà workspace có quyền sở hữu, cùng với bất kỳ lượt tra cứu công cộng nào bạn đã chọn cung cấp. Giả sử một workspace sở hữu hai trang web. Tuyến có thể chấp nhận hai cái đó và từ chối bất kỳ cái nào khác với một thông báo rõ ràng, điều này giữ cho một tenant không chi tiêu tín dụng cho các tên miền không thuộc về họ.

Kiểm tra tên máy chủ trong tuyến là mức tối thiểu. Nó chứng minh đầu vào trông giống như một tên miền, không phải người dùng sở hữu nó, vì vậy hãy giữ danh sách yêu cầu trong cơ sở dữ liệu của riêng bạn dưới dạng một bảng riêng biệt.

Làm thế nào để ngăn một người dùng làm cạn số dư?

Đặt một hạn ngạch cho mỗi workspace trong kho lưu trữ của riêng bạn và đếm các cuộc gọi tại đó. Số dư ở phía chúng tôi là một pool trả trước duy nhất, vì vậy nó không thể cho bạn biết khách hàng nào đã chi tiêu bao nhiêu. Các ghi chú trang tra cứu bao gồm mặt công cộng của cùng một vấn đề đó. Khi một workspace đạt đến giới hạn của nó, hãy trả về một thông báo đơn giản và để bộ nhớ cache tiếp tục trả lời bằng những gì nó đã lưu.

Chọn giới hạn từ phép tính trong các ghi chú trên mỗi ghế, không phải từ một phỏng đoán, và xem lại nó khi một gói thay đổi. Kiểm tra tuyến với một workspace thứ hai trước khi bạn tin tưởng vào hạn ngạch.

Trình duyệt có bao giờ giữ khóa không?

Không. Khóa nằm trên máy chủ của bạn, và trình duyệt gọi tuyến của bạn. Sự phân tách đó cũng là thứ cho phép một hạn ngạch có thể thực hiện được, vì mọi cuộc gọi được tính phí đều đi qua mã mà bạn kiểm soát. Nếu một khóa xuất hiện trong một gói được gửi đi, hãy xoay nó vào cùng ngày đó và kiểm tra nhật ký số dư cho các cuộc gọi bạn không thực hiện. Một số nhóm lưu trữ khóa trong một tệp cấu hình mà frontend đọc vào thời gian xây dựng, và tệp đó kết thúc trong gói. Giữ khóa ra khỏi bất kỳ thứ gì mà bước xây dựng có thể thấy, và kiểm tra các tệp đã gửi trước mỗi lần phát hành.

Các hành động miễn phí có thể được gọi từ một trang công cộng mà không cần khóa, và đó là trường hợp duy nhất mà trình duyệt có thể nói trực tiếp với API.

Bộ đếm nên nói gì, và không nên nói gì

Nói ít hơn những gì bạn biết. Một bộ đếm được gắn nhãn 'backlink' sẽ mời gọi câu hỏi 'tại sao Ahrefs hiển thị một con số khác?', và câu trả lời trung thực là hai trình thu thập dữ liệu nhìn thấy hai lát cắt khác nhau của web.

Gắn nhãn con số với nguồn gốc và tháng của nó thay vào đó. Một thứ gì đó như 'Tên miền trỏ đến, chỉ mục AlfaLinks, tháng 10 năm 2026' dài hơn, nhưng nó kết thúc tranh luận trước khi nó bắt đầu và nó đọc tốt trong một thẻ nhỏ.

Làm tròn để hiển thị. Một người dùng thấy 12.481 vào thứ Hai và 12.481 vào thứ Sáu sẽ tin tưởng công cụ hơn một người thấy sự biến động, và việc làm mới hàng tháng của chúng tôi mang lại cho bạn sự ổn định đó miễn phí.

Nếu bạn muốn số 0-100 bên cạnh nó, hãy đọc các ghi chú về điểm số backlink trước. Đó là chỉ số của riêng chúng tôi, vì vậy việc đặt tên rất quan trọng.

Các trạng thái lỗi và giao diện người dùng thực hiện

Mã HTTP là những mã mà API trả về; cột UI là đề xuất của chúng tôi.
Tín hiệuÝ nghĩaNgười dùng thấy gìBạn làm gì
HTTP 401Thiếu hoặc khóa không đúng'Dữ liệu backlink không khả dụng'Tự kiểm tra: lỗi triển khai
HTTP 402Hết tín dụng'Dữ liệu backlink không khả dụng'Nạp lại bằng USDT (TRC-20)
ok: falseYêu cầu bị từ chốiLiên kết thử lại nội tuyếnGhi nhật ký tên miền và hành động
Hết thời gian chờSự cố mạngGiá trị đã lưu trong bộ nhớ cache nếu bạn cóThử lại một lần, sau đó giảm tần suất

Giữ bộ đếm trung thực trong hỗ trợ và nhật ký

Một bộ đếm thất bại thầm lặng thường xuyên hơn nhiều so với thất bại ồn ào. Ghi nhật ký đủ để trả lời câu hỏi tiếp theo mà khách hàng hỏi, và giữ dữ liệu cá nhân ra khỏi nhật ký hoàn toàn. Các dòng ngắn thắng thế. Một dòng trả lời một câu hỏi hỗ trợ tiết kiệm nhiều thời gian hơn bất kỳ cảnh báo nào bạn có thể viết.

Hầu hết các luồng hỗ trợ về một bộ đếm là một trong ba câu hỏi, vì vậy hãy lập kế hoạch nhật ký xung quanh chúng. Giữ ba câu hỏi đó trong sổ tay vận hành của bạn, bên cạnh các bước xoay khóa.

Mỗi dòng nhật ký nên ghi lại gì?

Hành động, tên miền, mã trạng thái, tuổi bộ nhớ cache và số dư tín dụng trả về. Năm trường đó trả lời hầu hết các câu hỏi hỗ trợ. Giả sử một người dùng hỏi tại sao bộ đếm của họ hiển thị một con số cũ. Tuổi bộ nhớ cache và tháng chỉ mục cho bạn biết vấn đề là do bộ nhớ cache hay nhãn.

Để khóa API ra khỏi mọi dòng, bao gồm cả dấu vết lỗi. Ẩn nó ở trình ghi nhật ký, vì một dòng bị rò rỉ có thể làm cạn toàn bộ tài khoản.

Làm thế nào để bạn biết bộ đếm khỏe mạnh mỗi tuần?

Theo dõi ba con số: tỷ lệ trạng thái không khả dụng, xu hướng số dư tín dụng và tỷ lệ命中 bộ nhớ cache. Một sự nhảy vọt đột ngột trong các trạng thái không khả dụng thường chỉ ra một vấn đề về khóa hoặc số dư. Một sự giảm chậm trong số dư thường chỉ ra một khóa bộ nhớ cache quá cụ thể.

Mỗi lần đọc có một cách sửa khác nhau, đó là lý do tại sao một ô bảng điều khiển đơn lẻ cho cả ba hiếm khi giúp ích cho ai đó. Đặt ba lần đọc trên một dòng trong ghi chú hàng tuần của bạn, với giá trị cuối cùng và sự thay đổi kể từ tuần trước. Các con số được đọc riêng lẻ mời gọi những phỏng đoán, trong khi một xu hướng ngắn giữ cuộc trò chuyện trên cùng một sự thật.