Мне было интересно, как я могу создать карту сайта с помощью PHP и MySQL, и есть ли какие-либо примеры дизайна сайта Sitemap, о которых вы знаете?
Я использую это на своем сайте, он работает хорошо, и вы можете указать инструменты Google для веб-мастеров на «this_file.php», и это творит чудеса!
<? PHP header («Content-type: text / xml»); echo '<? xml version = \' 1.0 \ 'encoding = \' UTF-8 \ '?>'; echo '<urlset xmlns = "http://www.sitemaps.org/schemas/sitemap/0.9" xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation = "http : //www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd "> '; include '../include.php'; $ sql = mysql_query ("select blah from bleh"); while ($ string = mysql_fetch_array ($ sql)) {?> <Url> <loc> http://www.domain.com/dir/ <? echo $ string ['value'];?> / index.php </ loc> <ChangeFreq> еженедельно </ ChangeFreq> </ Url> <? php}?> </ URLset>
Вопрос очень расплывчатый – нам нужно будет узнать намного больше о остальной части вашего сайта, прежде чем вы получите хороший ответ.
Это зависит от структуры вашей страницы и того, что вы хотите включить в карту.
Если ваш сайт относительно статичен, вы должны сохранить свою карту сайта как статическую страницу, поэтому она не вызывает дополнительную обработку каждый раз при ее загрузке. Но если ваш сайт часто обновляется, вам может понадобиться обновлять карту часто, поэтому динамический, который обновляется каждый раз, когда он загружается, может быть лучше.
Если ваш сайт PHP имеет структуру CMS, и все ваши страницы включены в CMS, тогда должно быть относительно просто запустить базу данных и вывести ссылки на все ваши страницы (в зависимости, конечно, от структуры вашей CMS) ,
С другой стороны, если ваш сайт не структурирован таким образом, чтобы это можно было сделать, или вы хотите ограничить страницы, отображаемые на карте, то вам может быть проще запустить паука через сайт и сохранить Результаты.
Уже существует множество уже существующих программ карты сайта. Я googled php sitemap generator и получил целый набор результатов, из которых довольно много похоже, что они могут быть полезны вам, даже если только вы можете скачать их, чтобы изучить их исходный код.
Я не думаю, что вам нужен MySQL, важно ли вам использовать его? У вас есть динамические или статические страницы? Ваш вопрос немного расплывчатый. Вы хотите создать службу, которая создает файлы Sitemap или просто пытается индексировать ваши собственные?
Вот вам кое-что, чтобы вы начали .
Это важно, как структурирован ваш сайт. Являются ли ваши веб-страницы, содержащиеся в базе данных mysql, вместе с структурой сайта и получаются с помощью PHP-скрипта, который доставляет их пользователю, или ваш сайт состоит только из статических файлов .html? Если первый, вам просто нужно отобразить структуру сайта, содержащуюся в db, в удобный для пользователя список ссылок. Если второй, вы могли бы объединить инструмент, который проходит через все файлы и каталоги в вашей веб-папке и выводит из него список ссылок, возможно, путем разбора названий сайтов из html-файлов: P