如何手动创建 XML 站点地图? [复制]

Posted

技术标签:

【中文标题】如何手动创建 XML 站点地图? [复制]【英文标题】:How to create XML Site Map manually? [duplicate] 【发布时间】:2015-06-24 22:47:20 【问题描述】:

如何在不使用任何插件的情况下创建 xml 站点地图?

<?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
        <url>
            <loc>http://www.example.com/</loc>
            <lastmod>2005-01-01</lastmod>
            <changefreq>monthly</changefreq>
            <priority>0.8</priority>
        </url>
        <url>
            <loc>http://www.example.com/about.htm</loc>
            <changefreq>daily</changefreq>
        </url>
    </urlset>

如何自动生成站点地图, 我的博客上有 2000 多个帖子,发布帖子时添加自动进入站点地图的方法是什么。 我已经尝试过插件,但我希望它手动生成,而不需要生成 Google 站点地图等插件,

【问题讨论】:

要自己查询数据库,手动写xml。 【参考方案1】:

查询数据库并获取所有帖子和页面,然后循环结果并创建站点地图,如下所示:

循环前:

echo <<<LOB
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
LOB;

循环内部:

echo <<<LOB
<url>
<loc>$url</loc>
<lastmod>$date</lastmod>
<changefreq>$frequency</changefreq>
<priority>$priority</priority>
</url>
LOB;

循环之后:

echo "</urlset>";

将脚本的网址作为站点地图位置提供给谷歌。 或者,您可以将脚本的输出保存到文件中。


您还可以在您网站的根目录上创建文件robots.txt 并在那里声明站点地图,这样所有蜘蛛现在都会在您的站点地图所在的位置。

robots.txt

Sitemap: http://yoursite.com/sitemap.php

【讨论】:

执行此操作(并且做得更好)的库已经存在。这应该作为答案提供。您甚至没有正确编码 XML,所以这个答案甚至存在技术缺陷。 是否阅读了与我相同的问题? SO 明确要求“在不使用任何插件的情况下创建 xml 站点地图”。我的回答并不完整,因为我从来没有打算这样做,这只是一个起点。 是的,我做到了,站点地图需要格式良好的 XML,而您不是在创建这样的。所以出发点已经有缺陷了。 为什么不提供你认为正确的答案? 我想这是因为有时最好对现有材料发表评论。但实际上我认为根本没有太多理由。

以上是关于如何手动创建 XML 站点地图? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 PHP XML 站点地图编码错误

创建 XML 站点地图出现错误 [重复]

Wordpress Yoast 从 XML 站点地图中排除帖子

Google站点地图索引 - 包含参数的站点地图位置

我怎么能用Wordpress修改YoastSEO站点地图? (XML文件)

如何使用 mongodb、node.js、express 和 EJS 创建动态站点地图?