URL: डैश बनाम अंडरस्कोर [बंद]


186

यह होना चाहिए / about_us या / हमारे बारे में ?

प्रयोज्यता के दृष्टिकोण से, मैं व्यक्तिगत रूप से / के बारे में सोचता हूं - एंड-यूज़र के लिए बहुत बेहतर है अभी तक Google और अधिकांश अन्य वेबसाइट (और जावास्क्रिप्ट फ्रेमवर्क) अंडरस्कोर नामकरण पैटर्न का उपयोग करते हैं। क्या यह सिर्फ शैली की बात है? क्या डैश के साथ कोई संगतता समस्याएं हैं?


6
क्यों नहीं /index____1125.aspx (यह चार अंडरस्कोर है, बहुत महत्वपूर्ण!)
क्रिश्चियन डेवन

76
ओह अब छोड़िए भी। मुझे इस सवाल में और जवाबों में दिलचस्पी है। प्रश्न में 52 अपोजिट हैं, और आपने इसे बंद कर दिया है? यह प्रोग्रामिंग के बारे में है। वेब प्रोग्रामिंग। यह तय करना कि एक वेबसाइट में निर्देशिकाओं का नाम कैसे विकसित किया जा रहा है।
कयादेल


3
Google इंजीनियर से अच्छे वीडियो की व्याख्या: youtube.com/watch?v=AQcSFsQyct8
JohnB

पता करने के लिए यहाँ आया था whether_domain_URLs_can_have_underscores.com
neverMind9

जवाबों:


31

यह सिर्फ एक अनुमान है, लेकिन ऐसा लगता है कि उन्होंने एक को चुना है जिसे लोग शायद एक नाम में इस्तेमाल नहीं करेंगे । इस तरह आपके पास एक ऐसा नाम हो सकता है जिसमें एक हाइफ़न शब्द शामिल होता है, और फिर भी अंडरबार को एक शब्द सीमांकक के रूप में उपयोग करते हैं, उदाहरण के लिए UseTwo-wayLinks का उपयोग करके परिवर्तित किया जा सकता है use_two-way_links।

आपके उदाहरण में, / about-us एक निर्देशिका होगी जिसका नाम हाइफ़नेटेड शब्द "about-us" होगा (यदि ऐसा कोई शब्द मौजूद था, और / about_us एक निर्देशिका होगा जो दो-शब्द वाक्यांश "हमारे बारे में" एक स्ट्रिंग में परिवर्तित हो जाएगा। गैर-सफेद वर्णों के।


11
उचित अनुमान, लेकिन जैसा कि यह पता चला है, पूरी तरह से असत्य है। -1।
मार्क एमी

2
क्या आपके पास @MarkAmery का संदर्भ है? यह प्रश्न घूमता रहा कि Google अंडरस्कोर का उपयोग क्यों करेगा। यदि आप सुझाव दे रहे हैं कि वे ऐसा न करें, तो यह उत्तर का मुद्दा नहीं है, बल्कि प्रश्न का मुद्दा है।
बिलजमदेव

1
सबसे पहले, जैसा कि अनुमान है, बहुत उचित है। मैं इस अनुमान के हिस्से के रूप में जोड़ता हूं कि प्रोग्रामर डैश का उपयोग घटाव के रूप में करते हैं इसलिए अंडरस्कोर का उपयोग किया जाता है; शायद प्रोग्रामर द्वारा बनाए गए URL, उस कन्वेंशन का अनुसरण करते हैं। एक वास्तविक व्याख्या हालांकि बेहतर होगी। मार्क बिना किसी बैकअप के -1 से आगे बढ़ता है; काश मैं टिप्पणी -1 दे सकता।
जेरार्ड ओनिल

2
@Gerardoneill उद्धरण: Google वेबमास्टर्स का यह वीडियो: youtube.com/watch?v=AQcSFsQyct8 । उस वीडियो के अनुसार (वर्तमान में 6 साल पुराना है और संभवतः समकालीन स्थिति का प्रतिनिधित्व नहीं करता है), foo_barएक शब्द के रूप में माना जाता है , जबकि foo-barदो शब्दों के रूप में माना जाता है - ठीक यही उत्तर जो अटकलें लगाता है वह मामला है।
मार्क ऐमी

2
@MarkAmery मैं सुन रहा हूं कि आप क्या कह रहे हैं, और आप वास्तव में कुछ समय पहले से दूसरों के शब्दों को केवल रिले कर रहे हैं, लेकिन क्या आपको यह सुनने के लिए जार नहीं है कि "foo_bar" को एक शब्द के रूप में माना जाता है, जब यह काफी शाब्दिक रूप से हो सकता है ' t एक हो (क्योंकि अंडरस्कोर के साथ कोई शब्द नहीं हैं)। जबकि "आत्मसम्मान" अंग्रेजी में एक पूरी तरह से मान्य यौगिक शब्द है, और एक इकाई के रूप में खोजा जाना चाहिए?
बिलजमदेव

192

Google वेबमास्टर सेंट्रल से

अपने URL में विराम चिह्न का उपयोग करने पर विचार करें। यूआरएल http://www.example.com/green-dress.html से कहीं अधिक के लिए उपयोगी है http://www.example.com/greendress.html । हम अनुशंसा करते हैं कि आप अपने URL में अंडरस्कोर (_) के बजाय हाइफ़न (-) का उपयोग करें।


4
Google ने समझाया क्यों नहीं? माना जाता है कि यह उनके पार्सिंग पतों के तरीके के साथ कुछ करना है? या शायद यह सिर्फ एंड-यूज़र समस्या है।
xji

9
यह भी ध्यान देने योग्य है कि अंडरस्कोर_टेक्स्ट कुछ उपकरणों में डबल क्लिक करके और मोबाइलों पर लंबे समय तक दबाने के रूप में एक पूरे के रूप में चयन करने योग्य है, जबकि डैश-अलग-पाठ के साथ समान क्रियाएं प्रत्येक अलग-अलग शब्द का चयन करती हैं। इस बारे में सोचें कि क्या कोई उपयोगकर्ता कभी भी url से कुछ कॉपी करने की कोशिश करेगा
टाइटस

1
मुझे लगता है कि आप @ कार्यक्षेत्र में एक करणीय लूप मार सकते हैं, क्योंकि यह पूरी तरह से वास्तविक के विपरीत है ... अंग्रेजी, जो शब्दों में डैश है, लेकिन अंडरस्कोर नहीं है।
बिलजमदेव

मेरा अनुमान है कि कोई अंतर नहीं है, कम से कम Google के लिए, चाहे '_' हो, '-' या कुछ भी नहीं। Google जो मैं मान रहा हूं, वह मनुष्यों के लिए सबसे अधिक पठनीय है, एक पानी का छींटा
आर्थर

1
Google के स्पष्टीकरण के लिए youtu.be/AQcSFsQyct8 देखें । (सटीक खोज मिलान के लिए उन्होंने "_" का उपयोग किया।)
मैट के

62

यहाँ डैश के पक्ष में कुछ बिंदु दिए गए हैं:

  • Google द्वारा अंडरस्कोर ( स्रोत ) पर डैश की सिफारिश की जाती है ।
  • डैश अंतिम उपयोगकर्ता के लिए अधिक परिचित हैं।
  • डैश को एक मानक कीबोर्ड (शिफ्ट की कोई आवश्यकता नहीं) पर लिखना आसान है।
  • डैश अंडरलाइन के पीछे छिपते नहीं हैं।
  • डोमेन नाम में अनुमति के रूप में डैश URL के संदर्भ में अधिक मूल महसूस करते हैं।

53

यह केवल डैश बनाम अंडरस्कोर नहीं है:

  • रिक्त स्थान के साथ पाठ
  • textwithoutspaces
  • एन्कोडेड% 20spaces% 20in% 20URL
  • underscore_means_space
  • पानी का छींटा-साधन-अंतरिक्ष
  • प्लस + ​​साधन + स्पेस
  • टेढ़े मेढ़े संयुक्त शब्द
  • PascalCase
  • "रिक्त स्थान के साथ उद्धृत पाठ" (और एकल उद्धरण बनाम दोहरे उद्धरण)
  • स्लैश / साधन / अंतरिक्ष
  • dot.means.space

43
जंगली जंगली वेब पर आपका स्वागत है!
यहां तक ​​कि

मैं स्लेश / साधनों / स्थान का बहुत शौकीन हूं जब इसका उपयोग सुरुचिपूर्ण ढंग से किया जाता है। मेरे द्वारा उपयोग की जाने वाली साइटों में से एक / विभिन्न / अन्य / पृष्ठों के साथ / हमारे / हमारे बारे में है। मैं हालांकि किसी भी अधिक मुख्यधारा के उदाहरण देखकर याद नहीं करता।
सेकलफ न्रोक

36

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

एक लाभ यह है कि आपका औसत अर्ध-कंप्यूटर-अनपढ़ वेब सर्फर कीबोर्ड पर डैश टाइप करने में सक्षम होने की अधिक संभावना है, वे यह भी नहीं जानते होंगे कि अंडरस्कोर क्या है।


9
आपका औसत अर्ध-कंप्यूटर-अनपढ़ वेब सर्फर एड्रेस बार और खोज के बीच अंतर बताने में सक्षम होने की संभावना नहीं है। आपका औसत उपयोगकर्ता भी प्रकार से क्लिक करने की अधिक संभावना है। जस्टीन '
आर्मस्ट्रांगेस्ट

2
Google अभी भी अंडरस्कोर को एक शब्द विभाजक के रूप में नहीं मानता है: youtube.com/watch?v=AQcSFsQyct8
सेम्युस

16

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

एक एसईओ बिंदु से, डैश को इसे संभालने का पसंदीदा तरीका लगता है, विस्तृत विवरण के लिए, घोड़े के मुंह से http://www.mattcutts.com/blog/dashes-vs-underscores/

प्रोग्रामर की तुलना में आम जनता के साथ होने वाली दूसरी समस्या यह है कि जब अंडरस्कोर वाले हाइपरलिंक को रेखांकित किया जाता है, तो आप अंडरस्कोर नहीं देख सकते हैं। उन्नत उपयोगकर्ता इसे काम करेंगे, लेकिन जो पब्लिक शायद नहीं करेगी।

अभी भी डैशिंग को वरीयता में कोड में अंडरस्कोर का उपयोग करें हालांकि - प्रोग्रामर उन्हें समझते हैं, अधिकांश अन्य लोग नहीं करते हैं।


12

जेफ़ के इस पर कुछ विचार हैं: https://blog.codinghorror.com/of-spaces-underscores-and-dspashes/

दोनों में कमियां हैं। मेरा सुझाव है कि आप एक को चुनें और सुसंगत रहें।


+1 क्योंकि यह उल्लेख करता है कि Google इसे कैसे उम्मीद करता है, जिसे मैं निर्देशित करता हूं कि यह कैसे दिखता है, उससे अधिक महत्वपूर्ण है।
टीजे एल

8

एसईओ गुरु जिम वेस्टरग्रेन ने 2005 में एक सख्त एसईओ परिप्रेक्ष्य से इस परीक्षण का परीक्षण किया और इस निष्कर्ष पर पहुंचे कि + (प्लस) वास्तव में सबसे अच्छा शब्द सीमांकक था। हालाँकि, यह उचित नहीं लगता और खोज इंजन के एल्गोरिदम में एक बग के कारण हो सकता है। वह सलाह देता है - (डैश) पठनीयता और एसईओ दोनों के लिए।


7

मैं अंडरस्कोर के साथ अधिक सहज हूं। सबसे पहले, वे मेरे नियमित प्रोग्रामिंग अनुभव के साथ मेल खाते हैं variable_names_are_not-subtraction, सभी का दूसरा, और मेरा मानना ​​है कि यह पहले ही उल्लेख किया गया था, शब्दों में हाइफ़न हो सकते हैं, लेकिन उनके पास कभी अंडरस्कोर नहीं होते हैं। वास्तव में मूर्खतापूर्ण उदाहरण लेने के लिए, "राष्ट्र-राज्य देश" "राष्ट्र राज्य देश" से अलग है। पूर्व कुछ इस तरह का अनुवाद करता है जैसे "देश-राज्यों की भूमि" (सोचते हैं "यह यहां बंदूक देश है! सबसे अच्छा साथ चलो, y'hear?"), जबकि उत्तरार्द्ध कभी-कभी समानार्थक शब्द की सूची की तरह दिखता है। http://example.com/nation-state-country/के रूप में ही मतलब है प्रकट नहीं होता है http://example.com/nation-state_country/, और अभी तक, यदि हाइफ़न शब्दों में वर्णों के अलावा सीमांकक / "स्पेस" है, तो यह हो सकता है। उत्तरार्द्ध वास्तविक उद्देश्य के रूप में अधिक स्पष्ट लगता है, जबकि पूर्व उस सूची की तरह अधिक दिखता है, अगर कुछ भी।


1
बस एक साइड नोट, लिस्प या स्कीम प्रथागत नाम की भाषाएं डैश के साथ अलग किए गए चर / फ़ंक्शन नामों का उपयोग करती हैं, क्योंकि माइनस किसी भी अन्य की तरह ही फ़ंक्शन का एक पहचानकर्ता है (और वास्तव में, वे पहचानकर्ताओं में बड़े वर्ण सेट की अनुमति देते हैं)।
जेएस

5

अंडरस्कोर उन जगहों को बदल देता है जहां व्हाट्सएप की अनुमति नहीं है। डैश (हाइफ़न) एक शब्द का हिस्सा हो सकता है, इस प्रकार हाइफ़न के साथ शब्दों को जोड़ना जो पहले से ही हाइफ़न शामिल है बदसूरत या भ्रामक है।

खराब:

/low-budget-movies

अच्छा:

/low-budget_movies

37
मैं इससे असहमत हो गया हूं। इन दिनों यह सिर्फ डैश का उपयोग करने के लिए प्रथागत है। गैर प्रोग्रामर को अंडरस्कोर नेत्रहीन अनाकर्षक लगता है। पहले उदाहरण में कुछ भी गलत नहीं है। यह वास्तव में पढ़ने के लिए अधिक अनुकूल है।
आलकैलर

9
शब्दशः आप सही हैं, लेकिन URL के उपयोग में उपयोगी की तुलना में अंतर अधिक भ्रामक हो सकता है। लोगों को "ए-बी_सी-डी_ए" की तुलना में "एबीसी" याद रखने की अधिक संभावना है।
वाडीह एम।

किसी ने जेफ को बताया कि उसे टैग सिस्टम को फिर से लिखना होगा ...

1
वास्तव में? @ काडीह, अगर लोग शब्दों को सही तरीके से वर्तनी कर रहे हैं, तो कम-बजट_मोविज़ के बारे में याद रखना मुश्किल नहीं है। आपको इसे "कम बजट वाली फिल्मों" शब्दों से अधिक याद रखने की आवश्यकता नहीं है। बेशक, जब आप सिर्फ ए, बी, सी, डी, ई का उपयोग करते हैं, तो इसका कोई मतलब नहीं है। "कम बजट" "कम बजट" की अवधि के समान नहीं है।
fletom

खराब: / कम बजट वाली फिल्में, खराब: / कम बजट_मूवी, अच्छा: / कम बजट% 20movies
मिखाइल एंटोनोव

3

मुझे लगता है कि डैश उपयोगकर्ता के दृष्टिकोण से बेहतर है और यह एसईओ के साथ हस्तक्षेप नहीं करेगा।

यह सुनिश्चित नहीं है कि अंडरस्कोर सम्मेलन कहां या क्यों शुरू हुआ।

थोड़ी और ज्ञानवर्धक बहस


3

मैं इस आधार पर डैश पसंद करता हूं कि किसी लिंक को अंडरलाइन करके एक हद तक अस्पष्ट किया जा सकता है। शाब्दिक URL मुख्य रूप से व्याकरणिक रूप से सही होने के बजाय एक नज़र में पहचाने जाने के लिए होते हैं इसलिए हाइफ़न शब्दों में उपयोग के लिए डैश को संरक्षित करने का तर्क सीमित है।

जहां किसी पाठ URL की सटीकता महत्वपूर्ण है, उसे किसी को पढ़ते समय, जिस स्थिति में आप किसी स्पेस (या इसके विपरीत) के लिए अंडरस्कोर को भ्रमित नहीं करना चाहते हैं।

मुझे डैश भी अधिक सौंदर्यवादी रूप से भाता है, अगर वह किसी चीज़ के लिए मायने रखता है।


2

एंड-यूज़र व्यू के लिए मैं "about-us" या "हमारे बारे में" नहीं "about_us" पसंद करता हूं


1

व्यक्तिगत रूप से, मैं हमारे बारे में या about_us का उपयोग करने से बचूंगा, और बस के बारे में उपयोग करूंगा।


3
/ के बारे में / हमें / नहीं / गंभीरता से / यह / है / यह :)
ब्रैड विल्सन

12
और यह आपका समाधान है? ठीक है, के बारे में क्या "about_our_customers" या "के बारे में" के असंख्य असंख्य सेट मैं उस के साथ आ सकता है जो प्रासंगिक हो सकता है। एक समस्या की अनदेखी! = समाधान।
बिलजमदेव

1

कुछ पुराने वेब होस्टिंग और डीएनएस सर्वरों को वास्तव में यूआरएल के लिए अंडरस्कोर करने में समस्या होती है, जिससे कि इन जैसे सम्मेलनों में एक भूमिका निभाई जा सकती है।


2
हाँ, लेकिन यह केवल होस्टनाम में है।
अनिरवन

0

मैं व्यक्तिगत रूप से करने के लिए सभी डैश और अंडरस्कोर और ऑप्ट से बच जाएंगे CamelCase या PascalCase अगर इसकी में कोड।

CamelCase पर विकिपीडिया लेख इसकी उत्पत्ति के पीछे के तर्क को थोड़ा स्पष्ट करता है। उन्हें राशि

  1. आलसी प्रोग्रामर जिन्हें _ की के लिए पहुंचना पसंद नहीं था
  2. पठनीयता के बारे में संभावित भ्रम
  3. ज़ेरॉक्स PARC पर "ऑल्टो" कीबोर्ड, जिसमें कोई अंडरस्कोर कुंजी नहीं थी।

यदि उपयोगकर्ता को स्ट्रिंग देखना है तो मैं उपरोक्त में से कोई नहीं करूंगा और "हमारे बारे में" का उपयोग करूंगा। या "अबाउट" अगर मुझे कैमलकेस के रूप में जाना जाता था, तो कुछ क्षेत्रों जैसे उत्पाद के नामों में आम उपयोग में फैल गया। यानी थिंकपैड, TiVo


खोज इंजन को कैसे पता चलेगा कि कोई शब्द शुरू होता है या समाप्त होता है?
जो फिलिप्स

PascalCase के साथ खोज इंजन सौदा किसी अन्य परिधि के समान क्यों नहीं होगा, क्या यह उस मामले के लिए _, - या: हो सकता है?

1
अच्छी सलाह ... यह सवाल कोड के बारे में पूछ रहा था। urls [आमतौर पर] केस-असंवेदनशील होते हैं, और आमतौर पर लोअरकेस में दिखाए जाते हैं।
आर्मस्ट्रांगेस्ट

1
@dI -_- Ib केवल डोमेन नाम केस-असंवेदनशील हैं। रास्ता केस-संवेदी है, जिससे ऊंट और पास्कल शैलियों को एक व्यवहार्य विकल्प बनाया जा सकता है। यद्यपि, उनका उपयोग करके आप प्रभावी रूप से उन शब्दों को बना रहे हैं जो वे मामले-असंवेदनशील का प्रतिनिधित्व करते हैं। मेरी राय में उस विकल्प के साथ यह सबसे बड़ा मुद्दा होगा।
एटली जूल

0

URL में रिक्त स्थान की अनुमति होती है, इसलिए आप लिंक में "/ हमारे बारे में" का उपयोग कर सकते हैं (हालाँकि यह "20% के बारे में" / "इनकोडेड" होगा। लेकिन ईमानदार रहें, यह हमेशा व्यक्तिगत प्राथमिकता होगी, इसलिए कोई वास्तविक उत्तर नहीं है। यहाँ दिया जाना है।

मैं उस अधिवेशन के साथ जाऊंगा जो डैश शब्दों में प्रकट हो सकता है, इसलिए रिक्त स्थान को अंडरस्कोर में परिवर्तित किया जाना चाहिए।


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