Wikipedia는 어떻게 Sitemap을 생성합니까? 사이트 맵을 업데이트하기 위해 일부 크론을 만드는

이 주제는 Wikipedia의 크기 때문에 관심이 있습니다. 작은 사이트에서 주기적으로 사이트 맵을 업데이트하기 위해 일부 크론을 만드는 것이 쉽지만 큰 사이트는 어떻습니까? 그래서:

Wikipedia는 어떻게 Sitemap을 생성합니까?



답변

PHP 스크립트에 의해 동적으로 생성됩니다. 대규모 사이트의 경우 변경 사항을 확인하고 변경된 내용 만 생성하거나 XY 분 / 시간 / 일마다 생성하는 것이 좋습니다. 인프라에 따라 다릅니다.

필요한 정보는 모두 데이터베이스에 있으므로 그렇게 어려운 일이 아닙니다.

그리고 여기 증거가 있습니다 : http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/maintenance/generateSitemap.php?view=log / http://www.mediawiki.org/wiki/Manual:GenerateSitemap. PHP

편집 : 아 그리고 이것은이 주제에 대해서도 흥미로울 수 있습니다 :


답변

나는 우리 웹 사이트에 대한 사이트 맵을 만드는 작업에 직면했다. Wikipedia의 크기는 아니지만 여전히 수십만 페이지에 달하며 그 중 약 5 %가 매일 변경, 추가 또는 제거됩니다.

모든 페이지 참조를 단일 파일에 넣으면 파일이 너무 커지므로 섹션으로 나누어야했습니다. 사이트 맵 인덱스는 17 개의 다른 섹션 중 하나에 대한 쿼리 문자열이있는 aspx 페이지를 가리 킵니다. 쿼리 문자열에 따라 페이지는 데이터베이스에 존재하는 개체에 따라 수천 페이지를 참조하는 xml을 반환합니다.

따라서 사이트 맵은 주기적으로 생성되는 것이 아니라 누군가 요청하면 즉시 생성됩니다. 데이터베이스 검색을 캐싱하는 시스템이 이미 있으므로 사이트 맵에 대한 데이터를 가져 오는 데 사용됩니다.


답변

사이트 맵 생성 코드 는 MediaWiki 핵심 마스터에 있으며 확실히 사이트 맵을 생성하기 위해 선택한 옵션이지만 Wikipedia가 실제로 켜져 있다는 증거는 보이지 않습니다. robots.txt 파일은 사이트 맵을 가리 키지 않습니다.

또한 Wikimedia 프로젝트에서 실행되는 유지 관리 스크립트는 꼭두각시로 제어되며 꼭두각시 저장소에는 generateSitemap.php 인스턴스없습니다 . 마지막으로 Wikimedia 위키덤프 에는 사이트 맵이없고 ” Yahoo에 대한 초록 “도 있습니다.

어쨌든 Wikipedia는 앱 서버 앞에서 오징어 캐시를 실행합니다. 페이지의 만료 시간을 조정하여 사이트 맵 업데이트 빈도를 제어 할 수 있습니다.

또한 Wikipedia에서 색인 생성을 위해 수행하는 모든 작업은 Wiki에 적합한 모델이 아닙니다. Google은 Wikipedia에 대한 특별한 연락처 / 거래 / 처리 기능이 있기 때문에 최근 예를 참조하십시오 .


답변

긍정적이지 않지만 MediaWiki 용 Google Sitemap 확장 프로그램을 사용한다고 생각 합니다. 이것은 Sitemaps 의 Wikipedia 페이지에서 지원됩니다 .