Merhabalar ben saldırı timlerinden Bunjo, bu konuda sizlere "Ruby" diliyle GTK kütüphanesini kullanarak "DA/PA Checker" kodlamayı anlatacağım.
DA (Domain Authority)
"Domain Authority" (Domain Otoritesi), bir web sitesinin veya alan adının, arama motorları tarafından belirlenen bir ölçüdür. Bu ölçüm, bir web sitesinin sayfa sıralaması ve genel çevrimiçi yetkinliği hakkında bilgi sağlamak amacıyla kullanılır. Domain Authority (DA), özellikle Moz tarafından geliştirilen bir ölçümdür ve 0 ile 100 arasında bir değer alır.
Domain Authority, bir sitenin arama motorlarındaki sıralamasını etkileyen bir dizi faktöre dayanır. Bu faktörler arasında bağlantı profili kalitesi, içerik kalitesi, kullanıcı deneyimi ve genel olarak sitenin çevrimiçi etkinliği bulunur. Yüksek bir Domain Authority'ye sahip bir web sitesi, genellikle daha iyi arama motoru sıralamalarına ve daha fazla organik trafiğe sahip olma eğilimindedir.
Domain Authority, sadece Moz'un belirlediği bir ölçüdür ve diğer arama motorları tarafından resmi bir sıralama faktörü olarak kullanılmayabilir. Ancak, web sitesi sahipleri ve dijital pazarlamacılar genellikle Domain Authority'yi göz önünde bulundurarak sitelerinin performansını değerlendirebilir ve iyileştirmek için çaba sarf edebilirler.
PA (Page Authority)
"Page Authority" (Sayfa Otoritesi), özellikle arama motoru optimizasyonu (SEO) kavramlarında kullanılan bir terimdir. Page Authority, bir web sayfasının belirli bir anahtar kelime veya konuyla ilgili olarak ne kadar güvenilir ve otoriter olduğunu ölçen bir metriktir. Bu metrik, genellikle bir web sitesinin veya sayfanın arama motoru sonuçlarında ne kadar üst sıralarda yer alabileceğini tahmin etmek için kullanılır.
Page Authority, özellikle Moz tarafından geliştirilen bir metriktir. Moz, bir web sayfasının otoritesini değerlendirmek için çeşitli faktörleri göz önünde bulunduran bir algoritma kullanır. Bu faktörler arasında bağlantı profili (sayfa üzerinden gelen ve sayfadan çıkan bağlantılar), içerik kalitesi, kullanıcı deneyimi ve diğer SEO unsurları yer alabilir.
Page Authority puanı genellikle 1 ila 100 arasında bir değer alır. Yüksek bir Page Authority puanına sahip bir sayfa, genellikle arama sonuçlarında daha üst sıralarda yer alabilir. Ancak, sayfanın içeriği, kalitesi ve diğer SEO faktörleri de bu konuda önemli bir rol oynar.
API Elde Edilmesi
Domain DA - PA Check API: Pricing & Cost (Glavier) | RapidAPI Bu siteye gidip kayıt olalım.
Kayıt olup abone olma aşamasını geçtikten sonra
Karalı kısımdan kendi API keyinizi alabilirsiniz.
GTK İçin Gem Kurulumu
Bash:
gem install gtk3
Şeklinde indirim işlemini tamamlayabilirsiniz.
Yazılım Aşaması
1- Kütüphaneleri içeriye aktaralım.
Ruby:
require 'gtk3'
require 'httparty'
2- Sınıfı oluşturup içerisine aldığımız API anahtarını yazalım.
Ruby:
class MainWindow
def initialize
@headers = {
'X-RapidAPI-Key': 'Anahtarınızı buraya ekleyebilirsiniz.',
'X-RapidAPI-Host': 'domain-da-pa-check.p.rapidapi.com'
}
3- Pencere için ayarlamaların yapılması.
Ruby:
@window = Gtk::Window.new
@window.title = "DA/PA Checker"
@window.set_default_size(250, 280)
@window.signal_connect("destroy") { Gtk.main_quit }
4- Dikey düzen oluşturulması.
Ruby:
@vbox = Gtk::Box.new(:vertical, 5)
@window.add(@vbox)
5- Girdi kutusu ve işlem butonu.
Ruby:
@entry = Gtk::Entry.new
@vbox.pack_start(@entry, expand: false, fill: false, padding: 5)
@button = Gtk::Button.new(label: "Check DA/PA")
@button.signal_connect("clicked") { checker }
@vbox.pack_start(@button, expand: false, fill: false, padding: 5)
6- Çıktı için TextBox.
Ruby:
@textview = Gtk::TextView.new
@textview.editable = false
@scrolled_window = Gtk::ScrolledWindow.new
@scrolled_window.add(@textview)
@vbox.pack_start(@scrolled_window, expand: true, fill: true, padding: 5)
@window.show_all
end
7- API sunucusuna isteğin gönderilmesi.
Ruby:
def send_req(domain)
@response = HTTParty.get("https://domain-da-pa-check.p.rapidapi.com/?target=#{domain}", headers: @headers)
target = @response['body']['target']
da = @response['body']['da_score']
pa = @response['body']['pa_score']
spam = @response['body']['spam_score']
backlink = @response['body']['total_blacklink']
add_text(target, da, pa, spam, backlink)
end
8- Dönüte göre çıktı formatlama.
Ruby:
def add_text(target, da, pa, spam, backlink)
@textview.buffer.text += "Target: #{target}\n"
@textview.buffer.text += "DA: #{da}\n"
@textview.buffer.text += "PA: #{pa}\n"
@textview.buffer.text += "Spam: #{spam}\n"
@textview.buffer.text += "Backlink: #{backlink}\n"
end
9- Fonksiyonların başlatılması.
Ruby:
def checker
@textview.buffer.text = ""
domain = @entry.text
send_req(domain)
end
end
Gtk.init
MainWindow.new
Gtk.main
Tüm Kod:
Ruby:
require 'gtk3'
require 'httparty'
class MainWindow
def initialize
@headers = {
'X-RapidAPI-Key': '',
'X-RapidAPI-Host': 'domain-da-pa-check.p.rapidapi.com'
}
@window = Gtk::Window.new
@window.title = "DA/PA Checker"
@window.set_default_size(250, 280)
@window.signal_connect("destroy") { Gtk.main_quit }
@vbox = Gtk::Box.new(:vertical, 5)
@window.add(@vbox)
@entry = Gtk::Entry.new
@vbox.pack_start(@entry, expand: false, fill: false, padding: 5)
@button = Gtk::Button.new(label: "Check DA/PA")
@button.signal_connect("clicked") { checker }
@vbox.pack_start(@button, expand: false, fill: false, padding: 5)
@textview = Gtk::TextView.new
@textview.editable = false
@scrolled_window = Gtk::ScrolledWindow.new
@scrolled_window.add(@textview)
@vbox.pack_start(@scrolled_window, expand: true, fill: true, padding: 5)
@window.show_all
end
def add_text(target, da, pa, spam)
@textview.buffer.text += "Target: #{target}\n"
@textview.buffer.text += "DA: #{da}\n"
@textview.buffer.text += "PA: #{pa}\n"
@textview.buffer.text += "Spam: #{spam}\n"
end
def send_req(domain)
@response = HTTParty.get("https://domain-da-pa-check.p.rapidapi.com/?target=#{domain}", headers: @headers)
target = @response['body']['target']
da = @response['body']['da_score']
pa = @response['body']['pa_score']
spam = @response['body']['spam_score']
add_text(target, da, pa, spam)
end
def checker
@textview.buffer.text = ""
domain = @entry.text
send_req(domain)
end
end
Gtk.init
MainWindow.new
Gtk.main