Arama motoru optimizasyonu (SEO) olması gereken bir backbone.js/marionette web sitesinde çalışıyorum. Java/spring RESTful backend ve Apache 2.2 web sunucusu kullanıyoruz. Şu anda hala erken aşamada iken, uygulamamızdaki pushstate'i uygulama aşamasındayım. Bugüne kadar bir çözüm olarak ile geldim neApache sunucusunda Backbone.js uygulaması için SEO - phantom.js ve node.js?
:
- JavaScript etkin tarayıcılarda normal kullanıcılar için, tamamen istemci tarafı omurga uygulamasını kullanabilirsiniz.
- Tüm yolların index.html sayfamızdaki tüm yolları yönlendirmek için, backbone.js doğru sayfayı döndürecek ve url formunu koruyacak şekilde Apache'nin mod_rewrite özelliğini kullanın. Bu kadar doğru çalışıyorum (eksi bir hata).
- Apache'nin httpd.conf dosyasını kullanarak botlara/tarayıcılara göz atın ve node.js sunucumuza yeniden yönlendirmek için yeniden yazma kuralları oluşturun.
- phantomjs öğesini kullanarak html/content oluşturun ve bunu web tarayıcısına döndürün.
Sitenin bot için tamamen işlevsel olması gerekmiyor, ancak doğru içeriği döndürmesi gerekiyor. Bıyık şablonlarını kullanıyoruz, ancak bir DRY sitesi istiyoruz ve site büyüdükçe herhangi bir java şablonu oluşturma işleminin inanılmaz derecede dağınık olacağını düşünüyoruz. Bu siteyi uzun yıllar boyunca umutluyoruz ve bir ton 3. parti kütüphaneye (en azından halihazırda olduğumuzdan daha fazla değil) bağlanmaya çalışıyoruz.
Bu konuda herhangi bir deneyim veya öneri var mı? Araştırmamdan, diğerleri biraz dikkatli, özellikle this related question. Javascript'te get istekleri yerine getirme konusunda botların "tıklaması" durumunda endişeleniyorum. Düşünceler ve tavsiye?
Önceden çok teşekkürler.
Burada tam olarak soru nedir? –
Bu iyi bir saldırı planı gibi görünüyor mu? Bunu daha önce yaptın mı, eğer öyleyse, herhangi bir sorunla karşılaştın mı? Kısıtlarımıza uyan alternatif bir çözüm önerebilir misiniz? Önde gelen tarayıcılar, tıklama isteği almak için tıkla ve bu bir sorun teşkil ediyor mu? Bu daha genel bir soru olsa özür dilerim. – Andrew