Rankift
RankiftKaydol

Tarif

Bir dakikada okuyabileceğiniz haftalık bir fark geri bağlantı takibi

Çek, sakla, karşılaştır, gönder. Tüm tarif bir Python dosyasından, tarihli JSON klasöründen ve bir cron satırından oluşur.

İki su tankını ve bir saati bağlayan bir anahtarla tezgah

Tarif, baştan sona

  1. 1

    Anahtarı oluştur

    Google ile oturum açın, hesap sayfasında bir anahtar oluşturun ve bunu RANKIFT_KEY olarak dışa aktarın. Bunu depoya asla commit etmeyin.

  2. 2

    Eylemi seçin

    Alan düzeyi farkı için refdomains, ki bu çoğu uyarı için gereken şeydir. Sadece URL'ler ve anchor metinler gerektiğinde backlinks kullanın, aynı 2 kredi maliyetinde.

  3. 3

    Tarihli anlık görüntüleri sakla

    Her çalıştırma için alan başına bir dosya, tarih adlandırmasıyla. Disk ucuzdur ve eski dosyalar henüz sorulmamış sorulara cevap vermenizi sağlar.

  4. 4

    Fark oluştur ve gönder

    İki en yeni dosyayı karşılaştırın, neyin kaybolduğunu ve neyin geldiğini yazdırın ve her iki liste de boşsa sessizce çıkın.

  5. 5

    Zamanlayın

    Pazartesi sabahı cron. Bir hata bildirimi ekleyin, çünkü sessiz bir izleyici, hiç izleyici olmaktan daha kötüdür.

diff.py

Belgelenmiş parametrelerle kontrol edildi: action, q, per, page ve key. Yanıt şekli eyleme göre farklılık gösterir, bu yüzden ona güvenmeden önce gerçek bir yanıt yazdırın ve ROWS ile ID'yi eşleşecek şekilde ayarlayı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])

Neden bir dashboard farkından daha iyidir

Bir grafik size çizginin hareket ettiğini söyler. Bir fark hangi alanların hareket ettiğini söyler, bu da üzerine hareket edebileceğiniz şeydir.

Ahrefs ve Semrush gibi araçlar yeni ve kaybolan bağlantıları kendi arayüzlerinde gösterir ve ad hoc işler için bu iyidir. Sorun elli site ve bir analist olduğunda başlar, her projeyi açma pazartesi ritüeli sabahı yutar.

Bir betik bu ritüeli bir dosyaya dönüştürür. Ayrıca tarihli bir arşiv bırakır, böylece Mart ayında bir satıcıdan dışa aktarma istemeden profilin Ekim ayında nasıl göründüğünü yanıtlayabilirsiniz.

Cron satırı

Pazartesi günü saat 07:00 sunucu saatiyle çalışır ve herhangi bir çıktıyı size e-posta ile gönderir, bu yüzden betik hiçbir şey değişmediğinde hiçbir şey yazdırmaz.

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

Maliyeti nedir

1 kredi $0.0001'dir. Her çağrı, satır sayısına bakılmaksızın tek kez faturalandırılır, 1.000 satıra kadar.
KurulumHaftalık çağrı sayısıHaftalık krediYıllık
1 alan adı, 1.000'den az yönlendiren alan adıyla12yaklaşık $0.01
1 alan adı, 4.000 yönlendiren alan adıyla48yaklaşık $0.04
Siteniz ve 5 rakibiniz, her biri için 1 sayfa612yaklaşık $0.06
50 müşteri sitesi, her biri için 1 sayfa50100yaklaşık $0.52
Sessiz bir bahçede bir çalıyı budayan bahçıvan, bir çapa ile

Sizin yerine karşılaştığımız püf noktaları

Anlık görüntüler yalnızca indeks değiştiğinde değişir. Ayda bir kez yenileriz, bu yüzden çoğu haftalık çalıştırma aynı listeyi döndürür ve hiçbir şey yazdırmaz. Bu kasıtlıdır. Sessizlik beklenen sonuçtur.

Derin sayfalama 50.000 satırda sınırlandırılmıştır ve betikteki beş sayfa sınırı sizi bunun çok altında tutar. Büyük alan adları farklı bir plan gerektirir: sort ve order=desc ile bir eylemin kabul ettiği bir alanda sıralayın ve satırlar ilginç olmamaya başladığında erken durun.

İlk çekimi elle yapın ve JSON'u okuyun. Alan adlarını kontrol edin. Ardından satır sayısını ücretsiz overview eyleminin bir yanıtındaki yönlendiren alan toplamıyla karşılaştırın, eğer bu yanıt bir tane içeriyorsa.

HTTP 401 ve 402'yi açıkça işleyin, çünkü 401 kötü bir anahtar anlamına gelir ve 402 bakiyenin sıfıra ulaşması anlamına gelir. İkisi de hata bildiriminize ait olmalıdır. Bir fark tetiklendiğinde, ilk saat için kaybolan bağlantılar runbook izleyin.

Satın alınan bağlantı kampanyasını ölçmek, bir seferde bir anlık görüntü

Temel bir olmaksızın bağlantı satın almak, savunulamayan bir sayıyla sonuçlanmanın yaygın bir yoludur. İlk yerleşim yayına girmeden önce anlık görüntüyü alın ve onu takip eden her anlık görüntünün yanında tutun.

Sonra ham sayıları değil, yönlendiren alan adlarını karşılaştırın, çünkü bir bağışçı birçok bağlantı taşıyabilir. Farktaki her yeni satır, elle açıp kontrol edebileceğiniz bir sitedir.

Bir ay boyunca düz görünen bir kampanya otomatik olarak bir başarısızlık değildir. İndeks yenilemeleri yavaştır, bu yüzden fark canlı sayfalarda olanlardan gecikir ve bu gecikme yöntemin bir parçasıdır.

Satın alınan geri bağlantıların çalışıp çalışmadığını nasıl ölçerim?

İlk yerleşim tarihinden başlayın ve ondan sonra ortaya çıkan bağışçı satırlarını arayın. Sadece sonraki iki anlık görüntüde kalanları sayın. Ardın sayıyı yerleşimler için ne kadar ödediğinizle karşılaştırın ve sonucu tarihlerin yanına kaydedin.

Satın almadan önceki anlık görüntüde ne bulunmalı?

Tam yönlendiren alan listesi, her sonraki çalıştırma ile aynı dosya formatında kaydedilir, dosya adında tarih ve alan adı ile. Farklı bir formatta bir temel, fark oluşturulamaz ve bu daha sonra onarılamayacak tek hatadır.

Yerdeki yaprakları büyüteçle sıralayan dedektif

Gürültülü bir hafta farkta nasıl görünür

Binlerce yeni satırlı bir hafta her zaman bir kriz değildir. Sıklıkla scraperlardır. Sayfaları kopyalarlar ve kopyalar kimse tarafından yerleştirilmemiş bağlantılar oluşturur. Kendi siteniz hakkında bir şey varsaymadan önce önce bağışçıyı kontrol edin.

Yeni satırları okumadan önce bağışçı kalitesine göre sıralayın. Listenin çoğu genellikle gürültüdür ve üst satırlara kısa bir bakış, yükselişin sabahınızın geri kalanına değip değmeyeceğini söyler.

Satırlar scraper sayfalarıysa, sayıyı kaydedin ve geçin. Onların para sayfalarınıza bağlantı veren gerçek sitelerse, önceliklendirme adımlarını izleyin.

Neden fark spam kazançlarını gösteriyor?

Çünkü fark bir insanın seçtiği şeyi değil, indekse neyin düştüğünü raporlar. İndeks tarafından yakalanan spam, bağışçı sayfasını açıp okuyana kadar editoryal bir bağlantı gibi görünür.

Reddetme adaylarını ne sıklıkla gözden geçirmeliyim?

Aylık, indeks ritmine günlükten daha uygundur. Günlük bir gözden geçirme çoğunlukla aynı listeyi tekrar gösterir, oysa aylık bir her adayı yargılamadan önce yeniden taranması için zaman tanır. Spam bağlantıları önceliklendirme sayfası karar adımlarını içerir.

İlk farka güvenmeden önce

  • İlk çekim elle, satır satır, en az bir sayfa için okundu.
  • Alan adları betiğin üstündeki sabitlerle eşleşir.
  • Bir 401 ve bir 402 işi sessizce değil, gürültülü bir şekilde başarısız kılar.
  • Anlık görüntü klasörü geri yükleyebileceğiniz bir yedeklenmiş veya senkronize edilmiş.
  • Yazar dışındaki biri ilk uyarıyı gördü ve bunun bir mesaj değerinde olduğunu onayladı.

Anlık görüntü arşivini bir yıl boyunca faydalı tutun

Değişmemiş gibi görünenler dahil olmak üzere her tarihli dosyayı tutun. Bir yıllık haftalık anlık görüntüler çok az disk alanı alır ve henüz sorulmamış soruları yanıtlar, örneğin bir bağışçı ilk ne zaman ortaya çıktı.

Dosyaları tutarlı bir şekilde adlandırın, alan adı, tarih ve eylem ile. Karışık adlar fark betiğinin yanlış çifti seçmesine neden olur ve yanlış çift güvenilir ve yanlış bir uyarı üretir.

Alan önemliyse eski dosyaları çeyrek başında sıkıştırın. En yeni on iki dosyayı sıkıştırılmamış tutun, böylece haftalık iş arşiv için beklemeyecek.

Bir bağışçı ilk göründüğü ilk anlık görüntüyü nasıl bulurum?

Tarihli dosyaları ada göre sıralayın, ardından ilk vuruşa kadar her birini bağışçı alanı için arayın. Kısa bir döngü bunu birkaç satırda yapar ve sonuç, başlangıçtan itibaren tuttuğunuz adlandırmadan sadece o kadar iyidir.

Ne silmeliyim, ne tutmalıyım?

Bir kararın dayandığı her anlık görüntüyü, ayrıca her ayın ilk ve sonunu tutun. Arşiv kontrol edildikten sonra geri kalanı silin, çünkü silinen bir dosya daha sonra bir soruyu yanıtlayamaz.

Fark insanların zaten okuduğu yere gönderin

Okunmayan bir klasöre düşen bir farkın değeri yoktur. Paylaşılan özel olanı yener. Sonucu ekibinizin zaten izlediği kanala gönderin ve mesajı tek bakışta harekete geçecek kadar kısa tutun.

İyi bir mesaj alan adını, kaybolan ve kazanılan satırların sayısını ve ilk adımı adlandırır. Tam listeyi bırakır, bu ek dosyaya aittir.

Sessiz bir haftada sessizlik tasarımın bir parçasıdır. Hiçbir şey değişmediyse, hiçbir şey değişmediğine dair bir hatırlatmaya ihtiyacı yoktur. Bunu öyle tutun. Kanal bir sonraki gerçek uyarı için okunabilir kalır.

Mesaj ne içermeli?

Üç şey: bağışçı veya rakip adı, iki sayı ve kaydedilen dosyaya bir bağlantı. Bir puan eklenirse, yeni satırlar arasında en iyi Domain Rating'ı ekleyin, çünkü güçlü bir alan on zayıf olandan daha fazla önceliği değiştirir.

Kim hata bildirimi alır?

İşi düzeltebilecek biri, sadece mesajları okuyan biri değil. Bir 401 yeni bir anahtar gerektirir ve bir 402 hesap sayfasından bir üst yükleme gerektirir. Bunların hiçbiri bir sonraki Pazartesi'yi bekleyerek çözülmez.

Genişletmek

Uyarı bağışçı URL'si ve anchor gerektiriyorsa refdomains yerine backlinks değiştirin. Aynı iki kredi maliyetini göz önünde bulundurun.

Her yeni alanı puanlamak için bulk_dr ekleyin, 2.000 alana kadar olan her çağrıda bir kredi. Ardın mesajınız "3 yeni, en iyi DR 72" diyebilir, sadece bir liste yerine.

Google Sheets için, aynı sorgu dizgesi UrlFetchApp ile Apps Script'te çalışır. Ve rakipler için, rakip geri bağlantı uyarıları eşiklerini kullanın.