अपने XML साइटमैप को प्रतियोगियों से कैसे छिपाएं लेकिन खोज इंजन से नहीं


10

मैं अपनी साइटमैप XML फ़ाइल को सभी से छिपाना चाहता हूं, लेकिन खोज इंजन से पहुंच की अनुमति देता हूं।

इसे करने का तरीका क्या है?

मैं प्रतियोगियों से साइट की सामग्री की गहराई को छिपाना चाहता हूं।


1
यदि साइट और इसके पृष्ठ उपयोगकर्ता और पासवर्ड से सुरक्षित नहीं हैं, तो कोई भी निकाय उन्हें ब्राउज़ कर सकता है, उन्हें बस अपनी साइट पर लिंक का पालन करना होगा।
पतोमास

मैं Google बीओटी के आईपी की जांच कर सकता हूं और दूसरों के लिए अनुमति और इनकार कर सकता हूं। हालाँकि हमें Googlebot की पूर्ण IP सूची नहीं मिल सकती है।
आगा

जवाबों:


9

पहला कदम यह होगा कि जिस बॉट की आप अनुमति देना चाहते हैं , उसके यूजर-एजेंट का पता लगा लें और यदि वह यूजर-एजेंट नहीं है तो आप इसकी अनुमति देना चाहते हैं।

उदाहरण के लिए, आपके पास robots.txtसाइटमैप के संदर्भ के बिना, एक के साथ और एक के दो संस्करण हो सकते हैं , इसलिए यदि वे आपके अंदर देखें तो आपके प्रतियोगियों को साइटमैप नहीं मिलेगा robots.txt

फिर, आप अपने साइटमैप URL पर जाने का पता लगा सकते हैं और केवल UA के सही होने पर साइट मैप की सेवा कर सकते हैं। यदि आप एक सामान्य 404 पृष्ठ की सेवा करते हैं, तो हो सकता है कि आपके प्रतियोगियों को यह पता भी न हो कि आपका साइटमैप मौजूद है।

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

इसलिए, Google अनुशंसा करता है कि, वास्तविक GoogleBot का पता लगाने के लिए, आप:

  1. GoogleBot होने का दावा करने वाले IP पते के लिए एक रिवर्स DNS लुकअप करें।
  2. जांचें कि क्या होस्ट एक उप-डोमेन है googlebot.com.
  3. उप-डोमेन के लिए एक सामान्य DNS लुकअप करें।
  4. जांचें कि क्या उप-डोमेन आपकी साइट को क्रॉल करने वाले बॉट के आईपी पते को इंगित करता है।

इसका सारांश प्रस्तुत करना:

फ्लो चार्ट (साइट मानचित्र दिखाने के लिए)

Microsoft अपने क्रॉलर का पता लगाने के लिए उसी प्रक्रिया का उपयोग करने की सलाह देता है

याहू के लिए यह ट्रिक काम करती है! भी।

DuckDuckGo के लिए, आप IP पतों की इस सूची का उपयोग कर सकते हैं

ध्यान दें

यदि आप DNS- लुकअप आधारित स्पाइडर डिटेक्शन का उपयोग करते हैं तो आपको 404 त्रुटि का उपयोग करने की आवश्यकता नहीं है।

404 त्रुटि पेज का उपयोग करने का उद्देश्य यह छिपाना है कि आपका साइटमैप सभी में मौजूद है। हालांकि, यदि आप अधिक उन्नत तकनीक का उपयोग कर रहे हैं जो केवल User-Agentहेडर पर निर्भर नहीं है , तो इसे दरकिनार करना संभव नहीं होना चाहिए ताकि आप सुरक्षित रूप से एक अलग त्रुटि कोड का उपयोग कर सकें, जैसे कि 403 Forbiddenयहां उपयोग करने के लिए सही त्रुटि कोड।


6

समस्या यह है कि यदि आप (काफी सही तरीके से) चाहते हैं कि आपकी सामग्री खोज इंजन द्वारा अनुक्रमित की जाए, तो जो कोई भी साइट करता है: खोज इंजन में से किसी एक में खोज यह देख सकेगी कि URL क्या अनुक्रमित हैं।

यदि आप अपने साइटमैप को "छुपाना" चाहते हैं, तो आप इसे एक "गुप्त" नाम के URL पर रख सकते हैं, इसलिए यह किसी के लिए भी स्पष्ट नहीं है जो इसे खोज रहा हो, लेकिन यह देखने के लिए सबसे अच्छा अभ्यास है कि एक robots.txt में साइटमैप शामिल करें फ़ाइल और इसे सर्च इंजन के वेबमास्टर टूल प्रोफाइल में से किसी एक पर अपलोड करें, जैसा कि अन्य लोगों ने कहा है, यह देखना मुश्किल है कि आपको ऐसा करने की आवश्यकता क्यों है।


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

4

चालाक समाधान दो साइटमैप उत्पन्न करने के लिए है। इनमें से पहला आपके प्रतिद्वंद्वियों के लाभ के लिए है और दूसरा आपके पसंदीदा खोज इंजन के लाभ के लिए है। सैन्य पार्लियामेंट में यह पहला साइटमैप एक सामंत है।

'Feint' में आपकी मूल वेबसाइट संरचना, मुख पृष्ठ, हमसे संपर्क करें, हमारे बारे में, मुख्य श्रेणियां हैं। यह वास्तविक सौदे की तरह दिखता है और अस्पष्ट खोज इंजन में बहुत अच्छा काम करेगा जिसकी आपको परवाह नहीं है। यह भी अपने प्रतिद्वंद्वियों के लिए कोई फायदा नहीं होगा। इसे अनुक्रमित करने की अनुमति दें ताकि वे इसे ढूंढ सकें, इसे साइटमैप की तरह एक स्पष्ट नाम दें। xml।

अब कोड के साथ अपना असली साइटमैप बनाएं। इसे 'उत्पाद-सूचना-साइटमैप -xml' जैसे नाम दें ताकि यह एक समझदार नाम हो लेकिन वास्तव में आपके पासवर्ड की तुलना में अनुमान लगाने में कोई आसान न हो।

साइटमैप फ़ोल्डर के लिए आपके अपाचे कॉन्फिगरेशन में कुछ ऐसा रखा गया है जिससे इस दूसरे साइटमैप को सर्च इंजन द्वारा एक्सेस किया जा सकता है लेकिन इंडेक्स:

<IfModule mod_rewrite.c>
    <Files product-information-sitemap.xml>
        Header set X-Robots-Tag "noindex"
    </Files>
</IfModule>

अब उस अपडेट को रखने के लिए कोड बनाएं, छवियों के लिए तीसरे साइटमैप पर विचार करें। 'फिंट' बनाने के लिए आवश्यक रूप से डॉवंगरेड। समय टिकटों पर भी ध्यान दें, Google उन पर ध्यान देता है और यह महत्वपूर्ण है यदि आपका साइटमैप बड़ा है।

अब अपने उत्पादों को नियमित आधार पर Google को साइटमैप सबमिट करने के लिए एक 'क्रोन' कार्य बनाएँ। अपने crontab प्रविष्टि में हर हफ्ते अपना वास्तविक साइटमैप सबमिट करने के लिए कुछ इस तरह जोड़ें:

0 0 * * 0 wget www.google.com/webmasters/tools/ping?sitemap=http%3A%2F%2Fwww.example.com%2Fsitemaps%2Fproduct-information-sitemap.xml

ध्यान दें कि URL URL एनकोडेड है।

यदि साइज़ एक समस्या है, तो आप अपने साइटमैप को gzip भी कर सकते हैं, हालाँकि आपके वेब सर्वर को उस gzipped की सेवा करनी चाहिए यदि आपने उसे सक्षम किया है।

आपके robots.txt में कुछ खास नहीं है, बस जब तक यह आपके साइटमैप में प्रवेश नहीं करता है तब तक यह ठीक होना चाहिए। वास्तव में उपयोगकर्ता एजेंट स्ट्रिंग्स या इतने जटिल कुछ के आधार पर विभिन्न robots.txt फ़ाइलों को भेजने की कोई आवश्यकता नहीं है। बस अपनी कीमती सामग्री को एक अनुपूरक, गैर-विज्ञापित फ़ाइल में खींचें और क्रॉन जॉब (बॉट की प्रतीक्षा करने के बजाय) पर Google को भेजें। सरल।


0

मैं यह नहीं देखता कि एक साइट की संरचना आपको एक प्रतियोगी के साथ समस्या क्यों पैदा कर सकती है?

साइटमैप का उद्देश्य पृष्ठों को अनुक्रमित करना है, इसलिए लोग उन्हें आसानी से ढूंढ सकते हैं, जो एक बिंदु पर, यह बताता है कि आपकी साइट को कैसे व्यवस्थित किया जाता है:

  • /news/ समाचार के अपने लेख शामिल हैं
  • /forum/ मंच चर्चा के सभी जहां है

वे अधिक ट्रैफ़िक और वर्तमान जानकारी प्राप्त करने के लिए अनुक्रमित होंगे।

जिन फ़ोल्डरों को आप अनुक्रमणिका के लिए नहीं चाहते हैं, वे जैसे हैं

  • PHP कक्षाएं और फ़ंक्शन जो किसी साइट को काम करने की अनुमति देते हैं
  • साइट छवियां, सीएसएस, जावास्क्रिप्ट फ़ोल्डर
  • प्रशासन पैनल

फिर, अगर ऐसा है, तो उन लोगों को आपके साइटमैप में बिल्कुल भी नहीं होना चाहिए। साथ ही आप उन लोगों को अनुक्रमण से भी बाहर कर सकते हैं।


0

यदि आपके पास उन बॉट्स का IPaddresses है जिन्हें आप अनुमति देना चाहते हैं:

<Limit GET POST PUT>
order deny,allow
deny from all
allow from 192.168.1.1 # IP 1
allow from 192.168.1.2 # IP 3
allow from 192.168.1.3 # IP 2
</LIMIT>

यदि आप इसे उपयोगकर्ता एजेंट स्ट्रिंग के आधार पर चाहते हैं:

Order Allow,Deny
allow from env=good_bot_1
allow from env=good_bot_2

Google, बिंग की पूरी आईपी पता सूची गुप्त है। वे इसे दुनिया में नहीं बांटेंगे क्योंकि यह वेबसाइटों द्वारा क्लोकिंग का बड़ा खतरा है।
आगा

और यही कारण है कि मैंने दूसरी संभावना जोड़ी है :) नाम पर बहुत आसान है, लेकिन एक पूर्ण उत्तर प्रदान करना चाहता था
मार्टिग्न

0

एक तरीका जिसे आप आज़मा सकते हैं: सामान्य रेंगने वाले सत्र में, Google बोट्स robots.txt का उपयोग करता है और फिर साइटमैप फ़ाइल पर जाता है। Robots.txt के सभी सर्विंग्स के लिए कुकी में पुश करें और कुकी वाले लोगों तक केवल साइटमैप तक पहुंचने की अनुमति दें। समस्या तब होगी जब Google बॉट कुकीज़ स्वीकार नहीं करेगा। तो इसके विपरीत करें। कुकी में पुश करें जब कोई उपयोगकर्ता robots.txt के अलावा किसी पृष्ठ का उपयोग करता है और कुकी वाले लोगों के लिए साइटमैप तक पहुंच से इनकार करता है। इसके अलावा, अपने साइटमैप को एक नाम दिया हुआ नाम दें, कुछ ऐसा जो समय के साथ बदलता है और इसे अनुमान योग्य बनाता है। यदि आपके प्रतिद्वंद्वियों के पास उनके ब्राउज़र में कुकीज़ सक्षम हैं, तो उनके लिए साइटमैप तक पहुंचना बेहद मुश्किल होगा, जब तक कि वे सटीक पथ का अनुसरण नहीं करते हैं जब तक कोई खोज इंजन अनुसरण नहीं करता है।


0

मैं एक धारणा बनाता हूं कि मैंने आपकी आवश्यकता को सही ढंग से समझा है इसलिए मैं जवाब देने के लिए साहस दिखाता हूं।

अपने </html>टैग से ठीक पहले अपने साइटमैप की एक छवि लिंक दें । पारदर्शी 1px gif फ़ाइल का उपयोग करें:

<a href="sitemap.xml"><img src="transparent.gif" alt="" height="1" width="1" /></a>

उस पृष्ठ में, जिसमें आपके साइटमैप का लिंक है, अपना संबंधित मेटाटैग सेट करें:

<meta name="robots" content="{index or noindex},follow">

जब आप सभी पृष्ठ का चयन करने के लिए Ctrl+ दबाते हैं तो दृश्य स्थिति की जाँच Aकरें। क्या 1px लिंक आपके लिए जोखिम भरा है?

यदि आप कहते हैं कि हां, एक और विकल्प हो सकता है:

  1. अपने साइटमैप के लिए एक लिंक बनाएँ: <a href="sitemap.xml">&nbsp;</a>
  2. फ़ॉन्ट रंग को पृष्ठभूमि रंग के साथ बदल दें
  3. CSS तकनीकों का उपयोग करके, इस लिंक को एक छवि के पीछे छिपाएँ

इस तरह एक सामान्य सामान्य उपयोगकर्ता आपके लिंक पर ध्यान नहीं देगा। सर्च इंजन को इसकी जानकारी होगी। लेकिन कृपया ध्यान रखें कि आपके प्रश्न की अंतर्निहित प्रकृति में असंभवता शामिल है।

मैं असंभवता कहता हूं क्योंकि यदि कोई उपयोगकर्ता उदाहरण के लिए Google में खोज करता है

* site:www.yoursite.com

यदि वे nextलिंक पर क्लिक करने के लिए नहीं थकते हैं तो पूरी दुनिया आपके सभी लिंक देख सकती है ।

मुझे उम्मीद है कि ये मदद करेंगे।


जब आप सामान्य रूप से अपने XML साइटमैप से लिंक करना शुरू नहीं करेंगे, तो यह उपयोगकर्ता को एक्सएमएल साइटमैप खोजने / एक्सेस करने से क्यों रोकेगा?
MrWhite

मैंने खुद से वही क्यू पूछा लेकिन यही मैं सवाल के मालिक से समझता हूं। मुझे लगता है कि यह उसकी आवश्यकता है। मुझे यकीन नहीं है :-)
आंद्रे चेनियर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.