Sitemap c помощью PHP 


Sitemap c помощью PHP

Опубликовано

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);