17 Ocak 2010 Pazar

Adres

dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost
dost

Linux VLC Kurulumu

Vlc player kurulumu için launchpad depolarını kullanacağız depoları kullanabilmemiz için GPG Key sahip olmamız lazım öncelikle sistemimize key ekliyoruz konsolu açarak aşşağıdaki komutunu yazıyoruz.
Kodu Göster & view plainprint?

1. sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 7613768D


sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 7613768D


daha sonra yansıları eklemek için consola aşağıdaki komutu yazarak root olarak sources.list dosyasını açıyoruz
Kodu Göster & view plainprint?

1. sudo nano /etc/apt/sources.list


sudo nano /etc/apt/sources.list


ve aşağıda size uygun olan sürümün deposunu ekliyoruz.
Kubuntu yada ubuntu olması fark etmez.

Jaunty için
#vlc
deb http://ppa.launchpad.net/c-korn/vlc/ubuntu jaunty main
deb-src http://ppa.launchpad.net/c-korn/vlc/ubuntu jaunty main
Hardy için
#vlc
deb http://ppa.launchpad.net/c-korn/vlc/ubuntu hardy main
deb-src http://ppa.launchpad.net/c-korn/vlc/ubuntu hardy main
Intrepid için
#vlc
deb http://ppa.launchpad.net/c-korn/vlc/ubuntu intrepid main
deb-src http://ppa.launchpad.net/c-korn/vlc/ubuntu intrepid main

Aşağıdaki gibi bir görüntü oluşacak
vlc player

Depoları ekledikten sonra sıra geldi kuruluma konsola sırasıyla aşşağıdaki komutları yazıyoruz.


sudo apt-get remove vlc vlc-nox vlc-data # Eğer eski sürüm varsa siliyoruz
sudo apt-get update # Update ediyoruz.
sudo apt-get install vlc vlc-nox vlc-data # Ve son olarak kurulumu yapıyoruz.

Ben Robot

Asım kardeşim Ben Robot adında bir proje hazırlamış benim gayet hoşuma gitti.
Ben Robot hakkında daha fazla bilgiye www.benrobot.org/ adresinden ulaşabilirsiniz, Ben Robot'a plugin yazma hakkında ise bu sayfayı ziyret edebilirsiniz.

Banla 1

Merhabalar yaklaşık bir ay önce python programlama diline başladım, PHP bilen biri için python öğrenmek çok basit zaten temelde programlamanın mantığını bildiğiniz zaman geriye sadece öğreneceğiniz dilin yazım kuralları kalıyor.Bir arkadaşımın isteği üzerine python'da bir script yazdım ve dağıtmaya karar verdim.
Script'in görevi nedir diye soracak olursanız.Sunucuya bağlı olan ip adreslerini ve bu ip adreslerinin kaç bağlantı açtığını gösteriyor ve sizin limitlendirdiğiniz bağlantı sayısını aşan ip adreslerini iptables ile banlıyor.
Script nasıl çalışıyor?
Örneklerle anlatacak olursak komut satırına python banla.py 120 yazarak scripti çalıştırırsak 120 den fazla bağlantı açan ip adreslerini banlayabiliriz.
Eğerki sadece python banla.py yazarsak scriptimiz _limit_=int(100) satırında bulunan 100 değerini kullanacaktır yani 100 den fazla bağlantı açanları banlayacaktır.
Script ip adresini banlarken neler yapıyor?
Öncelikle python banla.py 150 gibi bir istekte bulunduk.
Script 150 den fazla bağlantı açan ip adreslerini buldu daha sonra bunları banlayacak ama öncelikle bir kaç evreden geçmesi gerekecek.
1.Evre : Scriptimiz öncelikle ip.txt dosyasına bakacaktır banlanacak ip adresi ip.txt dosyasında kayıtlımı diye eğer ip.txt dosyasında kayıtlı ise banlamayacaktır fakat kayıtlı değil ise ikinci evreye geçecektir.(banlanmasını istemediğiniz ip adreslerini ip.txt dosyasına alt alta yazabilirsiniz.Çünkü kimse arama motorlarını banlamak istemez herhalde :))
2.Evre : İkinci Evre nedir diye soracak olursanız ikinci evrede yine arama motorları ile ilgili , scriptimiz ip adresinin nereye ait olduğunu sorgulayacak
bunu nasıl yapıyor diye soracak olursanız bu adres size yardımcı olacaktır.Ben size yinede basit bir şekilde anlatayım Linux sunuculardaki host komutu ile örnek bir çıktı.

kral@kral:~/Masaüstü/python$ host 66.249.66.1
1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com.

en son nerede kalmıştık host komutu ile ip adresinin hostname'mini alıyoruz ve beyazliste'mizde varmı diye bakıyoruz eğerki beyaz listemizde kayıtlı ise scriptimiz ip adresini banlamıyor ve o ip adresini ip.txt dosyasına kaydediyor böylelikle bir dahaki sefere 2. evreye gerek kalmadan ip adresi banlanmayacak eğerki beyazlistedede yoksa 3.evreye geçecek
( Beyaz listeyi beyazliste=["google.com","yahoo.com","bing.com","live.com","msn.com","msn.net"] satırından değiştirebilirsiniz.)
3.Evre :Bu evrede ip adresinin bir zombi olduğuna kanaat getiriyoruz ve ip adresini banlanıyoruz.
Sıra geldi Kodlara:
Kodu Göster & view plainprint?

1. #!/usr/bin/env python
2. # -*- coding: utf-8 -*-
3. import sys
4. import os
5. import urllib
6. import subprocess as sub
7. import cgi
8. import re
9. import random
10.
11. """
12. Kodlama By s4l1h
13. http://pehepe.blogspot.com/
14. Kullanım:
15. python banla.py 100 {Sonuç Olarak 100'den fazla Bağlantı Açanları Banlar }
16. python banla.py { Sonuç Olarak _limit_ Olarak Belirlediğiniz Sayıda Bağlantı Açanları Banlar}
17. _limit_ sayısını aşağıda ayarlar kısmından değiştirebilirsiniz 21 Numaralı Satır.
18. """
19.
20. """ Ayarlar.. Settings.."""
21. _version_="1.0"
22. _limit_=int(100) # Eğer Parametre Belirtilmez ise Buradaki Limit kullanılır.
23. beyazliste=["google.com","yahoo.com","bing.com","live.com","msn.com","msn.net"]
24. #Beyaz Liste sunucuda host 127.1.1.1 Şeklinde Çıkan sonuçta beyaz listedeki isimler varsa banlamaz.. white host name
25. _ip_="ip.txt"# white list iplerin yazılacağı dosya
26. """ Diğer Kodlarla Oynamanıza Gerek yoktur..."""
27.
28. #Botları Denetle
29. def botlar(veri):
30. for i in beyazliste:
31. z=veri.find(i)
32. if z==-1:
33. return False
34. else:
35. return True
36.
37. #Komut Çalıştır.
38. def calistir(komut):
39. str_command = urllib.unquote(komut)
40. p = sub.Popen(['/bin/bash', '-c', str_command],
41. stdout=sub.PIPE, stderr=sub.STDOUT)
42. output = cgi.escape(p.stdout.read())
43. return output
44. #Whois
45. def whoisle(ip):
46. return calistir("host "+ip)
47. #Denetleme
48. def denetle(ip):
49. veri=whoisle(ip)
50. if botlar(veri)==True:
51. return True
52. else:
53. return False
54. def dosyadan(ip):
55. try:
56. dosya=open(_ip_)
57. except:
58. return True # Dosya Oluşmamış Olabilir Ozamanda True Değerini Döndürüyoruz..
59. v=dosya.read()
60. dosya.close()
61. z=v.find(ip)
62. if z!=-1:
63. return True
64. return False
65. #Arama Motoru Botlarını white liste Ekliyoruz..
66. def yaz(ip):
67. try:
68. dosya=open(_ip_,"a")
69. except:
70. print _ip_+' Dosyası Oluşturulamıyor Yada Var Olan Dosya Okunamıyor'
71. sys.exit()
72. v=dosya.read()
73. z=v.find(ip)
74. if z==-1:
75. dosya.write(ip+"\n")
76. dosya.close()
77.
78. #Ve Son Olarak ip Adresini Banlıyoruz..
79. def bankomut(ip):
80. print "Uygulanan Komut: iptables -A INPUT -s "+ip+" -j DROP"
81. return calistir("iptables -A INPUT -s "+ip+" -j DROP")
82.
83.
84. #Banlama İsteği
85. def banla(ip):
86. if dosyadan(ip)==True:
87. print ip+' Adresi Beyaz Listede Olduğu İçin Banlanmadı '
88. elif denetle(ip)==True:
89. print ip+' Adresi Arama Motoru İp adresi Olduğu İçin Banlanmadı'
90. else:
91. print ip+" Adresi Banlandı!"
92. bankomut(ip)
93.
94.
95.
96.
97.
98. #Dosya Yoksa Oluşturuyoruz..
99. if os.path.exists(_ip_):
100. pass
101. else:
102. print _ip_+' Dosyası Oluşturuldu !'
103. f=open(_ip_,"a")
104. f.close()
105.
106. #Ana İşlemler...
107. komut="netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1"
108. veri=calistir(komut)
109. desen="([0-9]{1,6}) ([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})"
110. veriler = re.compile(desen).findall(veri)
111. if veriler == []:
112. print "Hata Oluştu"
113.
114. try:
115. print sys.argv[1]+"'den Fazla Bağlantı Açan İp Adresleri ve Bağlantı Sayıları"
116. mod="filtre"
117. except:
118. print "%s 'den Fazla Bağlantı Açan İp Adresleri Ve Bağlantı Sayıları." %_limit_
119. mod="hepsi"
120.
121. if mod=="hepsi":
122. x=int(0)
123. for i in veriler:
124. sayi=int(i[0])
125. ip=i[1]+'.'+i[2]+'.'+i[3]+'.'+i[4]
126. if sayi>_limit_:
127. print ip+" İp Adresi Toplam:"+i[0]+" Bağlantı Açmış Durumda"
128. banla(ip)
129. x=x+1
130. print "%s 'den Fazla Bağlantı Açan Toplam %d Adet İp Adresi Bulundu." %(_limit_,x)
131. elif mod=="filtre":
132. x=int(0)
133. for i in veriler:
134. ip=i[1]+'.'+i[2]+'.'+i[3]+'.'+i[4]
135. sayi=int(i[0])
136. limit=int(sys.argv[1])
137. if sayi>limit:
138. print "%s İp Adresi Toplam: %d Bağlantı Açmış Durumda" % (ip,sayi)
139. banla(ip)
140. x=x+1
141.
142. if x==0:
143. print "%d'den Fazla Bağlantı Açan İp Adresi Bulunmuyor !" %limit
144. else:
145. print "%d'den Fazla Bağlantı Açan Toplam %d Adet İp Adresi Bulundu." % (limit,x)


#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import os
import urllib
import subprocess as sub
import cgi
import re
import random

"""
Kodlama By s4l1h
http://pehepe.blogspot.com/
Kullanım:
python banla.py 100 {Sonuç Olarak 100'den fazla Bağlantı Açanları Banlar }
python banla.py { Sonuç Olarak _limit_ Olarak Belirlediğiniz Sayıda Bağlantı Açanları Banlar}
_limit_ sayısını aşağıda ayarlar kısmından değiştirebilirsiniz 21 Numaralı Satır.
"""

""" Ayarlar.. Settings.."""
_version_="1.0"
_limit_=int(100) # Eğer Parametre Belirtilmez ise Buradaki Limit kullanılır.
beyazliste=["google.com","yahoo.com","bing.com","live.com","msn.com","msn.net"]
#Beyaz Liste sunucuda host 127.1.1.1 Şeklinde Çıkan sonuçta beyaz listedeki isimler varsa banlamaz.. white host name
_ip_="ip.txt"# white list iplerin yazılacağı dosya
""" Diğer Kodlarla Oynamanıza Gerek yoktur..."""

#Botları Denetle
def botlar(veri):
for i in beyazliste:
z=veri.find(i)
if z==-1:
return False
else:
return True

#Komut Çalıştır.
def calistir(komut):
str_command = urllib.unquote(komut)
p = sub.Popen(['/bin/bash', '-c', str_command],
stdout=sub.PIPE, stderr=sub.STDOUT)
output = cgi.escape(p.stdout.read())
return output
#Whois
def whoisle(ip):
return calistir("host "+ip)
#Denetleme
def denetle(ip):
veri=whoisle(ip)
if botlar(veri)==True:
return True
else:
return False
def dosyadan(ip):
try:
dosya=open(_ip_)
except:
return True # Dosya Oluşmamış Olabilir Ozamanda True Değerini Döndürüyoruz..
v=dosya.read()
dosya.close()
z=v.find(ip)
if z!=-1:
return True
return False
#Arama Motoru Botlarını white liste Ekliyoruz..
def yaz(ip):
try:
dosya=open(_ip_,"a")
except:
print _ip_+' Dosyası Oluşturulamıyor Yada Var Olan Dosya Okunamıyor'
sys.exit()
v=dosya.read()
z=v.find(ip)
if z==-1:
dosya.write(ip+"\n")
dosya.close()

#Ve Son Olarak ip Adresini Banlıyoruz..
def bankomut(ip):
print "Uygulanan Komut: iptables -A INPUT -s "+ip+" -j DROP"
return calistir("iptables -A INPUT -s "+ip+" -j DROP")


#Banlama İsteği
def banla(ip):
if dosyadan(ip)==True:
print ip+' Adresi Beyaz Listede Olduğu İçin Banlanmadı '
elif denetle(ip)==True:
print ip+' Adresi Arama Motoru İp adresi Olduğu İçin Banlanmadı'
else:
print ip+" Adresi Banlandı!"
bankomut(ip)





#Dosya Yoksa Oluşturuyoruz..
if os.path.exists(_ip_):
pass
else:
print _ip_+' Dosyası Oluşturuldu !'
f=open(_ip_,"a")
f.close()

#Ana İşlemler...
komut="netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1"
veri=calistir(komut)
desen="([0-9]{1,6}) ([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})"
veriler = re.compile(desen).findall(veri)
if veriler == []:
print "Hata Oluştu"

try:
print sys.argv[1]+"'den Fazla Bağlantı Açan İp Adresleri ve Bağlantı Sayıları"
mod="filtre"
except:
print "%s 'den Fazla Bağlantı Açan İp Adresleri Ve Bağlantı Sayıları." %_limit_
mod="hepsi"

if mod=="hepsi":
x=int(0)
for i in veriler:
sayi=int(i[0])
ip=i[1]+'.'+i[2]+'.'+i[3]+'.'+i[4]
if sayi>_limit_:
print ip+" İp Adresi Toplam:"+i[0]+" Bağlantı Açmış Durumda"
banla(ip)
x=x+1
print "%s 'den Fazla Bağlantı Açan Toplam %d Adet İp Adresi Bulundu." %(_limit_,x)
elif mod=="filtre":
x=int(0)
for i in veriler:
ip=i[1]+'.'+i[2]+'.'+i[3]+'.'+i[4]
sayi=int(i[0])
limit=int(sys.argv[1])
if sayi>limit:
print "%s İp Adresi Toplam: %d Bağlantı Açmış Durumda" % (ip,sayi)
banla(ip)
x=x+1

if x==0:
print "%d'den Fazla Bağlantı Açan İp Adresi Bulunmuyor !" %limit
else:
print "%d'den Fazla Bağlantı Açan Toplam %d Adet İp Adresi Bulundu." % (limit,x)





Screen Shot:
Komut: python banla.py 1 1 adet bağlantı açanlar listelendi.


Komut: python banla.py 100 adet bağlantı açanlar listelendi.default ayarlarda 100 yazılı olduğu için _limit_=int(100)


Komut: python banla.py 1 1 den fazla bağlantı açanlar listelendi ve banlandı



İlerde eklemeyi düşündüğüm özellik banlanan ip adreslerini mail ile yöneticiye haberdar etme.

Youtube class

Geçenlerde Yazmış olduğum youtube sınıfını sizlerle paylaşıyorum.
Youtube Class

  1. /*
  2. Youtube Class
  3. Kodlama By s4l1h
  4. http://pehepe.blogspot.com/
  5. */
  6. class Youtube{
  7. /*
  8. Link Tutucu
  9. */
  10. function link_tut($link){
  11. $x=parse_url($link);
  12. parse_str($x['query'],$y);
  13. $this->id=$y['v'];
  14. $this->link='http://www.youtube.com/watch?v='.$y['v'];
  15. $this->resim='http://img.youtube.com/vi/'.$y['v'].'/default.jpg';
  16. }
  17. /*
  18. ID tutucu
  19. */
  20. function id_tut($id){
  21. $this->link='http://www.youtube.com/watch?v='.$id;
  22. $this->id=$id;
  23. $this->resim='http://img.youtube.com/vi/'.$id.'/default.jpg';
  24. }
  25. /*
  26. Bağlantı
  27. */
  28. function baglan($link){
  29. $ch=curl_init();
  30. curl_setopt($ch,CURLOPT_URL,$link);
  31. curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  32. curl_setopt($ch,CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);
  33. curl_setopt($ch,CURLOPT_REFERER,'http://www.youtube.com/');
  34. curl_setopt($ch,CURLOPT_HEADER,true);
  35. $sonuc=curl_exec($ch);
  36. curl_close($ch);
  37. return $sonuc;
  38. }
  39. /*
  40. t değerini buluyoruz.
  41. */
  42. function bul(){
  43. $kaynak=$this->baglan($this->link);
  44. preg_match("|\|",$kaynak,$isim);
  45. $this->ad=trim($isim['1']);
  46. preg_match("|\"t\": \"(.*?)\"|",$kaynak,$t);
  47. $sonuc = "http://www.youtube.com/get_video?video_id=".$this->id."&t=".$t['1'];
  48. return $sonuc;
  49. }
  50. /*
  51. Flv Adresini buluyoruz.
  52. */
  53. function flv(){
  54. $link=$this->bul();
  55. $kaynak=$this->baglan($link);
  56. preg_match("|Location:(.*?)\\n|",$kaynak,$cik);
  57. $this->flv=trim($cik['1']);
  58. return $this->flv;
  59. }
  60. /*
  61. Video İd'sini ekrana yazdırmak için
  62. */
  63. function id(){
  64. return $this->id;
  65. }
  66. /*
  67. Video Adı
  68. */
  69. function ad(){
  70. if(!$this->ad){
  71. $this->bul();
  72. }
  73. return $this->ad;
  74. }
  75. /*
  76. Video Thumbnail
  77. */
  78. function resim(){
  79. return $this->resim;
  80. }
  81. /*
  82. Video Link
  83. */
  84. function adres(){
  85. return $this->link;
  86. }
  87. /*
  88. Video Kaynak kodları playerde oynatmak için.
  89. */
  90. function flv_data(){
  91. if(!$this->flv){
  92. $this->flv();
  93. }
  94. header('Pragma: public');
  95. header('Expires: 0');
  96. header('Cache-Control: must-revalidate,post-check=0,pre-check=0');
  97. header('Cache-Control: private',False);
  98. header('Content-Type: video/flv');
  99. header('Content-Disposition: attachment; filename='.$this->id.'.flv;');
  100. header('Content-Transfer-Encoding: binary');
  101. readfile($this->flv);
  102. }
  103. /*
  104. Video Resim tarayıcıda göstermek için
  105. */
  106. function resim_data(){
  107. if(!$this->flv){
  108. $this->flv();
  109. }
  110. header("Content-type: image/jpeg");
  111. readfile($this->resim);
  112. }
  113. }

Örnek Kullanım
  1. require_once('youtube.class.php'); // Sınıf dosyamızı ekliyoruz.
  2. /*
  3. Youtube Class Örnek Kullanım
  4. Kodlama By s4l1h
  5. http://pehepe.blogspot.com/
  6. */
  7. $video=new Youtube(); // Sınıfımızı çağırıyoruz ve $video değişkenine atıyoruz.
  8. $video->link_tut('http://www.youtube.com/watch?v=gzqpEWykqEs&feature=related'); // Video linki tutuyoruz.
  9. //$video->id_tut('gzqpEWykqEs'); //Üst satır ile aynı şey
  10. if($_GET['olay']=='indir.flv'){// Video indirilmek istenirse index.php?olay=indir.flv
  11. echo $video->flv_data(); // Video Kaynak Kodları
  12. }elseif($_GET['olay']=='resim.jpg'){ // Resimi tarayıcıda göstermek istenirse index.php?olay=resim.jpg
  13. echo $video->resim_data(); // Resim Tarayıcıda Gösterilir
  14. }else{ // Eğer sadece index.php diye çağrılırsa
  15. header('Content-Type: text/html; charset=utf-8');
  16. echo '
    ';  
  17. echo 'Flv Adresi: '.$video->flv(); // Flv adresi.
  18. echo "\n";
  19. echo 'İD: '.$video->id(); // Video ID
  20. echo "\n";
  21. echo 'Resim: '.$video->resim(); // Video Thumbnail
  22. echo "\n";
  23. echo 'Video Adresi: '.$video->adres(); // Video Adresi
  24. echo "\n";
  25. echo 'Video Adı: '.$video->ad(); // Video Adı
  26. echo "\n";
  27. echo '.$video->ad().'"/>';
  28. echo "\n";
  29. echo '.$video->ad().' Video Dosyasını İndir">Video Dosyasını İndir';
  30. echo '';
  31. /*
  32. Playerde Oynatalım.
  33. Playerde Çalışabilmesi için aşşağıdaki $site değişkenini düzenleyin
  34. */
  35. $site='http://www.dl21.org/index.php';// Buraya Scriptin bulunduğu adresi yazıyoruz.
  36. echo <<
  37. "video" width="300" height="200" allowfullscreen="true" src="http://www.onlineflvplayer.com/player.swf" flashvars="file=$site?olay=indir.flv&image=$site?olay=resim.jpg" type="application/x-shockwave-flash" pluginspage="http://get.adobe.com/flashplayer/">
  38. HTML;
  39. }
  40. ?>

Screen Shot
Youtube Class

Duplicate Content derdinden nasil kurtulunur?

Yaklasik bir hafta once Duplicate Content nedir diye bir yazi yayinladim. Kisaca duplicate content’i insanlarin buyuk cogunlugun yanlis anladigini ve aslinda duplicate content isinde asiriya kacmazsaniz, hic ceza almadiginizi soyledim. Eger butun iceriginiz calinti ise, ve ozellikle sadece bir kaynakta calinti isine girdiyseniz, yakalanirsiniz. Bu yazida duplicate content belasindan nasil kurtulacaginizi anlatacagim.

Onceden gelistirdigim ana siteler icin icerik yazdirir ve ucret oderdim. Su anda komple baskalarinin iceriklerini kullanarak site yapiyorum. Artik icerik yazdirmak icin degilde, icerik degistirmek icin insanlara para oduyorum. Sizede tavsiyem su: Bu konuda yazilanlari uygulayin. Uygulamazsaniz, elinize bisey gecmez. Sadece bu yaziyi okuyarak 10-15 dakika kaybedersiniz.

Oncelikle ilk yanlis anlamayi sorgulayalim. Yanlis algilama su: Google’da ust siralara cikmak icin ozgun icerik gerekiyor. BU yanlis algilama kismen dogru, yani ozgun icerik ile ust siralamara cikma ihtimali var. Ama ozgun iceriksizde cikilabiliyor. Ayrica daha ucuz. Su arama sonucuna bakin. Google Aramasi. Google bu arama icin 567 tane sonuc buluyor. Arama sonuclarinin 22. sayfasina giderseniz (tiklayin), aslinda 213 tane sayfayi siralamaya soktugunu, geri kalanlari gostermedigini farketmeniz lazim. Burada iki tane temel indexten bahsetmek gerekiyor. 567 tane sonuc ana index ve supplemental indexteki tum sayfalari veriyor. Ilk 213 sonuc ana indexte, geri kalanlar supplementalda. Supplemental indexteki sayfalar arama sonuclarinda gosterilmiyor. Bizim yaptigimiz aramadada 213 ve ilerisi supplemental indexte. Yani duplicate content filtresine giren sayfalar supplemental indexe giriyor. Buraya kadar yazdiklarimi zaten herkes biliyordur. Amac google sonuclarinda gozuken sayfalar yaratmak ve supplemental indexe girmemek.

Duplicate content filtesinin kuralini acikliyorum:

Duplicate content filtresi anahtar kelimelere ozgu bisey.

Yani duplicate content filtresinde olan (supplemental indexteki) bir sayfa baska bir kelimede ana indexte olabilir. Ispat: Yukaridaki ornekteki supplemental indexte olan bir sayfa bulun. Sayfanin icinden bir kelime gurubu secin. Google’da site:domainadi.com “yeni kelime gurubu” diye aratin, sayfanin listelendigini goreceksiniz.

Simdi bu birinci kural ne ise yarar? Ayni icerigi kullanarak baska anahtar kelimelerde ana indexe girebilirsiniz. Simdi bunu aciklayayim.

Elimizde 2 sayfa oldugunu ve bu iki sayfanin iceriklerinde sadece ve sadece su iki cumle oldugunu dusunun.

1. sayfa: Beterbocek cok guzel.

2. sayfa: Beterbocek o kadar guzel ki her sabah televizyonda yayinlanmasini istiyorum.

Bu arada beterbocek super bir cizgifilmdir. Birisi “beterbocek” diye arama yaparsa, bu iki sayfa rekabet halinde. “Beterbocek guzel” kelimesi icinde iki sayfada rekabet halinde. Ama “beterbocek cok guzel” kelimesinde sadece ilk sayfa, “beterbocek her sabah televizyonda” kelimesinde sadece ikinci sayfa siralamalarda gosterilir. Eger beterbocek cok guzel kelimesi icin siralamaya girmek istiyorsam, ilk sayfaya baska bir yerden icerik ekleyebilirim. Eger beterbocek her sabah televizyonda kelimesi icin siralamaya girmek istiyorsam, 2 sayfanin alt kismina calinti icerigi ekleyebilirim.

Sinemalar.com sitesinden su icerigi buldum:

Genç ve mutlu bir çift olan Adam ve Barbara Maitland geçirdikleri trafik kazası sonrasında ölürler. Bu arada Charles ve Delia, kız kardeşleriyle birlikte New York’a gelerek Maitland’ların evlerini satın alırlar. Fakat Adam ve Barbara Maitland bu durumdan hiç hoşnut değildirler. Birer hayalet olmalarına rağmen tecrübesizlikleri yüzünden yeni ev sahiplerini evden uzaklaştıramazlar. Son çare olarak en kötü hayalet Beter Böcek’e başvururlar.

Amacim “beterbocek cok guzel” kelimesinde google’da ilk siralara cikmak. Elimde baska bir yerden buldugum icerik var. Konu ile alakali. Tek yapmam gereken, icerigin basina 2-3 cumle eklemek ve yukari cikmak istedigim kelimeyi araya sikistirmak. Ben su sekilde sayfayi yaparsam, bu kelimede ilk siraya cikarim.

*********************************

Beterbocek {1988|1976} {yilinda | senesinde} sinemalarda gosterime girdi. Ozellikle {cocuklar|yetiskinler| kadinlar|erkekler} arasinda cok populer oldu. Beterbocek cok guzel. Herkese bir an once cok guzel olan beterbocek filmini sinemalarda {izlesin|seyretsin}.

Genç ve {mutlu|mesut} bir çift olan Adam ve Barbara Maitland geçirdikleri trafik kazası sonrasında {ölürler|vefat ederler}. Bu arada Charles ve Delia, kız kardeşleriyle birlikte New York’a gelerek Maitland’ların evlerini satın alırlar. Fakat Adam ve Barbara Maitland bu durumdan hiç hoşnut değildirler. Birer hayalet olmalarına rağmen tecrübesizlikleri yüzünden yeni ev sahiplerini evden uzaklaştıramazlar. Son çare olarak en kötü hayalet Beter Böcek’e başvururlar.

***********************************

Yukarida ne yaptigimi anlatayim.

1. Yazinin basina 2-3 cumle ekledim. Ekledigim ilk 4 cumle orjinal. Yazi artik double content filtresine girmez hale geldi.

2. {X|Y} ne demek diye dusunuyor olabilirsiniz. Bu su anlama geliyor. Yazi hazilanirken, X veya Y kelimesini yerlestir, digerine salla gitsin. Yani yazinin ilk cumlesi su sekilde olabilir. Beterbocek 1976 senesinde sinemalarda gosterime girdi, yada beterbocek 1988 senesinde sinemalarda gosterime girdi. Toplam 2×2=4 kombinasyon var. 2 . cumle icin 4 kombinasyon var. 4. cumle icin 2 kombonasyon var. Yani ben ilk paragrafi toplam 4×4x2=32 degisik sekilde yazabilirim. Ikinci maddede anlattigim sey duplicate content filtresi ile direkt olarak alakali. Cunku beterbocek cok guzel kelimesinde yukselmek icin backlink gerekli. Backlink alacagimiz sitelerede ayni icerigi koyacagiz. Tek fark beterbocek cok guzel kelimesinde ana sitemize backlink olacak. Yani yazinin toplam 32 kombinasyonu var. Bu 32 kombinasyonun sadece birini ana sitemize koyacagiz. Geri kalan 31 tanesi ile backlink almak icin saga sola link kasacagiz. Bu sekilde Google’u kandirabiliriz. Cunku 32 kombinasyonda birbirinden biraz degisik, yani aralarinda kelime farkliliklari var. 32 taneside ayni siteye backlink veriyor. Dolayisiyla google ana icerigin backlinkle gosterilen yer oldugunu dusunecek, ve biz istedigimiz kelimde ilk siraya cikacagiz.

3. Yukaridaki metod ile kucuk bir ihtimal beter bocek kelimesi icin double content filtresine girebilirsiniz cunku icerigin o kismi cogu yerde onceden yayinlamis olabilir. Zaten amac betebocek kelimesi degil. Daha az aranan “beterbocek cok guzel” kelimesi. Eger beterbocek kelimesi icin sirlamaya girmek istiyorsaniz, yani cok aranan, ana bir kelimede siralamaya girmek istiyorsaniz, daha fazla backlink almaniz gerekiyor. Zaten ana kelimeler ile ilgileniyorsaniz, black hat seo isi size pek uymaz.

4. Beterbocek kelimesi ornek icin verilmistir. Bu kelimede rekabet yok. Yani sayfa icin optimizazyon bile yapsaniz, bu kelimede yukari cikarsiniz. Gecenin bir yarisi aklima bu geldi. Idare edin. Demek istedigim su: Duplicate content filtresini yazinin basina sizin istediginiz kelime icin optimize edilmis 2-3 cumle eklemeniz yeterli. Bosuna bir saat yazi yazmakla ugrasmayin. Yazilmisi vardir, biryerlerde… Onu alin.

Sonuc: Eger icerigi aynen yayinlarsaniz, content filtresine takilirsiniz. Icerigin basina 2-3 cumle eklerseniz, double content filtresinden cikarsiniz. Bana inanmiyorsaniz, yukarida verdigim google aramasina bakin. Ilk 10′daki sitelerin hepsinde ana icerigin yaninda, degistirilmis, yeni eklenmis icerik bulacaksiniz. Size ayni taktigi uygulayarak, double content filtersinden cikabilirsiniz. Yukaridaki ornegi daha ticari bir kelime ile daha mantikli hale getireyim. Mesela Chicago car insurance (Sikago araba sigortasi) kelimesinde ilk siraya cikmak istiyorum. Sifir, hicbir yerde yayinlanmamis icerige ihtiyacim yok. Piyasadaki araba sigortasi makalelerinin basina 3-5 cumle eklesem icerik ozgun olacak. Ekledigim 3-5 cumlede “chicago car insurance” kelimesi icin optimize edilmis olsa yeter. Sonucta bu makalelerin orjinal yazarlari bunu araba sigortasi kelime gurubu icin yaziyor. Benim amacim daha az aranan sikago araba sigortasi kelimesi. Car insurance (araba sigortasi) kelimesi icin sayfa ana indexte olmayacak, double content filtresine girebilir ama “chicago car insurance” (sikago araba sigortasi) kelimesinde makale ozgun olacak ve double content filtresine girmeyecek. Cunku ana kurala gore double content filtresi kelime gurubuna gore calisiyor. Yani bir sayfa bir kelimde double content filtresine girerken, baska bir kelimede filtreye girmez. Ana kurali tekrar yaziyorum: Duplicate content filtresi anahtar kelimelere ozgu bisey.

Foruma uye almaya basladik…

Su andaki uyelerin istegi ile forumu halka acmaya karar verdik. Isteyen uye olabilir. Daha once foruma uye olduysaniz ve banlanmissanizda uye olabilirsiniz.

Yeni uyeler sadece Ok Meydani forumuna erisebilir. Su anda bu forum bos. Yeni uyelerden webmasterlari ilgilendiren konular hakkinda yazilar yayinlamalarini, bilgilerini paylasmalarini bekliyoruz. Yeni uye olanlar zamanla actigi konular, cevapladigi sorular dikkate alinarak forumda bir ust seviye olan yeniceri adayligina cikartilacak. Yeniceri adayi oldugunuzda forumun buyuk bir kismini gormeye baslayacaksiniz. Su anda sadece Ok Meydani forumu halka acik durumda kalacak. Ok Meydani forumu kisacasi forumda yeniceri adayi olmak isteyenlerin kendilerini gosterebilecekleri bir arena.

Forumun uyelik adresi

Websitesi nasil banlatilir?

Zaman zaman websitesi nasil banlatilir? Yada rakibin sitenisini nasil google’dan banlatirim seklinde emailler aliyorum.

Acikcasi bu sorunun cevabini bilmiyorum. Eger yeni domainse bazi yontemler bazen ise yariyor, ama her zaman ise yaramiyor. Son olarak foruma uye olmak isteyen bir arkadas bizimle surada () goruslerini paylasti. Ilgilenenler lutfen sonuna kadar forumu okusun.

Is sonunda bu blogu (banlamaya kadar geldi. Arkadasa bu blogu banlatmasi icin onay verdim. Bahsettigi calismayi yapti, birkac hafta icinde sonuclari belli olacak.

Acikcasi onceden bahsettigi yontemle site indirmeye calistim, ama pek basarili olmadim. Bakalim simdi ne olacak, merakla bekliyorum.

Bunun yaninda foruma uyelik tum hiziyla devam ediyor. Cok fazla basvuru var. Dileyen herkes foruma uye olabiliyor, ama forumun butun kisimlarina erisimi vermiyoruz. Ok Meydani forumunda konu acip, bilgisi oldugunu gosterenlere forumu tamamen aciyoruz. Zaman zaman foruma uye oldum, ama hicbirseye erisim yetkim yok, ne yapmaliyim diye emailler geliyor. Yapmaniz gereken Ok Meydani forumuna konu acmak. SEO bakimindan az biraz bilgili oldugunuzu gostermek, yada en azindan ilgilendiginizi ispatlamaniz.

Gelelim asil konuya websitesi nasil banlatilir? Cevap: Tam olarak bilmiyorum. Yarim yumalak bisey yazip, kafa karistirmaktansa hic yazmamak daha iyi. Baskasinin sitesini banlatmakla ugrasacagimiza, kendi sitelerimizi yukarida cikarmaya calissak, daha faydali olur. Ama bunun yontemini bilen varsa, hic zaman kaybetmeden bizim foruma uye olsun. Hem biz hem bu bilginin sahibi cok sey kazanir.

 

mp3 indirmp3mp3 dinle