2009-06-14 14 views
48

जब उपयोगकर्ता जावास्क्रिप्ट को अक्षम करता है या स्क्रिप्ट अवरुद्ध प्लगइन्स का उपयोग नोस्क्रिप्ट के रूप में करते हैं तो चेतावनी दिखाने के लिए मैं एक नोस्क्रिप्ट टैग का उपयोग कर रहा हूं। जावास्क्रिप्ट अक्षम होने पर वेबसाइट ठीक से काम नहीं करेगी और उपयोगकर्ता यह नहीं समझ सकते कि यह चेतावनी के बिना क्यों काम नहीं कर रहा है।नोस्क्रिप्ट टैग, जावास्क्रिप्ट अक्षम चेतावनी और Google जुर्माना

नवीनतम Google एल्गोरिदम शफल होने के बाद, मैंने पिछले ट्रैफ़िक में पिछले ट्रैफ़िक ड्रॉप को लगभग 1/3 तक देखा है। मैंने उन पृष्ठों को भी देखा है जो परिणाम से बाहर SERPS ड्रॉप में # 1 या # 2 रैंकिंग कर रहे थे। वेबमास्टर टूल्स में कुछ जांच करने के बाद, मैंने देखा कि "जावास्क्रिप्ट" को कीवर्ड अनुभाग में # 16 के रूप में सूचीबद्ध किया गया है। इसका कोई मतलब नहीं है क्योंकि साइट के पास जावास्क्रिप्ट के साथ कुछ लेना देना नहीं है और शब्द दिखाई देने वाला एकमात्र स्थान नोस्क्रिप्ट टैग के बीच पाठ में है।

ऐसा लगता है कि Google अब नोस्क्रिप्ट टैग के बीच सामग्री को शामिल और अनुक्रमणित कर रहा है। मुझे विश्वास नहीं है कि यह पहले हो रहा था। चेतावनी तीन वाक्य है। मैं कल्पना करता हूं कि साइट पर प्रत्येक पृष्ठ के शीर्ष पर दिखाई देने वाले तीन वाक्यों को एसईओ पर हानिकारक प्रभाव हो सकता है।

क्या आपको लगता है कि यह एसईओ के साथ समस्या पैदा कर सकता है? और, क्या उन उपयोगकर्ताओं को चेतावनी प्रदान करने के लिए कोई और तरीका है जिनके पास जावास्क्रिप्ट को इस तरह से अक्षम किया गया है जिसे खोज इंजन द्वारा अनुक्रमित या पढ़ा नहीं जाएगा?

उत्तर

13

किसी अन्य मंच पर किसी ने चेतावनी के लिए एक छवि का उपयोग करके उल्लेख किया है। जिस तरह से मैं इसे देखता हूं, इसमें तीन लाभ होंगे:

  1. खोज इंजन के लिए कोई अप्रासंगिक पाठ नहीं होगा।
  2. एक छवि को प्रदर्शित करने के लिए कोड एक पाठ चेतावनी से कम भारी है (जो प्रत्येक पृष्ठ पर लोड हो जाता है)।
  3. ट्रैकिंग को कार्यान्वित किया जा सकता है यह निर्धारित करने के लिए कि छवि को कितनी बार बुलाया जाता है, यह जानने के लिए कि कितने आगंतुकों ने जावास्क्रिप्ट को अक्षम या अवरुद्ध किया है।

यदि आप जे-पी द्वारा उल्लिखित गैर-नोस्क्रिप्ट तकनीक की तरह कुछ जोड़ते हैं, तो यह सबसे अच्छा संभव समाधान प्रतीत होता है।

+13

इसके अलावा, स्क्रीन-पाठकों के साथ ऐसे टेक्स्ट भी अक्षम नहीं होंगे जो आपकी साइट का उपयोग करने में सक्षम नहीं होंगे। -1। – user9876

+4

@ user9876, कुछ भी नहीं 'alt' ठीक नहीं हो सकता है। ('alt' इसके लिए भी डिजाइन किया गया था।) हालांकि, यह Google द्वारा अनुक्रमित किया जा सकता है। – strager

23

<noscript> तरह अर्थहीन चेतावनी के लिए नहीं होती:

<noscript>
ओह, नहीं! आपके पास जावास्क्रिप्ट सक्षम नहीं है! यदि आप जेएस को सक्षम नहीं करते हैं, तो आप बर्बाद हो जाते हैं।
</noscript>

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

20

मुझे नहीं लगता कि <noscript> का उपयोग करना एक अच्छा विचार है। मैंने सुना है कि क्लाइंट जावास्क्रिप्ट-अवरुद्ध फ़ायरवॉल के पीछे है जब यह अप्रभावी है - यदि क्लाइंट के ब्राउज़र में जावास्क्रिप्ट सक्षम है तो <noscript> टैग सक्रिय नहीं होगा, क्योंकि, जहां तक ​​ब्राउज़र का संबंध है, जावास्क्रिप्ट दस्तावेज़ के भीतर पूरी तरह से संचालित है ...

एक बेहतर तरीका आईएमओ, सभी जावास्क्रिप्ट द्वारा छिपी हुई 'नोस्क्रिप्ट' सामग्री होगी।

यहाँ एक बहुत ही बुनियादी उदाहरण है:

... 
<body> 

    <script> 
     document.body.className += ' js-enabled'; 
    </script> 

    <div id="noscript"> 
     Welcome... here's some content... 
    </div> 

और अपने स्टाइल शीट के भीतर:

body.js-enabled #noscript { display: none; } 

और जानकारी:

+10

जो "फ़ायरवॉल" सिस्टम में डिज़ाइन दोष को इंगित करता है, नस्क्रिप्ट के साथ कोई समस्या नहीं है। –

+0

इस तरह की फ़ायरवॉल संभवतः आवश्यक स्क्रिप्ट * को डाउनलोड होने से रोक देगा *। इसलिए, यदि 'className + =' js-enabled 'वास्तव में ऐसी बाहरी लाइब्रेरी का हिस्सा है, तो उपर्युक्त वास्तव में '

41

अपने HTML के अंत पर <noscript> सामग्री रखो, और फिर ब्राउज़र विंडो के शीर्ष पर स्थित करने के लिए सीएसएस का उपयोग करें।Google अब इसे महत्वपूर्ण नहीं मानेंगे।

स्टैक ओवरफ़्लो स्वयं इस तकनीक का उपयोग करता है - इस पृष्ठ पर एक व्यू स्रोत करें और आपको HTML के अंत के पास "जावास्क्रिप्ट के साथ सबसे अच्छा काम करता है" चेतावनी दिखाई देगी, जो पृष्ठ बंद होने पर पृष्ठ के शीर्ष पर दिखाई देती है जावास्क्रिप्ट।

+0

I एचटीएमएल के अंत में '

+0

@ एमीर: उदाहरण कोड इस पृष्ठ में ठीक है - स्टैक ओवरव्लो स्वयं ही इस तकनीक का उपयोग करता है। जावास्क्रिप्ट स्विच के साथ इस पृष्ठ को देखें और आप इसे देखेंगे, फिर HTML और CSS की जांच करने के लिए अपने ब्राउज़र के डेवलपर टूल का उपयोग करें। यदि आप अभी भी इसे काम नहीं कर सकते हैं, तो आपको एक न्यूनतम JSFiddle बनाना चाहिए जो समस्या का प्रदर्शन करता है और एक नया प्रश्न पूछता है। – RichieHindle

3

बस इससे संबंधित एक दिलचस्प tidbit पोस्ट करना चाहता था। मेरी एक साइट के लिए मैंने कुछ स्टैक ओवरफ्लो उपयोग के समान कुछ किया है, लेकिन "अधिक जानकारी प्राप्त करें" लिंक के अतिरिक्त मेरे उपयोगकर्ता इस साइट के रूप में तकनीकी नहीं हैं।

दिलचस्प हिस्सा यह है कि लोगों की सलाह के बाद, मेरे समाधान ने जावास्क्रिप्ट के साथ संदेश divs को छिपाने का विकल्प चुनने के बजाय, नोस्क्रिप्ट टैग को हटा दिया। लेकिन मैंने पाया कि अगर फ़ायरफ़ॉक्स अपने मास्टर पासवर्ड की प्रतीक्षा कर रहा है, तो संदेश की छिपी हुई बातचीत में हस्तक्षेप किया गया है, इसलिए मुझे लगता है कि मैं वापस नोस्क्रिप्ट पर जाऊंगा।

1

आप एक समाधान (यदि js सक्षम है तो div सामग्री अद्यतन हो जाता है) div सामग्री की जगह के बजाय नोस्क्रिप्ट टैग के प्रयोग पर आधारित चुनते हैं, तो सावधान कैसे विचारों इस अभ्यास के बारे में गूगल हो:

http://support.google.com/webmasters/bin/answer.py?hl=en&answer=66353

मुझे यकीन नहीं है कि Google इसे भ्रामक मानेंगे, लेकिन यह आगे विचार करने और शोध करने के लिए कुछ है। इसके बारे में यहां एक और स्टैक ओवरफ्लो पोस्ट है: noscript google snapshot, the safe way

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