WordPress 显示最後更新日期的 3 种方法 (外挂、程序码、Post Meta Data) – 提高 SEO 排名

此篇文章将会教你如何在 WordPress 的文章上增加最後更新日期,让读者感觉到内容是最新有用的资讯,比较有意愿继续把文章看完。
当文章有新的更新日期及内容时,会让 Google SEO 认为新的内容更适合读者,自然会排名在更前面一点。

在 WordPress 增加最後更新日期的方法,我提供 3 种方式:

使用 WP Last Modified Info 外挂,适合不懂程序码的朋友使用。
使用一段程序码执行後就会在每页文章前面增加最後更新日期,会搭配 Code Snippets 这外挂来放上程序码。
将最後更新日期与文章表头的发布日期,放在同一区块,也就是 Post Meta Data (文章元数据) 位置。

第 3 个的 Post Meta Data (文章元数据) 位置示意图如下,这也是我比较喜欢的位置。

为什麽要显示最後更新日期?

在我们 WordPress 过去发表的文章里面,有些资讯已经过时了,而我们也更新了内容,可是当读者浏览时,并不知道内容是最新的,在开头处还是看到陈旧的发表日期,读者第一直觉会认为是旧的内容,可能就直接离开网站了,这是很可惜的。

有些站长会直接更改标题档名增加年份,这也是一种方式,但并不是所有标题都适合这样加,我认为直接显示更新日期,是比较合适的做法。

在 WordPress 预设的页面上是不会显示最後更新日期的,但背後是有纪录这个日期的,我们可以让更新日期直接显示在开头处,让读者直接看到,增加读者对网站内容的信心。

Google 是如何知道文章的发布日期及更新日期?

Google 在理解一篇文章的内容时,除了看显示出来的文字、日期等资讯。还会查看网站背後的结构化资料,网站的结构化资料是 Google 理解网站的一种方式。

Google 提供一个工具网站可以查看网站的结构化资料:复合式搜寻结果

当打开网站後,直接贴上我们想要查询的文章网址就行。

查询前有一个手机和电脑分类的选择,会影响看到的结果,但这里还不是我们的重点,直接点「测试网址」就行,我这里只是要看网站的发布日期及更新日期。

查询後,展开「文章」的区块。

在文章区块下拉里面会看到 dataPublished 以及 dateModified 两个资讯。
dataPublished 指发布日期,dateModified 则是更新日期。

这两个资讯是 Google 理解网站日期的方式。

使用 WP Last Modified Info 外挂显示最後更新日期

外挂名称: WP Last Modified Info
外挂连结: https://wordpress.org/plugins/wp-last-modified-info/

在後台安装外挂的地方,输入「WP Last Modified Info」,找到以下图示安装外挂。

启用後在「设定」里面会出现「WP Last Modified Info」的选单。

启用功能:显示更新日期

打开设定页面後,第 1 个就先按启用显示,将「Enable for Posts/Pages on Frontend」打勾。
勾选这个就会在文章显示最後更新日期。

启用後可以先按「Save Settings」,我们先来看看网站会出现什麽。

在文章的开头处就会显示「Last Updated on (最後更新日期)」的讯息了,这是预设的讯息。

预设显示的位置是在文章的开头处,而且无法修改位置,我们能修改的只有文字和样式。

修改显示文字

刚刚看到的是英文字,接下来要改成中文说明。

在同样第 1 页的设定页里面,找到「HTML Template to Display on Posts:」。
在输入框里面可以打上我提供的范例:

看一下修改後结果。

如果你们要调整日期格式为 2021/7/29 的话,可以调整「Last Modified Info Date Time Format」。
格式输入「Y/n/j」,就可以了。

修改显示样式

刚刚显示的更新日期都是纯文字的样式,与文章内文字格式相同,如果要修改样式的话,
在上面页签切换到「Misc. Options」。
在「Custom CSS Code」内输入 CSS 语法。

有关 CSS 语法你们可以找想要的样式来使用,这里我就提供 3 个样式给各位参考。

  1. 灰底白字样式

/* 灰底白字 */
.post-modified-info{
    background-color: darkgray;
    color: white;
	padding-left: 10px;
}
  1. 仿生样式

/* 仿生样式 */
.post-modified-info{
    text-transform: uppercase;
    text-shadow: 0 8px 9px #c4b59d, 0px -2px 1px #fff;
    background: linear-gradient(to bottom, #ece4d9 0%,#e9dfd1 100%);
    padding-left: 10px;
}
  1. 深底白字样式

/* 深底白字 */
.post-modified-info{
    color: white;
    padding-left: 10px;
    background-color: #2d2d2d;
    letter-spacing: .1em;
    text-shadow: -1px -1px 1px #111111, 2px 2px 1px #363636;
}

是否调整 Compatibilty Mode (兼容 SEO 模式) ?

在页签的「Schema」有一个选项,「JSON-LD Schema Markup Mode」可以调整与其他 SEO 外挂 (例如 Rankmath、Yoast SEO) 相容模式。
他的说明是当有安装其他的 SEO 外挂时,可以选用「Compatibilty Mode」,此模式可以将 SEO 显示的发布日期改为最後更新日期。
也就是当有修改文章时,Google 看到的发布日期会跟最後更新日期一样。

当我把模式选成「Compatibilty Mode」时,我利用 Google 复合式搜寻网站看一下结果。
会发现发布日期会跟着更新日期一样。

这样的设定好吗?

Google 搜寻中心在 2019 年发布关於文章日期的声明

在文章中提到几个重点:

  1. 在文章中需在明显处显示日期。
  2. 可以同时显示发布日期及更新日期。
  3. Google 会评估文章发布日期是否合理,如果文章内有大修改,可以调整发布日期,不可因修改小部份就变更发布日期。
  4. 恶意修改发布日期严重会列为诈欺,将会对网站及文章搜寻进行惩罚。

因为在 Google 的声明中有提到,文章的发布日期合理下不会常常修改,一般微幅的修改,只要异动修改日期就好,除非内容有大幅度修改,才适合更改发布日期。

所以,我是认为在「JSON-LD Schema Markup Mode」的选项,维持「Default Mode」就可以了。
这样可以避免我们小部份修改文章时,不小心同步更新了发布日期,被 Google 认为不合理。

当有内容大幅度修改时,再手动去调整发布日期即可。

关於 WP Last Modified Info 其他的设定,你们可以自己调整看看喔,我就只介绍我认为重要的地方。

使用程序码显示最後更新日期

对於不喜欢安装外挂的朋友来说,也可以贴上简单的程序码,做到一样的效果。
但贴程序码这个动作,我还是不建议直接修改网页原始档,我建议可以安装 Code Snippets 这外挂来贴上程序码。

安装 Code Snippets 外挂

外挂名称: Code Snippets
外挂连结: https://tw.wordpress.org/plugins/code-snippets/

在後台安装外挂的地方,输入「Code Snippets」,安装此外挂并启用。

启用後,在选单会出现「Snippets」。

打开外挂後,在上面可以按「Add New」,新增一段程序码。

在程序码栏位输入以下程序码。

function wp_last_updated_date( $content ) {
	if( is_front_page() || is_home() ) {
		return $content;
	}
	if( is_page(array(1017,927))){
		return $content;
	}
	$u_time = get_the_time('U');
	$u_modified_time = get_the_modified_time('U');
	if ($u_modified_time >= $u_time + 86400) {
		$updated = get_the_modified_time("Y 年 m 月 j 日 ");
		$custom_content .= '<p class=" post-modified-info ">最後更新日期:'. $updated .'</p>';
	}
	$custom_content .= $content;
	return $custom_content;
}
add_filter( 'the_content', 'wp_last_updated_date' );

名称可以输入 “显示最後更新日期”。
在下面的选项,可以选「Only run on site front-end」,这意思是只运行在前台网页,我觉的这是安全机制,避免程序码有错,影响後台运作。

完成後在下面执行储存。

看一下结果。

基本上跟外挂是一样的效果。

调整日期格式

我的范例日期格式是 “2021 年 07 月 29 日”,如果要改成 2021/07/29。
找到 ”get_the_modified_time("Y 年 m 月 j 日 ");”
改为 ”get_the_modified_time("Y/m/j");”
你也可以调整成自己要的格式,知道 Y m j 是表示年月日就好了。

调整日期样式

调整样式的方法,可以跟外挂在用的 CSS 语法一样,同样提供 3 种方式参考。

放置 CSS 的位置,就要改成在「外观 > 自定」。

然後在「附加的 CSS」,去放上喜欢的 CSS 语法。

修改後结果。

在 Post Meta Data (文章元数据) 放上更新日期

其实将日期放在 Post Meta Data (文章元数据) 是我比较想要的方式,但是因为找了许多的外挂,找不到一个适合的外挂。

我研判原因是因为 WordPress 没有在 Post Meta Data 显示最後更新日期的功能,而 Post Meta Data 的显示方式又因各布景主题的不同,语法也会不同,而修改档案都在布景主题内,所以很难用外挂达成。

我在教学尽量会使用简单的方式,来做到想要的成果,但因为此修改找不到合适的外挂或是简单的语法达成,所以我接下来会介绍我如何找到布置主题的档案,再修改出我要的效果,如果懂前端网页语法的读者可以试试看。

确认布景主题名称

在「外观 > 布景主题」内可以看到正在使用的主题,因为我只保留有使用的,其他不使用的我都删除了,这里重要的是记下布景主题名称。
我的布景主题范例名称叫 ”Salinger”,等等我要找的档案就会放在这目录名称底下。

取得日历图示原始码

在前端网页的日历图示上按右键选「检查」。

找到原始码中的「」,这个是日历图示的语法。

搜寻布景主题原始码位置

有了日历图示的语法後,我们就搜寻 WordPress 的所有原始码档案路径。(这步骤可以先将所有档案备份到电脑後,再搜寻备份目录内的所有档案。)

我是使用 Notepad++ 这个工具来搜寻的,它可以搜寻整个目录。
在搜寻画面上选择「在多个档案中寻找」,输入 “” 为内容,过滤打 “*.php”,目录就是 WordPress 的原始码路径。

在搜寻过後就会显示所有有 “” 的档案。

我搜寻的结果有 4 个档案有此语法,而且全都是在 “salinger” 这个布景主题目录内。

如果你的 WordPress 有非常多布景主题的话,那就会显示非常多的档案,这时候就会用到刚刚查询的布景主题名称,只要找到你的布景主题内的档案就好。

在 4 个档案内「content-single.php」是文章会显示的页面,我们先改这一页试试。

打开 content-single.php 页面语法後,找到 “” 的位置,这里就是我们 Post Meta Data (文章元数据) 所呈现的语法了。

增加最後更新日期语法

我希望让读者先看到更新日期,再看到发布日期,所以我在发布日期前面加上一行语法。

&nbsp;&nbsp;<i class="fa fa-calendar-o"></i> 更新日期 <?php the_modified_time('Y 年 m 月 d 日'); ?>

修改完,直接储存。
如果你的 WordPress 原始码在本机的话,记得用 FTP 或是 File Manager 外挂上传到服务器上。

看一下结果。

再来把後面的发布日期增加 “发布日期” 这 4 个字来识别一下。

看一下结果。

修改成这样就可以了,当然你们可以改成自己想要的文字。

修改首页的 Post Meta Data (文章元数据) 放上更新日期

刚刚搜寻出来的档案有 4 个,如果要修改首页的清单页面的话,可以打开「content-archive-excerpts.php」。

打开档案後,所看到的语法其实是差不多的。

那改的方法我就不二次讲了,直接贴出我改完的画面。

在首页上看一下结果。

关於日期的格式,可以看上面的程序码说明自己调整喔。

在不同的主题有不同的改法,我修改另一个布景主题 "BusinessDeal",就有了另一个写法。
我同样分享这主题的改法给大家参考,多分享一些案例让大家参考不同改法。

这主题要修改的档案就不一样,档名为 "template-tags.php"

我直接放上来我修改後的结果。

// 显示更新日期
$modified_content = "";
$u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U'); 
if ($u_modified_time >= $u_time + 86400) { 
	$updated = get_the_modified_date();
	$modified_content = '<i class="far fa-calendar-alt"></i> 更新日期 ' . $updated .' '; 
}

$time_string = '<time class="entry-date published updated" datetime="%2$s">%1$s<i class="far fa-calendar-alt"></i> 发布日期 %3$s </time>';
if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
	$time_string = '<time class="entry-date published" datetime="%2$s">%1$s<i class="far fa-calendar-alt"></i> 发布日期 %3$s</time>';
}

$time_string = sprintf( $time_string, $modified_content, 
	esc_attr( get_the_date( DATE_W3C ) ),
	esc_html( get_the_date() )
);

红框是增加更新日期的主要语法,给大家参考。

修改後的结果,在发布日期前面增加更新日期。

重点整理

  1. 显示最後更新日期有助於读者体验及 SEO 排名。
  2. 安装外挂或是贴上程序码,可以选择其中一种方式执行。
  3. 修改日期文字、格式及样式,让读者知确知道内容有更新
  4. 修改 Post Meta Data (文章元数据) 建议有前端技术再来实作

相关学习文章

WordPress 安装 Google Analytics 教学,完整分析网站流量
如何在 WordPress 放上 Google AdSense 广告 - 为网站增加被动收入
WordPress Google Search Console 安装教学 让新文章马上列入搜寻名单
WordPress 如何隐藏文章的作者、日期资讯


<<:  关於商业视角的时间故事

>>:  Day21 - 铁人付外挂设定介面(三)- 自订栏位

Day 27 [Python ML、资料清理] 处理资料中的时间

设定环境 首先我们需要读取libraries跟dataset,我们将会使用一个dataset是包含在...

Ruby幼幼班--Two Sum II

快忘记自己传教过哪些K-pop了.... Two Sum II 题目连结:https://leet...

Day21-TypeScript(TS)的函式(Function) Part1

经过前两天的函示介绍相信大家对函式(Function)已经有一定程度的了解了吧, 那麽对於TS的函式...

Day 29. Hashicorp Consul: Upgrade

Hashicorp Consul: Upgrade 升级方式: 一次升级一台,透过 consul l...

Day3 HTML、CSS、JavaScript基本架构

【HTML】 HTML是一种用来建构网页的标记语言,而非程序,可以将网页想像成一页文件,而这份文件内...