Любой код можно сделать быстрее; вопрос в том, готов ли ты пожертвовать стабильностью. (автор не известен)
Генерация Google Sitemap в командной строке — BASH
Время чтения: 1 мин.
Мы нашли простой инструмент командной строки для генерации Google Sitemaps, но он не нравится нам. Вот мы решили написать простой генератор карты сайта при помощи скрипта командной строки Bash. Этот скрипт Bash использует wget, так что он должен быть установлен.
#!/bin/sh
if [ $# -ne 1 ];
then echo "usage: $0 <http://www.example.ru>" && exit 1
fi
rm -rf sitemap.xml; rm -rf spider.log;
wget --spider --recursive --no-verbose
--output-file=spider.log
--reject=.rss,.gif,.png,.jpg,.css,.js,.txt -e robots=off $1;
urls=(`sed -n 's/.\+ URL:\([^ ]\+\) .\+/\1/p' spider.log`);
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<urlset
xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xsi:schemaLocation=\"http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd\">" > sitemap.xml;
for url in ${urls[*]}
do
echo "<url>
<loc>$url</loc>
<changefreq>daily</changefreq>
</url>" >> sitemap.xml;
done
echo "</urlset>"; >> sitemap.xml;
Спасибо за прочтение! Если у вас есть идеи, напишите их в комментариях ниже.
Редактор: AndreyEx