WordPress 留言連結重定向跳轉,主要是對百度來做的,因為 WordPress 留言預設的用 rel='external nofollow'有效地防止了垃圾留言。但是這個對百度沒有作用,百度對匯出連結的要求很高,所以只好對這些留言連結做了重定向跳轉。實現方法:找到您正在的使用的主題,開啟主題支援函式 functions.php 檔案,在最後面?> 前新增重定向程式碼,WordPress 評論連結的網址重定向跳轉程式碼如下:

url 定向程式碼

//comments link redirect // 修改 2011.09.02
add_filter('get_comment_author_link', 'add_redirect_comment_link', 5);
add_filter('comment_text', 'add_redirect_comment_link', 99);
function add_redirect_comment_link($text = ''){
$text=str_replace('href="',%20'href="'.get_option('home').'/?r=', $text);
$text=str_replace("href='", "href='".get_option('home')."/?r=", $text);
return $text;
}
add_action('init', 'redirect_comment_link');
function redirect_comment_link(){
$redirect = $_GET['r'];
$host = $_SERVER['HTTP_HOST'];
if($redirect){
if(strpos($_SERVER['HTTP_REFERER'],get_option('home')) !== false){
header("Location: $redirect#form:$host");
exit;
}
else {
header("Location: $redirect#form:$host");
exit;
}
}
}

這個程式碼是我在網上找的,但是我經過了一個小小的修改,先給大家看看效果。

比如下面一個使用者在我部落格留下的網址,經過以上定向以後的 url 地址就成了 http://www.bluefate.org/?r=http://www.ytwy360.com,當你點選連結,這個地址就會自動轉跳到他的網站,不過這裡有個小小的變化,變成了這樣 http://www.ytwy360.com/#form:www.bluefate.org,呵呵,網址後面多了一個 #form:www.bluefate.org,這個是怎麼實現的呢?其實就是多了一點點程式碼 $host = $_SERVER['HTTP_HOST']; 和 #form:$host,如果不想要的話,就在上面的程式碼中去掉就行了。

上面實現了,連結的轉跳,接下來就是要實現連結在新視窗中開啟了。開啟 wp-includes 目錄下的 comment-template.php 檔案,到第 147 行左右 (WordPress3.1) 的 get_comment_author_link() 函式 (也就是 function get_comment_author_link( $comment_ID = 0 )),在第 155 行 else $return 這行 a 標籤里加入 target=‘_blank’ 屬性,修改後上傳即可。

然後我們再用 robots.txt 檔案中增加一行 Disallow:/?r=* ,禁止搜尋引擎索引這個連結,就 OK 了,robots.txt 檔案百度是完全支援的。