Rankift
RankiftĐăng ký

Công thức

Theo dõi backlink với bản diff hàng tuần, đọc xong trong một phút

Lấy, lưu trữ, so sánh, gửi. Toàn bộ công thức chỉ gồm một file Python, một thư mục chứa các file JSON có ngày tháng và một dòng cron.

Bench workshop với cờ lê nối hai bể nước và đồng hồ

Công thức, từ đầu đến cuối

  1. 1

    Tạo khóa

    Đăng nhập bằng Google, tạo khóa trên trang tài khoản và xuất nó dưới dạng RANKIFT_KEY. Đừng commit khóa này vào repo.

  2. 2

    Chọn hành động

    refdomains để diff ở cấp tên miền, đây là thứ hầu hết các cảnh báo cần. Chỉ dùng backlinks khi bạn cần URL và anchor text, với cùng chi phí 2 credit.

  3. 3

    Lưu trữ các bản chụp theo ngày

    Mỗi lần chạy tạo một file cho mỗi tên miền, đặt tên theo ngày. Disk rất rẻ, và các file cũ giúp bạn trả lời những câu hỏi mà chưa ai hỏi đến.

  4. 4

    Diff và gửi

    So sánh hai file mới nhất, in ra những tên miền đã mất và những tên miền mới xuất hiện, và thoát lặng lẽ nếu cả hai danh sách đều trống.

  5. 5

    Lên lịch chạy

    Cron vào sáng thứ Hai. Thêm thông báo khi có lỗi, vì một bộ giám sát im lặng còn tệ hơn là không có gì cả.

diff.py

Đã kiểm tra với các tham số được ghi trong tài liệu: action, q, per, page và key. Cấu trúc phản hồi khác nhau tùy theo hành động, vì vậy hãy in ra một phản hồi thực tế và đặt ROWS và ID cho khớp trước khi tin tưởng nó.

python
import json, os, sys, glob, urllib.parse, urllib.request

KEY, SITE = os.environ['RANKIFT_KEY'], 'https://rankift.com/api.php'
ROWS, ID = 'rows', 'domain'   # adjust after inspecting one response

def pull(domain):
    out, page = [], 1
    while True:
        qs = urllib.parse.urlencode({'action': 'refdomains', 'q': domain,
                                     'per': 1000, 'page': page, 'key': KEY})
        with urllib.request.urlopen(f'{SITE}?{qs}') as r:
            batch = json.load(r)[ROWS]
        out += batch
        if len(batch) < 1000 or page >= 5:   # five pages = 5,000 rows
            return out
        page += 1

domain, date = sys.argv[1], sys.argv[2]
json.dump(pull(domain), open(f'snap/{domain}-{date}.json', 'w'))

files = sorted(glob.glob(f'snap/{domain}-*.json'))
if len(files) > 1:
    old = {r[ID] for r in json.load(open(files[-2]))}
    new = {r[ID] for r in json.load(open(files[-1]))}
    lost, gained = sorted(old - new), sorted(new - old)
    if lost or gained:
        print(f'{domain}: -{len(lost)} +{len(gained)}')
        print('lost:', lost[:25])

Tại sao diff lại tốt hơn dashboard

Biểu đồ cho bạn thấy đường biểu đồ đã di chuyển. Diff cho bạn biết chính xác tên miền nào đã di chuyển, đó là thứ bạn có thể hành động dựa trên đó.

Các công cụ như Ahrefs và Semrush hiển thị các liên kết mới và đã mất trong giao diện của riêng chúng, và điều đó ổn cho công việc theo yêu cầu. Vấn đề bắt đầu khi bạn có năm mươi trang web và một chuyên gia phân tích, khi nghi thức hàng thứ Hai là mở từng dự án tiêu tốn cả buổi sáng.

Một script biến nghi thức đó thành một file. Nó cũng để lại một kho lưu trữ có ngày tháng, vì vậy vào tháng Ba, bạn có thể trả lời hồ sơ backlink trông như thế nào vào tháng Mười mà không cần xin nhà cung cấp xuất dữ liệu.

Dòng cron

Chạy lúc 07:00 giờ máy chủ vào thứ Hai và gửi bất kỳ đầu ra nào cho bạn qua email, đó là lý do tại sao script không in ra gì khi không có thay đổi.

bash
0 7 * * 1  cd /srv/linkwatch && for d in example.com rival-one.com rival-two.com; do python3 diff.py $d $(date +%F); done | mail -s 'link diff' your-team-list

Chi phí

1 credit là $0.0001. Mỗi lệnh gọi được tính phí một lần bất kể số lượng hàng, lên đến 1.000 hàng.
Thiết lậpLệnh gọi mỗi tuầnCredit mỗi tuầnMỗi năm
1 tên miền, dưới 1.000 tên miền trỏ về12khoảng $0.01
1 tên miền, 4.000 tên miền trỏ về48khoảng $0.04
Trang web của bạn và 5 đối thủ, mỗi trang 1612khoảng $0.06
50 trang web khách hàng, mỗi trang 150100khoảng $0.52
Người làm vườn tỉa bụi cây trong một khu vườn yên tĩnh với cái cuốc

Những điểm dễ mắc phải mà chúng tôi đã gặp, để bạn tránh

Các bản chụp chỉ thay đổi khi chỉ mục thay đổi. Chúng tôi làm mới khoảng hàng tháng, vì vậy hầu hết các lần chạy hàng tuần sẽ trả về một danh sách giống hệt nhau và không in ra gì. Đó là có chủ đích. Im lặng là kết quả mong đợi.

Phân trang sâu bị giới hạn ở 50.000 hàng, và giới hạn năm trang trong script giữ bạn ở mức thấp hơn nhiều so với giới hạn đó. Các tên miền lớn cần một kế hoạch khác: sắp xếp với sort và order=desc trên một trường mà hành động chấp nhận, và dừng sớm khi các hàng không còn thú vị nữa.

Chạy lần kéo dữ liệu đầu tiên bằng tay và đọc JSON. Kiểm tra các tên trường. Sau đó so sánh số lượng hàng với tổng số tên miền trỏ về từ một phản hồi của hành động overview miễn phí, nếu phản hồi đó có chứa thông tin đó.

Xử lý HTTP 401 và 402 một cách rõ ràng, vì 401 có nghĩa là khóa không đúng và 402 có nghĩa là số dư đã hết. Cả hai đều cần được đưa vào thông báo lỗi của bạn. Khi một diff kích hoạt, hãy làm theo sách hướng dẫn xử lý backlink mất trong giờ đầu tiên.

Đo lường chiến dịch mua backlink, từng bản chụp một

Mua backlink mà không có điểm chuẩn là một cách phổ biến để kết thúc với một con số không thể bảo vệ. Hãy lấy bản chụp trước khi vị trí đầu tiên được triển khai, và giữ nó bên cạnh mọi bản chụp tiếp theo.

Sau đó, so sánh các tên miền trỏ về, không phải số lượng thô, vì một tên miền quyên góp có thể chứa nhiều liên kết. Mỗi hàng mới trong diff là một trang web mà bạn có thể mở và kiểm tra thủ công.

Một chiến dịch trông phẳng trong một tháng không phải là thất bại tự động. Việc làm mới chỉ mục diễn ra chậm, vì vậy diff sẽ chậm hơn những gì đã xảy ra trên các trang web thực tế, và độ trễ đó là một phần của phương pháp.

Làm thế nào để đo lường xem backlink mua có hiệu quả không?

Bắt đầu từ ngày đặt vị trí đầu tiên và tìm kiếm các hàng tên miền quyên góp xuất hiện sau đó. Chỉ đếm những hàng vẫn còn trong hai bản chụp tiếp theo. Sau đó, đối chiếu số lượng đó với số tiền bạn đã trả cho các vị trí, và ghi lại kết quả bên cạnh các ngày.

Bản chụp trước khi mua nên chứa gì?

Danh sách đầy đủ các tên miền trỏ về, được lưu dưới cùng định dạng file với mọi lần chạy sau, với ngày và tên miền trong tên file. Một điểm chuẩn ở định dạng khác không thể diff được, và đó là sai lầm duy nhất bạn không thể sửa chữa sau đó.

Thám tử sắp xếp lá trên mặt đất với kính lúp

Một tuần nhiều nhiễu trông như thế nào trong diff

Một tuần với hàng nghìn hàng mới không phải lúc nào cũng là khủng hoảng. Thường đó là các trang web scraper. Chúng sao chép các trang, và các bản sao tạo ra các liên kết mà không ai đặt. Hãy kiểm tra tên miền quyên góp trước khi bạn giả định bất cứ điều gì về trang web của mình.

Sắp xếp các hàng mới theo chất lượng tên miền quyên góp trước khi đọc chúng. Hầu hết danh sách thường là nhiễu, và một cái nhìn ngắn vào các hàng đầu cho bạn biết liệu sự tăng đột biến có đáng dành phần còn lại của buổi sáng của bạn hay không.

Nếu các hàng là các trang scraper, hãy ghi lại số lượng và chuyển sang bước khác. Nếu đó là các trang web thực có liên kết đến các trang tiền của bạn, hãy làm theo các bước phân loại.

Tại sao diff lại hiển thị các khoản lợi từ spam?

Bởi vì diff báo cáo những gì đã xuất hiện trong chỉ mục, không phải những gì một người chọn. Spam mà chỉ mục đã thu thập sẽ trông giống hệt một liên editorial cho đến khi bạn mở trang tên miền quyên góp và đọc nó.

Tôi nên xem xét các ứng viên disavow thường xuyên như thế nào?

Hàng tháng phù hợp với nhịp điệu của chỉ mục hơn là hàng ngày. Việc xem xét hàng ngày chủ yếu hiển thị lại cùng một danh sách, trong khi việc xem xét hàng tháng cho phép mỗi ứng viên có thời gian được thu thập lại trước khi bạn đánh giá nó. Trang phân loại liên kết spam có các bước ra quyết định.

Trước khi tin tưởng diff đầu tiên

  • Lần kéo dữ liệu đầu tiên đã được đọc thủ công, từng hàng một, ít nhất cho một trang.
  • Các tên trường khớp với các hằng số ở đầu script.
  • Cả 401 và 402 đều làm hỏng công việc một cách rõ ràng, không phải lặng lẽ.
  • Thư mục bản chụp được sao lưu hoặc đồng bộ hóa ở đâu đó mà bạn có thể khôi phục từ đó.
  • Ai đó khác với tác giả đã thấy cảnh báo đầu tiên và đồng ý rằng nó đáng để gửi một thông báo.

Giữ kho lưu trữ bản chụp hữu ích trong một năm

Giữ mọi file có ngày tháng, bao gồm cả những file trông không thay đổi. Một năm các bản chụp hàng tuần chiếm rất ít dung lượng disk, và nó trả lời những câu hỏi mà chưa ai hỏi đến, chẳng hạn như khi một tên miền quyên góp xuất hiện lần đầu.

Đặt tên file nhất quán, với tên miền, ngày và hành động. Các tên khác nhau khiến script diff chọn sai cặp, và một cặp sai tạo ra một cảnh báo tự tin và sai lầm.

Nén các file cũ hơn mỗi quý nếu không gian quan trọng. Giữ mười hai file mới nhất chưa được nén, để công việc hàng tuần không bao giờ chờ đợi một kho lưu trữ.

Làm thế nào để tìm bản chụp đầu tiên mà một tên miền quyên góp xuất hiện?

Sắp xếp các file có ngày theo tên, sau đó tìm kiếm từng file cho tên miền quyên góp cho đến khi tìm thấy kết quả đầu tiên. Một vòng lặp ngắn thực hiện điều này trong vài dòng, và kết quả chỉ tốt như cách đặt tên bạn đã giữ từ đầu.

Tôi nên xóa cái gì và giữ cái gì?

Giữ mọi bản chụp mà một quyết định dựa vào, cùng với bản đầu tiên và cuối cùng của mỗi tháng. Chỉ xóa những bản còn lại sau khi kho lưu trữ đã được kiểm tra, vì một file đã xóa không thể trả lời một câu hỏi sau này.

Gửi diff đến nơi mọi người đã đọc

Một diff rơi vào một thư mục chưa đọc thì không có giá trị. Chia sẻ tốt hơn riêng tư. Gửi kết quả đến kênh mà nhóm của bạn đã theo dõi, và giữ thông báo đủ ngắn để hành động trong một cái nhìn.

Một thông báo tốt nêu rõ tên miền, số lượng hàng mất và hàng mới, và bước đầu tiên. Nó loại bỏ danh sách đầy đủ, thuộc về file đính kèm.

Sự im lặng trong một tuần yên tĩnh là một phần của thiết kế. Nếu không có gì thay đổi, không ai cần một lời nhắc nhở rằng không có gì thay đổi. Hãy giữ như vậy. Kênh vẫn dễ đọc cho cảnh báo thực sự tiếp theo.

Thông báo nên chứa gì?

Ba thứ: tên tên miền quyên góp hoặc đối thủ, hai số đếm và một liên kết đến file đã lưu. Khi có điểm số được đính kèm, hãy thêm Domain Rating cao nhất trong các hàng mới, vì một tên miền mạnh thay đổi ưu tiên hơn mười tên miền yếu.

Ai nhận thông báo lỗi?

Ai đó có thể sửa công việc, không chỉ ai đó đọc các thông báo. Một lỗi 401 cần một khóa mới, và một lỗi 402 cần nạp tiền từ trang tài khoản. Không cái nào được giải quyết bằng cách chờ đến thứ Hai tiếp theo.

Mở rộng nó

Thay thế refdomains bằng backlinks khi cảnh báo cần URL tên miền quyên góp và anchor text. Hãy nhớ chi phí hai credit giống nhau.

Thêm bulk_dr để chấm điểm mọi tên miền mới, với một credit cho mỗi lệnh gọi lên đến 2.000 tên miền. Sau đó, thông báo của bạn có thể nói "3 mới, DR tốt nhất 72" thay vì một danh sách trống.

Đối với Google Sheets, chuỗi truy vấn tương tự hoạt động trong Apps Script với UrlFetchApp. Và đối với các đối thủ, hãy sử dụng các ngưỡng từ cảnh báo backlink đối thủ.