Herkese günaydın!
İngilizce ve Türkçe olmak üzere çift dilli bir site yaptım. Google'da ki dizinlerin karışmaması ve (duplicate-content) sayfa veya içerik tekrarı olmaması için .htacces aracılığı ile türkçe bölümü /tr altına ingilizce bölümü ise /en altına attım. Gerçekte ise /tr veya /en şeklinde klasörler mevcut değil. Yani session vasıtasıyla bunları .htaccess'ten ayarlıyorum.
Örnek verecek olursak:
siteadi.com/lang=tr==> burası orjinal türkçe sayfası. .htaccess ten bunu siteadi.com/tr olarak ayarlıyorum. aynı şekilde ingilizce sayfası içinde siteadi.com/lang=en siteadi.com/en şekline dönüyor. Web sitesinde varsayılan dil türkçedir. Eğer kullanıcı isterse inglizceye dönebilir. Ama dediğim kendisinin bir talebi olmadığı sürece default dil türkçedir.
Şimdi geldik en canalıcı noktaya:
Yaptığım bu sitenin sayfalarını google'ye kayıt etmek için sitemap oluşturdum. Hem Türkçe sayfaları hemde İngilizce sayfaları ayrı ayrı listelettim. Bu gün kontrol ettiğimde ise siteadi.com/tr ile siteadi.com/en sayfalarının aynı yani türkçe olduğunu gördüm. Bu durumdan da sanırım şu anlaşılıyor ki çok saçma google'nin botları session dan etkilenmiyor mu? Durumu daha iyi anlamak için http://www.delorie.com/web/lynxview.html sitesini kullanıp yaptığım siteyi google bot gibi taradım. Sonuç aynı! Sitenin ingilizce bölümüne geçtiğim zaman içeriğin türkçe olduğunu görüyorum. Bu konu ile ilgili bilgisi olan varmı arkadaşlar.
Üzerinde çalıştığım siteye burdan ulaşabilirsiniz.
Google botları session yemiyor!
7
●601
- 30-06-2010, 08:58:31evet google botları session almaz, zaten bu birçok yerde yazıyor.
şöyle bir çözüm getirebilirsiniz:
URL'lerinizi şu yapıya dönüştürün: siteadi.com/#dil#/#sayfa#/
bunun için de şöyle bir htaccess tanımlayın:
daha sonra sayfa içindeki $_GET['dil'] değişkenine göre sayfanın diline karar verip içeriği bastırabilirsinizAlıntı - 30-06-2010, 10:02:58o şekilde çok yorulur diye düşünüyorumTHR adlı üyeden alıntı: mesajı görüntüle
günlük 10k hit olduğunu düşünsene
- 30-06-2010, 11:13:25Üyeliği durduruldunolacakki hocam 10k hit düzgün optimizasyonla php için mesele mi?by_antiseptic adlı üyeden alıntı: mesajı görüntüle
delly nin dediği gibi useragent varken ipye ne gerek var (sen yazana kadar hiç aklıma gelmedi hocam
)
- 30-06-2010, 11:25:37user_agent ile nasıl yapıcaksınız anlamadım. arkadaş google botlarına hem türkçe hem de ingilizce sayfaları göstermek istiyor, sadece ingilizce değil.
bence en mantıklı çözüm, elinde zaten hem türkçe hem ingilizce sayfalar olduğuna göre ikisini de ayrı ayrı kullan session falan olmadan, by_antiseptic in dediği gibi - 30-06-2010, 13:02:45User agent olmaz. Sonuçta google botu sadece tek dille geliyor. Birden fazla dille gelmiyor. Bu arada hem türkçe hemde ingilizce sayfalar yok. Yani tek bir sayfa var. Bir tane dil klasörü oluşturdum. Bunun içinde iki tane dil dosyası var. O anki session neyse sistem o dosyayı çağırıyor.Invictus adlı üyeden alıntı: mesajı görüntüle
Örnek:
lang_tr.php ve lang_en.php şeklinde iki tane dosyam var. Her iki dosyada aynı değişken var. Şöyleki:
$anasayfa['lang']['anasayfa'] şeklinde bir değişkenim var. Bu değişken lang_en.php'de şöyle yüklü: $anasayfa['lang']['anasayfa']="HOMEPAGE";
lang_tr.php dosyasında ise şöyle: $anasayfa['lang']['anasayfa']="ANASAYFA" şeklinde. Sitenin içinde ise bu değişkeni şöyle kullanıyorum:
<?php session_start(); if ($_GET['lang']=='tr') //tabi bu mantıksal sorgulama $_SESSION değişkeni içinde tanımlanıyor. Yormasın diye yazmadım. include ('lang_tr.php'); else include ('lang_en.php'); print $anasayfa['lang']['anasayfa']; //Şu durumda oturum hangi dilde ise bu değişken o stringi yükleyecek. ?>İki farklı klasör oluşturursam şuana kadar yaptığım çalışmanın bir önemi kalmayacak yada kurduğum mantıkta ciddi değişiklikler yapacağım. Bu google botunu kandırmanın başka bir yolu yok mu?
Anlamamadığım bir nokta var:
Ben oturumu arka planda kendim düzenliyorum google veya herkimse benim ona sunduğumla yetinmek zorunda. Sonuçta google veya diğer arama motorları öyle yada böyle web sayfalarına bir tarayıcı ile bağlanıyorlar. session olayını nasıl aşar?
)