हर नए पेज के लिए sitemap.xml हाथ से लिखना उस तरह का दोहराव वाला काम है जिसे साइट के URL की एक लिस्ट से फ़ाइल अपने-आप बनवाकर आसानी से टाला जा सकता है।
कौन-से फ़ील्ड वाक़ई मायने रखते हैं
पेज के पूरे (absolute) पते वाला <loc> टैग इकलौता ज़रूरी फ़ील्ड है। <lastmod> को सही भरना फ़ायदेमंद है, क्योंकि Google इसे दोबारा क्रॉल करने की प्राथमिकता तय करने में वाक़ई इस्तेमाल करता है — जबकि <priority> और <changefreq> को, Google के अपने बयान के मुताबिक़, वह ज़्यादातर नज़रअंदाज़ कर देता है।
देवनागरी पाथ और percent-encoding
पाथ या क्वेरी में देवनागरी अक्षर सीधे नहीं जा सकते — हर अक्षर पहले UTF-8 में कई बाइट्स में बदलता है, फिर हर बाइट %E0%A4%B2 जैसे रूप में लिखा जाता है। "लेख" जैसा दो अक्षर का शब्द भी एन्कोड होने पर 15-20 कैरेक्टर की % वाली स्ट्रिंग बन जाता है, जो <loc> में असामान्य नहीं दिखनी चाहिए।
Absolute URL और विशेष कैरेक्टर की एस्केपिंग
sitemap के हर पते का absolute होना ज़रूरी है (प्रोटोकॉल और डोमेन समेत), और एम्परसैंड जैसे कैरेक्टर को XML-entity के रूप में लिखना होता है (&) — वरना फ़ाइल वैध XML नहीं रहती, और सर्च इंजन सिर्फ़ एक गड़बड़ एंट्री नहीं, पूरी फ़ाइल ख़ारिज कर सकता है।
इसकी ज़रूरत क्यों है
- URL की लिस्ट से बिना हाथ से XML लिखे सही sitemap.xml तैयार करना।
- ऐसी फ़ॉर्मेटिंग ग़लतियों से बचना जिनकी वजह से सर्च इंजन पूरी फ़ाइल ख़ारिज कर दे।
- नए पेज जोड़ने के बाद मार्कअप हाथ से बदले बिना फ़ाइल दोबारा जनरेट करना।
hi और en-IN — एक साथ दो hreflang क्यों आम हैं
भारत में ज़्यादातर वेबसाइटें हिंदी और अंग्रेज़ी, दोनों में कंटेंट देती हैं, इसलिए एक ही sitemap में hreflang="hi" और hreflang="en-IN" वाले xhtml:link टैग साथ दिखना सामान्य बात है — यह बताता है कि दोनों पेज एक ही कंटेंट के अलग-अलग भाषा संस्करण हैं, अलग-अलग पेज नहीं।