時間:2022-07-23 07:36:01 | 來源:建站知識
時間:2022-07-23 07:36:01 來源:建站知識
Wordpress作為一種主流的博客系統(tǒng),得到很多站長的青睞。事實上,wordpress也非常利于seo,今天就來說說wordpress中的固定鏈接設(shè)置以及優(yōu)化。
固定鏈接一般有5種形式:默認的?p=id形式,日期+名稱形式,數(shù)字形式,還有就是自定義結(jié)構(gòu)。大家可以發(fā)現(xiàn)大多數(shù)的wordpress網(wǎng)站都是使用的最后一種自定義結(jié)構(gòu)形式,因為這樣的形式有利于搜索引擎優(yōu)化。那么,自定義結(jié)構(gòu)又應(yīng)該怎么設(shè)置好呢?
一般的自定義結(jié)構(gòu)主要有以下兩種:直接設(shè)置為/%postname%/或者是設(shè)置成/%postname%.html。其中%postname%就是文章的自定義網(wǎng)址,這個在寫文章的時候會自動生成以文章標(biāo)題為網(wǎng)址的鏈接。當(dāng)然了,中文站一般使用插件來翻譯,或者是自己編輯成拼音的形式。個人推薦拼音的形式,可以把文章內(nèi)容的主要關(guān)鍵詞用拼音寫出來,這樣更有利于排名。
以上說的兩種自定義結(jié)構(gòu)都很好,那么應(yīng)該選擇哪種好呢?依筆者的一點淺見,選擇/%postname%/結(jié)構(gòu)比較好。為什么這么說呢?選擇前者,事實上搜索引擎就把你的文章當(dāng)成了網(wǎng)站子目錄的首頁,而選擇后者就是當(dāng)作根目錄下的一個html文檔。那么,子目錄的首頁和根目錄的普通頁面哪個權(quán)重高呢?應(yīng)該是二級目錄的首頁,因此筆者推薦使用前者,即如同/%postname%/這樣的結(jié)構(gòu)。
固定鏈接設(shè)置好后,只要點擊“更新”就可以了。如果是linux主機,wordpress會自動生成.htaccess,相當(dāng)于固定鏈接就這樣設(shè)置好了;然而windows主機就要麻煩不少,需要站長自己撰寫httod.ini,并上傳到根目錄。這里提供一個范本。
[ISAPI_Rewrite]
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /sitemap.html /sitemap.html [L]
RewriteRule /favicon.ico /favicon.ico [L]
RewriteRule /wap(.*) /wap$1 [L]
RewriteRule /content/uploads/(.*) /content/uploads/$1 [L]
RewriteRule /wp-(.*) /wp-$1 [L]
RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]
只要把以上代碼粘貼到文本文檔中,再另存為httpd.ini并上傳到根目錄就行了。需要注意的是,由于win主機在這方面的嚴(yán)重缺陷,以上代碼也有個小漏洞,就是網(wǎng)站所有文件都無法訪問。解決方法也很簡單,如果是根目錄的文件,只要添加RewriteRule /文件名 /文件名 [L] 就行了,而目錄除了范本中已經(jīng)出現(xiàn)的以外,只要添加RewriteRule /文件夾目錄/(.*) /文件夾目錄/$1 [L]就可以了。至此,wordpress的固定鏈接設(shè)置總算是完成了。
那么,設(shè)置了自己的固定鏈接,默認的?p=id形式的鏈接還能訪問嗎?答案是可以的。又要說道linux主機和win主機的優(yōu)劣了。如果是linux主機,訪問?p=形式的網(wǎng)頁會自動301跳轉(zhuǎn)到別名的文章頁(即你自己設(shè)置的鏈接),然而win主機則不會,由此就造成了每個文章頁面都可以用兩種不同的鏈接訪問。這樣對搜索引擎是很不友好的,因此必須要讓短鏈接301跳轉(zhuǎn)到別名鏈接。那么怎么設(shè)置呢?只要在模板中找到header.php,在頭部添加如下代碼就可以了。
if($_GET['p']||$_GET['page_id']){
if($_GET['p'])$id=$_GET['p'];
if($_GET['page_id'])$id=$_GET['page_id'];
$post= get_post($id);
$name=$post->post_name;
header('HTTP/1.1 301 Moved Permanently');//發(fā)出301頭部
header('Location: '.bloginfo('url').'/'.$name.'/');
exit();
}else if($_GET['cat']){
$id=$_GET['cat'];
$cat=get_category($id);
$name=$cat->slug;
header('HTTP/1.1 301 Moved Permanently');
header('Location: '.bloginfo('url').'/cat/'.$name.'/');
exit();
}else if($_GET['tag']){
$name=$_GET['tag'];
header('HTTP/1.1 301 Moved Permanently');
header('Location: '.bloginfo('url').'/tag/'.$name.'/');
exit();
}?>
呵呵,這下總算是大功告成了,無論是linux主機還是win主機,都算是真正做好了固定鏈接。由此也可見,如果用wordpress系統(tǒng)的話,盡量使用linux主機。以上是睡眠枕頭網(wǎng)(www.89948.net)站長的一點心得,歡迎提意見和轉(zhuǎn)載,轉(zhuǎn)載請注明鏈接哦,謝謝!
關(guān)鍵詞:技巧,固定,虛擬,主機,設(shè)置
微信公眾號
版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。