Избранное Все заметки GitHub icon Мой Github Обо мне

Sitemap для Эгеи

Обновлено для последней беты

Знаю, что Илья Бирман, разработчик движка для блога Эгея, «против» нативной генерации sitemap файла, поэтому пришлось сделать небольшой PHP скрипт для себя. Добавил задание в Cron, чтобы раз в неделю генерил новый файл. Квест пройден.

<?
$domain = 'mopsicus.ru'; // домен
$db_user = 'login'; // логин к БД
$db_password = 'password'; // пароль к БД
$db_database = 'blog'; // название БД
$db_host = 'localhost'; // адрес БД

$db = new mysqli($db_host, $db_user, $db_password, $db_database);

$xml = '<?xml version="1.0" encoding="UTF-8"?>';
$xml .= "\n";
$xml .= '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">';
$result = $db->query("SELECT MAX(`LastModified`) AS `LastModified` FROM `notes` WHERE 1");
while ($row = $result->fetch_assoc()) {
$xml .= "
<url>
	<loc>http://$domain</loc>
	<priority>1.0</priority>
	<lastmod>".date('Y-m-d\TH:i:s\Z', $row['LastModified'])."</lastmod>
</url>";
}
$result = $db->query("SELECT OriginalAlias, LastModified FROM `notes` WHERE IsPublished = 1 AND isvisible = 1");
while ($row = $result->fetch_assoc()) {
	$page = $row['OriginalAlias'];
	$xml .= "
<url>
	<loc>http://$domain/all/$page</loc>
	<priority>0.8</priority>
	<lastmod>".date('Y-m-d\TH:i:s\Z', $row['LastModified'])."</lastmod>
</url>";
}	
$xml .= "
</urlset>";
$db->close();
$fp = fopen('sitemap.xml', 'w'); 
fwrite($fp, $xml);
fclose($fp);
echo "ok";
?>
Поделиться
Отправить
2 комментария
Максим

Привет!

Сегодня скинули ссылку на этот пост. Сам недавно делал.
http://maksfedorov.ru/blog/all/sitemap-xml-dlya-bloga-na-egee/

Сделал через парсинг страницы /blog/all/

Игорь Лопатин

Да тут ничего особо сложного то и нет Ж)

Дмитрий

А если блог находится в папке «blog», то в домене указывать путь с этой директорией или без неё?

Игорь Лопатин

До директории. Страницы блога же доступны по полному пути.

Популярное