axllent/silverstripe-sitemap

支持SilverStripe的网站地图

安装次数: 319

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 3

分支: 2

开放问题: 0

类型:silverstripe-module

1.0.2 2017-12-14 01:38 UTC

This package is auto-updated.

Last update: 2024-08-27 22:25:59 UTC


README

此扩展为您的SilverStripe网站添加网站地图功能。它基于googlesitemaps,但有一些不同之处,包括在添加DataObjects时支持基本自定义过滤器,以及删除了一些CMS集成、结果分页和JavaScript支持。网站地图硬编码为每个网站地图最多1000个数据对象(由于内存使用),如果更多,将自动拆分为多个。

要求

  • SilverStripe 3.0+

安装

composer require axllent/silverstripe-sitemap

基本使用

简单地安装模块。要检查网站地图是否正常工作,请访问http://yoursite.com/sitemap.xml?flush=1。默认情况下,它将添加您的SiteTree页面(启用“在搜索中显示”),但您还可以选择性地添加已映射到URL的数据对象。

在您的robots.txt文件中指定网站地图位置

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

添加数据对象

可以轻松添加数据对象,当然前提是这些数据对象在您的网站上具有唯一的URL。数据对象必须具有Link()函数,或者可以替代地具有SitemapAbsoluteURL()函数(它将覆盖Link())。SitemapAbsoluteURL()函数必须返回一个绝对URL,Link()将自动转换。

要将数据对象添加到您的网站地图,您可以在mysite/_config.php中添加以下内容

Sitemap::register_dataobject('MyDataObject');

其他选项可用

Sitemap::register_dataobject('MyDataObject', array(
	'filter' => array('ShowOnWeb' => 1),
	'where' => '"ExpiryDate" >= \'' . date('Y-m-d') . '\' OR "ExpiryDate" IS NULL',
	'exclude' => array('StockLevel' => 0),
	'filterByCallback' => function($dataobject, $list) {return $dataobject->canView();}
	'frequency' => 'weekly', // always, hourly, daily, weekly, monthly, yearly, never
	'priority' => 0.5 // Valid values range from 0.0 to 1.0
));

Google通知

SiteTree页面的发布和取消发布可以自动向Google发送“ping”。请注意,此功能默认关闭,不适用于数据对象的保存。此外,请注意,您必须先在Google的网站管理员工具中注册您的网站地图。

要启用向Google发送更改通知,请更改设置

Sitemap::enable_google_notifications();