Vikipedi'nin boyutu nedeniyle konu beni ilgilendiriyor. Site haritalarını küçük bir sitede periyodik olarak güncellemek için bazı crons oluşturmak kolay olabilir, ancak büyük bir site ne olacak? Yani:
Wikipedia Site Haritasını nasıl oluşturur?
Vikipedi'nin boyutu nedeniyle konu beni ilgilendiriyor. Site haritalarını küçük bir sitede periyodik olarak güncellemek için bazı crons oluşturmak kolay olabilir, ancak büyük bir site ne olacak? Yani:
Wikipedia Site Haritasını nasıl oluşturur?
Yanıtlar:
Bir PHP betiği tarafından dinamik olarak oluşturulur. Büyük siteler için, değişiklikleri kontrol etmek ve yalnızca bir şey değiştiğinde oluşturmak veya yalnızca her XY dakika / saat / günde bir oluşturmak daha iyidir. Altyapıya bağlıdır.
Gerekli bilgilerin hepsi veritabanındadır, bu yüzden zor bir görev değildir.
Ve işte kanıt: http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/maintenance/generateSitemap.php?view=log / http://www.mediawiki.org/wiki/Manual:GenerateSitemap. php
Edit: Ah ve bu da bu konu için ilginç olabilir:
Bir süre önce web sitemiz için bir site haritası oluşturma göreviyle karşı karşıya kaldım. Wikipedia'nın boyutu olmasa da, hala yaklaşık yüz bin sayfadır ve bunların yaklaşık% 5'i günlük olarak değiştirilir, eklenir veya kaldırılır.
Tüm sayfa referanslarını tek bir dosyaya koymak çok büyük olacağından bunları bölümlere ayırmak zorunda kaldım. Site haritası dizini, 17 farklı bölümden biri için sorgu dizesi içeren bir aspx sayfasını işaret eder. Sorgu dizesine bağlı olarak sayfa, veritabanında hangi nesnelerin bulunduğuna bağlı olarak birkaç bin sayfaya başvuran bir xml döndürür.
Bu nedenle, site haritası periyodik olarak oluşturulmaz, bunun yerine birisi istediği zaman anında oluşturulur. Zaten veritabanı aramalarını önbelleğe almak için bir sistemimiz olduğundan, bu elbette site haritası için de veri almak için kullanılır.
Site haritası oluşturma kodu MediaWiki ana yöneticisinde olmasına ve kesinlikle bir site haritası oluşturmak için seçilen seçenek olsa da, Wikipedia'nın aslında açık olduğuna dair herhangi bir kanıt görmüyorum. Robots.txt dosyası hiçbir site eşlemesine işaret etmez.
Ayrıca, Wikimedia projelerinde çalıştırılan herhangi bir bakım betiği kukla tarafından kontrol edilir ve kukla deposunda createSitemap.php örneği yoktur . Son olarak, herhangi bir Wikimedia wiki için dökümlerde site haritası yokken, " Yahoo için özetler " var.
Her durumda, Wikipedia uygulama sunucularının önünde Squid önbelleklerini çalıştırıyor. Sayfanın son kullanma süresini ayarlayarak site haritalarının ne sıklıkta güncelleneceğini kontrol edebilirler.
Dahası, Wikipedia'nın endeksleme için ne yaparsa yapsın, wiki'niz için iyi bir model değildir, çünkü Google'ın Wikipedia'da özel kişileri / anlaşmaları / işlenmesi vardır, son örneğe bakın .
Olumlu değilim, ancak sanırım MediaWiki için Google Site Haritası uzantısını kullanıyorlar . Bu, Site Haritalarındaki Wikipedia sayfası tarafından desteklenmektedir .