比如, 一個(gè)做音樂的網(wǎng)站肯定不希望搜索引擎收錄它的存檔月份, 因?yàn)闆]有人會(huì)通過這個(gè)來搜索進(jìn)來. 這我們就可以用 JavaScript 輸出這部分內(nèi)容.
本人正在使用的 iNove 和我發(fā)布的最大區(qū)別是在 SEO 上, 你可以查看一下頁面代碼, 我的側(cè)邊欄很多內(nèi)容都是 JavaScript 輸出的. 因?yàn)閭?cè)邊欄一般起到導(dǎo)航作用, 但它雜亂, 不能指明中心內(nèi)容, 這就是為什么將 Google Adsense 放側(cè)邊欄經(jīng)常會(huì)顯示 "性病廣告".
那怎么用 JavaScript 輸出內(nèi)容呢? 下面我們以本人側(cè)邊欄的 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
// 插件被激活才進(jìn)行以下操作
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>';
// 轉(zhuǎn)義處理
$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 的注釋結(jié)束
. '</script>';
// 輸出頁面代碼
print($out);
}
?>
代碼中已經(jīng)有所注釋, 其實(shí)很簡單. 另外, 本人強(qiáng)烈建議將 Recent Comments, Archives, Meta 和廣告都做成 JavaScript 輸出.
一些朋友應(yīng)該看出來了, 其實(shí)本人的博客 SEO 程度并不高, 但一些事是非做不可的, 比如部分內(nèi)容用 JavaScript 輸出, 加上 nofollow 等等.
這么做有沒有后遺癥? 是有的. 如果某人的瀏覽器不支持 JavaScript, 那么他將看不到這部分內(nèi)容. 所以該法可用, 好用, 但請(qǐng)慎用.