2012-12-06 30 views
5

आइए गूगल द्वारा AJAX-रेंगने के बारे में बात:History.js + गूगल

history.js के बाद से बदसूरत hashbang यूआरएल मैं के बारे में एक निश्चित मुद्दा सोच रहा था के लिए एक अच्छा विकल्प है: एचटीएमएल 5 ब्राउज़रों के लिए, अच्छा यूआरएल अगर ajax बनाई गई हैं सामग्री को लोड किया गया है और Google द्वारा अनुक्रमित किया जाना चाहिए। किसी भी एचटीएमएल 5 ब्राउज़र के लिए (उदा। आईई 9 इतिहास.pushState का समर्थन नहीं करता है) पुराने हैशबैंग का उपयोग किया जाता है।

तो Google द्वारा कौन सा संस्करण देखा जाता है? क्या कोई जोखिम Google को डुप्लिकेट सामग्री (अच्छा यूआरएल वाला एक बार, हैशबैंग के साथ एक बार) देखता है?

उस पर किसी भी विचार के लिए धन्यवाद।

उत्तर

0

यदि किसी AJAX पृष्ठ को Google के साथ अनुक्रमित करने की आवश्यकता है तो हमें सर्वर से पृष्ठ के HTML स्नैपशॉट को सर्वर करने की आवश्यकता है।

पूर्व के लिए: xyz.com/page1#!name=john

गूगल क्रॉलर इस # पाता है! पहचानकर्ता और अनुरोध http://xyz.com/page1?_escaped_fragment_=name=john इस प्रकार हमारा सर्वर पृष्ठ के HTML स्नैपशॉट को सर्वर कर सकता है।

अब जब हमारे यूआरएल सुंदर और # के साथ संलग्न होते हैं! AJAX पृष्ठों को अनुक्रमित किया जाएगा।

यूआरएल में केवल # संलग्न पृष्ठों वाले पृष्ठों के लिए, Google क्रॉलर जीता; एजेक्स के माध्यम से लोड की गई सामग्री को देखने में सक्षम नहीं होगा और इसे अनुक्रमित नहीं किया जाएगा। तो डुप्लिकेशंस

हम पृष्ठ के मुख्य भाग में लिंक टैग का उपयोग भी कर सकते हैं जिसमें मेल यूआरएल को इंगित करने वाले रिले कैनोनिकल यूआरएल के साथ पेज टैग का भी उपयोग किया जा सकता है। संदर्भ के लिए http://googlewebmastercentral.blogspot.in/2009/02/specify-your-canonical.html देखें।

0

एचटीएमएल

<a href="http://some/other/page/1" data-history='{"some":"data"}' title="...">link1</a> 
<a href="http://some/other/page/2" data-history='{"some":"data"}' title="...">link2</a> 

जावास्क्रिप्ट

$(document).on('click', '[data-history]', function(e){ 
    e.preventDefault(); 
    History.pushState($(this).data().history, this.title, this.href); 
}) 

जावास्क्रिप्ट के साथ ग्राहक के लिए सक्षम है, तो hisotory.js यह एक AJAX अनुरोध करने के लिए, ग्राहक के लिए जावास्क्रिप्ट के बिना, संभाल लेंगे यह सामान्य पेज का अनुरोध करेंगे।

0

मैं ब्राउज़र के लिए नियमित रूप से स्थिर पृष्ठों की सेवा करते समय एपीआई (लगभग 70% ब्राउज़र) का समर्थन करने वाले ब्राउज़र के लिए पूरी तरह से HTML5 इतिहास API का उपयोग करने की सलाह दूंगा। इस तरह, कोई संभावना नहीं होगी कि सर्च इंजन पूर्ण कैनोलिक स्थिर यूआरएल से कुछ अलग दिखाई देगा।