Для чего нужна карта сайта ?
Современный сайт - это достаточно сложная организационная структура. Поисковый робот - yandex, google или иной
может быстрее проиндексировать сайт, если найдёт файл sitemap.xml
Это и есть та самая
карта сайта
Файл sitemap.xml содержит ссылки на все страницы сайта, а также некоторую дополнительную информацию - по частоте
обновлений этих страниц.
Поскольку современный сайт - это как правило набор из большого количества страниц, то имеет смысл поручить создание
карты сайта программе.
В самом типовом случае cms должна иметь в наличии некий файл, обычно map.php, при обращении к которому происходит
автоматический обход всех имеющихся страниц на сайте и генерация файла sitemap.xml
Целью данной статьи является описание алгоритма работы модуля map.php
После того, как Вы ознакомитесь с теорией и выполните ряд практических задач, Вы сможете создать
модуль карты сайта
практически для любой cms, т. е. универсальный.
Алгоритм работы модуля
карта сайта.
Выполняет сбор информации обо всех индексируемых страницах сайта.
Индексируемая страница - это страница, которая является общедоступной для пользователей и поисковых роботов.
Скачаем
megainformatic cms express files, откроем модуль map.php и посмотрим на его код.
Здесь я опущу код, который не относится непосредственно к алгоритму работы карты сайта.
$pageid = 1; //карта сайта начинается со страницы 1
$pagetitle = "сайт Мега Информатик - Новости"; //если страница не имеет своего заголовка - тогда будет использоваться этот
$pages_num = count($papers); //определяем количество страниц на сайте
for ( $pageid = 1; $pageid <= $pages_num; $pageid++ ) /* в массиве перебираем все страницы от 1 до последней */
{
$pagetitle = $papers[$pageid][1]; //получаем заголовок для выводимой страницы
//выводим страницу как ссылку на карте сайта
echo "<tr>
<td> </td>
<td><p><a href=\"index.php?page=".$pageid."\"><font size='2' face='Verdana, Arial, Helvetica,
sans-serif'>".$pagetitle."</font></a></p></td>
<td> </td>
</tr>
";
}
Описанный код формирует страничку карты сайта - как например тут -
карта сайта
Единственный вопрос, который возникает - откуда берутся названия для заголовков страниц ?
Для этого служит переменная $papers
Она, как видим, хранит информацию о заголовках страниц, т. к. в строке кода
$pagetitle = $papers[$pageid][1]; //извлекается заголовок для страницы с номером $pageid
Откуда же в массиве $papers оказались эти данные ?
Нужно снова обратиться к коду модуля map.php, и внимательно посмотреть какие файлы подключаются -
config.php
header.php
и другие.
Поэтому появление переменной $papers нужно искать где-то в этих файлах.
Можно выполнить поиск по файлам, находящимся в папке куда вы распаковали архив
megainformatic cms express files
После выполнения этой операции получим следующее -
modules/page.php -
Содержит в себе такую строку кода -
$papers = read_papers( $papers_filename, ';');
Это и есть ответ на поставленный вопрос.
На этом наш урок завершен.
Удачи вам в освоении технологий создания сайтов !
другие уроки на тему создания сайтов