ГЛАВНАЯ | HTML | CSS | PHP | JS | ЕЩЁ

Sitemap xml php

Назовем страницу Sitemap xml php – потому, что будем использовать в создании Sitemap xml код php.

Не будем углубляться в тему, зачем нужна Sitemap xml, если вы уже здесь, то, наверное, понимает зачем она нужна!

Алгоритмы создания Sitemap xml php.

Более интересным будет затронуть - алгоритмы создания Sitemap xml .

1. Хранение данных: как вы знаете, то данные могут храниться в файлах, либо в базе данных. Всё, что касаемо всех ссылок нашего сайта - они будут получаться в скрипте и оборачиваться в теги xml карты – все просто!
2. Код php для генерации Sitemap xml – будет одинаковый, что для файлов, что для базы данных.
Я как-то делал алгоритм создания Sitemap xml, что при создании новой страницы, новый код добавлялся в конец карты сайта xml, но потом отказался от этой идеи! Почему!? Потому, что в нашем файле, в ктором все ссылки, периодически меняются некоторые страницы, а при добавлении все неправильные ссылки остаются в xml карте.

Мой скрипт создания xml карты

Как мы уже неоднократно говорили, что мы не работаем с базами данных – у нас все на файлах! Но что касается данного скрипта, чтобы его применить к базе данных – нужно просто сделать собственную выборку из вашей базы данных и вставить во внутрь моего скрипта, т.к. все остальное абсолютно одинаково.

Давайте уже приступим к нашему скрипту, который использую у себя на сайте!

Для создания карты сайта, нам потребуется выбрать все ссылки из того места. Где они у вас хранятся – у нас это простой файл txt - пример

Первый блок между тегами - у нас стационарный, в котором указан домен сайта. И дата тоже стационарная. Если вы хотите. Чтобы каждый раз эта дата обновлялась, то туда надо вставить вот такую конструкцию вместо даты:
'.date('Y-m-d').'

Дата будет отображать сегодняшнюю дату:

2019-07-16

1.Начало и конец xml карты

Вначале используем те части, которые у нас не будут повторяться…

Стандартное начало карты сайта :

echo '<?xml version="1.0" encoding="UTF-8"?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

<url>

<loc>http://dwweb.ru/</loc>

<lastmod>2018-02-06</lastmod>

<changefreq>weekly</changefreq>

<priority>1.0</priority>

</url>'; 

Стандартный конец карты сайта xml

echo '
</urlset>'; 

2. Генерация ссылок для xml карты

Если вы используете базы данных, то здесь нужно сделать выборку из вашей базы данных, где ваши ссылки на страницы.. Точно такой же цикл, только данные будут из базы данных, как вот здесь .

Поскольку мы используем файл, то нам понадобится путь к этому файлу, мы уже привели сверху адрес этого фала, но нам нужно путь на сервере:

$путь_до_файла = $_SERVER['DOCUMENT_ROOT'].'/__a-data/_primer/php/xml/example.txt';

Ну и собственно практически все.. осталось обработать наш файл с данными, разобьем текст на строки - explode – разделитель перенос строки - \n Это у нас получится массив - его обработаем в цикле . Каждую строку, нам тоже надо разбить, чтобы получить дату(строка lastmod) и саму ссылку(строка loc), здесь у нас разделитель два двоеточия ::

$explode =  explode("\n", $путь_до_файла);

for ($i=0; $i < count($explode) ; $i++) 

{

$line = explode("::",$explode[$i]); 

echo '

<url>

<loc>http://dwweb.ru/'.$line[7].'</loc>

<lastmod>'.$line[0].'-'.$line[1].'-'.$line[2].'</lastmod>

<changefreq>weekly</changefreq>

<priority>1.0</priority>

</url>';  

}

3. Запись в карту сайта xml.

И последнее, что у нас осталось – это записать все., что мы получили в скрипте в карту сайта – ваши предложения, что дальше будем делать!?

Возьмем мною любимую функцию file_put_contents
Но результат, работы нашего скрипта надо получить в переменную(text_for_xml) , чтобы все это записать в файл.

Примерно так:

$write_for_main = file_put_contents($_SERVER['DOCUMENT_ROOT'].'/sitemap.xml' , $text_for_xml);

И проверим результат записи:

  if($write_for_main){ echo '<br>Запись на xml сделана.';}else{echo '<br>Запись на xml  не сделана.';}

4. Готовая карта сайта xml.

Как результат работы нашего скрипта - наша карта сайта xml http://dwweb.ru/sitemap.xml

5. Соберем скрипт создания карты сайта xml.

Теперь давайте наш скрипт соберём в один файл и его вы можете скачать ниже…

Посмотреть пример и скачать можно по ниже идущей ссылке

Скрипт № 12.1
Название скрипта и номер :Карта сайта xml через php

Скачать - архив
Все скрипты на одной страницеНаписать комментарий.
С вашими куками, что-то не то..., попробуете перезагрузить страницу..