innoweb/silverstripe-robots

添加一个可从/admin/settings/配置的Robots.txt文件。

安装量: 9,711

依赖关系: 1

建议者: 0

安全性: 0

星标: 0

关注者: 4

分支: 1

开放性问题: 0

类型:silverstripe-vendormodule

5.1.1 2024-02-27 06:05 UTC

This package is auto-updated.

Last update: 2024-08-27 07:18:13 UTC


README

Version License

概述

添加一个可从/admin/settings/配置的Robots.txt文件,并将机器人元标签注入到所有页面中。

此模块支持单站以及多站配置多站设置。

要求

  • Silverstripe CMS 5.x

注意:此版本与SilverStripe 5兼容。对于SilverStripe 4,请参阅4发布分支

安装

使用composer安装模块

composer require innoweb/silverstripe-robots dev-master

然后运行dev/build。

配置

Robots.txt

在SiteConfig(或已安装多站时的Site)中,CMS中有一个设置可以让你设置机器人模式。有三个选项:

  • 允许所有
  • 禁止所有
  • 自定义内容

所有三种状态输出都通过模板管理,可以重写以适应应用程序或主题。

您可以使用以下.env变量强制设置状态(例如,用于开发或测试环境)

FORCE_ROBOTS_MODE="allow|disallow|custom"

允许所有

切换到'允许所有'时,模块使用模板Innoweb/Robots/RobotsController_allow.ss,以下为默认内容

<% if $GoogleSitemapURL %>Sitemap: {$GoogleSitemapURL}<% end_if %>
User-agent: *
Disallow: /dev/
Disallow: /admin/
Disallow: /Security/

该模块检查是否安装了Google Sitemaps模块,并自动注入站点地图URL。

默认情况下,允许访问所有页面,并默认禁止访问开发和安全URL。

禁止所有

切换到'禁止所有'时,模块使用模板Innoweb/Robots/RobotsController_disallow.ss,以下为默认内容

User-agent: *
Disallow: /

这将禁止所有机器人访问站点的任何页面。

自定义内容

此设置在CMS中会显示一个文本字段,可以在此处输入自定义代码。

模板包含以下代码,不会添加任何自定义代码

$RobotsContent.RAW

Silverstripe的良好标准robots.txt配置如下。在模块切换到'允许所有'时,用作默认配置

Sitemap: https://www.example.com/sitemap.xml
User-agent: *
Disallow: /dev/
Disallow: /admin/
Disallow: /Security/

机器人元标签

该模块会将机器人元标签注入到每个页面中。可以通过以下配置禁用元标签的注入,例如,如果模板中手动管理了机器人元标签

Page:
  robots_enable_metatag: false

默认情况下,所有页面都设置为index, follow,以下有例外:

  • 如果站点上的Robots.txt设置为'禁止所有'
  • 环境设置为testdev
  • 当前页面由安全控制器显示
  • 页面的优先级设置为-1(参见Google Sitemaps模块

此外,可以为每种页面类型设置配置值以控制元标签。默认情况下,以下值被设置

Page:
  robots_noindex: false
  robots_nofollow: false

SilverStripe\CMS\Model\VirtualPage:
  robots_noindex: true
  robots_nofollow: true

SilverStripe\ErrorPage\ErrorPage:
  robots_noindex: true
  robots_nofollow: true

可以根据需要为任何自定义页面类型自定义这些值。

许可证

BSD 3-Clause许可证,请参阅许可证