विकिपीडिया अपना साइटमैप कैसे बनाता है?


9

विकिपीडिया के आकार के कारण विषय मेरे हित में है। छोटी साइट में समय-समय पर साइटमैप अपडेट करने के लिए कुछ क्रोन बनाना आसान हो सकता है, लेकिन एक बड़े के बारे में क्या? इसलिए:

विकिपीडिया अपना साइटमैप कैसे बनाता है?

जवाबों:


9

यह गतिशील रूप से एक PHP स्क्रिप्ट द्वारा उत्पन्न होता है। बड़ी साइटों के लिए यह संभव है कि परिवर्तनों की जाँच करें और यदि कुछ बदला है तो केवल उत्पन्न करें - या इसे केवल हर XY मिनट / घंटे / दिन उत्पन्न करें। यह आधारभूत संरचना पर निर्भर करता है।

डेटाबेस में सभी आवश्यक हैं, इसलिए यह इतना कठिन काम नहीं है।

: और यहाँ सबूत है http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/maintenance/generateSitemap.php?view=log / http://www.mediawiki.org/wiki/Manual:GenerateSitemap। php

संपादित करें: आह और यह इस विषय के लिए भी दिलचस्प हो सकता है:


क्या आप किसी भी बड़ी साइटों के लिए साइटमैप बनाने के लिए PHP-code का उपयोग कर सकते हैं? क्या आपको "गतिशील रूप से" शब्द से मतलब है कि साइटमैप कुछ स्वचालित रूप से उत्पन्न होता है और आवश्यकता होने पर कोड में थोड़ा बदलाव करता है?

क्या आप वाक्य को स्पष्ट कर सकते हैं "डेटाबेस में सभी आवश्यक हैं, इसलिए यह इतना कठिन काम नहीं है।" मैं डेटाबेस कहां देख सकता हूं?

मुझे लगता है कि उनका मतलब है कि सभी जानकारी डेटाबेस में अंतर्निहित मीडियाविकी है। जब तक आप विकिपीडिया के sysadmins या DBAs में से एक नहीं होते, तब तक आप शायद उनके DB तक सीधी पहुँच प्राप्त नहीं कर सकते।
Cian

3
मुझे यह भी लगता है कि ओपी यह जानने की कोशिश कर रहा है कि 'बड़े' साइट पर साइटमैप कैसे जेनरेट किया जाए, विकिपीडिया के मामले में यह बहुत ज्यादा RDBMS- संचालित (MySQL) है जिसमें सभी पेज डेटाबेस से बाहर परोसे जा रहे हैं। इसलिए आपका DB सभी पृष्ठों को जानता है, और आपको इसे करने के लिए एक सरल-ish PHP स्क्रिप्ट (उपर के उपर से जुड़ा हुआ) की आवश्यकता है। विभिन्न तकनीकों द्वारा संचालित अन्य साइटों के मामले में, फिर आप पाएंगे कि आवश्यक दृष्टिकोण अलग है। पिछली बार जब मैंने विकिपीडिया को डाउनलोड करने के लिए अपने डेटाबेस प्रकाशित किए या कम से कम, उन्होंने अपनी सामग्री को एक .SQL फ़ाइल में प्रकाशित किया।
निक्सेजेक

1
यहाँ [विकिपीडिया डीबी डंप] [१] :-) [१]: en.wikipedia.org/wiki/…
ग्रेगर १३'०

1

मुझे थोड़ी देर पहले हमारी वेब साइट के लिए साइट मानचित्र बनाने के लिए कार्य का सामना करना पड़ा था। हालाँकि यह विकिपीडिया का आकार नहीं है, फिर भी यह लगभग एक लाख पृष्ठों का है, और उनमें से लगभग 5% दैनिक रूप से बदले, जोड़े या हटाए जाते हैं।

एक ही फाइल में सारे पेज रेफरेंस डालने से यह बहुत बड़ा हो जाएगा, मुझे उन्हें सेक्शन में विभाजित करना था। साइट मैप इंडेक्स 17 अलग-अलग वर्गों में से एक के लिए क्वेरी स्ट्रिंग के साथ एक एस्पक्स पृष्ठ पर इंगित करता है। क्वेरी स्ट्रिंग के आधार पर पृष्ठ कई हज़ार पृष्ठों का संदर्भ देते हुए एक xml देता है, जिसके आधार पर ऑब्जेक्ट डेटाबेस में मौजूद होते हैं।

इसलिए, साइट मानचित्र समय-समय पर नहीं बनाया जाता है, इसके बजाय यह मक्खी पर बनाया जाता है जब कोई इसका अनुरोध करता है। हम पहले से ही डेटाबेस खोजें कैशिंग के लिए एक प्रणाली है के रूप में, इस पाठ्यक्रम साइट मानचित्र भी के लिए डेटा लाने के लिए इस्तेमाल किया की है।


क्यों होता है पतन? यदि आप यह नहीं समझाते हैं कि ऐसा क्या है जो आपको लगता है कि यह गलत है, तो इससे उत्तर में सुधार नहीं हो सकता है।
गुफा

1

हालाँकि साइटमैप मीडिया कोड में है। मीडियाविकि कोर मास्टर और निश्चित रूप से साइटमैप बनाने के लिए चुना गया विकल्प होगा, लेकिन मुझे कोई सबूत नहीं दिखता कि विकिपीडिया वास्तव में चालू हुआ है। Robots.txt फ़ाइल किसी भी साइट मैप्स की ओर इशारा नहीं करती है।

इसके अलावा, विकिमीडिया परियोजनाओं पर चलने वाली किसी भी रखरखाव स्क्रिप्ट को कठपुतली द्वारा नियंत्रित किया जाता है और कठपुतली के भंडार में जनरेटमैपैप . php का कोई उदाहरण नहीं है । अंत में, किसी भी विकिमीडिया विकी के लिए डंप में कोई साइटमैप नहीं है , जबकि " याहू के लिए सार " हैं।

किसी भी स्थिति में, विकिपीडिया अपने ऐप सर्वर के सामने स्क्वीड कैश चलाता है। वे यह नियंत्रित कर सकते हैं कि पृष्ठ के लिए समाप्ति समय को समायोजित करके कितनी बार उनका साइटमैप अपडेट किया गया है।

इसके अलावा, विकिपीडिया इंडेक्सिंग के लिए जो कुछ भी करता है वह आपकी विकि के लिए एक अच्छा मॉडल नहीं है, क्योंकि Google के पास विकिपीडिया के विशेष संपर्क / सौदे / हैंडलिंग हैं, एक हालिया उदाहरण देखें


+1 स्मार्ट अवलोकन

1
किसी साइटमैप के संदर्भ में robots.txt की अपेक्षा करने का कोई वास्तविक कारण नहीं है, इसलिए इस तरह के संदर्भ का अभाव वास्तव में कुछ भी साबित नहीं करता है।
जॉन गार्डनियर्स

0

मैं सकारात्मक नहीं हूं, लेकिन मुझे लगता है कि वे MediaWiki के लिए Google साइटमैप एक्सटेंशन का उपयोग करते हैं । यह साइटमैप पर विकिपीडिया पृष्ठ द्वारा समर्थित है ।

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