如何使用PHP和MySQL创建站点地图

17

我想知道如何使用PHP和MySQL创建网站地图,您是否知道任何网站地图设计示例?


2
“Sitemap” 究竟是什么意思? - Pekka
为搜索引擎创建 sitemap.xml?还是为用户创建一个查看的地图?如果是后者,这些东西(大多数)在上个世纪就过时了。 - ceejayoz
用于搜索引擎。谢谢。 - HELP
2个回答

20

我在我的网站上使用这个,效果很好,你可以将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>

Note: 该代码是生成网站地图的PHP文件,可用于帮助搜索引擎更好地了解网站结构,提高网站的SEO。

3
适用于小型网站,但对于用户生成数据量巨大的网站,它会出现问题。 - Rahul Prasad
浪费了很多时间尝试这个,然后我发现php标签不包含<?php,而我的服务器只接受这样的标签。也许对某些人有帮助。 - Dan Palmieri
@RahulPrasad - 对于中型或大型网站,缓存结果效果很好。 - Westy92
把XML当成普通文本?那是要挨打的。 - miken32

2
问题很模糊——在您得到一个好的答案之前,我们需要了解更多关于您网站的其他方面的信息。
这取决于您页面的结构以及您想要包含在地图中的内容。
如果您的网站相对静态,则应将站点地图保存为静态页面,以便每次加载时不会导致额外的处理。但是,如果您的网站经常更新,则可能需要经常刷新地图,因此每次加载时刷新的动态地图可能更好。
如果您的PHP网站具有CMS结构,并且所有页面都包含在CMS中,则应该相对简单地运行数据库并提取所有页面的链接(当然,这取决于您的CMS结构)。
另一方面,如果您的网站没有以让您这样做的方式进行结构化,或者您想限制显示在地图上的页面,则可能会发现通过网站爬虫并存储结果更容易。
有很多现成的网站地图程序可供使用。我在谷歌上搜索了 php网站地图生成器,得到了一堆结果,其中有不少看起来可能对你有用,即使只是可以下载它们以研究其源代码。

可以请您查看这里与XML网站地图相关的问题吗 - tinyurl.com/pgqjdeo? - Istiaque Ahmed

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接