wordpress的SEO初步研究

9-03 1,203 views

刚建的网站没有人气让人焦急,用百度搜自己怎么也搜不到,于是就花了点功夫研究了SEO(Search Engine Optimization),列举一下可以做些什么来优化seo

回归本质

SEO搜索引擎优化大致分为三个工作阶段:
1.页面抓取
2.预处理
3.排名

当你搜索某个关键词的时候,成百上千万条的相关记录是怎么来的呢?

搜索引擎有一种程序,百度形象地称它为蜘蛛(spider),Google称它为机器人(bot)。
搜索引擎正是靠着这个程序来抓取你所看到的页面的。

怎么让自己网站上的页面更容易被搜索引擎蜘蛛抓取?

一切机器都是仿生学,搜索引擎蜘蛛也是,首先要给它一个进入和了解你网站的机会,这个机会可以是你主动地向它提交网页,也可以是外部链接。
其次,它跟普通访问你网站的访客一样,简单明了的导航和内部结构,让它清晰地了解到你网站上所有的内容。
再者,你网站上要有新鲜的内容或者是优质的内容,也就是所谓的友好的用户体验,那样蜘蛛才愿意多来你的网站,多抓取些网站上的内容。

搜索引擎抓取的这些页面是怎么处理的?

搜索引擎有自己的数据库,抓取来的数据会先存入原始数据库,其中的页面数据与用户浏览器得到的HTML是完全一样的。
但是原始页面是不能直接进行排名处理的。因为你想,你搜索一个关键词在不到1秒的时间里就返回上亿的相关结果,这太不现实了。所以搜索引擎在这之前,就会先进行一些处理,我们称之为预处理。
诸如提取文字(去掉HTML标签),中文分词(这是中文搜索引擎独有的),以及最重要的索引,将页面转换成一个关键词组成的集合,同时记录着每一个关键词的出现频率、出现次数、位置等,总之都是在为最后的排名服务。

关键词排名怎么获得?

经过预处理之后,搜索引擎就准备好随时处理用户的搜索了,当用户进行关键词搜索的时候,排名程序会调用索引库中的数据,从而计算好排名显示给用户。
而排名的最直接要素,就是你的网站是否能够提供给用户需要,并且高质量的内容。

本站seo现状与简单挽回

目前本站可谓十分凄凉,下图可以看到seo综合查询的结果是毫无建树。。
seo综合查询
用百度站长工具看下也是如此
百度站长工具
有点担忧网站发展不好,于是根据网上的建议,缩短了url,给图片配上了alt
seo设置alt替换_compressed
模仿博客大神把meta元素修改得文雅点,各个文章配上标签
meta标签
在百度站长工具中把网站设置为响应式的网站(不知道会不会在移动搜索时有所优惠)
站点属性-自适应
简单挽回好像对谷歌挺有效果
简单修改后的效果

wordpress插件或者代码

1 DX-SEO 面向国内的博客,功能齐全,可是我找不到哪里下载了现在,所以打算参考如何用代码实现这个效果,详细请转跳
2 百度sitemap 百度官方出品,无需多说,必装!可实时推送数据给蜘蛛,开通了sitemap权限的网站,可以在站长平台看到推送数据,很给力!
3 anyLink 这个插件非常好用,能够将所有外链建立索引,然后转成go的跳转链接,从而减少外链输出,你要做的只是在robots里面禁止蜘蛛抓取 /go/* 即可。
4 文章自动更新到微博 详见前文 让两个都很冷清的平台相互依靠
5 WordPress Mobile Pack

进阶,生成sitemap,向百度主动推送

先来看下百度对于主动推送的一些说明:
主动推送:最为快速的提交方式,建议您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。
主动推送支持多种途径:比如curl 、post、php以及ruby等。而且支持一次性提交多条网站页面地址,不过每个站点每天可推送的次数暂时限制在50次。
使用主动推送功能会达到怎样效果?
①、及时发现:可以缩短百度爬虫发现您站点新链接的时间,使新发布的页面可以在第一时间被百度收录
②、保护原创:对于网站的最新原创内容,使用主动推送功能可以快速通知到百度,使内容可以在转发之前被百度发现
生成sitemap可以对蜘蛛和robot友好,如果直接使用百度的结构化工具,那么便是只对百度友好了。
生成sitemap转跳
于是就可以给百度手动推送了
手动提交sitemap.xml
向百度主动推送可以使用以下代码(添加到之前同步到微博的代码中,或者添加到functions.php中)

/**
* WordPress发布文章主动推送到百度,加快收录保护原创【WordPress通用方式】
* 文章地址:http://zhangge.net/5041.html
*/
if(!function_exists('Baidu_Submit')){
    function Baidu_Submit($post_ID) {
        $WEB_TOKEN  = 'xxxxxxxxxxx';  //这里请换成你的网站的百度主动推送的token值
        $WEB_DOMAIN = get_option('home');
        //已成功推送的文章不再推送
        if(get_post_meta($post_ID,'Baidusubmit',true) == 1) return;
        $url = get_permalink($post_ID);
        $api = 'http://data.zz.baidu.com/urls?site='.$WEB_DOMAIN.'&token='.$WEB_TOKEN;
        $request = new WP_Http;
        $result = $request->request( $api , array( 'method' => 'POST', 'body' => $url , 'headers' => 'Content-Type: text/plain') );
        $result = json_decode($result['body'],true);
        //如果推送成功则在文章新增自定义栏目Baidusubmit,值为1
        if (array_key_exists('success',$result)) {
            add_post_meta($post_ID, 'Baidusubmit', 1, true);
        }
    }
    add_action('publish_post', 'Baidu_Submit', 0);
}

参考资料

「Unity Shaders」Surface Shaders and Texture Mapping

 本文内容参考《Unity 5.x Shaders and Effects Cookbook》 表面着色器和材质贴图 总的来说,一个表面着色器有两个关键的步骤。第一,必须确定材质的物理...

阅读全文

「Unity Shaders」Creating First Shader

创建第一个着色器 最近学习了一段时间Unity Shader相关知识,在进一步自顶向下学习计算机图形学之前,先将之前看《Unity 5.x Shaders and Effects Cookbook...

阅读全文

《Effective c++》、《Inside C++ Model》 小结(一)

最近瞻仰了一下Scott Meyers久负盛名的《effective c++》,特来总结一下,以加深一下印象与防止自己今后记忆力衰退。这本书里很多都是工程上很有意思的tips...

阅读全文

1 条评论

欢迎留言