想必瞭解 SEO 的人都知道,WordPress 在源碼優化方面做的非常的到位,元老級的源碼。當然,他的源碼在 seo 方面做的並不是完美的。這就需 要我們對它的源碼加以改進。
很多朋友選擇 WordPress 的相關插件,All in One SEO Pack
中文版,就是其中一款非常流行的插件。網上很多文章在大篇幅的描述這款插件的優點,它的名字本身就很具有吸引力,All in One
SEO,可引申為 「一鍵優化」,就像很多電腦的優化軟件一樣,安裝了這個插件,設定好,其他的優化都不需要了。
隨着對 WordPress 瞭解的深入,漸漸的讀到一些高手撰寫的文章,用他們的話説,如果你在還在用 WordPress,那你就過時了!慢慢的讀下 去,也許會改變你對 all in one seo 的看法。
這裏,總結一下高手們不願用 all in one seo 的三點原因。
原因 1:noindex 標籤百度不喜歡
百度爬蟲並不是你想象的那麼聰明,或者,是太傲慢了,看到 noindex 就 K
掉你網站的所有頁面,只留一個首頁,它心情好了,可能會對你仁慈一點,不收錄最近的內容。這就是網上流傳的所謂百度不收錄 WordPress
的根源,其實罪魁禍首就是 All in One SEO 。有人做過測試,去掉 noindex 設置選項以後,百度收錄就迅速恢復了。
原因 2:自動描述導致中文博客丟失描述
大部分站長做的都在使用中文的 WordPress,但是 all in one
seo 恰恰是不能自動生成中文的 description 。如果你啓用了它的自動 description,那麼,結果可想而知,google
搜索存檔信息裏除了標題就剩下文章信息 (日期作者什麼的),然後就是評論,既然你有了一個空白的 description,搜索引擎就會認為你的描述是空
白,但不是沒有,當然就不會那麼好心的幫你生成 description 了。但是英文的文章會好些,原因?估計是創作這款插件的人沒有想到中國還有這麼多使
用它的人吧!
原因 3:消耗資源
這個在流量小的博客體現不出來,但是流量一大,區別就出來了。
繼續閲讀,肯定有你想要的。
有朋友會説了,拋棄 all in one seo,我該怎麼優化博客呢?繼續往下看。
第一步:title 結構
保持原有 title 結構,在 header.php 裏替換原有 title 部分:
| <title><?php if (is_home() ) { ?>59 源碼網 | digg digest<?php } else {?><?php wp_title(」); ?> | 59 源碼網<?php } ?></title> |
第二步:關鍵字和站點描述
可以用下面這段代碼來代替:
| <?if (is_home()){ $description = 「站點描述」; $keywords = 「關鍵字」; } elseif (is_single()){ $description = $post->post_title ; $keywords = 「」; $tags = wp_get_post_tags($post->ID); foreach ($tags as $tag ) { $keywords = $keywords . $tag->name . 「, 「; } } elseif(is_category()){ $description = category_description(); } ?> <meta name=」keywords」 content=」<?=$keywords?>」 /> <meta name=」description」 content=」<?=$description?>」 /> |
第三步:文章的描述
這個有兩個辦法,一是用截斷文章前多少字摘要作為描述,這裏有一款插件,實在感覺修改代碼麻煩,就用插件。 另一個就是利用 All in One
SEO 的原理,利用自定義關鍵字 (custom field) 定義 description 然後調用,具體操作可參考這篇,代碼是:
| <?php if ( is_single() ) { ?> <meta name=」description」 content=」<?php $key=」description」; echo get_post_meta($post->ID, $key, true); ?>」 /> <?php } ?> |
如果沒用過 All in One SEO 插件的,可以先新建一個 description 關鍵字,下次就可以選擇了。
第四步:NoIndex
這個是某大師的解決辦法。既然百度爬蟲太傻逼,那就針對 Google 爬蟲寫,在 header.php 里加這麼一句:
| <?php if ( !(is_home()) and !(is_single()) ) { ?><meta name=」Googlebot」 content=」noindex,follow」 /><?php }?> |
意思就是除了首頁和文章,其它頁面最好不要 index 。此外,這句話前面最好加個空行。
ok,就這麼多,不當之處,敬請留下寶貴意見。