Index.html का उपयोग करने का सही तरीका


9

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

मान लें कि मेरे पास पते पर मेरा व्यक्तिगत ब्लॉग है example.com/blog.htmlऔर कई उप-ब्लॉगों के लिंक हैं example.com/blog/math.html, example.com/blog/coding.htmlइसलिए मेरे रूट फ़ोल्डर में फ़ोल्डर blog.htmlऔर blogफ़ोल्डर हैं, blogफ़ोल्डर में फ़ाइलें math.htmlऔर हैं coding.html

सबसे पहले, मैंने सीखा ( Google वेबमास्टर्स टूल्स से ) कि एसईओ और सौंदर्यपरक उद्देश्यों के लिए इसे एकीकृत करना अच्छा है example.com.comऔर स्रोत में विशेषता example.com/index.htmlजोड़कर । कुछ अन्य ट्रिक्स (जैसे लिंक करना और ) का उपयोग करके मैंने अपने वेब पते में दिखाई देने वाली बदसूरत से छुटकारा पा लिया ।_rel="canonical"_index.html.././index.html

और अब मुझे आश्चर्य है कि क्या इस ट्रिक का उपयोग न केवल रूट फ़ोल्डर के लिए किया जा सकता है, बल्कि किसी भी फ़ोल्डर के लिए? मेरा मतलब है, मैं अपने फ़ोल्डर blog.htmlमें स्थानांतरित करूँगा blog, इसे नाम बदलकर और इसके साथ एकीकृत करने के लिए index.htmlजोड़ दूंगा । इस चाल से अपने ब्लॉग का पता बदल जाएगा में ।rel="canonical"example.com/blog/index.htmlexample.com/blog/
example.com/blog.htmlexample.com/blog/

तैयार नहीं! मैं अपने फ़ोल्डर्स को अनुक्रमित करने वाले Google रोबोट के साथ समस्याओं का भी सामना कर रहा हूं। इसलिए जब मैं site:example.com/Google खोज में टाइप करता हूं , तो मेरे फ़ोल्डर के example.com/blog/साथ कच्ची फाइलें, आइकन आदि के लिंक अन्य परिणामों के बीच दिखाई देते हैं। मुझे लगता है कि इसे ठीक करने के अन्य तरीके भी हैं, लेकिन आईएमएचओ ऊपर उल्लिखित परिवर्तन भी कर देगा - ब्लॉग फ़ोल्डर में index.html उपयोगकर्ता को उस फ़ोल्डर की वास्तविक कच्ची सामग्री को देखने से बचाएगा। example.com/blog/Google खोज में सही लिंक और (मुझे आशा है कि) खोज परिणामों में प्रकट नहीं _rel="canonical"_होने के लिए दूसरा, अवांछित लिंक बना example.com/blog/index.htmlदेगा।

तो मेरे सवाल हैं:

  1. क्या index.htmlफ़ाइल को हर सबफ़ोल्डर में रखना एक अच्छा अभ्यास है या क्या यह केवल रूट फ़ोल्डर में होना चाहिए?
  2. क्या कोई नुकसान या समस्याएं हैं जो दूसरे, " हर फ़ोल्डर में सूचकांक " विधि का उपयोग करते समय हो सकती हैं ?
  3. ऊपर वर्णित वेबसाइट को संरचित करने के दो तरीकों में से कौन सा आप पसंद करेंगे?

मेरे स्पष्टीकरण के लिए, क्या खोज इंजन 2 अलग-अलग फ़ाइलों के रूप में site.com/blog और site.com/blog/index.html देखते हैं ? यदि दोनों URL के लिंक का उपयोग किया जा रहा है, तो क्या आप 2 स्थानों के बीच लिंक जूस / पेज अथॉरिटी को विभाजित कर रहे हैं?

जहाँ तक मुझे पता है, खोज इंजन (कम से कम Google) उन्हें दो अलग-अलग फ़ाइलों के रूप में देखते हैं। क्योंकि वे वास्तव में अलग हो सकते हैं - दो लिंक केवल एक ही स्लैश में भिन्न हो सकते हैं। ( यहां और पढ़ें ।) और हां, यदि आप एक पृष्ठ पर दो अलग-अलग लिंक का उपयोग कर रहे हैं, तो पृष्ठ की पूरी रैंक उन दो लिंक के बीच विभाजित हो जाती है और आपका पेज प्रभावी रूप से अपनी रैंक का आधा भाग खो रहा है। इसीलिए मैं उन लीक को रोकने के लिए उल्लिखित लिंक canonicalization का सुझाव देता हूं।
ज्येकोमन

जवाबों:


13

कारण है कि हम का उपयोग index.htmlया home.htmlया derivitives उसके क्योंकि वेब सर्वर सॉफ्टवेयर है ही वास्तव में उस के लिए लग रहा है और यह कार्य करता है। उदाहरण के लिए:

यह INVALID है: (www-directory)

/var/www/
|_blog.html
|_blog/
  |_math.html
  |_page2.html
  |_page3.html
  |_(...)

यह वास्तव में फ़ोल्डर और फ़ाइलों को सूचीबद्ध करने वाले पृष्ठ के रूप में कार्य करेगा। (वह नहीं जो आप चाहते हैं)। आप इस संरचना को आज़मा सकते हैं, लेकिन blog.html के बगल में एक index.html फ़ाइल भी बना सकते हैं। ध्यान दें कि जब तक आप निर्दिष्ट नहीं करते हैं, तब तक यह blog.html की सेवा कैसे करेगा http://www.site.com/blog.html) यही कारण है कि आपके द्वारा निर्दिष्ट http://www.google.com/किए बिना पृष्ठ दिखाता हैhttp://www.google.com/index.html

यह मान्य है:

/var/www/
|_index.html (renamed blog.html to index.html)
|_blog/
  |_math.html
  |_page2.html
  |_page3.html
  |_(...)

यह आपकी blog.htmlफ़ाइल को HOMEPAGE के रूप में कार्य करेगा । (उस निर्देशिका में सभी फ़ोल्डरों / फाइलों को सूचीबद्ध न करें)

वेबसर्वर सॉफ़्टवेयर में फ़ाइल नामों की एक विशेष सूची होती है, जिसे मुखपृष्ठ या फ़ोल्डर के मुख्य पृष्ठ के रूप में प्रस्तुत किया जाएगा। (मेरे अनुभव में, index.htmlindex.php पर पूर्वता लेता है, इसलिए यदि आपके पास index.htmlऔर index.phpएक फ़ोल्डर में है, तो index.html जनता को क्या देखेगा) बेशक यह सब बदला जा सकता है, और आप इसे blog.htmlएक के रूप में पहचाने जाने के लिए भी सेट कर सकते हैं "सूचकांक"।

अपनी टिप्पणी को संबोधित करते हुए:

"इस ट्रिक से मेरे ब्लॉग का पता www.xxx.com/blog.html से www.xxx.com/blog/ में बदल जाएगा।"

यह blog.htmlपूरी तरह से जाकर /blog/इसे index.html में बदलकर किया जाएगा ।

आपका नया ढांचा होगा:

/var/www/
|_blog/
  |_index.html (renamed from blog.html)
  |_math.html
  |_page2.html
  |_page3.html
  |_(...)

यह http://www.site.com/blog/आपके blog.html की सामग्रियों को दिखाने के लिए सही ढंग से काम करना चाहिए, जिसे हमने नाम दिया index.htmlताकि सॉफ्टवेयर इसे आपकी निर्देशिका के सूचकांक के रूप में सेट कर सके/blog/

आप index.htmlअपनी साइट के मूल में डाल सकते हैं और http://www.site.com/(index.html)लिंक करने के लिए /blog/और जो कुछ भी आप चाहते हैं उसे फाइल करने के लिए भी अब स्वतंत्र हैं ।

विशेष रूप से छोटे बयानों में आपके सवालों के जवाब:

  1. क्या हर सबफ़ोल्डर में index.html फ़ाइल होना एक अच्छा अभ्यास है या क्या यह केवल रूट फ़ोल्डर में होना चाहिए?

    हां, क्योंकि यह लोगों को यह देखने से रोकता है कि आपकी निर्देशिका में कौन सी फाइलें हैं। आप इसे .htaccessयुक्त फ़ाइल से रोक सकते हैंOptions -Indexes

  2. क्या कोई नुकसान या समस्याएं हैं जो दूसरे, "हर फ़ोल्डर में सूचकांक" विधि का उपयोग करते समय हो सकती हैं?

    मैं किसी के बारे में सोच नहीं सकता।

  3. ऊपर वर्णित वेबसाइट को संरचित करने के दो तरीकों में से कौन सा आप पसंद करेंगे?

    मेरे पास आमतौर पर रूट में एक फ़ाइल index.htmlया index.phpफ़ाइल होती है, श्रेणी के आधार पर सबफ़ोल्डर्स (जैसे forumया newsया loginआदि) और फिर उनमें से प्रत्येक के अंदर किसी प्रकार का सूचकांक।


इतने व्यापक उत्तर के लिए धन्यवाद! मेरे फ़ोल्डरों की सार्वजनिक पहुंच और यह तथ्य कि वे Google द्वारा अनुक्रमित हैं, मुझे अब बहुत गुस्सा आता है जब मुझे पता है कि "हर फ़ोल्डर में सूचकांक" के साथ कोई समस्या नहीं है, तो मैं अपनी वेबसाइट को इस तरह बदल दूंगा। मुझे उम्मीद है कि rel = "canonical" ट्रिक काम करेगी और वे सभी इंडेक्स Google खोज में दिखाई नहीं देंगे ...: D
Jeyekomon

6

Index.html के लिए तकनीकी शब्द Apache के लिए Directory Index और IIS के लिए Default Document है। ब्याज की अन्य अपाचे निर्देश विकल्प निर्देश है। जैसा कि दस्तावेज़ में दिखाया गया है, जब Options Indexesसेट किया गया हो:

यदि कोई URL जो किसी निर्देशिका में मैप करता है, उसका अनुरोध किया जाता है, और उस निर्देशिका में कोई DirectoryIndex (जैसे, index.html) नहीं है, तो mod_autoindex निर्देशिका की स्वरूपित सूची लौटाएगा।

जब मैं एक ऐसी वेबसाइट सेट करता हूं जो सामग्री प्रबंधन प्रणाली का उपयोग नहीं कर रही है, तो मेरा पसंदीदा सेटअप प्रति निर्देशिका में एक सामग्री पृष्ठ है। वह पृष्ठ निर्देशिका के लिए निर्देशिका सूचकांक (डिफ़ॉल्ट दस्तावेज़) है। साइट पर सभी लिंक केवल निर्देशिका से लिंक करते हैं और एक अनुगामी स्लैश के साथ समाप्त होते हैं (जैसे, http://example.com/blog/इसके बजाय http://example.com/blog/index.htmlया ./blog/इसके बजाय ./blog/index.html)। अनुगामी स्लैश से बचने के लिए महत्वपूर्ण है जिसे आमतौर पर शिष्टाचार पुनर्निर्देश के रूप में संदर्भित किया जाता है । (यदि अनुगामी स्लैश को छोड़ दिया जाता है, तो सब कुछ अभी भी सही ढंग से हल होता है, लेकिन HTTP अनुरोधों की संख्या और इस प्रकार बैंडविड्थ बढ़ जाती है।)

उपरोक्त कार्यप्रणाली के लिए मेरी प्राथमिक प्रेरणा दुगुनी है। सबसे पहले, यह वेबसाइट पर उपयोग की जाने वाली तकनीक को स्विच करने की सुविधा प्रदान करता है। उदाहरण के लिए, मैं किसी भी लिंक या खोज इंजन लिस्टिंग को तोड़ने के बिना index.html से index.php में एक पेज बदल सकता हूं। दूसरा, सामग्री पृष्ठ का फ़ाइल एक्सटेंशन "शोर" है; URL परिणाम से फ़ाइल एक्सटेंशन को कम और उम्मीद से अधिक पठनीय URL को निकालता है।

अन्य फ़ाइल प्रकारों के लिए:

  • सभी CSS फाइलें वेबसाइट के मूल में एक css डायरेक्टरी में रहती हैं।
  • सभी छवि फाइलें वेबसाइट के मूल में एक छवि निर्देशिका या उपनिर्देशिका में रहती हैं।
  • सभी जावास्क्रिप्ट फाइलें वेबसाइट के मूल में एक स्क्रिप्ट निर्देशिका में रहती हैं।
  • सभी फ्लैश और अन्य मूवी फाइलें वेबसाइट के रूट में एक वीडियो डायरेक्टरी या उपनिर्देशिका में रहती हैं।

अपाचे सर्वर पर, मैं Options Indexesउपर्युक्त निर्देशिकाओं के लिए अक्षम करता हूं । अपाचे और IIS दोनों सर्वरों पर, मैं उपरोक्त निर्देशिकाओं के लिए एक निर्देशिका सूचकांक (डिफ़ॉल्ट दस्तावेज़) निर्दिष्ट नहीं करता हूं। इस प्रकार, किसी भी निर्देशिका के लिए एक अनुरोध HTTP 403 त्रुटि का परिणाम है।


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