Как Википедия генерирует свою Карту сайта?

Из того, что я услышал, существует достаточное количество мест, которые необходимо изменить для покрытия всех различных способов запустить браузер.

Я предлагаю Вас:

  • Сделайте другой браузер значением по умолчанию (возможно несколько, один за другим, чтобы попытаться покрыть все основания - они могут понять его превратно),
  • Запустите RegMon
  • Сделайте Internet Explorer значением по умолчанию (например, в Программах По умолчанию, или только путем запуска его, если это предлагает),
  • Остановите RegMon и узнайте все "записи", которые были зарегистрированы. Они, вероятно, все не будут релевантны, но должно быть легко удаться, которые.

Тем путем Вы знаете о покрытии изменений реестра, которые внес бы сам IE. Повторитесь на различных платформах для покрытия различий там.

9
задан 13 July 2009 в 02:10
4 ответа

Это динамично сгенерировано Сценарием PHP. Для больших сайтов, вероятно, лучше проверить на изменения и только генерировать, если что-то изменилось - или генерируйте его только каждый минуты/часы/дни XY. Это зависит от инфраструктуры.

Необходимая информация является всеми в базе данных, таким образом, это не такая трудная задача.

И вот доказательство: http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/maintenance/generateSitemap.php?view=log / http://www.mediawiki.org/wiki/Manual:GenerateSitemap.php

Править: А-ч и это могли быть также интересными для этой темы:

9
ответ дан 2 December 2019 в 22:31
  • 1
    Вы могли использовать PHP-код для генерации карты сайта для каких-либо больших сайтов? Сделайте Вы подразумеваете под словом " dynamically" то, что карта сайта сгенерирована несколько автоматически и внесение небольших изменений в код при необходимости? –   13 July 2009 в 02:06
  • 2
    Можете Вы разъяснять предложение " необходимая информация является всеми в базе данных, таким образом, it' s не такая трудная задача "? где я могу видеть базу данных? –   13 July 2009 в 02:09
  • 3
    Я думаю, что он подразумевает, что вся информация находится в базе данных, лежащей в основе mediawiki. Если you' ре один из wikipedia' s системные администраторы или DBAs, Вы, вероятно, can' t получают прямой доступ к своему DB. –  Cian 13 July 2009 в 02:12
  • 4
    Я также думаю, что OP пытается разработать, как генерировать Карту сайта на ' large' сайт, в случае Википедии это очень управляется RDBMS (MySQL) со всеми страницами, подаваемыми из базы данных. Поэтому Ваш DB знает все страницы, и Вам нужен Сценарий PHP простого выхода (связанный выше от Подверсии), чтобы сделать это. В случае других сайтов, управляемых различными технологиями, затем you' ll находят, что необходимый подход отличается. В прошлый раз, когда я проверил, Википедия опубликовала их базы данных для загрузки, или по крайней мере, они опубликовали свое содержание в.SQL файле. –  nixgeek 13 July 2009 в 02:23
  • 5
    Вот [Википедия Дамп DB] [1] :-) [1]: en.wikipedia.org/wiki/… –  Gregor 13 July 2009 в 11:50

Я сталкивался с задачей создать карту сайта для нашего веб-сайта некоторое время назад. Хотя это не размер Википедии, это - все еще приблизительно сто тысяч страниц, и приблизительно 5% из них изменяются, добавляются или ежедневно удаляются.

Как помещающий все постраничные справочники в единственный файл сделал бы это слишком большим, я должен был разделить их на разделы. Индекс карты сайта указывает на aspx страницу со строкой запроса для одного из 17 различных разделов. В зависимости от строки запроса страница возвращает xml ссылка на несколько тысяч страниц, на основе которых объекты существуют в базе данных.

Так, карта сайта периодически не создается, вместо этого она создала на лету, когда кто-то запрашивает это. Поскольку у нас уже есть система для кэширования поисков базы данных, это, конечно, используется для выборки данных для карты сайта также.

1
ответ дан 2 December 2019 в 22:31

Я не положителен, но я думаю, что они используют расширение Google Sitemap для MediaWiki. Это поддерживается страницей Wikipedia на Картах сайта.

0
ответ дан 2 December 2019 в 22:31

Хотя код поколения карты сайта находится в ведущем устройстве ядра MediaWiki и конечно был бы опцией, выбранной для создания карты сайта, я не вижу доказательства, что Википедии на самом деле включили его. Файл robots.txt не указывает ни на какие карты сайта.

Далее, любой сценарий обслуживания работает на проектах Викимедиа, управляется марионеткой и нет никакого экземпляра generateSitemap.php в марионеточном репозитории. Наконец, нет никакой карты сайта в дампах ни для какой Wiki Викимедиа также, в то время как существуют "краткие обзоры для Yahoo".

В любом случае Википедия выполняет кэши Сквида перед их серверами приложений. Они могут управлять, как часто их карта сайта обновляется путем корректировки времени истечения для страницы.

Кроме того, независимо от того, что Википедия делает для индексации, не хорошая модель для Вашей Wiki, потому что Google имеет специальные контакты/соглашения/обработку Википедии, посмотрите недавний пример.

1
ответ дан 2 December 2019 в 22:31
  • 1
    +1 умное наблюдение –   13 July 2009 в 02:52
  • 2
    There' s никакая настоящая причина, чтобы ожидать, что robots.txt сошлется на карту сайта, таким образом, отсутствие такой ссылки doesn' t действительно доказывают что-либо. –  John Gardeniers 13 July 2009 в 03:12

Теги

Похожие вопросы