Wikipedia สร้าง Sitemap ของมันอย่างไร


9

หัวข้อที่ฉันสนใจเพราะขนาดของวิกิพีเดีย อาจเป็นเรื่องง่ายที่จะสร้าง crons เพื่ออัพเดทแผนผังเว็บไซต์เป็นระยะ ๆ ในไซต์เล็ก ๆ แต่สิ่งที่สำคัญคืออะไร ดังนั้น:

Wikipedia สร้าง Sitemap ของมันอย่างไร

คำตอบ:


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 เพื่อสร้างแผนผังเว็บไซต์สำหรับไซต์ใหญ่ ๆ ได้หรือไม่? คุณหมายถึงคำว่า "แบบไดนามิก" ที่แผนผังไซต์ถูกสร้างขึ้นโดยอัตโนมัติและทำการเปลี่ยนแปลงเล็กน้อยเมื่อจำเป็นหรือไม่

คุณสามารถอธิบายประโยค "ข้อมูลที่จำเป็นทั้งหมดในฐานข้อมูลได้หรือไม่ดังนั้นจึงไม่ใช่งานยาก" ฉันจะดูฐานข้อมูลได้ที่ไหน

ฉันคิดว่าเขาหมายถึงว่าข้อมูลทั้งหมดอยู่ในฐานข้อมูล mediawiki พื้นฐาน นอกจากว่าคุณจะเป็นหนึ่งใน sysadmins หรือ DBAs คุณอาจไม่สามารถเข้าถึงฐานข้อมูลได้โดยตรง
Cian

3
ฉันยังคิดว่า OP กำลังพยายามหาวิธีสร้าง Sitemap บนไซต์ 'ใหญ่' ในกรณีของ Wikipedia นั้นใช้ RDBMS เป็นตัวขับเคลื่อน (MySQL) พร้อมกับหน้าทั้งหมดที่ถูกนำเสนอออกมาจากฐานข้อมูล ดังนั้นฐานข้อมูลของคุณจึงรู้ทุกหน้าและคุณจำเป็นต้องมีสคริปต์ PHP แบบ ish (ลิงก์ด้านบนจากการโค่นล้ม) เพื่อทำมัน ในกรณีของไซต์อื่น ๆ ที่ขับเคลื่อนด้วยเทคโนโลยีที่แตกต่างกันคุณจะพบว่าวิธีการที่ต้องการนั้นแตกต่างกัน ครั้งล่าสุดที่ฉันตรวจสอบ Wikipedia ได้เผยแพร่ฐานข้อมูลเพื่อดาวน์โหลดหรืออย่างน้อยพวกเขาก็เผยแพร่เนื้อหาในไฟล์. SQL
nixgeek

1
นี่คือ [Wikipedia DB Dump] [1] :-) [1]: en.wikipedia.org/wiki/…
Gregor

1

ฉันต้องเผชิญกับภารกิจในการสร้างแผนที่เว็บไซต์สำหรับเว็บไซต์ของเราสักพัก แม้ว่าจะไม่ใช่ขนาดของ Wikipedia แต่ก็ยังคงมีอยู่ประมาณหนึ่งแสนหน้าและประมาณ 5% มีการเปลี่ยนแปลงเพิ่มหรือลบทุกวัน

เมื่อวางการอ้างอิงหน้าทั้งหมดไว้ในไฟล์เดียวจะทำให้มันใหญ่เกินไปฉันต้องแบ่งมันออกเป็นส่วน ๆ ดัชนีแผนผังไซต์ชี้ไปที่เพจ aspx ด้วยสตริงการสืบค้นหนึ่งใน 17 ส่วนที่ต่างกัน ขึ้นอยู่กับสตริงการสืบค้นหน้าส่งคืนการอ้างอิง xml หลายพันหน้าขึ้นอยู่กับวัตถุที่มีอยู่ในฐานข้อมูล

ดังนั้นแผนที่เว็บไซต์จะไม่ถูกสร้างขึ้นเป็นระยะ ๆ แต่จะถูกสร้างขึ้นทันทีเมื่อมีคนร้องขอ เนื่องจากเรามีระบบสำหรับการค้นหาฐานข้อมูลแคชอยู่แล้วซึ่งแน่นอนว่าใช้เพื่อดึงข้อมูลสำหรับแผนผังไซต์ด้วย


ทำไมต้องลงคะแนน? หากคุณไม่ได้อธิบายว่าคุณคิดว่าอะไรผิดมันไม่สามารถปรับปรุงคำตอบได้
Guffa

1

แม้ว่ารหัสการสร้างแผนที่เว็บไซต์จะอยู่ในหลักของ MediaWikiและจะเป็นตัวเลือกที่เลือกในการสร้างแผนผังเว็บไซต์ แต่ฉันไม่เห็นหลักฐานใด ๆ ที่ Wikipedia เปิดใช้จริง ไฟล์ robots.txt ไม่ได้ชี้ไปที่การแมปไซต์ใด ๆ

เพิ่มเติมใด ๆ เรียกใช้สคริปต์การบำรุงรักษาในโครงการวิกิมีเดียจะถูกควบคุมโดยหุ่นเชิดและมีตัวอย่างของ generateSitemap.php ไม่มีในพื้นที่เก็บข้อมูลหุ่น ในที่สุดไม่มีแผนผังไซต์ในการทิ้งข้อมูลสำหรับวิกิมีเดียใด ๆในขณะที่มี " บทคัดย่อสำหรับ Yahoo "

ไม่ว่าในกรณีใด Wikipedia จะใช้ Squid แคชอยู่ด้านหน้าเซิร์ฟเวอร์แอพของตน พวกเขาสามารถควบคุมความถี่ที่ Sitemap ของพวกเขาได้รับการปรับปรุงโดยการปรับเวลาหมดอายุสำหรับหน้า

นอกจากนี้สิ่งที่วิกิพีเดียไม่สำหรับการจัดทำดัชนีไม่ได้เป็นแบบอย่างที่ดีให้วิกิพีเดียของคุณเพราะ Google มีรายชื่อพิเศษ / ข้อเสนอ / การจัดการของวิกิพีเดียดูตัวอย่างล่าสุด


+1 การสังเกตแบบสมาร์ท

1
ไม่มีเหตุผลจริงที่จะคาดหวังว่า robots.txt จะอ้างอิงแผนผังไซต์ดังนั้นการไม่มีการอ้างอิงดังกล่าวจึงไม่ได้พิสูจน์อะไรเลย
John Gardeniers

0

ฉันไม่ดี แต่ฉันคิดว่าพวกเขาใช้ส่วนขยายGoogle Sitemapสำหรับ MediaWiki นี้ได้รับการสนับสนุนโดยหน้าวิกิพีเดียแผนผังเว็บไซต์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.