एक मुख पृष्ठ और अनुगामी स्लैश के लिए विहित यूआरएल


14

मेरा होम पेज संभावित रूप से लिंक किया जा सकता है:

http://example.com
http://example.com/
http://example.com/?ref=1
http://example.com/index.html
http://example.com/index.html?ref=2

(the same page is served for all those URLs)

मैं यह सुनिश्चित करने के लिए एक कैनोनिकल URL को परिभाषित करने के बारे में सोच रहा हूं कि Google उन यूआरएल को अलग-अलग पृष्ठ नहीं मानता है:

<link rel="canonical" href="/webmasters//" /> (relative)
<link rel="canonical" href="http://example.com/" /> (trailing slash)
<link rel="canonical" href="http://example.com" /> (no trailing slash)

किसका उपयोग करना चाहिए? मैं बस थप्पड़ मारूंगा /लेकिन विहित के साथ खिलवाड़ करना एक डरावने व्यवसाय की तरह लगता है इसलिए मैं पहले डबल चेक चाहता था।

क्या होम पेज के लिए कैनोनिकल URL को परिभाषित करने के लिए यह एक अच्छा विचार है?



जवाबों:


14

के अनुसार RFC 2616 (HTTP / 1.1), खंड 3.2.2 , यूआरएल http://www.example.comऔर http://www.example.com/बराबर हैं, और HTTP ग्राहकों सर्वर से अनुरोध भेजने से पहले बाद के पूर्व सामान्य करना होगा:

"यदि abs_path URL में मौजूद नहीं है, तो संसाधन के लिए अनुरोध-URI ( खंड 5.1.2 ) के रूप में उपयोग किए जाने पर इसे" / "के रूप में दिया जाना चाहिए ।"

जहां खंड 5.1.2 कहता है:

"ध्यान दें कि पूर्ण पथ खाली नहीं हो सकता; यदि कोई मूल URI में मौजूद नहीं है, तो उसे" / "(सर्वर रूट) के रूप में दिया जाना चाहिए।"

RFC 3986 (URI जेनेरिक सिंटैक्स) खंड 6.2.3 में इस बात की पुष्टि करता है , योजना-आधारित सामान्यीकरण , यह देखते हुए:

"उदाहरण के लिए, क्योंकि" http "योजना एक प्राधिकरण घटक का उपयोग करती है," 80 "का डिफ़ॉल्ट पोर्ट है, और" / "के बराबर होने के लिए एक खाली पथ को परिभाषित करता है, निम्नलिखित चार URI समतुल्य हैं:

    http://example.com
    http://example.com/
    http://example.com:/
    http://example.com:80/

सामान्य तौर पर, एक यूआरआई जो खाली रास्ते के साथ प्राधिकरण के लिए सामान्य वाक्यविन्यास का उपयोग करता है, उसे "/" के पथ पर सामान्यीकृत किया जाना चाहिए। इसी तरह, एक स्पष्ट ": पोर्ट", जिसके लिए पोर्ट खाली है या स्कीम के लिए डिफ़ॉल्ट है, एक के बराबर है जहां पोर्ट और इसके ":" सीमांकक elided है और इस प्रकार योजना-आधारित सामान्यीकरण द्वारा हटा दिया जाना चाहिए। उदाहरण के लिए, ऊपर दूसरा यूआरआई "http" योजना के लिए सामान्य रूप है।

तकनीकी रूप से, RFC 3986 खंड 6.2.3 में वर्णित सामान्यीकरण उन कार्यान्वयनों के लिए वैकल्पिक है, जो केवल सूचकांक URL जैसे हैं, हालांकि RFC 2616 ग्राहकों को वास्तव में HTTP अनुरोध भेजने के लिए अनिवार्य बनाता है। फिर भी, यह देखते हुए कि मानक इस तरह के सामान्यीकरण की अनुमति देता है, और यह देखते हुए कि खोज इंजन आम तौर पर जानबूझकर अपने सूचकांक में डुप्लिकेट नहीं जोड़ना चाहते हैं , एक यह सुनिश्चित रूप से सुनिश्चित कर सकता है कि बस सभी खोज इंजन उन सभी URL को समान करने के लिए सामान्य कर रहे होंगे।

इस प्रकार, यह या तो ब्राउज़र या खोज इंजनों के लिए कोई फर्क नहीं पड़ता है कि आप उपयोग करते हैं http://www.example.comया http://www.example.com/। वे बराबर हैं।


5
http://www.example.comऔर http://www.example.com/बराबर हो सकता है लेकिन http://www.example.com/है विहित क्योंकि यह है क्या यूआरआई के लिए सामान्यीकृत किया जाना चाहिए एक। इसलिए मैं इसे कैनोनिकल मेटा टैग में उपयोग करूंगा।
स्टीफन Ostermiller
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.