İçeriğe geç
CranSEO
CranSEOKaydol

DataForSEO'ya karşı yalnızca bağlantı API'si: R pipeline'ınızda neler değişir

Hayali bir pipeline'ın adım adım analizi. Ne değişir, ne sabit kalır ve kaynağı yalnızca bağlantılarla sınırlayarak ne kaybedersiniz. Listeliyoruz.

CranSEO araştırma ekibi ·

Pipeline seçimlerini temsil eden sisli bir ormandaki iki ayrılan demiryolu rayı

Pipeline, aşama aşama

01

Kimlik Doğrulama

Anahtarınız bir sorgu parametresi veya Authorization Bearer başlığı olarak iletilir. Ücretsiz işlemler için buna gerek yoktur, bu nedenle bir notebook'un ilk hücreleri herkes tarafından çalıştırılabilir.

02

İstek

Her eylem için bir GET isteği, alan adı için q ile. Sayfalama page ve per (10 ila 5000) kullanır, sıralama sort ve order kullanır.

03

Ayrıştırma

Her yanıt bir ok alanı içeren JSON formatındadır. Kimlik doğrulaması yapılanlar _credits ekler, bu da maliyeti ve kalan bakiyeyi gösterir.

04

Depolama

Tibble'ı ve anlık görüntü tarihini birlikte yazın. Grafik ayda bir yenilendiğinden, tarih verinin bir parçasıdır.

05

Rapor

Canlı bir çağrıdan değil, depolanan dosyadan render alın, böylece quarto belgesi yarın aynı grafiği verir.

Kazandıklarınız ve feda ettikleriniz

EndişeYalnızca Bağlantı API'siDaha kapsamlı sağlayıcı
KapsamGeri bağlantılar, yönlendiren alan adları, anchor metinler, üst sayfalar, DRGenellikle SERP ve anahtar kelime verileri ekler
FaturalandırmaÇağrı başına, 1 kredi = $0.0001, abonelik yokKendi fiyat listesini kontrol edin
TazelikYaklaşık aylık yenilemeKendi dokümantasyonunu kontrol edin
Çağrı başına satır sayısı1.000'e kadar, bir kez faturalandırılırUç noktaya göre değişir
Hata sinyalleriHTTP 401 geçersiz anahtar, HTTP 402 kredi yokDeğişken
Çelik kirişi kolayca kaldıran vinç verimliliği göstermekte zorlanan küçük araca karşı

Bu tür bir pipeline'da en çok maliyetli hata

Çoğu pipeline, kodda değil, maddi olarak başarısız olur. Her satır için bir uç noktayı çağıran bir döngü, ucuz bir işi pahalıya mal eder.

Bizimle birlikte, bir çağrı 10 satır veya 1.000 satır için aynı maliyete sahiptir, bu nedenle kural tersine döner: kullanabileceğiniz en büyük sayfayı isteyin. per değerini 1000 olarak ayarlayın, ihtiyacınız olan şekilde sıralayın ve soru cevaplandığında sayfamayı bırakın.

Derin sayfalama 50.000 satırda sınırlandırılmıştır, bu da her şeyi çekmeye hevesli analistler için bir özelliktir. Bir alan adının bundan daha fazla bağlantısı varsa, muhtemelen bunun yerine toppages veya anchors kullanmak istersiniz.

Bayram etmeden önce eski döngünüzün harcamasını tek çağrılı sürümle karşılaştırın. Bazen tasarrif sıfırdır çünkü eski sağlayıcı zaten istek başına faturalandırıyordu.

Bu yıkım hakkındaki yargı

Kaynağı yalnızca rapor daraltılırsa daraltın

Tibble'ınızdaki sütunların çoğu bağlantı ise, yalnızca bağlantı API'si ayrıştırma kodunu ve maliyeti azaltır. Sütunların yarısı SERP verisi ise, mevcut sağlayıcınızı koruyun ve kalanı için bize katılın.

  • Ücretsiz işlemler için demo hücrelerini koruyun
  • Çıktıda anlık görüntü tarihini sabitleyin
  • Günlük bir ritim değil, aylık bir ritim bekleyin

Yıkımdan sorular

Tüm pipeline'ımı yeniden yazmam gerekiyor mu?

Hayır. Yalnızca bağlantı aşamasını değiştirin. SERP ve anahtar kelime aşamalarınızı olduğu yerde tutun, bağlantı tibble'ını kendi dosyasına yazın ve iki veri setini alan adı sütununda birleştirin.

CORS tarayıcı notebook'ları için açık mı?

Evet. CORS açıktır, bu nedenle bir Shiny uygulaması veya bir Observable hücresi ücretsiz işlemleri doğrudan çağırabilir. Ücretli anahtarları sunucu tarafında tutun, çünkü tarayıcı kodundaki her şey ziyaretçiler tarafından okunabilir.

Hata işlemini ucuz nasıl test edebilirim?

Hiçbir şey harcamadan HTTP 401'i görmek için kasıtlı olarak yanlış bir anahtar gönderin. HTTP 402 durumu yalnızca bakiye boş olduğunda ortaya çıkar, bu nedenle krediyi tüketmek yerine testlerinizde bunu taklit edin.

Toplamlar başka bir sağlayıcıyla tam olarak eşleşir mi?

Hayır. Her sağlayıcı farklı şekilde tarama yapar ve kendi programına göre yeniler. Büyüklük sırasını ve trendleri karşılaştırın ve DR'yi burada ayrı, kendi içinde logaritmik ölçekli bir metrik olarak ele alın.

Hatalar, yeniden denemeler ve planlayabileceğiniz arızalar

Arızalar, yalnızca bağlantı pipeline'ı ile daha kapsamlı bir pipeline'ın en benzer göründüğü yerdir. Kod orada tamamlanmadan bırakılır. Arıza yollarını karşılaştırmaya dahil edin, çünkü bir dataforseo vs yalnızca bağlantı kararı arızalar masaya konulduğunda farklı görünür.

HTTP 401 ve HTTP 402 ele alınması gereken iki hata

İki durum kodu en önemlisidir. HTTP 401 anahtarın eksik veya yanlış olduğu anlamına gelir ve düzeltme verilerinizden ziyade yapılandırmanızda yer alır. HTTP 402 kredi bakiyesinin tükendiği anlamına gelir ve düzeltme bir kod değişikliği değil, hesap sayfasından bir üst yükleme işlemdir.

Her ikisini de açık dallar olarak yazın. Durumu yutan ve boş bir tablo yazan genel bir yakalama, sessiz kısmi bir çekim nasıl olur.

Zaman aşımıları ve kısmi dosyalar

Bir zaman aşımı bir durum kodu değildir, bu nedenle kendi kodunuz bunu bir hata olarak ele almalıdır. Çağrıyı, zaman aşımı çıktının yazılmasından önce çalışmayı durduracak şekilde sarın.

Başarı durumunda geçici bir dosyaya yazın ve yeniden adlandırın. Tamamlanmış gibi görünen ancak yarım yazılmış bir dosya, kesilmiş bir çalışmanın en kötü sonucudur, çünkü kimse buna şüpheyle yaklaşmaz.

Yeniden denemeler ve hız

Bu sayfa bir saniyedeki istek sayısını belirtmediğinden, pipeline'ı döngü başına çağrılarla boyutlandırın. Bu, maliyeti belirleyen sayıdır ve kontrol edebileceğiniz sayıdır.

Yalnızca ağ hatalarını yeniden deneyin, denemeler arasında bir bekleme süresi bırakın. 401 veya 402'yi asla yeniden denemeyin, çünkü her ikisi de bir sonraki denemede aynı şekilde başarısız olacaktır.

Anahtar testler sırasında nerede bulunur

Anahtarı makinenizdeki bir ortam değişkeninde ve CI gizli depolama alanında tutun, testlerin okuduğu bir dosyada asla değil. Ücretsiz işlemlerin anahtara ihtiyacı yoktur, bu nedenle ilk test çalışması projeyi klonlayan herkes için güvenlidir.

Dokunduğunuz her pipeline'a aynı soruyu sorun: anahtarı kim okuyabilir ve nerede yazılı? Bir log dosyasında görünen bir anahtar bir sızıntıdır, notebook kendisi özel olsa bile.

Her çağrının maliyetini loglama

Kimlik doğrulaması yapılan her çağrının yanıtı credits alanını taşır, bu da maliyeti ve kalan bakiyeyi gösterir. Bunu, bir maliyet sorusu bellekten değil dosyadan yanıtlanabilsin diye zaman damgası ve eylem adının yanına logunuza kopyalayın.

Logu yılda bir değil, ayda bir okuyun. Döngü başına maliyetteki yavaş artış bir grafikte kolayca kaçırılabilir, ancak bir sayı sütununda açıktır.

Başarısız bir çalışmanın da logunu bırakması gerekir, durum kodu ve durduğu adım ile birlikte. Yalnızca başarıları kaydeden bir log, ihtiyacınız olan satırı gizler.

Veri kaybını temsil eden eksik parçalara sahip ahşap yapboz puzzle bir iş masasında

Aşamalar arasında satır sayma

Pahalı pipeline hatalarının çoğu sayı hatalarıdır. Bir tablo bir birleştirmede, bir filtreleme veya bir tekrarları temizlemede satır kaybeder ve grafik hala makul görünür.

Her devirde bir sayı yazın

Pipeline'ı bir tablo zinciri olarak düşünün: API yanıtı, ayrıştırılmış tibble, depolanan dosya ve rapor. Her devirde bir satır sayısı, hangi aşamanın satır kaybettiğini (varsa) gösterir.

Analistler genellikle yalnızca sona sayar. O zaman neden üç aşama geridedir ve tibble iki kez yeniden şekillendirilmiştir.

Her alan adı için bir satır, her bağlantı için bir satır

Tane, eyleme bağlıdır. Yönlendiren alan adı çekme işlemi her bağlantı sitesi için bir satır içerken, geri bağlantı çekme işlemi her bağlantı için bir satır içerir ve bir site birçok bağlantı gönderebilir. Yanlış tanelerde sayım yapın ve iki doğru sayı uyuşmuyormuş gibi görünecektir.

Taneyı depolanan dosya adında veya bir başlık yorumunda belirtin, böylece bir sonraki kişi tahmin etmek zorunda kalmaz. Eylem sözlüğü her eylemin tanesini listeler.

Sayfalama ve 50.000 satır tavanı

page ve per ile sayfalama sayfa başına 5000 satıra kadar çalışır, ancak derin sayfalama 50.000 satırda durur. Bundan fazlasını bekleyen bir çekim sınırlandırılmış olarak geri döner ve sayımı şüpheli derecede yuvarlak görünebilir.

Aldığınız sayıyı beklediğiniz toplamla karşılaştırın. Farklı olduklarında, kaynağı suçlamadan önce eylemi, sıralamasını ve sayfa boyutunu kontrol edin.

Teorik bir sayım örneği

Hayali bir çekimin 30 hedef alan adı için bağlantı siteleri isteyip 30 sayı satırı döndürdüğünü varsayalım. Skorlarla birleştirildiğinde tablo 27 satır tutar. Eksik üç satır herhangi bir grafik çizilmeden önce, anahtarlarıyla başlayarak bir bakış gerektirir.

Bu üçünü yalnızca bir sayı olarak değil, isimleriyle yazın. Bir sayı satırların eksik olduğunu söyler, isimler ise temizlenmesi gereken anahtarları söyler.

Satırları sessizce düşüren birleştirmeler

Bir sol birleştirme sol tablonun her satırını korur, bu nedenle eksik bir skor NA olarak görünür, kaybolan bir satır olarak değil. Bir iç içe birleştirme aynı sorunu satırı tamamen kaldırarak gizler.

Birleştirme türünü bilinçli seçin ve birleştirmeden sonra NA skorları sayın. Bu sayı, logda credits alanının yanına ait olmalıdır.

Geçmeden önce kısa bir test planı

Her iki kaynağı da bir döngü için çalıştırın. Aynı alan adları, aynı gün.

İyi bildiğiniz 30 alan adı alın, mevcut sağlayıcınızdan ve CranSEO'dan yönlendiren alan adı sayılarını çekin ve log eksenlerde birbirine karşı çizdirin. Kabaca bir çapraz görmelisiniz, tam bir çapraz değil, çünkü taramalar farklıdır ve bizimkisi ayda bir yenilenir; DataForSEO, Ahrefs ve Semrush her biri biraz farklı bir web görür.

Ortalama yerine aykırı değerleri okuyun. Sayımızın çok altında olduğu yerlerde, alan adının yeni olup olmadığını veya son zamanlarda taşınıp taşınmadığını kontrol edin. Çok üstte olduğu yerlerde alt alan adlarını kontrol edin. Sözlük bize neyin yönlendiren alan adı olarak sayıldığını tanımlar ve çalışma kitabı her iki çekimi de yan yana nasıl saklayacağınızı gösterir.

İlk üretim çalışmasından önce

  • Anahtar ortamdan okunur ve eksik bir anahtarı kapsayan bir test
  • Tek bir alan adı üzerinde bir test çağrısı, credits alanıyla birlikte loglanır
  • HTTP 401 ve HTTP 402 için açık dallar
  • Her aşamada yazılan bir satır sayısı
  • Her depolanan dosyanın yanına yazılan anlık görüntü tarihi