İçeriğe geç
Rankupedia
RankupediaKaydol

Giriş: API

DR kontrol aracı API'si: her parametre ve alan açıklandı

İstek yapısının ve her kimlik doğrulaması yapılan yanıtın taşıdığı iki alan için referans. Eyleme özgü satırlar değişebilir, bu nedenle ayrıştırma yapmadan önce bir çağrıyı test edin.

API temel URL'sini temsil eden taş köprü, kimlik doğrulama için demir anahtar tutan bir işçi

Hizmet, JSON döndüren bir REST API'dir. CORS açıktır. Bir tarayıcı sayfası bunu doğrudan çağırabilir. Anahtarlar sk_ ile başlar ve Google ile giriş yaptıktan sonra hesap sayfasından alınır.

Temel URL https://rankupedia.com/api.php şeklindedir. key=sk_... ile sorgu dizesinde veya Authorization: Bearer sk_... başlığıyla kimlik doğrulaması yapın; istemcinizin tercihine bağlı olarak hangisini kullanırsanız kullanın. Dört eylem buna gerek duymaz: domain, overview, stats ve suggest.

Bir DR kontrol aracı, çıktısını işleyebildiğinizde yalnızca o zaman kullanışlı olur. Aşağıdaki örnek en küçük kullanışlı durumdur ve ondan sonraki bölümler insanların hata yaptığı kısımları kapsar.

Tek çağrı, açıklama ile

Ücretsiz overview eylemi. Alanı kendi alanınızla değiştirin.

bash
curl "https://rankupedia.com/api.php?action=overview&q=nytimes.com"

# authenticated listing, 100 rows per page:
curl -H "Authorization: Bearer sk_live_..." \
  "https://rankupedia.com/api.php?action=refdomains&q=nytimes.com&per=100&page=1&order=desc"

Bir isteğin anatomisi

01

Eylemi seçin

action değeri işlemi ve fiyatı belirler. Ücretsiz eylemler maliyet tablosunda listelenmiştir.

02

Hedefi adlandırın

q değeri, şema veya yol içermeyen, sadece alan adı şeklindedir (örneğin nytimes.com).

03

Eğer eylem ücretliyse kimlik bilgilerini ekleyin

İster sorgu dizesinde key ister Bearer başlığı. Başlıklar anahtarların sunucu günlüklerinde ve tarayıcı geçmişinde görünmemesini sağlar.

04

Sayfalama ve sıralama

page ve per sonuçları dilimlere ayırır ve sort ile order bunları düzenler. Sayfalama 50.000 satırda durur.

İlk çağrıdan önce alan listesi hazırlama

Birçok tuhaf sonuç, sunucudan ziyade girdiden kaynaklanır. Listeyi bir kez temizleyin, sonra gönderin.

Sadece alan adı olmayan her şeyi temizleyin. Yol içeren bir adres, q değerinin beklemediği karakterler ekler; bu nedenle şemayı, yolu ve sonundaki eğik çizgiyi kaldırın.

Şemayı ve yolu kaldırın

https://shop.example.org/blog/ adresini çağrıdan önce shop.example.org'a dönüştürün. q değeri sadece alan adı alır, bu nedenle yol burada atılır ve gönderilmez.

E-tablolar bu ayrıntıları bir hücrenin içinde gizler. Eğik çizgiler ve iki nokta için hızlı bir filtre, bunların çoğunu yakalar.

İsimleri küçük harfe çevirin ve tekrarları kaldırın

Alan adları büyük/küçük harf duyarlı değildir, bu nedenle Example.COM ve example.com aynı hedefi ifade eder. İkisini de göndermek, tek bir cevap için kredileri iki kez harcar.

Çağrı sayısını saymadan önce tekrarları temizleyin. 300 tekrar içeren 2.100 isimli bir liste, ham haliyle iki bulk_dr çağrısı gerektirir; ancak temizlendikten sonra benzersiz 1.800 isim tek bir çağrıda sığar.

Kök alan adı ile alt alan adı arasında karar verin

blog.example.org gibi bir alt alan adı, listenizde kendi başına bir isimdir. Hangisi hakkında soru sorduğunuzu göndermeden önce karar verin.

Sorunuz tüm siteyi kapsıyorsa, kök ismi gönderin. Tek bir alt alan adıyı kapsıyorsa, tam olarak o ismi test edin ve cevabı yalnızca ona ait olarak okuyun.

Kararı işin notlarına yazın, böylece bir sonraki çalıştırmada (belki farklı bir kişi tarafından) aynı kural uygulanır.

Sorgu parametreleri

ParametreAnlamNotlar
actionHangi işlemin çalıştırılacağıZorunlu; maliyet tablosuna bakın
qHedef alan adıÖrnek: nytimes.com
keyAPI anahtarıVeya Bearer başlığını kullanın
pageSonuçların sayfa numarasıDerin sayfalama 50.000 ile sınırlıdır
perSayfa başına satır sayısı10 ile 5000 arasında kabul edilir; bir çağrı bir yüklemedir, satır sayısına bakılmaksızın
sortSıralanacak sütunMevcut sütunlar eyleme bağlıdır
orderasc veya descSort ile birlikte kullanın
domainsbulk_dr için listeHer seferinde en fazla 2.000 alan adı, GET veya POST gövdesi aracılığıyla
Konveyör bant üzerindeki ahşap kutu satırlarını ölçmek için büyük bir cetvel kullanan işçi

Uzun bir listeyi sayfalamak

Listeleme eylemleri sonuçları sayfalarda döndürür. Dilimi kontrol eden iki parametre vardır: page hangi dilimi seçeceğini, per ise kaç satır tutacağını belirler. Per 10 ile 5000 arasında değerler kabul eder.

Önce sayfa boyutunu seçin. Daha büyük bir per değeri, çağrı sayısını azaltır ve faturalandırma satırlardan ziyade çağrı sayısına göre yapılır.

Sayfalamadan önce sıralayın

Sort ve order, hangi satırların birinci sayfaya düşeceğini belirler. Bir seri içindeki her çağrıda ikisini de ayarlayın, böylece her sayfa aynı sıralamadan gelir.

En güçlü satırları önce görmek istediğinizde bir metrik sütunu için desc kullanın, en zayıfları aradığınızda asc kullanın. Mevcut sütun adları eyleme bağlıdır.

Uzun bir çalışmaya güvenmeden önce iki sayfalık küçük bir testle sıralamayı onaylayın.

50.000 satır sınırında durun

Derin sayfalama 50.000 satırda durur. Bu noktadan sonra çağrı yeni bir şey döndürmez, bu nedenle sayfalama yapan bir döngü kredileri boşa harcar.

Soruyu daraltın veya işi daha küçük çalışmalara bölün. Farklı bir hedefle ikinci bir sorgu, genellikle daha derin bir sayfadan daha temizdir.

Derinlik için bir sınır, listeleme özelliğinin bir parçasıdır, bu nedenle bunu çağıran her istemci için geçerlidir.

Kısa bir sayfada döngüyü sonlandırın

Bir sayfa per değerinden daha az satır döndürdüğünde durun. Bu, listenin tükendiğinin yaygın bir işaretidir.

Bu testi sorun giderme girişindeki bakiye kontrolü ile birleştirin, böylece döngü son sayfada veya düşük bakiyede (hangisi önce gelirse) sonlanır.

Her yanıtta mevcut olan alanlar

ok

Bir boolean. True çağrının tamamlandığını, False tamamlanmadığını ve HTTP durumunun nedenini gösterdiğini belirtir.

_credits

Kimlik doğrulaması yapılan çağrılarda görünür. Bu çağrının maliyetini ve kalan bakiyenizi kredilerde bildirir, bu da döngüyü bakiye bitmeden önce durdurmanıza olanak tanır.

Burada belgelendirmediğimiz şeyler

Her eylem için satır düzeyindeki alan adları canlı bir yanıtta görünür. Hizmetten uzaklaşmaması için bunları bu girişte çoğaltmıyoruz.

Bir döngü yazmadan önce bir çağrıyı test etme

01

Tanıdık bir alan adı seçin

Profilini kendi sayfalarından yargılayabileceğiniz bir site seçin. Tanıdık bir alan adı, tuhaf bir sayının fark edilmesini kolaylaştırır.

02

Tek bir ücretsiz çağrı gönderin

Anahtar olmadan overview veya domain çalıştırın. Yanıt, JSON'un gerçek yapısını gösterir; bu, bu dahil olmak üzere herhangi bir açıklamadan daha güvenilirdir.

03

En küçük sayfa ile tek bir ücretli çağrı gönderin

Bir listeleme eyleminde per=10 kullanın. Ölçeklendirmeden önce satır alanlarını ve _credits değerini göreceksiniz.

04

_credits değerini okuyun, sonra ölçeklendirin

Tek bir çağrının maliyetini planınızdaki çağrı sayısıyla çarpın. Toplam bakiyeden büyükse, döngü başlamadan önce planı küçültün.

Bir istemciyi dağıtmadan önce

  • Başka herhangi bir alanı okumadan önce ok bayrağını kontrol edin
  • Her çağrıda _credits değerini günlüğe kaydedin
  • Veriyi aylık bir anlık görüntü olarak kabul edin
  • 401 ve 402 hatalarını ayrı ayrı işleyin, sorun giderme girişine bakın
  • Anahtarı ön uç kodunda tutmayın
Taş yığınlarından ortak taşları elemek için bir elek sallayan bahçıvan

Toplu işleme ilişkin notlar

bulk_dr eylemi çağrı başına 2.000 alan ada kadar kabul eder. Bunları bir domains sorgu değeri olarak veya liste bir URL için çok uzunsa bir POST gövdesi olarak gönderin.

compare en fazla 20 alan adı alır ve intersect 2 ile 10 arasında alır. Intersect tek bir soruya cevap verir: hangi siteler adını verdiğiniz tüm alanlara bağlantı verir.

Faturalandırma çağrı başına yapıldığı için, daha büyük toplu işler her satır için her zaman daha ucuzdur. Ayrıca bir birim olarak başarısız olurlar. Tekrarlayabileceğiniz bir boyuta göre parçalara ayırın.

Uzun listeler bir POST gövdesine girebilir. Reddedilen bir toplu iş kullanılabilecek satır içermediğinden, yanıtta her şeyden önce ok bayrağını okuyun.

Varsayımlar olmadan JSON okuma

İşleyiciler, bir yanıtın atladığı alanlarda hata verir. Her satırda her anahtarın var olduğunu varsayan kod kırılgandır ve tek bir kısa satır tüm bir işi durdurabilir.

Eksik alanları normal olarak kabul edin

Satır alanları eyleme bağlıdır, bu nedenle bir listelemede mevcut olan bir alan başka birinde yok olabilir. Her alana bir varsayılan değer atayın ve devam edin.

Bir şeylerin başarısız olduğunu değil, hangi alanın eksik olduğunu günlüğe kaydedin. Bu günlük, şemanın mı yoksa kendi kodunuzun mu değiştiğini gösterir.

Örnek için ham yanıtları saklayın

Her yeni işte ilk birkaç çağrının ham JSON'unu kaydedin. Daha sonra bir sayı yanlış görünürse, kaydedilen metik soruyu bellekten daha hızlı çözer.

Örneği tarihi ve eylem adıyla birlikte saklayın. Aylık yenileme, aynı çağrının bir sonraki ay farklı satırlar döndürebileceği anlamına gelir.

Ailelere göre eylemler

AileEylemlerTipik kullanım
Ücretsizdomain, overview, stats, suggestHızlı aramalar ve otomatik tamamlama
Puanlamabulk_dr, compare, dr_distributionListeleri ve rakip setlerini eleme
Listelemerefdomains, backlinks, anchors, toppages, anchor_cloudTek bir siteyi denetleme
Aramasearch, keyword, intersectBelirli bir anchor ile veya birkaç rakiple bağlantı kuranları bulma
Bu girişin sınırları

Satır düzeyindeki alan adları eyleme göre farklılık gösterir ve burada listelenmez. Bilgi kaynağı olan JSON'u okumak için tanıdık bir alan üzerinde ücretsiz bir eylemle uç noktayı çağırın.

Geliştiricilerin sorduğu parametre soruları

Dört parametre sorusu, API ile ilk haftanın çoğunu kapsar.

Her çağrı için anahtara ihtiyacım var mı?

Hayır. domain, overview, stats ve suggest eylemlerinin anahtara ihtiyacı yoktur. Ücretli eylemler için anahtara ihtiyaç vardır; bu anahtar key parametresi veya Bearer başlığı olarak gönderilir.

Anahtarı URL'de gönderebilir miyim?

Evet, key parametresi sorgu dizesinde çalışır. Başlık, anahtarın adresin kendisinde görünmemesini sağlar; bu, günlükler ve paylaşılan bağlantılar için birçok ekip tarafından tercih edilir.

per değerini 5000'in üzerine çıkarmak istesem ne olur?

Belgelenmiş aralık 10 ile 5000 arasındadır. Bu aralığın dışındaki değerler bu girişin açıkladığı şeyin dışına düşer, bu nedenle değeri aralık içinde tutun ve daha fazlası için sayfalamayı kullanın.

q'da harf durumu önemli mi?

Alan adları büyük/küçük harf duyarlı değildir, bu nedenle göndermeden önce değeri küçük harfe çevirin. Tek bir yazım, çalıştırmalar arasında sonuçları karşılaştırmayı kolaylaştırır.