In che modo Wikipedia genera la sua Sitemap?


9

L'argomento mi interessa a causa delle dimensioni di Wikipedia. Potrebbe essere facile creare alcuni croni per aggiornare periodicamente le sitemap in un piccolo sito, ma che ne dici di uno grande? Così:

In che modo Wikipedia genera la sua Sitemap?

Risposte:


9

È generato dinamicamente da uno script PHP. Per i siti di grandi dimensioni è probabilmente meglio controllare le modifiche e generare solo se qualcosa è cambiato o generarlo solo ogni XY minuti / ore / giorni. Dipende dall'infrastruttura.

Le informazioni necessarie sono tutte nel database, quindi non è un compito così difficile.

Ed ecco la prova: http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/maintenance/generateSitemap.php?view=log / http://www.mediawiki.org/wiki/Manual:GenerateSitemap. php

Modifica: Ah e questo potrebbe essere interessante anche per questo argomento:


Potresti usare il codice PHP per generare la sitemap per siti di grandi dimensioni? Vuoi dire con la parola "dinamicamente" che la sitemap viene generata in qualche modo automaticamente e apportando lievi modifiche al codice quando necessario?

Puoi chiarire la frase "Le informazioni necessarie sono tutte nel database, quindi non è un compito così difficile."? Dove posso vedere il database?

Penso che significhi che tutte le informazioni sono nel database sottostante mediawiki. A meno che tu non sia uno dei amministratori di sistema o dei DBA di Wikipedia, probabilmente non puoi ottenere l'accesso diretto al loro DB.
Cian,

3
Penso anche che l'OP stia cercando di capire come generare una Sitemap su un sito "di grandi dimensioni", nel caso di Wikipedia è molto basato su RDBMS (MySQL) con tutte le pagine che vengono servite dal database. Pertanto il tuo DB conosce tutte le pagine e hai bisogno di uno script PHP semplice (collegato sopra da Subversion) per farlo. Nel caso di altri siti, guidati da tecnologie diverse, scoprirai che l'approccio necessario è diverso. L'ultima volta che ho controllato Wikipedia ha pubblicato i loro database per il download, o almeno, hanno pubblicato i loro contenuti in un file .SQL.
nixgeek,

1
Ecco il [Wikipedia DB Dump] [1] :-) [1]: en.wikipedia.org/wiki/…
Gregor,

1

Qualche tempo fa ho dovuto affrontare il compito di creare una mappa del sito per il nostro sito Web. Sebbene non abbia le dimensioni di Wikipedia, è ancora circa centomila pagine e circa il 5% di esse viene modificato, aggiunto o rimosso quotidianamente.

Poiché l'inserimento di tutti i riferimenti di pagina in un singolo file lo renderebbe troppo grande, ho dovuto dividerli in sezioni. L'indice della mappa del sito punta a una pagina aspx con una stringa di query per una delle 17 diverse sezioni. A seconda della stringa di query, la pagina restituisce un xml che fa riferimento a diverse migliaia di pagine, in base agli oggetti presenti nel database.

Pertanto, la mappa del sito non viene creata periodicamente, ma viene creata al volo quando qualcuno lo richiede. Poiché disponiamo già di un sistema per la memorizzazione nella cache delle ricerche nel database, questo viene ovviamente utilizzato anche per recuperare dati per la mappa del sito.


Perché il downvote? Se non spieghi cosa pensi sia sbagliato, non puoi migliorare la risposta.
Guffa,

1

Sebbene il codice di generazione della Sitemap sia nel core core di MediaWiki e sarebbe sicuramente l'opzione scelta per produrre una Sitemap, non vedo alcuna prova che Wikipedia lo abbia effettivamente attivato. Il file robots.txt non punta a nessuna mappa del sito.

Inoltre, qualsiasi script di manutenzione eseguito su progetti Wikimedia è controllato da puppet e non vi è istanza di generateSitemap.php nel repository puppet . Infine, non c'è neanche una sitemap nelle discariche per nessun wiki di Wikimedia , mentre ci sono " abstract per Yahoo ".

In ogni caso, Wikipedia esegue le cache di Squid davanti ai loro server di app. Possono controllare la frequenza con cui la loro Sitemap viene aggiornata regolando il tempo di scadenza della pagina.

Inoltre, qualunque cosa Wikipedia faccia per indicizzare non è un buon modello per la tua wiki, perché Google ha contatti / offerte / gestione speciali di Wikipedia, vedi un esempio recente .


+1 osservazione intelligente

1
Non c'è alcun vero motivo per aspettarsi che robots.txt faccia riferimento a una sitemap, quindi l'assenza di un tale riferimento non prova davvero nulla.
John Gardeniers,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.