SORU
31 Mayıs 2011, Salı


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
31 Mayıs 2011, Salı


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,

  1. Google example.com/#!/blog bir bağlantı görüyor
  2. Google istekleri example.com/?_escaped_fragment_=/blog
  3. 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?

  1. Bu Facebook istemci uygulaması devlet üzerine /blog bastığınızda haline dönüştürecek yaklaşım-URL aynı içeriğe hizmet site.com/blog. (Facebook pushState bildiğim kadarıyla henüz kullanmıyor, ama hashbangs ile bunu yapıyorlar)

  2. 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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Eddie Bravo

    Eddie Bravo

    17 EKİM 2006
  • MagicofRahat

    MagicofRahat

    13 Temmuz 2007
  • TecNoob

    TecNoob

    15 AĞUSTOS 2013

İLGİLİ SORU / CEVAPLAR