Bagaimana Wikipedia menghasilkan Peta Situsnya?

9

Topik ini menarik minat saya karena ukuran Wikipedia. Mungkin mudah untuk membuat beberapa crons untuk memperbarui peta situs secara berkala di situs kecil, tetapi bagaimana dengan yang besar? Begitu:

Bagaimana Wikipedia menghasilkan Peta Situsnya?


sumber

Jawaban:

9

Ini dihasilkan secara dinamis oleh skrip PHP. Untuk situs besar, mungkin lebih baik untuk memeriksa perubahan dan hanya menghasilkan jika sesuatu berubah - atau menghasilkan hanya setiap menit / jam / hari XY. Tergantung infrastrukturnya.

Semua informasi yang dibutuhkan ada di database, jadi itu bukan tugas yang sulit.

Dan inilah buktinya: http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/maintenance/generateSitemap.php?view=log / http://www.mediawiki.org/wiki/Manual:GenerateSitemap. php

Sunting: Ah dan ini bisa juga menarik untuk topik ini:

Gregor
sumber
Bisakah Anda menggunakan kode-PHP untuk menghasilkan sitemap untuk situs besar? Apakah yang Anda maksudkan dengan kata "dinamis" bahwa sitemap dihasilkan secara otomatis dan membuat sedikit perubahan pada kode ketika diperlukan?
Bisakah Anda mengklarifikasi kalimat "Informasi yang diperlukan semuanya ada dalam database, jadi itu bukan tugas yang sulit."? Di mana saya bisa melihat database?
Saya pikir maksudnya semua informasi itu ada di database yang mendasari mediawiki. Kecuali Anda salah satu sysadmin atau DBAs wikipedia, Anda mungkin tidak bisa mendapatkan akses langsung ke DB mereka.
Cian
3
Saya juga berpikir OP sedang mencoba mencari cara untuk menghasilkan peta situs di situs 'besar', dalam kasus Wikipedia sangat banyak RDBMS-driven (MySQL) dengan semua halaman dilayani dari database. Karena itu DB Anda mengetahui semua halaman, dan Anda memerlukan skrip PHP sederhana (terkait di atas dari Subversion) untuk melakukannya. Dalam kasus situs lain, didorong oleh teknologi yang berbeda, maka Anda akan menemukan bahwa pendekatan yang dibutuhkan berbeda. Terakhir kali saya memeriksa Wikipedia menerbitkan database mereka untuk diunduh, atau setidaknya, mereka menerbitkan konten mereka dalam file .SQL.
nixgeek
1
Berikut adalah [Wikipedia DB Dump] [1] :-) [1]: en.wikipedia.org/wiki/…
Gregor
1

Saya dihadapkan dengan tugas untuk membuat peta situs untuk situs web kami beberapa waktu yang lalu. Meskipun bukan ukuran Wikipedia, itu masih sekitar seratus ribu halaman, dan sekitar 5% dari mereka diubah, ditambahkan atau dihapus setiap hari.

Karena menempatkan semua referensi halaman dalam satu file akan membuatnya terlalu besar, saya harus membaginya menjadi beberapa bagian. Indeks peta situs menunjuk ke halaman aspx dengan string kueri untuk salah satu dari 17 bagian yang berbeda. Bergantung pada string kueri, halaman mengembalikan xml referensi beberapa ribu halaman, berdasarkan objek yang ada dalam database.

Jadi, peta situs tidak dibuat secara berkala, melainkan dibuat dengan cepat saat seseorang memintanya. Karena kami sudah memiliki sistem untuk caching pencarian basis data, ini tentu saja digunakan untuk mengambil data untuk peta situs juga.

Guffa
sumber
Mengapa downvote? Jika Anda tidak menjelaskan apa yang Anda pikir salah, itu tidak dapat memperbaiki jawabannya.
Guffa
1

Walaupun kode generasi sitemap ada di master mediaWikiWiki dan tentunya akan menjadi pilihan yang dipilih untuk menghasilkan sitemap, saya tidak melihat bukti bahwa Wikipedia benar-benar telah dihidupkan. File robots.txt tidak mengarah ke peta situs mana pun.

Lebih jauh, setiap skrip pemeliharaan yang dijalankan pada proyek-proyek Wikimedia dikendalikan oleh boneka dan tidak ada instance dari generateSitemap.php dalam repositori boneka . Akhirnya, tidak ada sitemap di dump untuk wiki Wikimedia juga, sementara ada " abstrak untuk Yahoo ".

Bagaimanapun, Wikipedia menjalankan cache Squid di depan server aplikasi mereka. Mereka dapat mengontrol seberapa sering peta situs mereka diperbarui dengan menyesuaikan waktu kedaluwarsa untuk halaman tersebut.

Selain itu, apa pun yang dilakukan Wikipedia untuk pengindeksan bukan model yang baik untuk wiki Anda, karena Google memiliki kontak / kesepakatan / penanganan Wikipedia khusus, lihat contoh terbaru .

brianegge
sumber
+1 pengamatan cerdas
1
Tidak ada alasan sebenarnya untuk mengharapkan robots.txt untuk merujuk peta situs, sehingga tidak adanya referensi seperti itu tidak benar-benar membuktikan apa pun.
John Gardeniers
0

Saya tidak positif, tetapi saya pikir mereka menggunakan ekstensi Google Sitemap untuk MediaWiki. Ini didukung oleh halaman Wikipedia di Peta Situs .

Keith
sumber