修改插件Smart SEO Tool网站地图生成功能 修改最后修改时间为发布时间

老杨在查看网站地图时,发现网站地图中文章链接时间为最后更新时间。由于老杨常外出,需使用 WordPress 的定时发布功能,这导致网站地图生成的文章时间为最后更新时间,例如 9 月 3 日创建文章并定时于 9 月 10 日发布,在未修改代码时,9 月 10 日正常发布后,文章发布时间被写成最后修改时间 9 月 3 日,这种时间混乱对 SEO搜索引擎不友好。
解决方案如下:
  1. 对于 http://www.xxx..com/sitemap.xml,网站地图首页不做修改,仍调用最后修改时间,若调用最新发布时间,子 Sitemap 地址文章的链接时间会出现 1990-01-01 00:00。
  2. 对于 http://www.xxx..com/sitemap-post-xxx.xml,需修改成文章定时发布的时间。
如何修改:
找到 “xxxx/wp-content/plugins/smart-seo-tool/classes” 里的 sitemap.class.php 文件后,先在本地备份一份原始文件,方便恢复。然后根据找到下面代码替换,如果找不到代码,可以直接下载老杨提供的 sitemap.class.php.txt 文件修改成sitemap.class.php类型的文件覆盖替换之前的老文件就可以了。

修改前代码:

private static function content_post($post_type, $param)

{

// global $wpdb;
$blog_update = get_lastpostdate('blog');
$cnf = self::cnf('sitemap_seo.content_item.' . $post_type);
$group_type = self::cnf('sitemap_seo.data_group');

$xml = '';
$where = '';

$db = self::db();

//print_r([$post_type,$param]);

$limit = '';
$order = 'DESC';
if ($param) {
if (preg_match('#^(\d+)-(\d+)$#', $param, $m)) {
$year = $m[1];
$offset = $m[2] * self::$pagesize;
$limit = ' LIMIT ' . $offset . ',' . self::$pagesize;
} else {
if ($group_type == 'data' && preg_match('#^\d+$#', $param)) {
$per_page_num = self::cnf('sitemap_seo.per_page_num');
$per_page = $per_page_num ? absint($per_page_num) : 1000;
if (!$per_page) $per_page = 1000;
$year = '';
$page = absint($param);
if (!$page) $page = 1;
$offset = ($page - 1) * $per_page;
$limit = " LIMIT $offset,$per_page";
//$order = 'DESC';
} else {
$year = $param;
$limit = ' LIMIT 0,' . self::$pagesize;
}
}
if ($year) {
$where = $db->prepare(" AND YEAR(p.post_date) = %d", $year);
}
}
$sql = "SELECT
p.ID,
p.post_author,
p.post_status,
p.post_name,
p.post_parent,
p.post_type,
p.post_date,
p.post_date_gmt,
p.post_modified,
p.post_modified_gmt,
p.comment_count
FROM
{$db->posts} p
WHERE
p.post_password = ''
AND p.post_type = '%s'
AND p.post_status = 'publish'
$where
ORDER BY
p.post_date $order " . $limit;

$list = $db->get_results($db->prepare($sql, $post_type));

foreach ($list as $post) {
$url = get_permalink($post);

$xml .= self::add_url($url, $post->post_modified, $cnf['frequency'], $cnf['weights']);
}

return $xml;
}

修改后代码:直接替换即可

隐藏内容

此处内容需要权限查看

  • 普通10积分
  • 会员免费
会员免费查看

修改完成后样式:

修改插件Smart SEO Tool网站地图生成功能 修改最后修改时间为发布时间插图修改插件Smart SEO Tool网站地图生成功能 修改最后修改时间为发布时间插图