sitemap - अत्यधिक गतिशील वेबसाइट पर साइटमैप




dynamic-websites (4)

क्या अत्यधिक गतिशील वेबसाइट जो लगातार नए पृष्ठ उत्पन्न कर रही है, sitemap उपयोग करना चाहिए? यदि हां, तो एक साइटमैप जैसी साइट साइटमैप को दोबारा बनाने के बारे में कैसे जाती है? ऐसा लगता है कि यह कीमती सर्वर संसाधनों पर एक नाली होगा अगर यह लगातार किसी को एक प्रश्न जोड़कर लगातार साइटमैप को पुनर्जीवित कर रहा था। क्या यह निर्धारित अंतराल (जैसे हर चार घंटे) पर एक नया साइटमैप उत्पन्न करता है? मैं बहुत उत्सुक हूं कि बड़ी, गतिशील वेबसाइटें यह काम कैसे करती हैं।


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

बेशक, साइटमैप किसी दिए गए साइट के लिए भी उपयुक्त नहीं हो सकता है; वहां एक निश्चित मात्रा में निर्णय कॉल की आवश्यकता होती है।


(और सभी Stack Exchange साइट्स) पर, एक साइटमैप। Xml फ़ाइल बनाई जाती है जिसमें सिस्टम पर पोस्ट किए गए प्रत्येक प्रश्न का लिंक होता है। जब एक नया प्रश्न पोस्ट किया जाता है, तो वे साइटमैप फ़ाइल के अंत में एक और प्रविष्टि संलग्न करते हैं। यह फ़ाइल के अंत में जोड़ने के लिए गहन संसाधन नहीं है, लेकिन फ़ाइल काफी बड़ी है।

यह एकमात्र तरीका है कि Google जैसे खोज इंजन साइट को प्रभावी ढंग से क्रॉल कर सकते हैं।

जेफ एटवुड ने एक ब्लॉग पोस्ट में इसके बारे में बात की : साइटमैप का महत्व

यह साइटमैप पर Google के वेबमास्टर सहायता पृष्ठ से है :

यदि विशेष रूप से उपयोगी हो तो साइटमैप:

  • आपकी साइट में गतिशील सामग्री है।
  • आपकी साइट में वे पृष्ठ हैं जो क्रॉल प्रक्रिया के दौरान Googlebot द्वारा आसानी से खोजे नहीं गए हैं - उदाहरण के लिए, अमीर AJAX या फ़्लैश वाले पृष्ठ।
  • आपकी साइट नई है और इसके कुछ लिंक हैं। (Googlebot एक पृष्ठ से दूसरे पृष्ठ के लिंक का अनुसरण करके वेब को क्रॉल करता है, इसलिए यदि आपकी साइट अच्छी तरह से जुड़ी हुई नहीं है, तो हमारे लिए इसे खोजना कठिन हो सकता है।)
  • आपकी साइट में सामग्री पृष्ठों का एक बड़ा संग्रह है जो एक दूसरे से अच्छी तरह से जुड़े नहीं हैं, या बिल्कुल भी लिंक नहीं हैं।

प्रत्येक बार एक प्रश्न पोस्ट किए जाने पर Google साइटमैप एक्सएमएल को पुनर्जीवित करने की आवश्यकता नहीं है। यह केवल XML फ़ाइल को डेटाबेस (और थोड़ी कैशिंग) से सीधे ऑन-डिमांड उत्पन्न करने के लिए बहुत सरल है।

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


मैं अपना समाधान यहाँ साझा करना चाहता हूँ अगर यह किसी को भी मदद करता है। मुझे इस सवाल को पढ़ना और कई अन्य लोगों को यह तय करना था कि क्या करना है।

मेरी साइट संरचना।

स्थैतिक पेज

  • घर (अत्यधिक गतिशील। 30 मिनट के लिए कैश्ड)
  • कलाकार, एल्बम, गीत, प्लेलिस्ट और एल्बम (पृष्ठबद्ध सूची)
  • कानूनी (नियम आदि के साथ स्टेटिक पेज)

...आदि

गतिशील पृष्ठ

  • कलाकार, एल्बम, गीत, प्लेलिस्ट और एल्बम विस्तार पृष्ठ

मेरा दृष्टिकोण।

sitemap.xml : यह url एक <sitemapindex /> पहला आइटम /sitemap-main.xml होने के साथ उत्पन्न करता है। Artists , Albums , Songs आदि की संख्या 1,000 से गिना और विभाजित किया जाता है (प्रत्येक साइटमैप में मेरे द्वारा वांछित urls की संख्या। सीमा 50,000 है)। मैं इस नंबर को गोल करता हूं।

तो उदाहरण के लिए, 1900 गाने = 1.9 = 2. मैं उत्पन्न करता हूं। सूचकांक में urls /sitemap-songs-0.xml और /sitemap-songs-1.xml जोड़ें। मैं अन्य सभी वस्तुओं के लिए इसे दोहराता हूं। मूल रूप से, मैं पागल हूँ।

आउटपुट को बिना लौटाया गया है। मैं चाहता हूं कि यह हमेशा ताजा रहे।

साइटमैप- main.xml : यह सभी स्थैतिक पृष्ठों को सूचीबद्ध करता है। आप वास्तव में इसके लिए एक स्थिर फ़ाइल का उपयोग कर सकते हैं क्योंकि आपको केवल एक बार एक समय में इसे अपडेट करने की आवश्यकता होगी।

sitemap-songs-0.xml, sitemap-album-0.xml, आदि : मैं स्लिमपैप 2 में इसके लिए एकल मार्ग का उपयोग करता हूं।

$app->get('/sitemap-:type-:page.xml', function ($type, $page) use ($app) {...

मैं प्रासंगिक फ़ाइलों को उत्पन्न करने के लिए एक साधारण स्विच स्टेटमेंट का उपयोग करता हूं। यदि इस पृष्ठ के लिए, मुझे 1,000 आइटम मिले, तो ऊपर दी गई सीमा, मैंने फ़ाइल को 2 सप्ताह के लिए कैश कर दिया। और, मैं इसे केवल कुछ घंटों के लिए कैश करता हूं।

मुझे लगता है कि यह किसी और को अपने सिस्टम को लागू करने में मदद कर सकता है।