XML Sitemap & Google News

Description

本插件能够动态创建符合XML 站点地图 Google News 站点地图协议规范的内容源(Feeds)。本插件与多站点(Mltisite)PolylangWPML 相兼容,且不会创建额外文件。用户可以通过诸多选项来控制启用何种站点地图,应当收录何种文章类型与分类,优先级与最后更新(LastMod)应当如何计算,在新内容发布时谁应当得到通知(Ping),还可以在 WordPress 管理员面板内配置额外 Robots.txt 规则。

本插件相比起其他 XML 站点地图插件的优点在于其简易性。它不需要你修改文件或文件夹权限,不需要移动文件或在那些困难复杂的插件选项上耗费时间。

你或者你所属的多站点网络的所有者,不必为其它大多数 XML 站点地图插件那般复杂的设置而烦心。本插件的默认设置已足以应对大多数情况。

一般情况下,一份依照默认设置收录文章与页面的 XML 站点地图索引将在 yourblog.url/sitemap.xml(如果你不使用“友好(Fancy)”的固定链接结构,则该链接为 yourblog.url/?feed=sitemap)中立即可用,随时等待诸如 Google, Bing, Yahoo, AOL, Ask 等搜索引擎索引或抓取。当启用 Google News 站点地图时,站点地图将在 yourblog.url/sitemap-news.xml (或 yourblog.url/?feed=sitemap-news)中立即可用,并随时等待谷歌新闻索引抓取。它们二者都将被动态创建的 yourblog.url/Robots.txt 路径下的 Robots.txt 文件自动引用来告诉搜索引擎应该在哪抓取 XML 站点地图。Google 与 Bing 将在每一次文章发表与更新时收到提醒。

请阅读 FAQ 来了解如何将从谷歌新闻中获取你的文章列表。

目前插件已与 WP Super Cache, W3 Total Cache, Quick Cache 等能够对订阅源进行缓存的插件相兼容。从而能够更快地服务那些了无耐心(特别是它们饥饿不堪时)的爬虫。

注意:

  1. 如果你不使用友好链接(Fancy URL)或你的 WordPress 安装在一个子目录中,则动态 Robots.txt 文件将不会生成。你必须自行创建并自行上传一个 Robots.txt 文件到你的网站的根目录中。详情请参阅 FAQ。

  2. 对于大型站点,我们建议你使用一款优秀的缓存插件,例如 WP Super CacheQuick CacheW3 Total Cache来提升你的网站站点地图的性能。

功能

  • 对使用 PolylangWPML 的网站进行兼容,可以平等地收录并索引每一种语言的内容。
  • 该选项用以增加新的 Robots.txt 规则。这些规则可以用来进行进一步控制(阅读:限制)站点各部分的索引,以及您站点页面在后续传播中的页面等级(PageRank)。
  • 包含 XLS 样式表,使站点地图更加易读。

XML 站点地图

  • 站点地图索引提供基于文章类型、基于类别与基于标签几种索引模式。
  • 可自定义 URL 的站点地图。
  • 可添加静态或自定义站点地图到索引中。
  • 工作出色,甚至在多站点安装环境中亦可顺畅运行。
  • 可以在站点地图中包含带有说明的图像标签,或为特色图像或附加图片设置标题。
  • 当新文章发表时通知(Ping)Google、Bing 与 Yahoo。
  • 用以配置何种文章类型与何种分类应当收录于站点地图中的选项
  • 在文章发生了修改,或有了新评论时,更新 LastMod。
  • 为每篇文章、每个分类或是每种文章类型设置优先级。
  • 排除独立文章或页面。

谷歌新闻网站地图

  • 可以在站点地图中包含带有说明的图像标签,或为特色图像或附加图片设置标题。
  • 可以通过选项设置不同的新闻出版物名称,包括自定义文章类型或限制收录某一特定文章类别。
  • 每当有新内容发表时,会自动通知(Ping)Google 与 Bing。

Pro Features

Google News Advanced

  • Multiple post types – Include more than one post type in the same News Sitemap.
  • Keywords – Add the keywords tag to your News Sitemap. Keywords can be created from Tags, Categories or a dedicated Keywords taxonomy.
  • Stock tickers – Add stock tickers tag to your News Sitemap. A dedicated Stock Tickers taxonomy will be available to manage them.
  • Ping log – Keep a log of the latest pings to Google with exact date and response status.

隐私政策 / GDPR

本插件不会收集任何用户或来访者数据,也不会配置浏览器 Cookies。使用本插件不会在任何方面对你的网站的隐私政策造成影响。

会被公开的数据

一份 XML 站点地图索引,将指向其它具体的站点地图,包含你的网站指定文章类型且业已公开的文章的链接,同时还包含它们的最后修改时间以及相关图片链接,以及其它任何选定的公开存档的链接。

Google News 站点地图包含了你的站点的公开与最新(过去 48 小时内)的指定新文章类型的内容,还包括它们的时间戳与相关图片的链接。

会被传输的数据

会主动传递给搜索引擎的数据包括你的站点地图的位置,以及给类内容的发布时间。如果设置 撰写内的通知(Ping)选项中,指定了至少一家搜索引擎,那么每当有一篇文章公开发表时,插件都会主动将数据传递给搜索引擎。在此情况下,搜索引擎将会收到有关你的站点地图的位置以及更新状态的提醒。

如何贡献

如果您喜欢这个插件,请考虑为本插件写一个短评或在支持论坛上帮助其他用户。

如果您有意与我们一同完善本插件,欢迎您帮助我们将插件翻译成您的语言,或是在 Github 上贡献代码。

致谢

XML Sitemap Feed(现 XML Sitemap & Google News)插件最初基于由 Patrick Chia 编写的 Standard XML Sitemap Generator 插件进行开发。自那时以来,本插件已历经完全重构并在多个方面有所扩展。

Screenshots

  • XML 站点地图订阅源在普通浏览器中查看。只有你能看见。;)
  • 搜索引擎所看到的 XML 站点地图源代码。

Installation

WordPress

一、如果在此之前你正在使用其他 XML 站点地图插件,请检查你的网站根目录并移除所有已存在的 sitemap.xml, sitemap-news.xml 以及 Robots.txt(如果其不是由你手工创建并维护的)文件。

二、通过以下方式安装插件:

通过 Covered Web Services 来进行快速安装!

… 或者 …

插件→安装插件管理页面中搜索“xml sitemap feed”或“XML 站点地图”并安装。

… 或者 …

依照如下步骤:

  1. 下载档案

  2. 将 Zip 文件通过“插件→安装插件→上传页面”上传或者直接解压并通过你最喜欢的 FTP 客户端上传到 /plugins/ 文件夹。

三、在插件页面中激活插件。

搞定!现在你可以通过浏览器或任何在线 XML 站点地图验证器访问 yourblog.tld/sitemap.xml 来检查你的闪闪发亮的全新 XML 站点地图。你可能同时也想要检查你的站点地图是否已收录于你的 yourblogurl.tld/robots.txt文件中,别忘了。

WordPress 3+ 多站点模式

步骤同上,为你的多站点网络中的每一个网站进行网络激活以确保 XML 站点地图能够对每一个网站启用。

如果本插件与 WordPress MU Sitewide Tags Pages 同时安装,XML 站点地图将不会对任何标签博客(Tag Blogs)创建 sitemap.xml 文件同样也不会对 Robots.txt 文件做任何修改。这是故意如此,因为这可能导致标签博客在自己的域名之外被大量站外链接所填满,这将导致网站被 Google 处以忽略(Ignored)(甚至更糟:惩罚(Penalised))的措施。

卸载

通过仪表盘的插件页面卸载本插件后,大部分插件选项与配置都将从数据库中清除。仅有关于每篇文章的专门设置,如文章优先级配置或是排除选项,分类,以及最后修改时间等都将以休眠状态保留在数据库中。详细说明请参阅 uninstall.php 中的注释部分。

在多站点环境中,uninstall.php 文件 可以 在网络中的所有站点中循环运行卸载过程。然而,这一卸载方式并不适配于大型站点网络,该文件唯有在 wp-config.php 文件中明确配置 define('XMLSF_MULTISITE_UNINSTALL', true); 选项时才会对每一站点进行卸载操作。

FAQ

插件设置在哪里?

设置 阅读中你可以启用 XML 站点地图索引与 Google News 站点地图(如果需要)。同时该部分还提供了额外的 robots.txt 规则配置区域。

只要站点地图被启用,它的相关设置便可在设置 XML 站点地图或是设置 Google News中找到。

通知(Ping)设置可以在设置 撰写中找到。

我该如何获得谷歌新闻列出的我的最新文章?

前往 Google 新闻发布商中心并提交你的网站信息,越详细越好。记得在底部“其他”部分的文本框中向他们提交你全新的谷歌新闻站点地图链接。

你可能还需要向你的谷歌站长管理工具帐号中增加你的站点地图,并确认其有效性与运行效果。如果你还没有相关帐号,先注册一个。

我可以人工干预优先级与 changfreq 数值吗?

可以。你可以在设置 XML 站点地图中找到有关优先级属性的默认配置。你也可以在文章设置中为单篇文章设置一个固定的优先级。

由于 Google 已不再将其纳入考虑,自 4.9 版本起,弃用 Changefreq。

我需要向搜索引擎提交站点地图吗?

不需要。在正常情况下,你的网站将在你发觉之前便被主流搜索引擎索引完毕。搜索引擎将会查看 Robots.txt 文件并(在本插件激活的情况下)找到指向你的博客的 XML 站点地图的指针。搜索引擎将会定期返回以确认你的站点是否更新了任何内容。

此外,Google 与 Bing 将默认在每次新文章发表后收到通知(Ping)。

注意:如果你的服务器没有重定向规则,你的博客没有使用友好链接(Fancy URLs)(意即你正使用采用旧版默认设置的 WordPress 永久链接结构),或你的站点安装于一个子目录,则你需要阅读我需要修改我的 Robots.txt 文件吗?以了解更多信息。

这个插件会通知(ping)搜索引擎吗?

是的。Google 与 Bing 将会在每次新文章发表后获得自动通知。除非你在设置 撰写中禁用此功能。

我需要修改我的 Robots.txt 文件吗?

在一般情况下,如果你的站点根目录下没有一份静态的 robots.txt 文件,那么站点地图的地址将自动添加进由 WordPress 动态生成的 robots.txt 文件中。

如果正在使用放置于你网站根目录下的静态 Robots.txt 文件,你可能需要在一款文本编辑器中打开它进行编辑。如果其中已经存在形如Sitemap:http://yourblogurl.tld/sitemap.xml的一行,你可以就这么将其关闭并离开。但如果文件中没有站点地图的指向,将该行(记得将网址替换为你的站点的地址)添加进去已协助搜索引擎找到你的站点地图。

或者如果你的 WordPress 安装在一个子目录下,或者你使用的服务器为配置重定向规则,或者你未在你的永久链接结构设置中采用友好链接(Facny URLs,即永久链接),如果你符合此类情况,WordPress 需要获得一些小协助以为 XML 站点地图索引站点内容做好准备。阅读 WordPress 部分以了解更多信息。

我的博客采用的 WordPress 系统安装在一个子目录下。这是否会造成什么改变?

这取决于你的 index.php 与 .htaccess 文件被安装到何处。如果它们都被放置在根目录下,同时其它余下的 WP 文件都被放置在子目录下,那么你的站点便可以通过你的域名直接访问,不需要再进行其它操作。插件应当开箱即用。

但是,如果你的 index.php 和你的 wp-config.php 以及其它所有 WP 文件都放置在同一个子目录中,就意味着你的博客只能通过该子目录来访问,因此你需要自己在你的域名根目录下管理你的 robots.txt 文件。Robots.txt 文件必须放置在根目录(!)中,并且文件内应当有单独一行以 Sitemap: 起头,后面写入 XML 站点地图插件提供的你的站点地图的完整地址。就像这样:

Sitemap: http://yourblogurl.tld/subdir/sitemap.xml

如果你业已拥有一个写有其它站点地图地址的 Robots.txt 文件,只需在该地址上方或下方添加一行全线。

我需要配置友好(Facny)永久链接结构吗?

并非如此。虽然我仍会建议你采用任何一种更好的永久链接结构以促进更便利的索引。或许你不能够(或是不愿意)去修改它们,即使在此情况下,你依旧可以使用本插件:

检查链接 yourblog.url/?feed=sitemap 是否提供了一个订阅源。现在手动向你的网站根目录下保存的你自己的 Robots.txt 文件中上传如下字段:

Sitemap: http://yourblog.url/?feed=sitemap

User-agent: *
Allow: /

你也可以选择手工通知主流搜索引擎有你的站点地图更新。要想这么做,首先先创建一个谷歌站长工具箱帐号并提交你的站点地图,在你首次提交后谷歌便会对其启用自动跟踪与下载。除此之外,你也可以在XML-Sitemaps.com上提交你的站点地图链接。

我可以修改站点地图的名称或链接吗?

答案为否。如果你在 WordPress 启用了友好链接(Fancy URLs,WordPress 称为“永久链接”),那么你手动(如果你已失去耐心)提交给 Google 的站点链接应为yourblogurl.tld/sitemap.xml。但如果你的永久链接设置为默认配置,则订阅源链接只会有yourblog.url/?feed=sitemap有效。

在我的网站根目录下找不到 sitemap.xml 文件!

实际上没有任何实在文件会被创建。站点地图是如同订阅源(feed)一般动态生成的。

我在网站根目录下找到了 sitemap.xml 文件但是看起来它没有得到更新!

你可能在使用本插件之前使用了其他的 XML 站点地图插件,你正在查看 sitemap.xml 文件就是由其所创建的。删除该文件并让本插件动态生成站点地图,一如生成订阅源那般。本插件不会创建任何实际的文件。

如果实际情况并非如此,你可能正在使用缓存插件,或你的浏览器没有获取最新的订阅源输出。请进行检查。

我使用了缓存插件但是站点地图没有被缓存。

一些缓存插件会提供是否对订阅源与站点地图进行缓存的选项。请确保它们处于启用状态。

插件 W3 Total Cache/ 的开发者 Frederick Townes 说:“在页面缓存设置标签页中有一个针对是否缓存订阅源与站点地图的复选框。它们的过期时间将根据浏览器针对 HTML 缓存设置的过期值所配置。”

谷歌新闻地图是以不被缓存为出发点而设计的。

当我试图打开站点地图或 Robots.txt 时遭遇错误!

你所需要做的第一件事定然是确认你的博客的隐私设置。前往 设置→隐私以确认你已允许搜索引擎索引你的网站。如果你禁止了该项,你的站点地图将不会提供。

然后,你需要确保至少有 1 篇文章处于公开状态。目前已知 WordPress 将会在 没有 文章时对订阅源请求返回 404 状态。即使插件试图阻止这一返回,在某些情况下错误的状态头仍会发送,同时谷歌站长工具箱会发出含糊不清的错误报告,例如:

We encountered an error while trying to access your Sitemap.
Please ensure your Sitemap follows our guidelines and can be
accessed at the location you provided and then resubmit.

如果这些措施都不能解决本问题,请确认下面这些错误及其各自的解决方案是否存在或有效:

出现 404 页面而非我的 sitemap.xml 页面

尝试刷新 WordPress 的永久链接结构。前往 设置→永久链接 重新保存一次设置。接着在清除你的浏览器缓存后尝试重新加载 XML 站点地图。(你也可以尝试通过 Ctrl+R 来绕过浏览器缓存强制刷新——它能在大部分、但非所有的浏览器中工作。)

出现 404 页面,sitemap.xml 与 Rotobts.txt 文件均无法找到。

有些插件,诸如 Event Calendar(至少从 V3.2 Btea2 起)已知存在重写规则的混乱,会导致 WordPress 内部订阅源与 Robots.txt 文件的生成出现问题,因此它们与 XML 站点地图订阅源插件是存在冲突的。你可以尝试停用所有插件来查看你是否能获得一个包含基础信息的 Robots.txt 文件形如:

User-agent: *
Disallow:

你需要一次一个地重新激活你的以确认是哪一个插件造成了该问题。然后将其报告给该插件的开发人员。

Robots.txt 返回 404 页面但 sitemap.xml 正常工作

目前 WordPrss 有一个已知问题(至少在 2.8 版之前),即在没有文章处于已发布状态时将不会创建 Robots.txt 文件。如果你正使用 WordPress 驱动一个 CMS 网站,而其中只有页面,这个问题将会影响到你的使用。

要想解决这个问题,你需要至少撰写一篇文章并将其设置为私有状态,你也可以手动为自己创建 Robots.txt 文件并包含如下内容:

Sitemap: http://yourblog.url/sitemap.xml

User-agent: *
Allow: /

并将其上传至你的网站根目录。

在载入样式表时发生错误:发生了一个未知错误(An unknown error has occurred)

在某些安装与配置的情况下(通常是使用 WordPress MU Domain Mapping 插件)会造成此错误的发生。虽然问题业已定位,但原因却尚无法弄清……除非我能找出为什么会发生这种事。不过请尽管放心,目前已知这个错误只会在通过一般浏览器阅读站点地图时产生影响,但不会影响搜索引擎对你网站的索引。站点地图依旧对所有搜索引擎可读。

XML 声明仅允许出现在文档开始

当有空白行或其他输出内容生成于实际站点地图内容之前时,就会产生这一错误。这可能是由于 wp-config.php 或你使用的主题的 functions.php 开头存在空白行,或其它不该输出相关内容的插件生成并输出了内容,并插入到站点地图文件之前。你需要通过禁用所有插件并切换至默认主题、同时手动检查你的 wp-config.php 文件来测试是何种原因导致了这一问题。

在打开站点地图时我只看到一个空白页面。

有几种情况可能会导致本错误的发生。

在浏览器中打开你的站点地图并查看其源代码。这步操作通常可以通过快捷键 Ctrl+U 或在右键弹出菜单中选择“查看源代码…”来进行,你需要检查给出的源代码以判断其中是否存在错误。

A. 如果你在源代码的头几行(Head 标签)部分看见了奇怪的输出内容,或者在你的安装内容中又冲突或错误存在,请前往支持论坛 以寻求帮助。

B. 如果源代码为空或者呈现为未完成状态,那么你遇到的问题可能与你的服务器的 PHP 内存限制有关。在这种情况下,你会在你的服务器或你的帐号的错误日志文件中找到形如 PHP Fatal error: Allowed memory size of xxxxxx bytes exhausted. 这样的错误信息。

这种情况多发生于大型站点中。为避免这些问题,插件在 设置 阅读 中提供了一个选项,允许将文章拆分至不同的站点地图中。你可以尝试不同的设置方式,并在每次设置完成后前往主站点地图并打开其中列出的不同的站点地图进行测试。

你可以阅读 为 PHP 增加内存分配(英文) 已了解更多信息,尝试分配高于 256M 的内存数值,或者向你的主机提供商咨询有什么你可以做的事。

我可以在 WPMU / WP3+ 多站点模式 下安装这款插件吗?

完全可以。实际上,本插件就是为此而设计的。目前插件已在 WPMU 2.9.2 与 WPMS 3+ 下经过测试,所有测试环境均正常激活并激活了 Network Activate 与 Site Wide Activate 相关选项。

Reviews

Simply Great plugin – Great Support!

This plugin is easy to set up and the support value more than 5 stars. Thanks. The support staff stay with me and was ultra patient as I experienced a problem not cause by the plugin itself but it’s integration in a very special WP set-up. Problem solved, Sitemap sent to search engine. Bravo for the Dev’s & support staff!

Error

The plugin is good, but the last update causes an error and ruins the site admin area
Read all 55 reviews

Contributors & Developers

“XML Sitemap & Google News” is open source software. The following people have contributed to this plugin.

Contributors

“XML Sitemap & Google News” has been translated into 4 locales. Thank you to the translators for their contributions.

Translate “XML Sitemap & Google News” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

5.1.1

  • FIX options page not found
  • FIX news sitemap only ping

5.1

  • SEOPress and Catch Box incompatibility admin messages
  • FIX bbPress incompatibility
  • FIX failing last modified date for taxonomy sitemaps
  • FIX sitemap showing when only private posts
  • FIX possible sitemaps for no longer existing post types in index
  • Admin interface improvements: highlighting and scroll
  • Upgrade routines in own class only to be included when needed
  • Moved metabox methods to dedicated classes
  • NEW Respond to .gz requests (with ob_gzhandler output buffering if needed)
  • NEW filters xmlsf_disabled_taxonomies, xmlsf_news_keywords, xmlsf_news_stock_tickers
  • NEW action xmlsf_ping
  • NEW Tools: Ping search engines and Flush rewrite rules

5.0.7

  • 允许域名返回到设置 阅读
  • 修复:静态文件活动状态检查
  • 新增:对于产生冲突的插件设置发出管理员警告
  • 修复:无内容文章优先级被保存为 0.0
  • 修复:未定义的函数调用 xmlsf_get_archives()
  • 修复:强制 LC_NUMERIC 语言环境为 C
  • 修复:私有方法调用
  • 修复:使用了连字符的自定义文章类型不会被显示
  • 修复:管理员静态文件信息中的致命错误,感谢 @kitchin
  • 修复:升级流程中的 if 语句错误,感谢 @kitchin
  • 修复:PHP 5.4 兼容性问题

5.0

  • 彻底的代码重构与清理:包含 MVC 与 JIT
  • 更少的数据库查询,一般查询时的内存占用量更少
  • 新增:拥有专门选项与帮助标签页的管理界面
  • 新增:分类选项:优先级与自动计算
  • 新增:对于冲突的静态文件发出管理员警告
  • 新增:删除冲突的静态文件的选项
  • 新增:文章类型过滤器:mlsf_post_types 与 xmlsf_news_post_types
  • 新增:优先级数值过滤器:xmlsf_post_priority 与 xmlsf_term_priority
  • 由于 Google 已放弃支持,移除流派(Genre)、关键词(Keyword)与访问(Access)标签。
  • 基于分类的站点地图速度提升:通过数据库来获取最后编辑(lastmod)数据
  • 排除 Woocommerce 的 product_shipping_class 分类法
  • PHP 7.2+ Compat:create_function 已弃用
  • 不再对自定义链接或是站点地图进行域名过滤
  • 修复:Gutenberg 编辑器内不显示 GN 类型分类
  • 修复:Plain 与 /index.php/ 永久链接结构
  • 修复:在卸载过程中清除所有配置
  • 修复:Pings

4.9.4

  • 修复:特色图像丢失情况,感谢 @flyerua
  • 修复:Header 过滤器中出现的重复内容类型响应

4.9.3

  • 恢复 filter_no_news_limits,允许按照文章类型排列
  • 改进语言处理,增加新的语言过滤器 xmlsf_post_language
  • 强制使用 text/xml 内容类型响应头

4.9.2

  • FaceCheck 类型在搜索控制台内会引发错误

4.9.1

  • FIX: double genre terms on upgrade from 4.4, thanks @mouhalves
  • FIX: wp_count_posts uncached and too heavy on large sites, thanks @carlalexander
  • Last-modified response header now linked to Update on comments setting
  • FIX: plugin_basename propagation

4.9

  • Code cleanup
  • NEW: FactCheck genre
  • Changefreq tag dropped
  • NEW: translation strings for genres
  • FIX: zlib.output_compression compatibility, thanks @alicewondermiscreations
  • FIX: permalink issue with Woocommerce account page endpoints
  • FIX: undefined index in news post types

4.8.3

  • fix get_lastpostdate array/string
  • restore pre PHP 5.4 compatibility (popular request)

4.8

  • NEW: Conditional functions is_sitemap() and is_news()
  • 代码清理和注释
  • 新的Google ping URL
  • 重新获取第一个/最后一个日期/修改函数和缓存键设置/删除
  • 修复:缓存键缺少时区
  • 修复:在flush_rules之前使用wp_rewrite init

4.7.6

  • FIX Open_BaseDir issue on IIS server

4.7.5

  • FIX: On cache_flush purge also the respective time_key cache entry,
    props @e2robert https://wordpress.org/support/topic/object-cache-issue-results-in-outdated-last-modified-values-on-index-sitemap/
  • FIX: Variable variable php 7 compat
  • Detect if headers are already sent and print warning in source

4.7.4

  • Another WPML compat issue fixed, special thanks to hermes3por3

4.7.3

  • NEW: xmlsf_excluded filter
  • IMPROVEMENT: Polylang and WPML compatibility issues
  • FIX: “Only variables should be passed by reference” strict warning
  • FIX: PHP 5.3 compatibility

4.7

  • WPML compatibility
  • FIX: News Sitemap chinese language tag
  • FIX: flush rules on plugin re-activation

4.6.3

  • NEW: filter xmlsf_custom_sitemaps
  • BUGFIX: empty custom urls sitemap

4.6.2

  • NEW: filter xmlsf_custom_urls
  • More cleanup
  • BUGFIX: broken Polylang compatibility reported by @zesseb

4.6.1

  • Code cleanup
  • POT file update
  • Dutch translation update

4.6

  • NEW: xmlsf_news_tags_after action hook
  • Attempt to remove static sitemap files left over by other sitemap plugins

4.5.1

  • fix Persistent/Stored XSS vulnerability on admin page, thanks to Sneha Rajguru @Sneharajguru

4.5

  • Set Google News access tag per post
  • Exclude posts from Google News sitemap
  • News Sitemap stylesheet text/links update
  • 修复:按照Jeremy Clarke的建议,cache_delete缓存键而不是cache_flush https://wordpress.org/support/topic/please-stop-running-wp_cache_flush-whenever-posts-are-edited
  • NEW: Nginx Helper compatibility to purge cache sitemap URLs from FastCGI Cache or Redis

4.4.1

  • BUGFIX contribution by alejandra.aranibar: multiple news post types makes get_lastdate return oldest instead of newest date
  • BUGFIX plugins_url filter not working, reported by Michael
  • Dropped GN Geolocation tag support
  • Dropped XMLSF_POST_TYPE and XMLSF_NEWS_POST_TYPE defines support
  • Multiple default genres

4.4

  • Pings max once per hour (5 minutes for news sitemap)
  • Seperate ping for Google News Sitemap
  • Append custom/static sitemaps to the index
  • Include other post types in News Sitemap
  • Optionally limit posts to certain categories in News Sitemap
  • Noindex response header for sitemaps to keep them out of search results
  • Static sitemap stylesheets
  • Controversial default robots.txt rules removed
  • DB query streamlining
  • BUGFIX: fatal error on . (dot) as category base in permalinks
  • BIGFIX: PHP Strict notices
  • Force object cache flush on post publication

4.3.2

  • Italian translation
  • BUGFIX: html esc / filter image title and caption tags
  • BUGFIX: empty terms counted causing empty taxonomy sitemap appearing in index
  • BUGFIX: custom taxonomies where lastmod cannot be determined show empty lastmod tag

4.3

  • Google News sitemap settings section
  • Google News tags: access, genres, keywords, geo_locations
  • Improved Google News stylesheet
  • Custom Google News Publication Name
  • Image tags in Google News sitemap
  • Custom URLs
  • Allow additional domains
  • Image caption and title tags
  • Ping Yandex and Baidu optional
  • BUGFIX: Ineffective robots.txt rules
  • BUGFIX: Priority value 0 in post meta not saved
  • BUGFIX: Ping for all post types
  • BUGFIX: Custom taxonomy support
  • BUGFIX: Split by month shows year

4.2.4

  • NEW: Image tags
  • Rearranged settings section
  • FIX: replace permalink, title and bloginfo rss filter hooks with own

4.2.3

  • BUGFIX: Empty ping options after disabling the main sitemap
  • BUGFIX: Empty language tag for Google News tags in posts sitemap
  • Small back end changes
  • NEW: Custom post types split by year/month

4.2

  • NEW: Image & News tags
  • NEW: Exclude pages/posts

4.1.4

  • BUGFIX: Pass by reference fatal error in PHP 5.4
  • BUGFIX: issue with Polylang language code in pretty permalinks setting
  • BUGFIX: unselected post types in sitemap
  • BUGFIX: 1+ Priority for sticky posts with comments
  • Dutch and French translations updated

4.1

  • NEW: Ping Google and Bing on new publications
  • NEW: Set priority per post
  • NEW: Priority calculation options
  • NEW: Option to split posts by year or month for faster generation of each sitemap
  • Reduced queries to increase performance
  • Improved Lastmod and Changefreq calculations
  • Core class improvements
  • Dropped qTranslate support
  • Dropped PHP4 support
  • BUGFIX: removed several PHP notices

4.0.1

  • NEW: Dutch and French translations
  • BUGFIX: Non public sites still have sitemap by default
  • BUGFIX: Invalid argument supplied for foreach() when all post types are off
  • BUGFIX: Wrong translation dir

4.0.0

  • Moved to sitemap index and seperated post/page sitemaps
  • NEW: options to dswitch off sitemap and news sitemap
  • NEW: select which post types to include
  • NEW: select which taxonomies to include
  • NEW: set additional robots.txt rules
  • NEW: Translation POT catalogue
  • Improved Polylang support
  • Dropped xLanguage support
  • qTranslate currently untested

3.9.2

  • Basic Google News feed stylesheet
  • improvement on XSS vulnerability fix
  • Fixed trailing slash

3.9.1

  • SECURITY: XSS vulnerability in sitemap.xsl.php

3.9

  • Google News Sitemap
  • Memory limit error workaround (for most sites)

3.8.8

  • BUGFIX: PHP4 compatibility
  • BUGFIX: stylesheet URL when installed in mu-plugins
  • core change to class
  • minified sitemap output by default

3.8.5

  • xLanguage support based on code and testing by Daniele Pelagatti
  • new FILTER HOOK robotstxt_sitemap_url for any translate and url changing plugins.
  • BUGFIX: Decimal separator cannot be a comma!

3.8.3

  • filter out external URLs inserted by plugins like Page Links To (thanks, Francois)
  • minify sitemap and stylesheet output
  • BUGFIX: qTranslate non-default language home URL

3.8

  • qTranslate support
  • no more Sitemap reference in robots.txt on non-public blogs

3.7.4

  • switch from add_feed (on init) to the do_feed_$feed hook
  • BUGFIX: is_404() condition TRUE and Response Header 404 on sites without posts
  • BUGFIX: is_feed() condition FALSE after custom query_posts
  • BUGFIX: no lastmod on home url when only pages on a site
  • BUGFIX: stylesheet url wrong when WP installed in a subdir

3.7

  • massive changefreq calculation improvement
  • further priority calulation improvement taking last comment date into account

3.6.1

  • BUGFIX: wrong date calculation on blogs less than 1 year old

3.6

  • massive priority calculation improvement

3.5

  • complete rewrite of plugin internals
  • speed improvements
  • WP 3.0 (normal and MS mode) ready

3.4

  • BUGFIX: use home instead of siteurl for blog url for sitemap reference in robots.txt
  • code streamline and cleanup

3.3

  • automatic exclusion of tags blog in wpmu

3.2

  • rewrite and add_feed calls improvements
  • BUGFIX: double entry when static page is frontpage

3.0

  • added styling to the xml feed to make it human readable

2.1

  • BUGFIX: lastmod timezone offset displayed wrong (extra space and missing double-colon)

2.0

  • priority calculation based on comments and age
  • changefreq based on comments

1.0

  • changed feed template location to avoid the need to relocate files outside the plugins folder
  • BUGFIX: get_post_modified_time instead of get_post_time

0.1

  • rework from Patrick Chia’s Standard XML Sitemaps
  • increased post urls limit from 100 to 1000 (of max. 50,000 allowed by the Sitemap protocol)