獨立博客大多數人選擇了 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 。