獨立部落格大多數人選擇了 WordPress,但功能強大的 WP 並非每位博主都能操縱自如的,發覺很多 WP 新手博主連最基本的標題及細節都沒設定好,導致部落格在搜尋引擎的地位大受影響,下面來談談 WordPress 部落格標題與最佳化的正確設定方法。

可能很多博主認為,最簡單的方法就是使用外掛,因為 WP 的外掛實在太強太全了。但外掛用得較多時,不僅會拖慢部落格訪問速度,還會造成伺服器資源的過度消耗,且某些搜尋引擎對有些外掛很不友好,不當的使用會使部落格在其權重大打折扣。例如 All in one SEO pack,它本是很多人推崇的 SEO 最佳外掛,後來經過不斷的實踐證明,它不僅對伺服器消耗太大,百度還對其非常不友好,之後才有人分析說這是一款針對谷歌設計的外掛,所以才會遭百度的白眼。

那麼在不使用外掛的情況下如何做出一樣效果的標題最佳化呢,來看看本人現在的設定,此方法是出自柳城的文章分享 (柳城是誰?去年博百優 SEO 大賽的 NO.1),操作方式有兩種:

1 、先把原來 header.php 裡的<title><?php……</title> 間這段程式碼改為<?php include_once("desc.php"); > 再把以下新的程式碼儲存在 desc.php 就 OK 了 (如果有中文的話,記得另存為檔案的編碼是 UTF-8 。切記),把 desc.php 上傳到你的主題的目錄下。

2 、 (本人自己的做法) 把 header.php 裡含<meta……></title><?php ……title> 的程式碼用以下新的程式碼覆蓋即可,但有些主題的無法使用,因為有些主題的 header.php 裡並無<meta……><title><>php ……</title> 之類。

新的程式碼為:

<?php if ( is_home() ) { ?><title><?php bloginfo('name'); ?> | <?php bloginfo('description'); ?></title><?php } ?>
<?php if ( is_search() ) { ?><title> 搜尋結果 | <?php bloginfo('name'); ?></title><?php } ?>
<?php if ( is_single() ) { ?><title><?php echo trim(wp_title('',0)); ?> | <?php bloginfo('name'); ?></title><?php } ?>
<?php if ( is_page() ) { ?><title><?php echo trim(wp_title('',0)); ?> | <?php bloginfo('name'); ?></title><?php } ?>
<?php if ( is_category() ) { ?><title><?php single_cat_title(); ?> | <?php bloginfo('name'); ?></title><?php } ?>
<?php if ( is_month() ) { ?><title><?php the_time('F'); ?> | <?php bloginfo('name'); ?></title><?php } ?>
<?php if (function_exists('is_tag')) { if ( is_tag() ) { ?><title><?php single_tag_title("", true); ?> | <?php bloginfo('name'); ?></title><?php } ?> <?php } ?>
<?php
##定義一個函式. 解決擷取中文亂碼的問題
if (!function_exists('utf8Substr')) {
function utf8Substr($str, $from, $len)
{
return preg_replace('#^(?:[x00-x7F]|[xC0-xFF][x80-xBF]+){0,'.$from.'}'.
'((?:[x00-x7F]|[xC0-xFF][x80-xBF]+){0,'.$len.'}).*#s',
'$1',$str);
}
}
if ( is_home() ){
$description = "這裡填寫你部落格的描述";
$keywords = "這裡填寫你部落格的關鍵詞";
}
elseif ( is_single() ){
if ($post->post_excerpt) {
$description = $post->post_excerpt;
} else {
if(preg_match('/<p>(.*)</p>/iU',trim(strip_tags($post->post_content,"<p>")),$result)){
$post_content = $result['1'];
} else {
$post_content_r = explode("
",trim(strip_tags($post->post_content)));
$post_content = $post_content_r['0'];
}
$description = utf8Substr($post_content,0,220);
}

$keywords = "";
$tags = wp_get_post_tags($post->ID);
foreach ($tags as $tag ) {
$keywords = $keywords . $tag->name . ",";
}
}
?>
<?php echo "
"; ?>
<meta name="description" content="<?php echo trim($description); ?>" />
<meta name="keywords" content="<?php echo rtrim($keywords,','); ?>" />

以上程式碼的用意在於,手工填寫的 description 與 keywords 會成為部落格首頁的描述與關鍵詞,文章的描述與關鍵詞會提取每篇文章摘要與標籤自動形成。程式碼中的 「|」 是主標題與副標題間的隔號,如果不習慣,可以換成自己喜歡的 「-」「>>」 等等,不太明白的朋友可以觀察一下我部落格的各處標題。

溫馨提醒,在做每一處修改前請做好程式碼備份,不成功時還可以恢復原形。至於有沒有設定成功,可把部落格及文章地址複製到 chinaz 的 META 資訊檢測查詢 http://tool.chinaz.com/Tools/MetaCheck.aspx 。