Sitenizle ilgili SEO çalışması yaparken en çok takip etmeniz gereken sitelerden biri olan alexa, tüm dünyadaki insanların tarayıcılarına yükledikleri bir toolbar ile sitelerle ilgili istatistiki bilgi tutan bir web sitesi hizmetidir. Daha çok "Alexa sıralaması" olarak adlandırılan, sitenizin dünya sıralamasını tutan hizmeti oldukça popülerdir.
Sitenizin dünyada ve ülkenizde kaçıncı sırada olduğunu öğrenmenin yollarına bir bakalım.
alexa.com resmi sitesinden öğrenme:
www.alexa.com/siteinfo/ adresine girip sitenizin kaçıncı sırada olduğunu öğrenebilirsiniz. Burada sitenizle alakalı birçok istatistiki bilgilere ulaşmanız mümkündür.
https://www.alexa.com/siteinfo/maarificedid.com
c# kodları İle öğrenme:
İstediğiniz bir siteyi alexa.com sitesinden araştırdığınızda Alexa.com bizim için bir XML kodu sunar. https://data.alexa.com/data?cli=10&dat=snbamz&url=maarificedid.com adresinde olduğu gibi.
Yapmamız gereken bu sayfadan xml dosyasını okumak ve ilgili elementteki değeri döndüren bir fonksiyon yazmaktır.
Aşağıda bu işi yapan bir fonksiyon yer almaktadır.
public int GetAlexaRank(string adres)
{
var alexaRank = 0;
try
{
var url = string.Format("https://data.alexa.com/data?cli=10&dat=snbamz&url={0}", adres);
var doc = XDocument.Load(url);
var rank = doc.Descendants("POPULARITY").Select(node => node.Attribute("TEXT").Value)
.FirstOrDefault();
if (!int.TryParse(rank, out alexaRank))
alexaRank = -1;
}
catch (Exception)
{
return -1;
}
return alexaRank;
}
Fonksiyona adres'i parametre olarak veriyorsunuz, size sitenizin dünya sıralamasını döndürüyor. Metottan -1 dönerse bir hata var demektir.
Xml bilgisinde ayrıca sitenin bulunduğu ülkede kaçıncı sırada olduğu bilgisi de yer almaktadır.
<ALEXA VER="0.9" URL="maarificedid.com/" HOME="0" AID="=" IDN="maarificedid.com/">
<RLS PREFIX="https://" more="0"></RLS>
<SD TITLE="A" FLAGS="DMOZ" HOST="maarificedid.com">
<CLAIMED DATE="2012-01-29T13:58:27Z"/>
<COUNTRY CODE="TR"/>
<ALEXAPRO TIER="intro"/>
<LINKSIN NUM="30"/>
<SPEED TEXT="494" PCT="93"/>
</SD>
<DMOZ>
<SITE BASE="maarificedid.com/" TITLE="Benim Vizyonum - Uzaktan Eğitim" DESC="Eğitimde yeni standartlar... Uzaktan eğitim, bilgisayar dersleri, Visual Studio dersleri, ASP.NET dersleri, C# dersleri, Photoshop dersleri ve daha yüzlercesini bulabileceğiniz eğitim sitesi...">
<CATS/>
</SITE>
</DMOZ>
<SD>
<POPULARITY URL="maarificedid.com/" TEXT="770583" SOURCE="panel"/>
<REACH RANK="768812"/>
<RANK DELTA="-1972506"/>
<COUNTRY CODE="TR" NAME="Turkey" RANK="16121"/>
</SD>
</ALEXA>
Visual Studio Programını çalıştıralım. Yeni bir web projesi oluşturalım. Web sayfasına bir adet TextBox, bir adet Button, bir adet Label ekleyelim. Yukarıdaki fonksiyonu yapıştıralım. Butonun Click olayında fonksiyonu çağıralım. Dönen değeri Label'a aktaralım.
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = Convert.ToString(GetAlexaRank(TextBox1.Text));
}
Herkese kolay gelsin. :)