Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-settings.php on line 472

Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-settings.php on line 487

Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-settings.php on line 494

Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-settings.php on line 530

Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-includes/cache.php on line 103

Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-includes/query.php on line 21

Deprecated: Assigning the return value of new by reference is deprecated in /home/spwebru/com/wp-includes/theme.php on line 623
Создаем Sitemap скриптом на Python - Программируем на CakePHP


Сен 10 2008

Создаем Sitemap скриптом на Python

Раздел: Веб-разработкаМета @ 23:01

Вообще говоря, утилит для создания карты сайта сейчас полно. Но поскольку у нас в студии используются различные операционные системы, то требовалось найти кроссплатформенное решение. Плюс, были необходимы максимальные возможности по автоматизации.

Выбор пал на утилиту sitemap_gen.py. Представляет собой один единственный файл-скрипт на языке Python. Соответственно, требует чтобы Питон был установлен в системе. Скачать и установить Python для Windows можно здесь.

Как пользоваться этой утилитой?

В простейшем случае просто запускаем ее командой

sitemap_gen.py <url>

где <url> - полный адрес сайта с http://. Утилита начнет сканировать сайт, выводя на экран список найденных страниц и результат их разбора. По окончании сканирования в той же папке откуда она была запущена, появится файл sitemap.xml — карта сайта со всеми найденными страницами.

Дополнительные опции программы:

-h или - -help — распечатывает краткую справку по использованию.

-b <ext> или - -block <ext> - не сканировать ссылки, заканчивающиеся расширением <ext>. Расширение указывается без точки вначале. Регистр букв не имеет значения. Эту опцию можно указывать несколько раз, чтобы заблокировать несколько расширений. Полезно, чтобы утилита не пыталась скачать и обработать видеоролики, архивы и другие бинарные данные.

-c <value> или - -changefreq <value> - задает значение поля «частота обновления» в создаваемой карте сайта. В текущей версии скрипта устанавливается сразу для всех записей в карте.

-p <prio> или - -priority <prio> - позволяет установить значение приоритета сразу для всех записей в карте. По-умолчанию поле приоритета вообще не создается (частоты обновлений — тоже).

-m <value> или - -max-urls <value> - устанавливает максимальное количество сканируемых страниц. Количество записей в создаваемом файле также будет соответствовать этому значению. По-умолчанию скрипт сканирует только 1000 ссылок. Максимально допустимое значение — 50000 — ограничивается поисковой системой Google. Скрипт может создать за раз только один файл, а для индексации большего чем 50000 количества страниц, необходимо создавать несколько файлов.

-o <file> или - -output <file> - задает имя создаваемого xml-файла. По-умолчанию — sitemap.xml.

В процессе сканирования сайта утилита выводит на консоль информацию обо всех найденных ошибках. И тут открывается еще один аспект использования: утилита еще и проверяет код страниц на соответствие стандартам. Просто если в коде страницы допущены ошибки верстки, программа не может его обработать и выдаст ошибку «Error parsing».

Чем это плохо? Вы не сможете создать полную карту сайта пока не исправите все ошибки в коде.

Чем это хорошо? По-сути, поисковые системы работают по тем же принципам что и этот скрипт. Если утилита не может прочитать код ваших страничек, то есть большой шанс что и поисковик тоже не сможет и не включит страничку в свой индекс. К тому же правильная верстка гарантирует доступность страниц во всех существующих браузерах и просто приучает к аккуратности. :)

Теги:

Напиши комментарий!