Como a Wikipedia gera seu Sitemap?

9

O tópico me interessa por causa do tamanho da Wikipedia. Pode ser fácil criar alguns crons para atualizar os mapas de site periodicamente em um site pequeno, mas e quanto a um grande? Assim:

Como a Wikipedia gera seu Sitemap?


fonte

Respostas:

9

É gerado dinamicamente por um script PHP. Para sites grandes, provavelmente é melhor verificar se há alterações e gerar apenas se algo mudou - ou gerar apenas a cada XY minutos / horas / dias. Depende da infraestrutura.

As informações necessárias estão todas no banco de dados, portanto não é uma tarefa tão difícil.

E aqui está a prova: http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/maintenance/generateSitemap.php?view=log / http://www.mediawiki.org/wiki/Manual:GenerateSitemap. php

Edit: Ah e isso também pode ser interessante para este tópico:

Gregor
fonte
Você poderia usar o código PHP para gerar o mapa do site para sites grandes? Você quer dizer com a palavra "dinamicamente" que o mapa do site é gerado automaticamente e faz pequenas alterações no código quando necessário?
Você pode esclarecer a frase "As informações necessárias estão todas no banco de dados, portanto não é uma tarefa tão difícil". Onde posso ver o banco de dados?
Eu acho que ele quer dizer que todas as informações estão no banco de dados subjacente ao mediawiki. A menos que você seja um dos administradores de sistemas ou DBAs da wikipedia, provavelmente não poderá obter acesso direto ao banco de dados deles.
Cian
3
Também acho que o OP está tentando descobrir como gerar um Sitemap em um site 'grande', no caso da Wikipedia, é muito orientado a RDBMS (MySQL), com todas as páginas sendo servidas fora do banco de dados. Portanto, seu banco de dados conhece todas as páginas, e você precisa de um script PHP simples (link acima do Subversion) para fazê-lo. No caso de outros sites, impulsionados por diferentes tecnologias, você verá que a abordagem necessária é diferente. A última vez que verifiquei a Wikipedia publicou seus bancos de dados para download, ou pelo menos, eles publicaram seu conteúdo em um arquivo .SQL.
Nixgeek
1
Aqui está o [Wikipedia DB Dump] [1] :-) [1]: en.wikipedia.org/wiki/…
Gregor
1

Fui confrontado com a tarefa de criar um mapa do site há algum tempo. Embora não seja do tamanho da Wikipedia, ainda possui cerca de cem mil páginas, e cerca de 5% delas são alteradas, adicionadas ou removidas diariamente.

Como colocar todas as referências de página em um único arquivo tornaria muito grande, tive que dividi-las em seções. O índice do mapa do site aponta para uma página aspx com uma sequência de consultas para uma das 17 seções diferentes. Dependendo da string de consulta, a página retorna um xml referenciando vários milhares de páginas, com base nos objetos existentes no banco de dados.

Portanto, o mapa do site não é criado periodicamente; em vez disso, é criado rapidamente quando alguém o solicita. Como já temos um sistema para armazenar em cache as pesquisas no banco de dados, isso também é usado para buscar dados para o mapa do site.

Guffa
fonte
Por que o voto negativo? Se você não explicar o que acha que está errado, não poderá melhorar a resposta.
Guffa
1

Embora o código de geração do mapa do site esteja no principal do MediaWiki e certamente seja a opção escolhida para produzir um mapa do site, não vejo nenhuma evidência de que a Wikipedia esteja ativada. O arquivo robots.txt não aponta para nenhum mapa do site.

Além disso, qualquer script de manutenção executado em projetos Wikimedia é controlado pelo fantoche e não há instância de generateSitemap.php no repositório do fantoche . Por fim, também não há mapa do site nos despejos de qualquer wiki da Wikimedia , enquanto existem " resumos para o Yahoo ".

De qualquer forma, a Wikipedia executa caches Squid na frente de seus servidores de aplicativos. Eles podem controlar com que frequência o mapa do site é atualizado ajustando o prazo de validade da página.

Além disso, o que quer que a Wikipedia faça para indexar não é um bom modelo para o seu wiki, porque o Google tem contatos / negócios / manipulação especiais da Wikipedia, veja um exemplo recente .

brianegge
fonte
+1 observação inteligente
1
Não há motivo real para esperar que o robots.txt faça referência a um mapa do site, portanto, a ausência dessa referência não prova nada.
31920 John Gardeniers
0

Não sou positivo, mas acho que eles usam a extensão Google Sitemap para o MediaWiki. Isso é suportado pela página da Wikipedia em Sitemaps .

Keith
fonte