Файл Sitemap — это файл с информацией о страницах сайта, подлежащих индексированию. Разместив этот файл на сайте, можно сообщить поисковому роботу (Yandex, Google и др.):
- какие страницы вашего сайта нужно индексировать;
- как часто обновляется информация на страницах;
- индексирование каких страниц наиболее важно.
Файл Sitemap учитывается при индексировании сайта роботом, однако поисковые системы не гарантируют, что все URL, указанные в файле, будут добавлены в поисковый индекс.
if (isset($_POST['submit']))
{
$sitemap = '../sitemap.xml';
$action = fopen($sitemap, 'w'); # Если файла нет, создаём его. Если файл есть, заменяем его на новый, пустой
if (!$action)
{
exit('Невозможно создать карту сайта.');
}
$file = fopen($sitemap, 'a'); # Открываем файл для записи
$xml = "<?xml version="1.0" encoding="UTF-8" ?>
";
$xml .= "<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
";
# foreach ($id as $value) # Записываем все ссылки на статьи в файл
{
$query = "SELECT * FROM blog"; // делаем запрос к базе данных (blog - имя таблицы)
$result = mysql_query($query);
while($r = mysql_fetch_array($result)){
$id=$r['blog_id'] ; // blog_id - id номер статьи
$r_date = $r['date']; // фомат даты должен быть: 2017-08-29
$n++;
$xml .= " <url>
";
$xml .= " <loc>http://".$_SERVER['SERVER_NAME']."/?blog_id=". $id . "</loc>
";
$xml .= " <lastmod>" .$r_date. "</lastmod>
";
$xml .= " <changefreq>daily</changefreq>
";
$xml .= " <priority>0.5</priority>
";
$xml .= " </url>
"; # Создаём код для вставки в файл
}}
$xml .= '</urlset>';
$write = fwrite($file, $xml); # Записываем код в файл
fclose($file); # Закрываем файл
if (!$write)
{
echo 'Ошибка записи файла.';
}
else
{
echo '<li>Файл успешно создан <hr><a href="http://'.$_SERVER["SERVER_NAME"].'/sitemap.xml">
http://'.$_SERVER["SERVER_NAME"].'/sitemap.xml</a><br>Передано URL: '.$n;
}
# Удаляем переменные для освобождения памяти
unset($sitemap, $action, $file, $xml, $write);
}

