SEO ile tamamen ajax ile çalıştırılan bir uygulama için hash bang yaklaşımını kullandım. Deneyimlerime göre hem web tarayıcısı hem de akıllı telefon tarayıcıları için çok güvenilir bir yaklaşım olduğunu söyleyebilirim.
İşte benim yaklaşımım. Kod sadeliği için Jquery/Zepto kodunu kullanacağım
Farklı bir ajax sayfası yüklemeniz gerektiğinde, javascript kullanarak URL karma değerini değiştirin.
window.location.hash = '#!page1';
Sonra karma değişiklik olayı URL'yi yazarak ve bir sayfayı yüklemeden bu arada loadPage fonksiyonu
var loadPage = function(e){
pageId = window.location.hash;
_gaq.push(['_trackPageview', '/'+pageId]); //For google analytics virtual page push
if(pageId == '#!page1'){
$.get('ajax/page1.php', function(response) {
$('#main').html(response);
});
}else if(pageId == '#!page2'){
$.get('ajax/page2.php', function(response) {
$('#main').html(response);
});
}
}
ile olayı Kulp javascript
$(window).on('hashchange',loadPage);
gelen ateş edecek bağlantıyı kullanarak da.
Şimdi SEO Bölümü. Google ve diğer büyük arama motoru, ajax tabanlı bir web sitesini taramanın bir yolunu geliştirdi. Eğer kullanırsan #! URL'nizde google # yerini alacak! '? _escaped_fragment_' ile bölüm ve size içerik isteyecektir. örneğin
www.yoursite.com/#!page1
yapmanız gereken tek şey bir GET parametresi olarak _escaped_fragment_ yakalamak olduğunu www.yoursite.com/?_escaped_fragment_=page1 dönüştürülecektir. Eğer php kullanırsanız kod Ayrıca, farklı bir kayda göre _escaped_fragment_
alıcı tarafından tek tek her sayfa için html sayfası başlık ve açıklama ayarlayabilirsiniz
if (isset($_GET['_escaped_fragment_'])) {
$fragment = $_GET['_escaped_fragment_'];
if($fragment == 'page1')
echo include 'ajax/page1.php'; // or use readfile method
else if($fragment == 'page2')
echo include 'ajax/page2.php'; // or use readfile method
}
gibi olacak, kullandığınız sosyal medyada url paylaşabilirsiniz #! de. Normal bir bağlantı olarak _escaped_fragment_
'un yardımı ile ayrıştırılacaktır. Bu yaklaşımın tüm sorunları karşılamanıza yardımcı olacağını umuyorum.
geçmişi navigasyon bazı href dışlamak istiyorsanız jQuery adresi kütüphane ve ardından
Dahil – Atomix
Teşekkür merak ediyor @Atomix, Ben – Jacques