比如, 一個做音樂的網站肯定不希望搜索引擎收錄它的存檔月份, 因為沒有人會通過這個來搜索進來. 這我們就可以用 JavaScript 輸出這部分內容.
本人正在使用的 iNove 和我發布的最大區別是在 SEO 上, 你可以查看一下頁面代碼, 我的側邊欄很多內容都是 JavaScript 輸出的. 因為側邊欄一般起到導航作用, 但它雜亂, 不能指明中心內容, 這就是為什么將 Google Adsense 放側邊欄經常會顯示 "性病廣告".
那怎么用 JavaScript 輸出內容呢? 下面我們以本人側邊欄的 WP-RecentComments widget 為例說明一下:
一般輸出方法:
<!-- recent comments -->
<?php if( function_exists('wp_recentcomments') ) : ?>
<div class="widget">
<h3>Recent Comments</h3>
<ul>
<?php wp_recentcomments('limit=10&length=17&post=false&smilies=true'); ?>
</ul>
</div>
<?php endif; ?>
JavaScript 輸出方法:
<!-- recent comments -->
<?php
// 插件被激活才進行以下操作
if( function_exists('wp_recentcomments') ) {
// 逐行粘合 HTML 代碼
$html = '<div class="widget">'
. '<h3>Recent Comments</h3>'
. '<ul>';
$html .= wp_recentcomments('limit=10&length=17&post=false&smilies=true', false);
$html .= '</ul>'
. '</div>';
// 轉義處理
$html = str_replace('"', '\"', $html);
$html = str_replace("'", "\'", $html);
// 將 HTML 做成 JavaScript 輸出代碼
$out = '<script type="text/javascript">' . "\n"
. '//<![CDATA[' . "\n" // 符合 XHTML 的注釋開始
. 'document.write("' . $html . '");' . "\n"
. '//]]>' . "\n" // 符合 XHTML 的注釋結束
. '</script>';
// 輸出頁面代碼
print($out);
}
?>
代碼中已經有所注釋, 其實很簡單. 另外, 本人強烈建議將 Recent Comments, Archives, Meta 和廣告都做成 JavaScript 輸出.
一些朋友應該看出來了, 其實本人的博客 SEO 程度并不高, 但一些事是非做不可的, 比如部分內容用 JavaScript 輸出, 加上 nofollow 等等.
這么做有沒有后遺癥? 是有的. 如果某人的瀏覽器不支持 JavaScript, 那么他將看不到這部分內容. 所以該法可用, 好用, 但請慎用.