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正确写法
(不会写robots的朋友可以使用我们的在线robots文件生成器https://tool.zzvips.com/t/robots/生成一个robots.txt文件,放置到网站根目录即可.)
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上的思路。文章内容不当之处请多多包涵并指出。