Избранное

Все заметки

Рассылка

GitHub icon Github

Buffer icon Проекты

Обо мне

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 комментария
Максим 2017

Привет!

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

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

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

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

Дмитрий 2017

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

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

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

Популярное