为什么要优化已收录文章? #
已经被搜索引擎收录的文章通常可以获得更加稳定的流量。但是很多时候,我们可能需要更新页面的内容,比如更新服务、价格方面的信息,添加更多详细内容以满足客户的需求,或者是更新政策,优化页面的关键词和标题等等。
已收录文章做优化的误区 #
出于谷歌SEO的目的,我们可能有三个选择:
- 创建新的页面,删除已发布页面;
- 在原有页面的基础之上修改内容,直接发布;
- 在原有页面的基础之上修改内容,并修改页面的发布日期;
这三种方式都不是SEO的最佳方式,我现在分别来说明理由:
- 创建新页面,删除原来的链接,不但会产生重复内容,而且会导致原来的链接失效,形成断链(虽然我们可以通过301重导向来修复)。
- 在原来页面的基础之上修改,直接发布,那展示给用户的日期是旧日期,用户可能会觉得内容太久,留下内容陈旧的印象;
- 修改页面的发布日期也不可取,因为谷歌并不是根据你所展示的日期来确定文章的发布日期,而是根据它收录的日期来确定。如果经常性地修改日期,可能会以为你在作弊。比如,有的网站抄袭了另外一个先发布网站的内容,修改日期欺骗谷歌。还有一些网站,大面积更新网站日期,欺骗谷歌搜索引擎去发布大量新内容。这些操作,都可能让谷歌判断你缺乏诚信。
由于后两种方式都涉及到页面发布日期,而且第一种方式我们已经提到断链通过重导向来修复,本文重点讲解如何优化已收录文章的日期来提高SEO得分。
优化文章日期的正确打开方式 #
更新内容并追加新日期是优化已收录文章的正确打开方式, 谷歌开发者文档定义了byline dates,并给出了参考案例。
“Byline date” 是指谷歌界定计网页更新或发布的日期。这个日期对于读者和搜索引擎来说都很重要,因为它反映了内容的新旧程度,也有助于读者评估信息的时效性和可靠性。
以上案例清晰地表明,我们应当在显要位置表明发布日期和更新日期。
谷歌优化实操:如何更新已收录文章的日期? #
以WordPress为例,网站的默认日期模式只显示文章的发布日期,我们需要在Function.php添加“更新日期”, 修改Function.php主要有四个方法:
- 访问本地文件修改代码;
- 通过 FTP 客户端修改代码;
- 通过 cPanel 面板修改代码;
- 通过 WordPress 面板修改代码。
我们分享WordPress面板修改方式。在Appearance找到子主题下的Function.php,输入以下代码,然后更新文件,即可在页面同时显示发布日期和更新日期。
function show_last_updated( $content ) {
$u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
if ($u_modified_time >= $u_time + 86400) {
$updated_date = get_the_modified_time('F jS, Y');
$updated_time = get_the_modified_time('h:i a');
$custom_content .= '<p class="last-updated-date">Recently updated on '. $updated_date . ' at '. $updated_time .'</p>';
}
$custom_content .= $content;
return $custom_content;
}
add_filter( 'the_content', 'show_last_updated' );
修改更新日期的CSS样式 #
如果需要高亮显示更新日期,还可以在cutomize的custom css里面增加css的代码,比如斜体亮色显示,可以添加代码到CSS code里面:
.last-updated-date {
font-size: 20px;
font-family: roboto;
font-weight:400;
color:#C2B52B;
font-style:italic;
}
指定页面显示日期更新 #
为了网站的美观,我们会希望仅在博客部分来显示日期更新,跳过首页、服务项目、产品和联系我们等页面,那我们可以更新代码,仅Blog页面来显示日期更新。我们举例说明选择性地显示日期更新,如果你希望排除特定的页面(例如政策页)不显示更新日期,你可以在条件语句中添加额外的检查。假设政策页的ID为 123,你可以使用 is_page() 来检查是否是页面,然后再检查是否是政策页:
function show_last_updated( $content ) {
// Check if it's a single post and not a page
if ( is_single() ) {
$u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
// Check if it's not the policy page (replace 123 with the actual policy page ID)
if ( $u_modified_time >= $u_time + 86400 && ! is_page( 123 ) ) {
$updated_date = get_the_modified_time('F jS, Y');
$updated_time = get_the_modified_time('h:i a');
$custom_content .= '<p class="last-updated-date">Recently updated on '. $updated_date . ' at '. $updated_time .'</p>';
}
$custom_content .= $content;
return $custom_content;
}
// For other content types (e.g., pages), return the original content without modification
return $content;
}
add_filter( 'the_content', 'show_last_updated' );