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 IsIssue = 0 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";
?>
Поделиться
Отправить
1 комментарий
Максим

Привет!

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

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

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

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

Ваш комментарий
адрес не будет опубликован

ХТМЛ не работает

Ctrl + Enter
Популярное