Sitemap – специализированный XML файл содержащий URL-ссылки веб-сайта.
Файл Sitemap используется, как дополнительная подсказка для поисковых систем, для более тщательного сканирования страниц веб-сайта (их местонахождение, время последнего обновления, частоту обновления и т.д.), и не является гарантией их индексирования. Sitemap является общепринятым стандартом, и поддерживается ведущими поисковыми системами, такими как Яндекс, Google, Yahoo, Ask.com, Bing.
Однако Sitemap, прежде всего, нацелен на посетителя вашего веб-сайта, который обращается к нему за поиском нужной страницы или раздела.
Содержимое XML-файла Sitemap
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/</loc>
<lastmod>2005-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
Более подробно о стандарте Sitemap
Создание файла Sitemap с помощью PHP
Для создания файла Sitemap можно воспользоваться обычным блокнотом, и вручную прописать каждый URL-адрес вашего веб-сайта. Однако это справедливо для сайтов с небольшим числом страниц. В противном случае, ручное добавление становиться весьма утомительным занятием. Но есть выход - создать маленький скрипт на PHP, с помощью которого вы легко можете создавать, дополнять и изменять файл Sitemap в автоматическом режиме.
Создание файла Sitemap с помощью PHP проходит в два этапа. На первом этапе подготавливается содержимое файла, на втором создается файл, в который помещается содержимое.
Создание содержимого для файла Sitemap
// Содержимое будет храниться в переменной $Sitemap
//Для начала запишем в переменную стандартный заголовок
$Sitemap="<?xml version="1.0" encoding="UTF-8"?>";
//Далее следует обязательные тег <urlset> содержащий атрибут xmlns
//с адресом страницы со стандартами протокола Sitemap
//Все страницы веб-сайта будут помещаться в данный тег
$Sitemap.="<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">";
//Каждый URL-адрес помещается в обязательный тег <url>
$Sitemap.="<url>";
//Парный тег <loc> содержит адрес веб-страницы
$Sitemap.="<loc>http://www.website.uz/page1</loc>";
//Парный тег < lastmod > содержит последнее изменение веб-страницы
$Sitemap.="<lastmod>2012-04-12</lastmod>";
$Sitemap.="</url>";
//Аналогично добавляются и остальные страницы веб-сайта
$Sitemap.="<url>";
$Sitemap.="<loc>http://www.website.uz/page2</loc>";
$Sitemap.="<lastmod>2012-04-10</lastmod>";
$Sitemap.="</url>";
//После того как все страницы было внесены необходимо закрыть тег <urlset>
$Sitemap.="</urlset>";
Можно усовершенствовать момент внесения страниц, путем добавления цикла в PHP скрипт, который будет перебирать заранее подготовленный массив, состоящий из веб-страниц и других данных.
$Sitemap="<?xml version="1.0" encoding="UTF-8"?>";
$Sitemap.="<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">";
//Цикл для автоматической переборки URL-адресов и дат создания страниц.
//В массиве $pageURL хранятся страницы веб-сайта
//В массиве $pageDate хранятся даты создания веб-страницы
for ($i=1;$i<=100;$i++){
$Sitemap.="<url>";
$Sitemap.="<loc>{$pageURL[$i]}</loc>";
$Sitemap.="<lastmod>{$pageDate[$i]}</lastmod>";
$Sitemap.="</url>";
}
$Sitemap.="</urlset>";
Создание файла Sitemap.xml и заполнение его содержимым
После подготовки содержимого, следующим шагом будет создание и заполнение файла Sitemap.xml. Для этого необходимо воспользоваться стандартными PHP функциями для работы с файлами.
//В переменную $file помещается имя создаваемого файла, в нашем случае Sitemap.
$file="Sitemap.xml";
//Далее создается файл Sitemap, если файл существует, он перезаписывается.
$fp = fopen($file, "w");
//В созданный файл помещается содержимое подготовленное ранее
fwrite($fp,$Sitemap);
//Закрытие файла.
fclose($fp);
Полный PHP скрип для создания Sitemap
//=====СОДЕРЖИМОЕ=====
$Sitemap="<?xml version="1.0" encoding="UTF-8"?>";
$Sitemap.="<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">";
//Вноситься цикл для автоматической переборки URL-адресов и дат создания страниц.
for ($i=1;$i<=100;$i++){
$Sitemap.="<url>";
$Sitemap.="<loc>{$pageURL[$i]}</loc>";
$Sitemap.="<lastmod>{$pageDate[$i]}</lastmod>";
$Sitemap.="</url>";
}
$Sitemap.="</urlset>";
//=====ФАЙЛ=====
//В переменную $file помещается имя создаваемого файла, в нашем случае Sitemap.
$file="Sitemap.xml";
//Далее создается файл Sitemap, если файл существует, он затирается.
$fp = fopen($file, "w");
//В созданный файл помещается содержимое подготовленное ранее
fwrite($fp,$Sitemap);
//Закрытие файла.
fclose($fp);