pushstate ve seo
Birçok insan, yerine pushState hashbang söylüyor.
Anlamadığım şey, nasıl arama motoru hashbang kullanmadan dostu olmak ister misin?
Muhtemelen pushState içerik istemci tarafında javascript ile oluşturulur.
Senaryo bu şekilde
example.com
yapıyorum. Bir bağlantı tıklama benim kullanıcı: href="example.com/blog"
pushState tıklayın yakalar, url güncelleştirmeleri, bir yerden bir json dosyası kapmak ve içerik alanında blog listesini oluşturur.
Hashbangs, google escaped_fragment url statik içerikleri gitmek bilmiyor.
PushState ile google sadece json yüklemek ve daha sonra şablonu oluşturmak için javascript kullanamazsınız gibi bir şey görür.
Görebiliyorum bunu yapmanın tek yolu sunucu tarafında şablonu oluşturmak için, ama bu tamamen istemci için uygulama katmanına iterek yararları olumsuzlar.
Yani bu doğru, pushState değil SE dostu istemci tarafı uygulamaları için alıyorum?
CEVAP
Eğer arama motorlarının içeriği okumak istiyorsanız pushState
kötü mü?
Hayır, pushState
hakkında konuşmak daha iyi görünümlü URL ile hashbangs aynı genel işlem gerçekleştirerek etrafında, ama içindir. Hashbangs kullandığınızda... gerçekten ne olduğunu bir düşün
Sen de ki:
Hashbangs, google escaped_fragment url statik içerikleri gitmek bilmiyor.
Yani diğer bir deyişle,
- Google
example.com/#!/blog
bir bağlantı görüyor - Google istekleri
example.com/?_escaped_fragment_=/blog
- Sanareturn a snapshot of the content the user should see
Gördüğünüz gibi, zaten sunucu kullanır.Eğer sunucudan içeriği anlık hizmet değilse, o zaman düzgün bir şekilde endeksli değil.
Nasıl Google pushState diye bir şey gördün mü?
PushState ile google sadece json yüklemek ve daha sonra şablonu oluşturmak için javascript kullanamazsınız gibi bir şey görür.
Aslında, Google isteyebilir her neyse site.com/blog
at görür. Bir URL hala sunucuda bir kaynak noktaları ve istemciler yine de bu Sözleşme itaat edin. Modern müşteriler için tabii ki, Javascript ve içeriği ile etkileşim almak için yeni olanaklar açtısayfayenileme, ama sözleşmeleri aynıdır.
pushState
amaçlanan şıklık tüm kullanıcılar için aynı içeriği, eski ve yeni, JS-yetenekli değil, ama yeni kullanıcılar get an enhanced experience görev yapmaktadır.
Nasıl içeriğinizi görmek için Google alabilirim?
Bu Facebook istemci uygulaması devlet üzerine
/blog
bastığınızda haline dönüştürecek yaklaşım-URL aynı içeriğe hizmetsite.com/blog
. (FacebookpushState
bildiğim kadarıyla henüz kullanmıyor, ama hashbangs ile bunu yapıyorlar)Twitter yaklaşımı-hashbang denk gelen tüm URL yönlendirme. Diğer bir deyişle, blog" devlet üzerine
/blog
iter. "/bağlantı Ama eğer doğrudan bir talep olursa, tarayıcı#!/blog
de son bulur. (Googlebot için, bu daha sonra istediğiniz gibi_escaped_fragment_
yol olacaktır. Diğer müşteriler için, 14* *pretty URL) olabilir.
Bu yüzden pushState
15 *yeteneğini kaybeder misin?
Birkaç farklı yorum, " dedi
kaçtı parçası tamamen farklıdır. Unthemed içerik önbelleğe alınmış içeriği, saf hizmet ve normal sayfaları yükü altına alınması değil.
İdeal çözüm google da javascript siteler hatta pushstate siteleri robots.txt?) kaçtı parçası bir url olduğunu bilmenin bir yolu uygulamaktır.
Bahsettiğiniz faydaları 17* *için izole değildir. Sizin için tekrar geliyor ve kullanan özel olarak adlandırılmış GET
param çok uygulama ayrıntı. Orada gerçekten özel bir şey size bir şey yapamam, standart URL-diğer bir deyişle, yeniden /blog
/?content=/blog
kullanarak kendi mod_rewrite veya sunucunuzun eşdeğer.
Eğer sunucu tarafı içeriği hizmet musun eğer mi?
URL yeniden yazma ve hizmet edemezsiniçerik bir tür/blog
(veya tarayıcının içine itti ne olursa olsun), sunucunuz gerçekten artık HTTP Sözleşmesi ile devamlıdır.
Bu sayfayı yeniden yükle (her ne sebeple olursa olsun) bu URL adresindeki içerik çeker, çünkü bu önemlidir. . ben^>(https://wiki.mozilla.org/Firefox_3.6/PushState_Security_Review - bakın; "Görünüm-Kaynak ve yeniden eğer kimse kimseyi zorlamadı eğer yeni URİ içeriği getirecek").
Değil bu çizim kullanıcı arayüzleri bir kez istemci tarafı ve içerik yükleme ile JS API kötü bir amaç, sadece o değil gibi duruyor ile HTTP ve URL ve temelde geriye dönük olarak uyumlu.
Şu andabu hashbangs sunucuda istemci gidilen farklı sayfa durumlarını temsil eden -; ve tasarlanmıştır bu kesin bir şey. Yeniden, örneğin, yükaynıokuma, çözümleme ve karma değerini işlemi olan kaynak.
Sadece onlar oluyorayrıca kullanılmış(özellikle Facebook ve Twitter) sunucu tarafında bir yere geçmişi değiştirmek için, bir sayfa yenileme olmadanİnsanlar pushState için terk hashbangs tavsiye bu durumlarda kullanın.
Eğer tüm içerik, istemci taraflı hale getirirseniz, daha uygun bir tarih APİ, kullanarak hashbangs bir çıkış yolu değil, bir parçası olarak pushState
düşünmelisin.
pushstate ve seo...
Internet Explorer destek pushState ve ...
Nasıl geçmişi ile tarihi değişiklikler...