WordPress网站的搜索引擎优化(SEO)

早年间,在中学时代做网站时,都是一个页面一个页面地编写 HTML。后来有了 ASP、.NET,为了更新方便,也自己写过支持文章管理的动态网页。工作之后就彻底懒了,不想在技术细节上多花时间,干脆把网站改成了 WordPress 站。

尤其是 2010 年代以后,人们更多是在手机上浏览文章,这样协调同一个页面的手机版、PC 版是一件技术要求挺高的事。用手机打开一个 PC 站,阅读体验会很差,字体小,也不容易点中链接;反过来,用电脑、Pad 看手机站也非常丑陋和不便。还更不要说协调不同主流浏览器之间的细微区别,Safari、Chrome、IE、Edge,即使是同一个产品,高低版本支持的 CSS、HTML、javascript 细节都有所差异。总而言之,就是互联网已经发展到对个人网站制作者很不友好的时代了。WordPress 是我们所剩不多的个人可以驾驭的建站工具。

但就是这样的工具,搜索引擎们还是不能对它网开一面,制定一些有针对性的算法,优化 WordPress 站的抓取、索引。而是需要站长自己清楚 WordPress 有什么缺点需要特殊注意。

我原来也没有关注过搜索引擎优化(SEO)的事,后来无意看百度站长平台,觉得很多文章根本没有被收录,感觉心中不平,这才对 SEO 做了一番功课。

总的来说,国内搜索引擎对权威性的要求较高,这对个人网站来说非常不利。如果注册一个新浪博客,或任何其他社交平台,并进行实名认证,公开你的职业、身份,可能会获得更好的权威性和收录量。但社交平台毕竟不如个人网站自由,我的职业身份和我想在网站上做的东西并不一致,难道个人就不能涉及非职业的题材么?再者,社交平台毕竟是别人的地盘,虽然平台一推送,点击量瞬间千千万万,但谁也说不准这个平台给你保留多长时间,让你展现多长时间,链接会不会变、平台会不会倒、图片会不会压缩变形,都不由你说了算。可是做个人网站,也意味着入口基本就要依靠搜索引擎。刚才说国内搜索引擎本来就视个人站为非主流,因此,更要对搜索引擎优化予以足够重视。

我得到的一个教训,就是 WordPress 并不天然对搜索引擎友好。废话就不多说了,总结一下,WordPress 的主要缺点和解决办法有以下几条:

(1)文章会在很多链接中重复全文展现

这是对搜索引擎非常可怕的事,机器人不知道哪个链接才是你文章的永久链接。我们在默认情况下,首页会显示一定数量的文章全文(除非正文中使用了 More 标签),月份归档也会显示文章,如果设置了分类目录、标签,点击这些链接,还是能看到全文。你会发现,有时候搜索引擎会认为这些分类目录、归档的链接,是你文章的主要链接,而在你更新之后,也许搜索引擎就认为文章被删除了,或链接不稳定,取消对你的收录和索引。

要解决这个问题还不是很容易,首先对于首页而言,可以设置一个固定的页面,而不像传统的博客平铺近期文章的全文。其次,要编辑你的主题的 php 代码,在 content.php 中,找到 entry-content 的 div 块,将 div 块中间的代码改为(以 2020 主题为例):

<?php
if ( is_search() || ! is_singular() ) {
the_excerpt();
} else {
the_content( __( ‘Continue reading’, ‘twentytwenty’ ) );
}
?>

the_content( ) 函数是显示全文,而 the_excerpt() 函数是只显示摘要。当要显示的文章是在搜索结果页面(用 is_search() 判断),或任何不是单篇文章(用 is_singular() 判断,早期版本可能是 is_single())的页面中,我们就只显示摘要。只有在单文档页面,才显示全文。

对于早期的 WordPress 版本,有可能需要在 index.php 中进行修改,具体可以参照 WordPress 的官方文档慎重操作。

这样通过修改代码,就能解决一篇文章多处出现全文的问题。

最后,对于 feed,也设置为只显示摘要,这个操作在后台仪表盘中就可以完成。

(2)文章的固定链接不够正式

WordPress 默认的朴素链接,是根目录之后直接 ?p=%post_id%,这样是没有问题的,可以被搜索引擎识别接受。但我还是将固定链接统一设置为“数字型”,即 archives/%post_id%。这样更像是固定链接一些,又回避了中文标题的转码出现在 URL 中过长的问题。同时,在网站主机的访问记录中,非 QueryString 型的固定链接可以看到浏览次数统计,弥补 WordPress 不统计文章阅读量的缺陷。

如果设置了分类目录和标签,一定要修改分类目录和标签的“别名”,别名一定是简短的英文,以免在 URL 转码时引起错误。

对于月度归纳功能,个人感觉是个鸡肋,可以直接在自定义外观中取消。

(3)文章缺乏组织

文章没有组织、排列对读者来说肯定不够友好,可以设置多级的分类目录,便于读者按兴趣浏览。然后,在自定义外观编辑器中,选择显示分类目录文章的数量,让读者对于每类材料的丰富程度一目了然。

(4)图片未设置 alt (代替文本)标签

我不喜欢使用 WordPress 的媒体库,因为上传图片后,它会自动生成很多各种尺寸的拷贝,让网站的上传文件夹很乱,也占用空间。我都是直接在 ftp 上传图片。因此,在文章中插入图片时,要选择从 URL 插入,并输入相对 URL 地址,如:

“/wp-content/uploads/YYYY/MM/xxx.jpg”

与此同时,就要形成习惯,设置图片的代替文本、标题,其中代替文本(alt 属性)对搜索引擎更加重要,但它设置后你在外观上看不出区别,所以可能被很多人(包括我自己)忽略。

其实,“代替文本”就是 HTML 中 IMG 标签的 alt 属性,我之前把搜索引擎想象得太智能了,认为它可以通过上下文,判断出每张图片是关于什么主题。其实可能并不会这样,还是需要作者自己在 Alt 属性中告诉搜索引擎,这张图片是什么内容。这样,在图片搜索中才会索引你的图片,获得图片搜索带来的额外点击量。

(5)垃圾评论成山

据说,允许评论的页面会让搜索引擎觉得对用户更加友好,获得更高的优先级。

但成山的垃圾评论,也是每个 WordPress 网站的天敌,建议站长开通 Akismet 插件,屏蔽大多数垃圾信息。

(6)需要自己制作 sitemap 和主动推送

说对于现代搜索引擎而言,sitemap 并不是必须提供的,而且即使提供了,重要性也不高,蜘蛛人还是主要通过算法编制索引。但 SEO 本来就是一边猜一边做的事,有一个清楚的 sitemap 可能在某些搜索引擎来说是加分项。只是要做就一定做好,不要太相信各种自动生成工具,至少是生成之后肉眼检查一遍,以免弄巧成拙。

sitemap.xml 的一般格式如下:

<?xml version=”1.0″ encoding=”UTF-8″?>
<urlset
xmlns=”http://www.google.com/schemas/sitemap/0.84″
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://www.google.com/schemas/sitemap/0.84
http://www.google.com/schemas/sitemap/0.84/sitemap.xsd”>
<url>
<loc>http://www.fangtax.com/</loc>
<priority>0.5</priority>
<changefreq>weekly</changefreq>
</url>
<url>
<loc>http://www.fangtax.com/archives/1</loc>
<priority>0.1</priority>
<lastmod>2015-03-24</lastmod>
</url>

… …

</urlset>

使用 sitemap 的好处是,你可以通过 lastmod 标签告诉搜索引擎每篇动态文章的最近一次更新日期是何时,以便及时刷新有修改的网页。

主动推送也是提高抓取频率的办法,特别是在文章不多时,通过站长平台手动推送就很方便,比 sitemap 的优先级还更高。

(7)无法给每篇文章添加 META 关键词

WordPress 似乎没有利用 Meta 标签中的 keywords 和 Description 属性,倘若我们一页一页地写 HTML,是可以利用 keywords 和 Description 来描述本页的主要内容的。

如果感觉有必要,可以在主题编辑器里手动修改 index.php 添加 META,但那样全站的 keywords 和 Description 都一样,不能做到每篇文章有针对性的关键词。

好在 keywords 和 Description 也不是必须提供的,因此,对这个缺点只好不去管了。有一些 SEO 插件可能可以解决这个问题,但感觉不是必不可少的,不至于过度优化。


以上就是作者对 WordPress 如何 SEO 的一点经验,其实 SEO 只是一方面,重要的还是网站要有原创内容,并且这些内容有实际的搜索需求。希望本文对还在坚持做个人网站的站长有一些帮助。

发表评论

电子邮件地址不会被公开。