WordPress 是大家熟知的一款建站程序。它功能强大、模板丰富、插件充足、安装简单以及定制性强的特点使得我们在建立个人博客,甚至企业网站
或其他类型网站使用也会选择 WordPress 。我对 WordPress
SEO 有一些了解和经验,以下就来说说过去 7 天,我对它做了些什么。 WordPress 模板的 SEO 大同小异,希望能够通过本文给有需要的朋友开拓一些思
路。
在 《网站整体标准化对 SEO 的影响》 一文中,我介绍了网站的四个层面:基础层、结构层、内容层和表现层。
在进行 WordPress SEO 时,我也是基本遵守着这个网站标准化的步骤去进行的。当然基础层的东西不属于 WordPress SEO 的范畴,我们跳过这一部分,从结构层面开始:
WordPress 结构层 SEO
WordPress SEO 在结构层面比较重要的地方有:网站栏目及结构划分,URL 标准化,模板 header 优化,以及微数据的少许应用。
网站栏目及结构划分
做为一个主题于 SEO 相关的博客,不以 SEO 做为关键词有些说不过去了。在选取好模板后,就需要开始栏目的划分。按照初步规划,我将栏目分为:
SEO:
SEO 人物:介绍一些著名的 SEO 从业人员,学习经典 SEO 案例
SEO 学习:学习 seo 基础知识,免费的 SEO 培训
SEO 工具:介绍一些对 SEO 有用的工具
……等:随着内容的增加,还会有其他的板块出现
根据中文分词的原理 「SEO 学习」 可以区分为 「SEO」 和 「学习」 。套用 TF-IDF 框架的 SEO 衍生应用可以得出 「学习」 一词的权值要低于
「SEO」 。由于它们都是作为导航出现在各个页面,所以整站做 「SEO」 这个词的优化,可以自然的带动 「SEO 学习」 、 「SEO 工具」 等。
在结构方面,我运用了同百度百科相同的结构方式。将栏目做为一个页面去处理,而不是做为一个目录去处理。其作用是可以提高传递给栏目的权重。这块的内容比较复杂,以后我会专门用一篇文章去解释。这里我想用一张图来说明结构方面的部署:
同时 Sidebar 和 Footer 放置一些对 SEO 帮助不大但对真实用户的体验有帮助的东西。
最后在 nofollow 的使用上,选择了将 Sidebar 和 Footer 区域的一些外链加入了 nofollow 标签。
WordPress-URL 标准化
在 WordPress 中做 URL 的标准化不难。如果是 PHP 主机或虚拟空间,且支持.htaccess,那么在其中加入一段代码即可打开伪静态设置:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
然后在 WordPress 后台的 「固定链接」 中选择自定义结构,然后填入:
/%postname%.html
最终的效果就是类似:http://baiduseoguide.com/1.html
或者可以写成:
/%category%/%postname%.html
那么最终的结果就类似于:http://www.easthv.cc/lanzhouseo/trustrank-and-reserse-trustrank/
我们可以通过这个链接获得更多的 URL「样式」:http://codex.WordPress.org/zh-cn:%E4%BD%BF%E7%94%A8%E5%9B%BA%E5%AE%9A%E9%93%BE%E6%8E%A5
此外,如果发现 URL 中有一个.(点),从而影响到了 SEO 和美观,那么我们可以使用 WP No Category Base 这个插件来去除,非常方便。
模板 header 优化
出于适用人群广和每个人使用目的不同的原因,在 WordPress 的各种模板的 header 中,都基本含有了一切能够放进去的东西。
有些东西是必要的,如 title/Meta Description/canonical 标签等,有些东西则不是必须,甚至是无用的,如:Meta
Keywords 等。我个人的处理方式比较平和,只是优化和清理了我不会用到的东西。具体 WordPress header 优化如下:
打开模板目录下的 functions.php 文件,在?> 前加入以下代码:
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'feed_links_extra', 3 );
remove_action('wp_head', 'feed_links', 2 );
remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0 );
remove_action('wp_head', 'wp_generator');
保存,更新,即可。
微数据的应用
做这一步工作的原因仅仅是因为我个人比较重视版权,所以希望在谷歌的搜索结果中出现我的名字等信息;此外就是出于 SEO 研究的目的 (网站或页面权重达到什么样的值后,谷歌会显示微数据信息) 。注意百度是不支持微数据。除非是大型网站加入百度开放平台。
关于微数据的解释和使用方式,请参考谷歌站长工具中的相关介绍 《关于丰富网页摘要和结构化数据》 。
WordPress 内容层 SEO
内容层方面的 WordPress SEO,主要涉及 Title, Meta Description, robots.txt Sitemap 等方面。至于内容创作方面的因素,不在 WordPress SEO 的范畴之内。
WordPress 标题和描述 SEO
这个应该没什么好说的,采用 「文章名-网站名」 或 「文章名-目录名-网站名」 的方式进行。 WordPress 默认和部分模板所采用的 Title 标签需要改动,直接替换 header.php 中的相关 Title 信息即可。改动的代码网上有很多,可自行查询。
同理,为了防止搜索引擎自己抓取网站描述,从而影响用户在搜索结果页面看到的文字,我们也需要对 Meta Description 做自定义处理,代码如下:
<?php
if (is_home()) {
$description = "这里写你网站首页的描述";
} elseif (is_single() || is_page()){
$description = get_post_meta($post->ID, "description", true);
}
?>
上段代码的意思是,如果是首页,则显示 「这里写你网站首页的描述」;而如果是文章页或者页面,则按照子定义栏目中输入的指显示。
那么如何在自定义栏目中输入值呢?怎样找到输入自定义 description 的地方呢?
1. 在后台的撰写新文章页面下,找到右上方的 「显示选项」,点击,勾选 「自定义栏目」;
2. 在文章编辑区下方会出现 「自定义栏目」,选择 「输入新栏目」,然后输入」description」;
3. 在右方的 「值」 中输入你文章的描述,注意保持在 70 个汉字之内。
robots 正确写法
WordPress 的通用 robots.txt 写法为:
User-agent: *
Disallow: /feed
Disallow: /trackback
Disallow: /comments/feed
Disallow: /wp-content/
Disallow: /wp-includes/
Disallow: /wp-admin/
Disallow: /author
Disallow: /*.css$
Disallow: /*.js$
sitemap: 替换为你网站的 sitemap.xml 地址
可以根据自己实际需求进行添加和删减。
此外应该注意:robots.txt 文件的编码格式应该为 ANSI
sitemap
直接使用 Google XML Sitemaps 这个插件创造 sitemap.xml 即可。同时也需要有一份 html 格式的网站地图。我个人是使用 PS Auto Sitemap 这个插件来实现的。
WordPress 内容层 SEO
这里的优化主要牵扯到 CSS 和 JS 的整合及优化,从而提高网站相应速度和加载速度。下面的图表示的是优化后的 WordPress 在 YSlow 中的得分,以及在谷歌管理员工具中网站性能中的速度测试。
由于网站速度这快的优化已经超出了 WordPress 的优化范畴,且相关要介绍和解释的内容太多。我会在以后的文章中做专门的介绍。
以上就是杨帆对 WordPress 优化的一些见解,SEO 工作每个人针对每一个网站,都有不同的操作思路和具体做法。笔者也仅仅是抛砖引玉希望能够给大家一些 WordPress SEO 上的思路。文章内容不当之处请多多包涵并指出。