& Amp; साइटमैप लिंक में, क्या वे सही हैं?


17

सरल प्रश्न, मैं सिर्फ यह सुनिश्चित करने के लिए कह रहा हूं।

Google साइटमैप जेनरेटर ने इस तरह लिखे लिंक के साथ एक साइटमैप उत्पन्न किया।

http://www.domain.com/category.htm?name=some-name&cat_id=8

क्या &इन लिंक का उपयोग करना सही है &या यह साइटमैप जनरेटर द्वारा की गई त्रुटि मात्र है?

धन्यवाद।

जवाबों:


11

वह सही है। यह एक एम्परसेंड ( &) के लिए HTML इकाई है और एक उचित रूप से एन्कोडेड URL में इसका उचित चरित्र प्रतिनिधित्व है। Ampersands ( &) और अच्छी तरह से <और >XML और HTML में विशेष वर्ण हैं और उनके विशेष वर्ण संस्थाओं का उपयोग करके प्रदर्शित करने की आवश्यकता है।


क्या आप सुनिश्चित हैं कि सभी एम्परसेंड्स को अस्तित्व में होना चाहिए? मुझे लगा कि यह केवल क्वेरी स्ट्रिंग्स में मापदंडों को अलग करने वाले लोगों के लिए है। मैं हमेशा फ़ाइल या फ़ोल्डर नामों या प्रतिशत-एन्कोडिंग ( %26) का उपयोग करते हुए स्वयं पैरामीटर में ampersands से बच गया हूं : उदाहरण:http://foo/a%26r.php?foo=1&amp;genre=r%26b
Lèse majesté

मुझे यकीन नहीं है कि प्रतिशत-एन्कोडिंग मान्य है या नहीं, इसलिए मैं निश्चित रूप से नहीं कह सकता।
जॉन कोंडे

@ Lèse - क्योंकि यह एक XML दस्तावेज है, इसे बचाना होगा, जब तक कि आप एक CDATAनोड का उपयोग नहीं करते (बस ध्यान दिया कि bdadam ने भी यही बात कही थी, लेकिन मुझसे बहुत पहले)
मार्क हेंडरसन

>एक्सएमएल में एनकोडेड होने की सख्त जरूरत नहीं है।
12

6

आपकी साइटमैप फ़ाइल UTF-8 एन्कोडेड होनी चाहिए (जब आप फ़ाइल को सहेजते हैं तो आप आमतौर पर ऐसा कर सकते हैं)। सभी XML फ़ाइलों की तरह, कोई भी डेटा मान (URL सहित) वर्णों के लिए निकाय एस्केप कोड का उपयोग करना चाहिए।

इससे मदद मिल सकती है, http://sitemaps.org/protocol.php


दुर्भाग्य से, यह लिंक अब मर चुका है।
एमटीएन


2

यदि Google का URL में & चरित्र है, तो साइटमैप टूटने को अस्वीकार कर देता है। जब आप इसे बदलें और इसे & amp;

लेकिन: यदि आप बाद में Google वेबमास्टर्स टूल में क्रॉलिंग त्रुटियों की सूची की जांच करते हैं, तो यह साइटमैप फ़ाइल के इस URL को टूटी हुई के रूप में रिपोर्ट करेगा, क्योंकि इसमें & amp; के बजाय &।

इस प्रकार सही समाधान URL को ऐसे बदलना है जिसमें यह शामिल नहीं है &। या इसे बग के रूप में Google को रिपोर्ट करें।


1

URL- एनकोडिंग और XML एंटिटी एन्कोडिंग एक ही चीज़ नहीं हैं। आपको URL में विशेष वर्णों को बदलने के लिए URL-एन्कोडिंग की आवश्यकता होती है, जैसे कि और जिसका उपयोग केवल क्वेरी मापदंडों के पृथक्करण के लिए किया जा सकता है। एक्सएमएल इकाई एन्कोडिंग एक्सएमएल (एक्सएचएल भी) में विशेष पात्रों को एन्कोडिंग के लिए है। इसका मतलब है, यदि आपके पास XML (या XHTML) फ़ाइल में एक URL है, और इस URL में कुछ और वर्ण शामिल हैं, तो आपको इसे & amp; तो एक साइटमैप। Xml में आपके पास मार्को डेमायो के प्रश्न की तरह यूआरएल होंगे।

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