2009-07-23 16 views
6

मैंने हमेशा यह माना था कि AJAX संचालित सामग्री खोज इंजन के लिए अदृश्य थी।क्या AJAX साइट खोज इंजन द्वारा क्रॉल करने योग्य हैं?

(यानी सामग्री XMLHttpRequest के माध्यम से डोम में डाला)

उदाहरण के लिए, इस साइट में, मुख्य सामग्री AJAX अनुरोध के माध्यम से ब्राउज़र लोड किया जाता है:

http://www.trustedsource.org/query/terra.cl

... अगर आप इस पृष्ठ को के साथ देखते हैं जावास्क्रिप्ट अक्षम, मुख्य सामग्री क्षेत्र खाली है।

http://74.125.155.132/search?q=cache:JqcT6EVDHBoJ:www.trustedsource.org/query/terra.cl+http://www.trustedsource.org/query/terra.cl&cd=1&hl=en&ct=clnk&gl=us

तो, जाहिरा तौर पर खोज इंजन AJAX के द्वारा लोड सूचकांक सामग्री कार्य करें:

लेकिन, गूगल कैश AJAX लोड के बाद पूरी सामग्री को दर्शाता है।

सवाल:

  • इस खोज इंजन में एक नई सुविधा है? वेब पर अधिकांश पोस्टिंग इंगित करती हैं कि को खोजने के लिए खोज इंजन के लिए डुप्लिकेट स्थिर HTML सामग्री प्रकाशित करना होगा।
  • AJAX संचालित सामग्री खोज इंजन ( डुप्लिकेट स्थिर HTML सामग्री बनाने के अलावा) को क्रॉल करने के लिए कोई चाल है?
  • क्या AJAX- संचालित सामग्री अनुक्रमित होगी यदि यह से अलग सबडोमेन से लोड हो? अलग डोमेन के बारे में कैसे?
+2

"... यदि आप जावास्क्रिप्ट अक्षम के साथ इस पृष्ठ को देखते हैं, तो मुख्य सामग्री क्षेत्र खाली है।" नहीं, यह नहीं है। यह वास्तव में काफी अव्यवस्थित दिखता है। – NickFitz

+0

आप किस ब्राउजर का उपयोग कर रहे हैं? जब मैं जावास्क्रिप्ट अक्षम के साथ फ़ायरफ़ॉक्स में पहला लिंक एक्सेस करता हूं, तो मुझे "terra.cl 'के लिए जानकारी" और फिर एक खाली बॉक्स दिखाई देता है। एचटीएमएल स्रोत देखकर मैं आईडी = क्वेरी-कंटेंट के साथ एक खाली डीआईवी देखता हूं, जहां AJAX सामग्री जाएगी। – frankadelic

उत्तर

0

सामग्री जो तुरंत लोड हो जाती है (प्रारंभिक पेजेलोड के बाद आपके उदाहरण में एक माध्यमिक HTTP अनुरोध के साथ कहें) आमतौर पर खोज इंजन क्रॉलर के लिए दृश्यमान होता है।

हालांकि, यदि आपके पास ऐसी सामग्री है जो उपयोगकर्ता कार्रवाई के बाद AJAX के माध्यम से लोड हो जाती है, उदा। किसी टैब या बटन पर क्लिक करके और ऐसा नहीं देखा जाएगा या अनुक्रमित नहीं किया जाएगा। अगर वे 'वास्तविक' एंकर लिंक हैं तो उन्हें केवल तभी देखा जाएगा या अनुक्रमित किया जाएगा।

+1

एलेक्स, क्या आप सबूत प्रदान कर सकते हैं कि Google उन पृष्ठों पर AJAX अनुरोध चलाएगा जहां पेज लोड होने पर AJAX अनुरोध चलते हैं? – Josh

+1

@ जोश, नहीं, क्योंकि यह सच नहीं है। :) – bzlm

1

AJAX- संचालित खोज इंजन (या कम से कम, Google द्वारा नहीं) द्वारा क्रॉल नहीं किए जाते हैं।

कारण आप Google कैश में पृष्ठ देख सकते हैं क्योंकि कैश में, .js फ़ाइल सहित पूरा पृष्ठ है। तो जब आप पृष्ठ देखते हैं, तो आपका ब्राउज़र google cached .js फ़ाइल का उपयोग करता है।

मुझे नहीं लगता कि यह स्थैतिक .html का उपयोग करने के अलावा, खोज इंजन द्वारा क्रॉल करने के लिए कोई चाल है। अप्रैल

संपादित करें, 27 2010: गूगल make AJAX crawlable

Google webmaster toolkit के लिए एक रास्ता मदद कर सकता है प्रकाशित किया।

+2

मुझे नहीं लगता कि यह सच है। यदि मैं जावास्क्रिप्ट अक्षम के साथ Google कैश लिंक देखता हूं, तो भी मुझे AJAX- संचालित सामग्री दिखाई देती है। यदि मैं स्रोत देखता हूं, तो सामग्री HTML में ठीक है। प्रगतिशील वृद्धि के लिए – frankadelic

1

खोज इंजन अजाक्स सामग्री को अनुक्रमणित करने के लिए आवश्यक जावास्क्रिप्ट चला सकता है, लेकिन यह मुश्किल और कम्प्यूटेशनल रूप से महंगा होगा — मुझे वास्तव में ऐसा कोई भी पता नहीं है।

एक अच्छी तरह से लिखित साइट, अगर यह अजाक्स का उपयोग करेगी, तो इसे progressive enhancement के सिद्धांतों के अनुसार उपयोग करें। जावास्क्रिप्ट चलाने की आवश्यकता के बिना अभी भी कोई भी महत्वपूर्ण कार्यक्षमता उपलब्ध होगी।

दूसरी तरफ, जावास्क्रिप्ट का उपयोग करते हुए फ्रेम (और प्रगतिशील वृद्धि का उपयोग नहीं करते) साइटें फ़्रेम की सभी सामान्य समस्याओं से ग्रस्त होंगी, लेकिन खोज इंजन अदृश्यता के लिए व्यापार अनाथ पृष्ठ।

+0

सही। –

1

मेरे पास नोस्क्रिप्ट स्थापित और सक्रिय है। दोनों लिंक एक ही सामग्री दिखाते हैं (+/- Google हेडर बार)। इसलिए, Google कैश केवल तभी दिखाता है जो स्थिर रूप से वहां है।

+0

मुझे आपके से अलग परिणाम मिल रहे हैं। मैंने नोस्क्रिप्ट स्थापित किया। मूल पृष्ठ मुख्य सामग्री नहीं दिखाता है, Google- कैश किए गए पृष्ठ से यह पता चलता है। यदि मैं स्रोत देखता हूं तो मैं आईडी = क्वेरी-सामग्री के साथ DIV के अंदर अलग-अलग सामग्री देखता हूं। (यह वह div है जहां AJAX सामग्री इंजेक्शन दी गई है) क्या आप IE में आज़मा सकते हैं? – frankadelic

1

यदि आप jQuery टैब की तरह कुछ उपयोग कर रहे हैं, भले ही आप एक ही निर्देशिका में HTML फ़ाइलों से लिंक कर रहे हों, तो यह जावास्क्रिप्ट के बिना सामान्य रूप से सामान्य रूप से सामान्य हो जाता है, और टैब केवल वास्तविक पृष्ठों को पसंद करते हैं। यह बदसूरत है, लेकिन यह काम करता है। आप इन संस्करणों को भी स्टाइल कर सकते हैं।

+0

वैसे हाँ, आपके द्वारा लोड की जाने वाली किसी भी AJAX सामग्री में एक अच्छा सुरुचिपूर्ण गिरावट होनी चाहिए ताकि खोज इंजन और पुराने/जावास्क्रिप्ट वाले लोगों को अक्षम करने वाले लोगों के पास कुछ देखने को मिल सके। – Sam152

0

गूगल बस किसी भी डेवलपर बदलाव के बिना उनके क्रॉलर्स चलाने जावास्क्रिप्ट बनाया!

http://googlewebmastercentral.blogspot.com/2015/10/deprecating-our-ajax-crawling-scheme.html

वे कहते हैं:

आज, जब तक आप अपने जावास्क्रिप्ट या सीएसएस फ़ाइलों क्रॉल करने से अवरोधित नहीं कर रहे हैं के रूप में, हम आम तौर पर प्रस्तुत करना और आधुनिक तरह अपने वेब पृष्ठों को समझने में सक्षम हैं ब्राउज़रों।

संबंधित मुद्दे