Bỏ qua để đến nội dung
SEO Tools AI
SEO Tools AIĐăng ký

Công thức

Đồng bộ điểm liên kết từ bảng tính hoặc n8n

Hầu hết các thư mục công cụ đều được lưu trữ trong bảng tính, cơ sở dữ liệu Airtable hoặc một cơ sở dữ liệu nhỏ. Công thức này biến việc kiểm tra backlink thành việc điền dữ liệu vào cột: một yêu cầu cho mỗi 2.000 hàng.

Đội ngũ nghiên cứu của SEO Tools AI ·

Công nhân cắt giấy xây dựng một cây cầu nối một tủ hồ sơ với một con đường

Công thức gồm năm bước

01

Xuất các tên miền

Lấy cột tên trang web từ danh sách của bạn, loại bỏ giao thức và đường dẫn, sau đó xóa các bản trùng lặp. Các bản trùng lặp không tốn thêm chi phí nhưng sẽ làm rối bước ánh xạ.

02

Chia thành các nhóm 2.000

bulk_dr chấp nhận tối đa 2.000 tên miền mỗi lần gọi. Do đó, bảng tính có 5.000 hàng sẽ cần ba lần gọi.

03

Gửi, kiểm tra ok

Gọi API, đọc JSON và dừng lại nếu ok là false. Ghi lại _credits để bạn có thể xem số dư sau mỗi lần chạy.

04

Ghi lại kèm ngày

Lưu điểm đánh giá và ngày hôm nay vào hai cột. Không bao giờ ghi đè một giá trị tốt bằng giá trị rỗng.

05

Lên lịch chạy một lần mỗi tháng

Chạy vào ngày mùng 1 hàng tháng. Chỉ số thay đổi khoảng mỗi tháng, nên chạy thường xuyên hơn sẽ không mang lại lợi ích gì.

Chọn cách kích hoạt công việc

Bộ kích hoạt quyết định tần suất các lần gọi, vì vậy hãy chọn nó trước khi xây dựng ánh xạ. Hai cách kích hoạt sẽ đáp ứng hầu hết các trường hợp của thư mục.

Lịch trình vào ngày mùng 1 hàng tháng là tùy chọn đơn giản nhất. Nó phù hợp với nhịp độ của chỉ số, và không ai phải nhớ nhấn nút.

Lịch trình cho lần cập nhật hàng tháng

Đặt bộ kích hoạt lịch trình ở đầu, đặt nó vào ngày đầu tiên của mỗi tháng và để nó đọc toàn bộ bảng danh sách. Mỗi lần chạy sẽ tạo ra một lô các lệnh gọi bulk_dr, có kích thước dựa trên số hàng.

Giữ lịch trình ngay cả khi bảng nhỏ. Một công việc hàng tháng chạy trên bảng nhỏ chỉ tốn một credit, và nó giúp các điểm đánh giá luôn có ngày và cập nhật.

Bộ kích hoạt cho mỗi hàng mới

Giả sử các danh mục xuất hiện từng cái một, vài ngày một lần. Một bộ kích hoạt kích hoạt cho mỗi hàng mới rất hấp dẫn, nhưng mỗi lần gọi đều được tính phí riêng, nên chi phí cho một lần gọi mỗi hàng sẽ cao hơn một lô cho cả tháng.

Nếu bạn muốn có điểm nhanh chóng, hãy để luồng hàng mới ghi một giá trị dr trống và để lần chạy hàng tháng điền vào đó. Hàng sẽ có số điểm mà không cần một lệnh gọi cho mỗi lần xuất hiện.

Nếu các danh mục xuất hiện theo từng đợt, hãy nhóm các hàng mới thành một lô vào cuối tuần. Điều đó chỉ tốn một lần gọi, và bảng tính sẽ không chỉ thay đổi một lần mỗi tháng.

Một ngày đánh dấu các hàng đã hoàn thành

Lưu dr_checked_on trên mọi hàng bạn chấm điểm. Một lần chạy bắt đầu với bộ lọc theo ngày đó sẽ bỏ qua những gì đã được thực hiện trong tháng này, và không cần hàng đợi riêng.

Khi một lần chạy dừng lại giữa chừng, các hàng đã được đánh dấu vẫn giữ nguyên trạng thái đó. Lần chạy tiếp theo sẽ tiếp nối từ điểm mà lần chạy trước kết thúc, đây là cách khôi phục hiệu quả nhất về chi phí.

Trước khi tự động hóa bất cứ điều gì

Hãy chạy kiểm tra thủ công trên năm danh sách trước. Sử dụng hành động overview miễn phí cho từng danh sách, hành động này không cần khóa API, và so sánh những gì bạn thấy với những gì bạn mong đợi.

Điều này giúp phát hiện sớm những bất ngờ phổ biến: một danh sách trỏ đến một tên miền phụ, một sản phẩm nằm trên một đường dẫn của một trang web lớn hơn, một tên miền đã chuyển hướng vào mùa xuân năm ngoái. Điểm đánh giá thuộc về một tên miền, không phải một sản phẩm.

Quyết định cách bảng tính của bạn đánh dấu những trường hợp đó, ví dụ với một cột ghi chú có nội dung shares domain. Người đọc sẽ dễ dàng chấp nhận một chú thích hơn là một điểm số trông có vẻ sai lệch.

Khi năm danh sách trông hợp lý, hãy chuyển sang quy trình hàng loạt. tham chiếu trường của bạn liệt kê các cột, và ví dụ về chi phí cho biết chi phí của một lần chạy là bao nhiêu.

Một phiên bản Python nhỏ

Cần gói requests. Đây là bản phác thảo về cấu trúc của công việc: in ra một phản hồi thực tế trước, sau đó ánh xạ các trường bạn cần vào các cột của riêng bạn.

python
import csv, requests

KEY = "sk_live_..."
BASE = "https://seotoolsai.org/api.php"

rows = list(csv.DictReader(open("listings.csv")))
domains = sorted({r["domain"] for r in rows})

for i in range(0, len(domains), 2000):
    chunk = domains[i:i + 2000]
    r = requests.post(BASE, params={"action": "bulk_dr", "key": KEY},
                      data={"domains": ",".join(chunk)}, timeout=60)
    if r.status_code in (401, 402):
        raise SystemExit(f"stop: HTTP {r.status_code}")
    data = r.json()
    if not data.get("ok"):
        raise SystemExit("api said not ok")
    print(data["_credits"])   # cost and remaining balance
    open(f"raw_{i}.json", "w").write(r.text)
Bánh răng giấy và băng tải phân loại các khối thành các nhóm

Thực hiện trên Google Sheets hoặc n8n

Sheets có thể gọi một URL từ Apps Script bằng UrlFetchApp, và n8n có một nút HTTP Request. Cả hai đều thực hiện cùng một chức năng như kịch bản ở trên.

Trong n8n, hãy đặt một trigger theo lịch trình trước, sau đó là một nút đọc bảng tính hoặc bảng dữ liệu của bạn, rồi đến một bước chia nhỏ mục để tạo các nhóm gồm 2000 mục, sau đó là nút HTTP Request. Thêm một nút cuối cùng để ghi lại điểm đánh giá và ngày tháng.

Giữ khóa trong kho lưu trữ thông tin xác thực của nền tảng, không phải trong văn bản quy trình làm việc. Các quy trình làm việc thường được chia sẻ, sao chép và dán vào các diễn đàn, và một khóa được dán cùng với chúng sẽ khiến bạn mất tiền.

Không cần mã hoặc một kịch bản: hình thức nào phù hợp với nhóm của bạn

Cả hai phương thức đều thực hiện cùng một lệnh gọi. Sự khác biệt nằm ở việc ai sẽ phải duy trì quy trình này sau một năm, và mức độ dễ dàng khi giải thích nó cho người đó.

Hãy chọn hình thức mà bạn vẫn có thể đọc hiểu sau một khoảng thời gian nghỉ dài. Một quy trình thông minh nhưng không ai hiểu rõ còn tệ hơn một kịch bản đơn giản mà bất kỳ ai cũng có thể theo dõi.

Một quy trình mà bạn có thể giải thích cho biên tập viên tiếp theo

Một quy trình n8n ngắn gọn với bốn nút được gắn nhãn rất dễ dàng để bàn giao: trigger, đọc, batch, ghi lại. Đặt tên cho mỗi nút dựa trên chức năng của nó, không phải dựa trên nhãn mặc định.

Tránh xếp chồng nhiều nhánh cho các trường hợp ngoại lệ. Mỗi nhánh là một nơi thêm mà một tên miền có thể nhận được điểm số không chính xác.

Khi một kịch bản xứng đáng có chỗ đứng

Một kịch bản có ý nghĩa khi đầu vào là một thư mục chứa các tệp CSV, hoặc khi công việc cần logic mà một quy trình làm việc xử lý một cách gượng gạo. Bản phác thảo ở trên phù hợp với trường hợp đó.

Đặt kịch bản vào hệ thống kiểm soát phiên bản và giữ khóa trong một biến môi trường. Một kịch bản đọc khóa từ một tệp trong cùng thư mục là một lỗ hổng chờ đợi một ổ đĩa chia sẻ.

Các hướng dẫn bỏ qua phần khó khăn

Nhiều video hiển thị một quy trình làm việc hoạt động ngay từ lần đầu tiên với ba hàng. Các danh sách thực tế có các giá trị trống, trùng lặp và các tên miền kỳ lạ, và đó là nơi quy trình làm việc cần được chú ý.

Hãy xây dựng quy trình làm việc trên năm hàng kiểm tra của riêng bạn trước. Nếu một hướng dẫn không thể tồn tại với những hàng đó, thì hướng dẫn đó chưa bao giờ là toàn bộ công việc.

Khi bạn bàn giao quy trình làm việc cho người khác, hãy bao gồm năm hàng kiểm tra làm mẫu. Người tiếp theo có thể thấy một lần chạy tốt trông như thế nào trước khi chạm vào dữ liệu thực.

Ý nghĩa của các lỗi

Cách hoạt động của API và những gì một tác vụ đồng bộ nên làm.
Tín hiệuÝ nghĩaTác vụ thực hiện gì
HTTP 401Thiếu hoặc sai khóaDừng lại, thông báo cho người
HTTP 402Hết tín dụngDừng lại, giữ điểm số cũ, nạp thêm
ok là falseLời gọi không thành côngGhi log phần thân, thử lại ở lần chạy tiếp theo
Kết quả trống cho một tên miềnKhông có trong chỉ mụcĐể trống ô
Người làm vườn bằng giấy thẳng hàng một thân cây cong trong vườn

Giữ bảng sạch sẽ giữa các lần chạy

Một tác vụ đồng bộ chỉ tốt như bảng nó ghi vào. Một vài thói quen ngăn ngừa sự hư hại tích tụ chậm rãi giữa các lần chạy.

Hầu hết các vấn đề bắt đầu từ một chỉnh sửa vô hại: một cột được chèn lên trên điểm số, hoặc một hàng được sao chép làm thay đổi tên miền một cách âm thầm.

Giữ các phản hồi thô trong một tab riêng

Lưu trữ mỗi phản hồi thô trong một tab riêng, hoặc dưới dạng JSON Lines với một phản hồi mỗi dòng. Bản sao này cho phép bạn xây dựng lại các cột hiển thị mà không cần một cuộc gọi trả phí thứ hai.

Một tab thô cũng trả lời câu hỏi mà một biên tập viên hỏi sáu tháng sau: API đã trả về gì vào ngày đó.

Đặt tên cho mỗi tab thô theo ngày lô, để các bản sao sắp xếp theo thứ tự khi bạn cuộn qua chúng.

Khóa hàng tiêu đề

Đóng băng hàng tiêu đề và không bao giờ chèn một cột lên trên điểm số. Một ánh xạ trỏ đến cột F sẽ đọc dữ liệu sai sau khi chèn, và nó sẽ làm vậy mà không có lỗi nào.

Đặt tên cho các cột trong ánh xạ, không phải theo vị trí. Một tên tồn tại khi sắp xếp lại, còn vị trí thì không.

Đếm số hàng trước và sau

Viết số lượng hàng vào log trước khi chạy và một lần nữa sau khi chạy. Hai con số chỉ nên khác nhau bởi số hàng bạn dự định thêm, và một khoảng trống cho bạn biết điều gì đó đã sai.

Sắp xếp bảng theo cột điểm số một lần một tháng và xem xét các hàng đầu và cuối. Các giá trị bất thường ở đó thường chỉ ra một tên miền đã được ánh xạ vào danh sách sai.

Kiểm thử trên một bản sao trước

Sao chép bảng và chạy luồng trên bản sao trước khi chạm vào bảng thật. Một bản sao không tốn gì để tạo.

Một ánh xạ xấu ghi đè lên điểm số trực tiếp rất khó hoàn tác, vì các giá trị cũ đã biến mất. Hãy giữ bản sao cho đến khi lần chạy trung thực đầu tiên khớp với những gì bạn mong đợi.

Chỉ xóa bản sao sau khi lần chạy theo lịch trình thứ hai đã khớp với nó. Hai lần chạy sạch liên tiếp là một tín hiệu tốt hơn một lần.

Trước lần chạy trực tiếp đầu tiên

  • Khóa nằm trong kho lưu trữ thông tin xác thực của nền tảng hoặc một biến môi trường, không nằm trong văn bản quy trình.
  • Một cuộc gọi overview miễn phí đã được kiểm tra thủ công so với một danh sách bạn biết.
  • Lượt chạy đã được kiểm tra trên một bản sao của bảng, và bản sao khớp với những gì bạn mong đợi.
  • Tác vụ ghi ngày bên cạnh mỗi điểm số mà nó chạm vào.
  • Trạng thái 401 và 402 dừng tác vụ và gửi tin nhắn cho một người.

Câu hỏi đồng bộ

Làm thế nào để tránh trả tiền hai lần nếu tác vụ bị sập giữa chừng?

Ghi ngày bên cạnh mỗi điểm số khi bạn đi, và có lần chạy tiếp theo bỏ qua các hàng đã được đóng dấu trong tháng này. Các khối 2.000 nghĩa là một vụ sập chỉ tốn tối đa một tín dụng, vì vậy rủi ro rất nhỏ, nhưng thói quen giữ cho bảng sạch sẽ.

Một người không phải lập trình viên có thể thiết lập điều này không?

Hầu hết là có. Một nút HTTP Request trong n8n hoặc Make chỉ cần một URL, một khóa và một danh sách. Phần tinh vi là chuyển đổi phản hồi thành các cột, vì vậy hãy thực hiện một cuộc gọi kiểm tra và xem JSON trước khi xây dựng ánh xạ.