Подтвердить что ты не робот

Как создать карту сайта с помощью PHP и MySQL

Мне было интересно, как я могу создать карту сайта с помощью PHP и MySQL, и есть ли какие-либо примеры дизайна сайта Sitemap, которые вы знаете?

4b9b3361

Ответ 1

Я использую это на своем сайте, он работает хорошо, и вы можете указать инструменты 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>weekly</changefreq>
            </url>
<?php } ?> 
</urlset>

Ответ 2

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

Это зависит от структуры вашей страницы и того, что вы хотите включить в карту.

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

Если ваш PHP-сайт имеет структуру CMS, и все ваши страницы включены в CMS, тогда должно быть относительно просто работать через базу данных и вытаскивать ссылки на все ваши страницы (в зависимости, конечно, от структуры ваша CMS).

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

Уже существует множество уже существующих программ карты сайта. Я googled php sitemap generator и получил целый набор результатов, из которых довольно много похоже, что они могут быть полезны для вас, даже если только поэтому вы можете загрузить их, чтобы изучить их исходный код.

Ответ 3

Я не думаю, что вам нужен MySQL, важно ли вам использовать его? У вас есть динамические или статические страницы? Ваш вопрос немного расплывчатый. Вы хотите создать службу, которая создает файлы Sitemap или просто пытается индексировать ваши собственные?

Вот немного, чтобы вы начали.

Ответ 4

Это касается того, как структурирован ваш сайт. Являются ли ваши веб-страницы, содержащиеся в базе данных mysql, вместе с структурой сайта и получаются с помощью PHP script, который доставляет их пользователю, или ваш веб-сайт состоит только из статических файлов .html? Если первый, вам просто нужно отобразить структуру сайта, содержащуюся в db, в удобный для пользователя список ссылок. Если вы второй, вы можете объединить инструмент, который проходит через все файлы и каталоги в вашей веб-папке и выводит из него список ссылок, возможно, анализируя названия сайтов из файлов html: P