मुझे फ़ाइल एक्सटेंशन का उपयोग करना चाहिए या नहीं?


26

मैंने हमेशा इस बारे में सोचा है और एक अच्छा समाधान नहीं मिला है।

लेकिन इस सवाल ने मुझे उसकी याद दिला दी।

जब मेरी वेबसाइट पर एक URL होगा तो उसे निम्न तरीकों में से किसी भी तरह से प्रदर्शित और एक्सेस किया जा सकता है:

http://www.somesite.com/subdirectory
http://www.somesite.com/subdirectory/
http://www.somesite.com/subdirectory/index.htm
http://www.somesite.com/subdirectory/index.html
http://www.somesite.com/subdirectory/index.php
http://www.somesite.com/subdirectory/index.asp
http://www.somesite.com/subdirectory/some-relevant-keywords
http://www.somesite.com/subdirectory/some-relevant-keywords.htm
http://www.somesite.com/subdirectory/index.php?page=some-relevant-keywords
http://www.somesite.com/subdirectory/?page=some-relevant-keywords
http://www.somesite.com/subdirectory/?page=some-relevant-keywords&even=more-keywords

आदि...

अब, मैं URL में कीवर्ड जोड़ने के गुण को समझ सकता हूं। यहां तक ​​कि सबसे बुनियादी एसईओ गाइड भी ऐसा करने का उल्लेख करेगा। ... लेकिन विवेक, स्पष्टता, पढ़ने में आसानी, उपयोग में आसानी, और इसी तरह, वेब अनुपालन सहित ...

फ़ाइल-एक्सटेंशन करना पसंद है या नहीं?

वास्तव में, मेरे तर्क को गहरा मुझे बताता है: हां, यह होना चाहिए। इसका कारण यह है कि अतीत में उन दिनों की बात है जब इंटरनेट ज्यादातर USENET, FIDONET, FTP और GOPHER था।

देखें, यदि किसी URL का कोई फ़ाइल नाम नहीं है , तो उसे सामान्य रूप से एक निर्देशिका माना जाता है । यह वह जगह है जहाँ index.htm के बारे में आया था, क्योंकि यह डिफ़ॉल्ट रूप से निर्देशिका को सूचीबद्ध करता है यदि कोई सूचकांक फ़ाइल नहीं मिली है। हालाँकि, जल्द ही, वेब प्रोग्रामरों ने इसे ओवरराइड करना शुरू कर दिया और वास्तव में उस वेब निर्देशिका की सामग्री को पेज के रूप में प्रस्तुत करने के लिए index.htm का उपयोग किया । मुख्य अंतर, मार्कअप भाषा को जोड़ा गया था, और इसे ब्राउज़र में पार्स किया गया था। इस मार्कअप लैंग्वेज के साथ, Content-Type:text/html;रिस्पॉन्स हेडर में टैग किसी भी फाइल के लिए किस फिल्टाइप का संकेतक है । लगता है कि HTML केवल "फ़िलाटाइप" है, जिसमें केवल निरंतर नाम एक्सटेंशन नहीं हैं, सिवाय इसके कि उन्हें कब बचाया जाए।

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

क्रॉस-प्लेटफ़ॉर्म फ़ाइल-नामकरण युद्धों का उल्लेख नहीं करने के लिए .. खिड़कियों पर आधारित 3 या कम अंक के विस्तार की आवश्यकता होती है, और यूनिक्स / मैक अधिक हो सकते हैं। तो यह होना चाहिए .HTMया .HTMLया NONEमंच को तय करने देना चाहिए?

तो संक्षेप में, मुझे लगता है कि जो मैं जानने की कोशिश कर रहा हूं वह एसईओ से परे है और सौंदर्यशास्त्र और वेब अनुपालन के साथ अधिक व्यवहार कर रहा है।


आप इसे कैसे स्थापित करेंगे? आपकी .htaccess फ़ाइल में? मेरा मतलब है, पहली उदाहरण की तरह दिखने के लिए एक .html फ़ाइल के लिए पथ बदलें?
जोलोमन

1
@ ज़ोलोमन आप ऐसा कर सकते हैं, या बेहतर अभी तक एक गतिशील यूआरआई पार्सर का उपयोग कर सकते हैं जैसे कि वर्डप्रेस करता है और *.*उस पर रीडायरेक्ट करता है।
तलवी वटिया

जवाबों:


20

जहां-जहां एक से अधिक प्रतिनिधित्व है या जहां क्लाइंट सॉफ्टवेयर बिल्कुल बेवकूफ है, वहां अकेले-कंटेंट टाइप का इस्तेमाल करने से मना करें (क्विकटाइम, रियलपेयर, आउटलुक, आदि) जो मैं आपको देख रहा हूं):

  • http://www.somesite.com/subdirectory - यह आपका ऑटो-वार्ता संस्करण हो सकता है जो वास्तविक प्रतिनिधित्व को इंगित करने के लिए कैननिकल मेटा टैग का उपयोग करता है

  • http://www.somesite.com/subdirectory/ - यह हमेशा किसी URL पर ट्रेसिंग स्लैश का समर्थन करने के लायक है, लेकिन सही URL को इंगित करने के लिए Canonical META टैग का उपयोग करते हुए (क्योंकि यह एक अनावश्यक धीमा है) अनुप्रेषित नहीं है

  • http://www.somesite.com/subdirectory/index.htmऔर http://www.somesite.com/subdirectory/some-relevant-keywords.htm- तीन चरित्र विस्तार सीमा HTTP (केवल अंतर्निहित FileSystem / ओएस) पर लागू नहीं होता तो ग्राहक index.html या आ के रूप में इस बचा सकते हैं अगर वे चाहते थे, जबकि अभी भी इसे उपयोग करने में सक्षम किया जा रहा है

  • http://www.somesite.com/subdirectory/index.html - यदि आप .atom, a .xml या इसी तरह के संस्करण की सेवा करते हैं तो यह .html संस्करण का सम्मान करने के लिए भी समझ में आता है (और कैन्यन इसे ऑटो-वार्ता वाले संस्करण पर लिंक टैग के माध्यम से लिंक करता है) - इंगित करने के लिए HTTP सामग्री-स्थान शीर्षकों का उपयोग करें। हालांकि ऑटो-वार्ता संस्करण - याद रखें कि आप बहु-भाषी (.en, .es, आदि ...) या बहु-वर्णक (.utf8, .utf16, आदि ...) भी जा सकते हैं।

  • http://www.somesite.com/subdirectory/index.phpऔर http://www.somesite.com/subdirectory/index.asp- जब तक आप स्रोत कोड की सेवा नहीं दे रहे हैं तब तक ये समर्थन के लिए कोई मतलब नहीं रखते हैं

  • http://www.somesite.com/subdirectory/some-relevant-keywords - एसईओ एक लगातार बदलती कला है और अगर यह आपके लिए काम करता है तो महान है

  • http://www.somesite.com/subdirectory/index.php?page=some-relevant-keywords, http://www.somesite.com/subdirectory/?page=some-relevant-keywordsऔर http://www.somesite.com/subdirectory/?page=some-relevant-keywords&even=more-keywords- अगर सामग्री में हेरफेर करने के लिए अनंत तरीके हैं, तो यह बहुत अच्छा है - लेकिन आमतौर पर पृष्ठों में स्वयं का URL क्वेरी स्ट्रिंग नहीं होता है और इन प्रकार के URL से बचा जाना चाहिए (किसी को अनपढ़ करने के लिए कंप्यूटर को अनपढ़ करने का प्रयास करें उन में)


1
बहुभाषी विस्तार? मैंने पहली बार ऐसा कुछ देखा है। मुझे याद है कि Google /es/subdirectory/index.htmlउप-डोमेन से भी अधिक पसंद किए जाने वाले फ़ोल्डर पसंद करता है http://es.example.com/subdirectory/index.html। क्या आपको इस बात की कोई जानकारी है कि खोज इंजनों द्वारा .es एक्सटेंशन को कितनी अच्छी तरह से समर्थित किया गया है? क्योंकि मुझे अच्छा लगेगा कि मैं इसका इस्तेमाल करूं। (इसके अलावा क्या आप उन्हें जोड़ सकते हैं? जैसे /index.utf16.es?)
टिमो हुओवेनन

13

मैं कहूंगा कि यदि आप जिस सॉफ़्टवेयर का उपयोग कर रहे हैं, उसमें फ़ाइल एक्सटेंशन शामिल नहीं है , तो आप इसे छोड़ सकते हैं। आपके उदाहरणों की सूची से, मेरी प्राथमिकता होगी:

http://www.somesite.com/subdirectory/some-relevant-keywords

ब्राउज़रों को इस बात की परवाह नहीं है कि साइट पर कुछ निर्देशिका है या नहीं, या क्या यह एक HTML फ़ाइल है, .asp फ़ाइल या जो भी - वे बस एक HTTP अनुरोध करते हैं और एक HTTP प्रतिक्रिया प्राप्त करते हैं। इसलिए यदि एक्सटेंशन बहुत कम है, तो इसे छोड़ दें।

इससे आपके URL को अधिक संक्षिप्त (और फ़ोन पर पढ़ने में आसान - "उदाहरण डॉट कॉम स्लैश उत्पाद" "उदाहरण डॉट कॉम स्लेश उत्पादों डॉट htm l") की तुलना में बहुत अच्छा लग रहा है, और आसान बनाने का अतिरिक्त लाभ है। भविष्य में प्रौद्योगिकी को बदलने के लिए (जैसा कि कोई URL परिवर्तन की आवश्यकता नहीं होगी)।


4
मैं एसईओ और ज्योतिषीय कारणों से इसको सर्वश्रेष्ठ-अभ्यास के रूप में आगे बढ़ा रहा हूं।
तलवी वटिया

हां, ब्राउज़र परवाह नहीं करते हैं, लेकिन सर्वर अगर यह एस्प, एस्पेक्स, या कुछ अन्य प्रकार है, तो वेब सर्वर पर अतिरिक्त प्रसंस्करण की आवश्यकता होगी।
विस्मय

कई वर्षों के बाद इस पर फिर से गौर करने से सबसे अच्छा अभ्यास प्रचलित हुआ। फिर भी मुझे आश्चर्य है कि क्या होगा जब वेब-क्रॉलर तर्क अंततः ऑपरेशंस को पार्स करना सीखता है। उदाहरण के लिए इसे बदलने के लिए हर एसईओ विशेषज्ञ को अचानक बदलने some-relevant-keywordsकी समानता है और अलगाववादी पात्रों के रूप में हाइफ़न का उपयोग करने की सौंदर्य और पठनीयता (some) (!exclude->relevant) (!exclude->keywords)को some+relevant+keywordsनष्ट करना। मूल कारण: /?query=some-relevant-keywordsपहले से ही शाब्दिक बहिष्करण है।
तालवी वटिया


8

फ़ाइल-एक्सटेंशन करना पसंद है या नहीं?

फ़ाइल-एक्सटेंशन को अनिवार्य करने के लिए आरएफसी में कुछ भी नहीं है, न ही आपको उन्हें छोड़ने की आवश्यकता है। यह एक विकल्प है जिसे आप बनाते हैं।

अनुरूप HTTP URI को किसी भी चीज़ के लिए फ़ाइल एक्सटेंशन की आवश्यकता नहीं है। हर चीज को संभालने के लिए HTTP हेडर (विशेषकर MIME प्रकार) का एक समृद्ध सेट है जो अन्यथा फ़ाइल-एक्सटेंशन के लिए उपयोग किया जाता है।

उस ने कहा, अधिकांश ब्राउज़र आज वास्तव में सामग्री प्रकार निर्धारित करने के लिए पहले बाइट्स के MIME प्रकार, विस्तार और बाइनरी 'फिंगरप्रिंट' के संयोजन पर भरोसा करते हैं । यह कभी-कभी आश्चर्यजनक परिणाम दे सकता है , और इसलिए यह महत्वपूर्ण है कि हम वेबमास्टर सही हेडर सेट करते हैं (और संभवतः सामग्री प्रकार को सूँघते हैं यदि हम 101% सुनिश्चित हैं कि हमारे हेडर सही हैं)।

एक ऐसी स्थिति है जहां फ़ाइल एक्सटेंशन उपयोगी होते हैं: यदि अंतिम उपयोगकर्ता आपकी साइट से सामग्री को बाद के उपयोग के लिए अपने स्थानीय कंप्यूटर पर सहेजता है। सैद्धांतिक रूप से एक 'स्मार्ट' ब्राउज़र को यह सुनिश्चित करना चाहिए कि स्थानीय कंप्यूटर प्रकार के लिए सहेजी गई सामग्री काम करती है; लेकिन व्यवहार में आप उद्योग-मानक एक्सटेंशन जैसे .jpg, .mp4, .css आदि के साथ सामग्री की सेवा करके सभी की मदद कर सकते हैं। मेरे अनुभव में सभी ब्राउज़र HTML प्रकार को ठीक से संभालते हैं। आपको स्वयं HTML पर .htm / .html एक्सटेंशन जोड़ने की आवश्यकता नहीं है, ब्राउज़र इस विशिष्ट सामग्री प्रकार को सही ढंग से संभाल लेगा।

सुरक्षा: कोई यह तर्क दे सकता है कि आप जिस प्लेटफ़ॉर्म (.php / .asp आदि) का उपयोग कर रहे हैं उसे छिपाने में सुरक्षा लाभ है। यह सच है। व्यवहार में मुझे लगता है कि किसी भी अच्छे हैकर को यह तुरंत पता चलेगा, इसलिए मुझे नहीं लगता कि अकेले सुरक्षा के लिए इन एक्सटेंशनों को छिपाना मुसीबत के लायक है।

विशेष विचार: यदि आप भविष्य में सीडीएन का उपयोग करने की योजना बना रहे हैं, और आपका सीडीएन "पुश" प्रकार का है (सामग्री को SFN के माध्यम से पहले से CDN पर अपलोड किया गया है), तो आप फ़ाइल एक्सटेंशन रखना चाह सकते हैं। अधिकांश 3 पार्टी सिस्टम यह जानने के लिए फ़ाइल एक्सटेंशन को देखते हैं कि किस MIME सामग्री के साथ सेवा करना है।

मेरी व्यक्तिगत पसंद बन गई है:

  • जब HTML गतिशील रूप से मेरे वेबप द्वारा उत्पन्न होता है, तो मैं एक निर्देशिका और फ़ाइल संरचना की नकल करने के लिए एक 'नकली' .html एक्सटेंशन नहीं जोड़ता हूं जो वास्तव में नहीं है। मैं URL को सामान्य करता हूं और मैं SEO के कारणों के लिए उपयोग किए जाने वाले URL प्रारूप को मानकीकृत करता हूं। मैं व्यक्तिगत रूप से URL के अंतिम पत्ते पर एक अनुगामी स्लैश रखना पसंद करता हूं http://example.org/first/second/, लेकिन यह स्वाद का मामला है।

  • जब हम वास्तव में कहीं हार्डडिस्क पर अपलोड होने वाली वास्तविक फाइलों के बारे में बात कर रहे होते हैं, तो मैं टाइप के लिए 'सामान्य' फाइल एक्सटेंशन रखता हूं। इसलिए इन प्रकार की सामग्री के लिए .css / .js / .exe / .mp4 आदि का उपयोग किया जाता है।


.htmजब आप HTML सामग्री परोस रहे होते हैं , तो एक बात, एक निर्देशिका की नकल करना (बल्कि index.htm को ओवरराइड करना) वास्तव में "नकली" नहीं है। यह नकली होगा यदि सामग्री HTML नहीं थी ।
तलवी वटिया

2

मैंने थोड़ा अनौपचारिक प्रयोग किया है, और मुझे जो पता चला उसने मुझे आश्चर्यचकित किया लेकिन कुछ समझ में आया।

सामग्री-वितरित-से-उपयोगकर्ता के दृष्टिकोण से, साथ ही स्क्रीन स्क्रैपिंग से, सामग्री-प्रकार के दिन नियम।

हालाँकि, किसी एक्सटेंशन की मौजूदगी या अनुपस्थिति, और साथ ही साथ वह एक्सटेंशन क्या है, यह खोज इंजन के दौरों पर जाना लगता है।

जब मैंने किसी भी एक्सटेंशन को छोड़ दिया, तो मुझे अपेक्षाकृत कुछ हिट मिलीं - जैसे कि URL एक स्थान या गतिशील सामग्री थी और इसलिए बहुत अधिक अनुक्रमणिका के लायक नहीं थी।

जब मैंने .xml एक्सटेंशन का उपयोग करने के लिए समान लिंक को बदल दिया था, क्योंकि पृष्ठ वास्तव में XSLT (सर्वर साइड पर) द्वारा उत्पन्न किए गए थे, तो अनुक्रमण वास्तव में आगे गिरा - शायद इसलिए कि यह केवल डेटा था या कुछ प्रोग्रामेटिक अनुरोध का परिणाम था ।

जब मैंने उपयोग करने के लिए उसी लिंक को बदल दिया है। Html, खोज इंजन साइट के साथ जंगली हो गया।

फिलहाल, मेरी साइट तीनों को पारदर्शी रूप से संभालती है, लेकिन जब यह क्लिक करने योग्य लिंक प्रदान करता है, तो मैं URL का .html संस्करण वापस कर देता हूं।

मुझे लगता है कि खोज इंजन थोड़ा होशियार थे, या थोड़ा कम पक्षपाती थे, लेकिन मैंने अपने पृष्ठों के साथ ऐसा देखा है।


यद्यपि एक ही संसाधन के लिए कई URIs नहीं हैं, हालांकि वे पृष्ठों को डुबो देते हैं?
तलवी वटिया

तकनीकी तौर पर, मुझे ऐसा लगता है, और मुझे संदेह है कि उचित काम करना है तो क्या दूसरों को बस एक पुनर्निर्देशन करना है।
वॉल्ट स्टोनबर्नर

यह वास्तव में बहुत आश्चर्य की बात है! क्या आप कोई और पृष्ठभूमि की जानकारी प्रदान कर सकते हैं, जैसे कि सर्च इंजन, किस हद तक आपने बदलाव पर ध्यान दिया, आदि?
डैमसनेट

मुझे ट्रैफ़िक में भारी गिरावट का सामना करना पड़ा है और जबकि मुझे अभी भी यकीन नहीं है, मुझे लगता है कि इस समय के साथ संयोग हुआ था।
दान

क्षमा इतनी देर से जवाब देने के लिए है, लेकिन मैं एक याद वापस जबकि मैट कट्स एक .html उपयोग करने के लिए उल्लेख यदि संभव हो तो। ( यहाँ और अधिक )। यह समझ में आता है कि खोज इंजन एक्सटेंशन के प्रति संवेदनशील हैं, बस देखने की कल्पना करेंhttp://example.com/index.exe
टिमो हुओवेनन

2

नहीं, आपको सामान्य प्रकार के फ़ाइल एक्सटेंशन का उपयोग नहीं करना चाहिए जब तक कि आपको तकनीकी कारण से इसकी आवश्यकता न हो। यह उपयोगकर्ता के अनुभव को कैसे बेहतर बनाता है? यह टाइप करने के लिए अधिक है, फिर भी यह उन्हें उपयोगी कुछ भी नहीं बताता है। वे यह जानने में सक्षम होंगे कि आपकी साइट PHP, ASP, आदि क्या है? एक URL एक फ़ाइल एक्सटेंशन के बिना सरल, क्लीनर, अधिक प्रयोग करने योग्य और अधिक यादगार है।

देखें, यदि किसी URL का कोई फ़ाइल नाम नहीं है, तो उसे सामान्य रूप से एक निर्देशिका माना जाता है।

मुझे नहीं लगता कि मैं सहमत हूं। आम तौर पर, एक URL केवल एक निर्देशिका होता है, जब इसमें एक अनुगामी स्लैश होता है। ट्रेलिंग स्लैश के बिना, इसे एक फ़ाइल माना जाता है।


उपयोगकर्ता का अनुभव: यदि फ़ाइल एक्सटेंशन है .phpया .aspयदि उपयोगकर्ता इसे सहेजता है, तो यह एक अज्ञात फ़ाइल नाम होगा और कंप्यूटर निरक्षरों को यह नहीं पता होगा कि इसे कैसे खोलें। किसी भी फ़ि‍लाइप के साथ, ब्राउज़र इसे जोड़ देगा, लेकिन संभवतः यह कुछ खोज इंजनों में बाधा डालता है?
तलवी वटिया

0

आपको केवल एक फ़ाइल एक्सटेंशन जोड़ना चाहिए, अगर URI के पीछे की सामग्री वास्तव में एक फ़ाइल है। लेकिन फिर भी आप इसे छोड़ सकते हैं, अगर इसका केवल एक प्रतिनिधित्व है (जेपीजी, पीडीएफ, ...)।

यदि कई निरूपण हैं, तो HTTP-तरीका होगा कि Acceptहेडर के माध्यम से प्रारूपित बातचीत हो । लेकिन अगर आप चाहते हैं कि आपके उपयोगकर्ता इसमें कुछ कहें, तो आप शायद एक एक्सटेंशन चाहते हैं ताकि वे एक या दूसरे URI से अनुरोध करके यह चुन सकें कि वे कौन सा प्रतिनिधित्व चाहते हैं (JPG, PNG, ...)।


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