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";
?>
Привет!
Сегодня скинули ссылку на этот пост. Сам недавно делал.
http://maksfedorov.ru/blog/all/sitemap-xml-dlya-bloga-na-egee/
Сделал через парсинг страницы /blog/all/
Да тут ничего особо сложного то и нет Ж)
А если блог находится в папке «blog», то в домене указывать путь с этой директорией или без неё?
До директории. Страницы блога же доступны по полному пути.