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




dynamic-websites (5)

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


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

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

स्थैतिक पेज

  • घर (अत्यधिक गतिशील। 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 सप्ताह के लिए कैश कर दिया। और, मैं इसे केवल कुछ घंटों के लिए कैश करता हूं।

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


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

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


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

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


मैं केवल साइट के अधिक स्थैतिक पृष्ठों के लिए साइट मानचित्र बनाऊंगा। पर उदाहरण के लिए, साइटमैप अक्सर पूछे जाने वाले प्रश्न, के बारे में, प्रश्न, टैग, उपयोगकर्ता, आदि ... के लिए प्रदर्शन कर सकता है ... पृष्ठ लेकिन वास्तविक प्रश्नों या सभी टैग और विभिन्न उपयोगकर्ताओं के लिंक नहीं दिखाते हैं।


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