当前位置

Drupal中用Views XML来生成Sitemap

James Qi 在 2021年11月25日 - 19:06 提交

在前几天写的一篇博文《为网站添加图片网站地图》中我提到有三种办法来实现网站地图:

以前很早就想过用views来做xml sitemap,替代一直用的sitemap.php,但没有成功,这几天终于是尝试出来了,下面进行记录。

首先需要安装和开启Views XML这个模块(是Views的一个子模块Views Datasource中的一部分),如下图:

然后在Views中创建这样的页面,格式要选择“XML data document”,并进行如下样式选项设置:

而需要获取数据的逻辑与自己写php程序中的查询语句逻辑是一样的,只是这里用Views来实现。另外,输出的字段需要添加PHP字段,以便对其它字段内容进行获取和变换,最后输出合适的loc。然后可以添加几个固定内容字段用于priority, changefreq,而lastmod可以根据需要使用固定内容字段填充或者PHP字段进行计算。

这里是一个简单的例子:sitemap-emoji-version.xml

对于数量比较少的,用这个办法比编写sitemap.php方便多了,不需要php程序连接数据库、设置.htaccess等。不过如果链接超过几万个,还有索引型sitemap如何来做、gz压缩如何做等问题还没有考虑和尝试。

另外,还找到生成的views页面设置加到sitemap中的办法,以前是人工添加到sitemap,但新增页面有时容易忘记去添加,可以设置一个Sitemap菜单类别,把views页面添加一个菜单项(属于Sitemap菜单类别),这样Drupal的Sitemap就可以在更新的时候自动把这样的views页面添加到网站地图中。

还有更详细的步骤需要截更多的图,这里就不添加太多了,自己摸索摸索就OK。

自由标签:

评论

添加新评论

Plain text

  • 不允许使用HTML标签。
  • 自动将网址与电子邮件地址转变为链接。
  • 自动断行和分段。