DokuWiki.ru

простой и мощный вики-движок

Инструменты пользователя

Инструменты сайта


sitemap

Карта сайта (sitemap)

DokuWiki может автоматически создавать XML Sitemap - специальный файл, используемый большими поисковыми системами типа Google, Yandex или Yahoo.

Чтобы разрешить создание карты сайта, необходимо изменить в настройках ДокуВики параметр sitemap. Карта сайта размещается в корневой папке, в которой установлена ДокуВики. В зависимости от того, есть ли в PHP конкретного хостинга поддержка gzip, файл с картой сайта называется либо sitemap.xml.gz (если gzip доступен) или просто sitemap.xml (когда gzip не поддерживается). Почти все современные сборки PHP включают поддержку gzip, так что скорее всего карта сайта у вас на сайте располагается в файле sitemap.xml.gz.

Когда карта сайта обновляется, ДокуВики автоматически оповещает следующие поисковые системы, с помощью HTTP запроса:

  • Google
  • Yahoo
  • Microsoft Live/MSN

Настройка прав доступа

Для того, чтобы создать карту сайта, вебсерверу необходимо иметь права на запись соответствующего файла. Самый простой способ удостовериться в этом - создать пустой файл sitemap.xml.gz и изменить соответствующим образом его атрибуты.

Если карта сайта не создается, можно попробовать получить отладочную информацию от индексатора ДокуВики, открыв страницу http://yourserver/dokuwiki/lib/exe/indexer.php?debug=1 в браузере.

Если необходимо пересоздать карту сайта, нужно временно установить в config:sitemap большое отрицательное значение .

Проверка Sitemap

Карта сайта привязана к доменному имени. Если ваша карта сайта содержит ссылки типа http://domain.org, карта не будет правильной, когда её поисковая система запросит с http://www.domain.org и наоборот. Для того, чтобы убедиться, что используется правильная форма, можно сделать переадресацию с помощью modRewrite, добавив соответствующее правило в файл .htaccess:

Пример ModRewrite для Apache:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.domain\.org$      [NC]
RewriteRule ^(.*)$       http://www.domain.org/$1 [R,L]

См. также

Обсуждение

BuZZZard, 2011/06/14 23:31

В общем, вышел из ситуации так:

Заменил function runSitemapper() в файле индексатора. Взял из релиза dokuwiki-2009-12-25c.tgz “Lemming”

Вроде работает. Не знаю, что из этого выйдет.

BuZZZard, 2011/06/14 22:55

Нет. Видимо я поторопился…. Не работает. Вопрос актуальный.

Опробовал вариации: $sitemap = './sitemap.xml'; $sitemap = $conf['basedir'].'/sitemap.xml'; $sitemap = 'http://site/sitemap.xml';

Все равно файл записывается только так $sitemap = $conf['cachedir'].'/sitemap.xml'; Не пойму чего ему не хватает. Права вроде везде одинаковые.

BuZZZard, 2011/06/14 22:00

Разобрался сам. dokuwiki от 2011-05-25 “Rincewind” В файле http://yourserver/dokuwiki/inc/Sitemapper.php есть функция getFilePath()

в ней генерируется имя файла: $sitemap = $conf['cachedir'].'/sitemap.xml';

Изменил руками эту строку на: $sitemap = './sitemap.xml';

Залил на сайт новый файл, запустил индексатор http://yourserver/dokuwiki/lib/exe/indexer.php?debug=1 Карта сформировалась в http://yourserver/dokuwiki

Простой вариант - не править ничего в кишочках DokuWIki, а вместо этого добавить строчку в .htaccess:

RewriteRule ^sitemap\.xml\.gz(.*)     doku.php?do=sitemap [QSA,L]

После этого всё будет работать как раньше.

Артём, 2011/11/27 04:50

Может быть правильнее

 
  RewriteRule ^sitemap\.xml\.gz$        doku.php?do=sitemap [L]

Ну и в корне сайта надо в таком случае удалить sitemap.xml.gz если его создавали пустой, так как иначе именно он и будет отдаваться.

BuZZZard, 2011/06/14 21:13

День добрый! Почему-то sitemap.xml.gz создается не в корне DokuWiki, в моем примере это http:сайт/wiki/, а тут http:сайт/wiki/data/cache/. И гугл туда достучаться не может.

Денис, 2010/08/09 17:37

А по-конкретнее, что обозначает число?

  1. карта создается каждый день
  2. один раз в два дня
  3. раз в три дня и так далее.
Денис, 2010/08/04 22:06
Чтобы разрешить создание карты сайта, необходимо изменить в настройках ДокуВики параметр sitemap.

Это где? Есть «Карта сайта для Google (дни)», куда можно ввести число. Как это понимать?

Этот параметр задает расписание обновления карты сайта.

Bugo, 2010/01/08 07:42

А по-русски можно? Вот создается карта сайта в файле sitemap.xml.gz. Но ведь это архив, а как указать конкретный адрес карты сайта в Инструментах для веб-мастеров Google? Там ведь просят что-то вроде http:сайт.ru/sitemap.xml. Вручную каждый раз распаковывать архив? Как в файле robots.txt указать путь к реальной карте? Sitemap http:сайт.ru/sitemap.xml.gz ???

И можно вообще поподробней про robots.txt, какие папки запретить к индексированию, какие разрешить — применительно к последней версии DokuWiki.

В инструментах для вебмастеров на гугле поддерживается оба формата sitemap.xml - как сжатый, так и несжатый. Никакой проблемы с тем, что карта в архиве - нет.

Прописывать в robots.txt путь к карте сайта не нужно. Карта сайта работает и без этого.

Bugo, 2010/01/15 08:39

А примерный вариант robots.txt для индексации сайта подскажете? Какие папки запретить, какие разрешить. Версия Doku последняя.

NL, 2010/05/29 18:36

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

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

Замечу, что у DokuWiki никакой специфики нет - сайт на DokuWiki в этом смысле ничем не отличается от других сайтов. Даже без robots.txt сайт прекрасно индексируется. Robots.txt вообще-то сделан для того, чтобы запрещать индексацию определённых страниц и разделов на сайте.

Я на одном из своих сайтов использую следующий вариант robots.txt:

User-agent: *
Disallow: /bin/
Disallow: /conf/
Disallow: /inc/
Disallow: /lib/ 
Disallow: /_detail/
Disallow: /_export/

И для доступа при включенных красивых путях с помощью .htaccess в .htacess нужно добавить директиву (перед строчкой RewriteCond %{REQUEST_FILENAME} !-f):

RewriteCond %{REQUEST_FILENAME}       !robots\.txt
Ваня П., 2012/09/29 12:51

RewriteCond %{REQUEST_FILENAME} !-f говорит не применять следующие правила для адресов, соответствующих физическим файлам. Поскольку robots.txt — это файл, добавлять RewriteCond %{REQUEST_FILENAME} !robots\.txt уже не нужно.

avk02, 2011/07/12 15:56

robots.txt для DokuWiki

# nano robots.txt
User-agent: *
Disallow: /bin/
Disallow: /conf/
Disallow: /inc/
Disallow: /lib/

Это если DokuWiki в корне, если например в каталоге /wiki/, тогда будет Disallow: /wiki/bin/ и т.п.

Подробнее можно почитать здесь - http://wiki.dieg.info/doku.php/robots.txt (сайт не мой)

Только авторизованные участники могут оставлять комментарии.
sitemap.txt · Последние изменения: 2017/03/15 20:56 — kibi