国产欧美二区三区-国产欧美高清-国产欧美国产精品第二区-国产欧美国产精品第一区-小说区 图片区-小说区 综合区 都市激情

當(dāng)前位置: 首頁 > 站長(zhǎng)資訊 > 正文頁面

DEDE文章中的keywords與tags

DEDE的“關(guān)鍵詞”是個(gè)多處使用、容易混淆的概念,起碼我知道的常用在這幾處:Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

1、文章中作為SEO關(guān)聯(lián)詞來替換鏈接的,叫關(guān)鍵詞,代碼是keyword。需要在后臺(tái)手工添加關(guān)鍵詞和相應(yīng)鏈接,生成文章時(shí)把這些詞自動(dòng)替換為錨文本,可指定替換次數(shù)。Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

2、文章中關(guān)聯(lián)其它文章的詞,也叫關(guān)鍵詞,代碼有兩個(gè),是keywords和tags。Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

3、用來搜索的詞,叫關(guān)鍵詞,代碼還沒去查。Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

我主要講講與文章有關(guān)的關(guān)鍵詞,keywords和tags。Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

在DEDE的發(fā)布文章中,填寫的是tags,然后寫入tag相關(guān)的兩個(gè)表,一個(gè)是tag表名,一個(gè)是文章列表。但tags與文章主表不相關(guān),所以平時(shí)調(diào)用文章內(nèi)容時(shí),都是無法調(diào)用tags的。Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

調(diào)用文章時(shí)調(diào)的是keywords,這個(gè)是文章主表dede_archives中有字段。但keywords又不是獨(dú)立存在的,是依附于tags。如果發(fā)文章時(shí)填寫了tags,則keywords自動(dòng)變成一樣,相當(dāng)于把tags復(fù)制一份。在調(diào)用文章、處理自由列表時(shí),都是用的keywords而不是tags,就是因?yàn)閗eywords可以直接從主表中讀取。Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

那么問題來了:如果是采集的文章,keywords有可能是一些亂七八糟的詞,不管是在后臺(tái)一篇篇文章打開,還是把數(shù)據(jù)表下載回來一個(gè)個(gè)整理,都是非常麻煩的事,相對(duì)來說整理dede_tagindex和dede_taglist這兩個(gè)容易得多,刪除亂詞就行了。Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

但這樣一來,keywords與tags就不一致了。tags是正確的,而keywords卻很亂。但文章生成時(shí),顯示的還是keywords,前臺(tái)看到的tag這個(gè)標(biāo)簽還是亂的,自由列表、相關(guān)文章調(diào)用時(shí)就不是預(yù)期的結(jié)果。Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

研究了各個(gè)相關(guān)代碼后發(fā)現(xiàn),DEDE把tags復(fù)制一份再寫入keywords其實(shí)是一個(gè)多余的做法,只要稍微修改一下調(diào)用代碼,這個(gè)keywords就可以廢棄不用。Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

比如生成文章的arc.archives.class.php本身有一個(gè)調(diào)用tags的函數(shù)$this->Fields['tags'] = GetTags($aid);根本不需要keywords這一步就把tags調(diào)出來了,而且模板代碼都解析好了。文章模板默認(rèn)是調(diào)用的keywords字段,換成tags字段一樣可顯示。Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

<meta name="keywords" content="{dede:field.keywords/}" />Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

改成如下就可以了Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

<meta name="keywords" content="{dede:field.tags/}" />Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

至于相關(guān)文章、自由列表什么的,同樣只需要添加GetTags($aid)這個(gè)函數(shù)就可以讀出來,完全沒keywords什么事,主表中的keywords這個(gè)字段可以刪除或清空了。Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

在采集的時(shí)候,默認(rèn)是寫入keywords字段而不理會(huì)tags的,很多人采集回來的文章只在文章頁面顯示所謂的tag,但真正的tag列表頁tags.php中卻看不到,再次說明keywords的用處真的很小。Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

也就是說,keywords能發(fā)揮作用的地方,用tags替代的效果是一樣一樣的。而tags發(fā)揮作用的地方,keywords無能為力。那keywords其實(shí)就是一個(gè)多余的東西嘛!Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

采集時(shí)只寫入keywords不寫入tags怎么辦呢?當(dāng)然有辦法。因?yàn)镈EDE默認(rèn)就有寫入tags的函數(shù)InsertTags($tag, $aid),只需要在采集文件中添加兩行代碼就可以了。思路就是:Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

1、讓tags=keywordsDvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

2、添加函數(shù)InsertTags($tag, $aid)Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

這樣凡是有keywords的,tags也一樣有了。總之就是keywords就是多余了。Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

如果追求完美主義,非要保留keywords字段且非要跟tags內(nèi)容相同,也容易:在生成文章的文件arc.archives.class.php中添加一個(gè)寫入代碼,讓讀取出來的tags寫進(jìn)keywords里就可以了。寫法是這樣的:找到以下代碼Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

$this->dsql->ExecuteNoneQuery("Update `dede_archives` SET ismake=1 WHERE id='".$this->ArcID."'");Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

這個(gè)代碼是在生成文章以后,把文章狀態(tài)修改為“已生成”,那就可以同時(shí)把keywords也變一變,改成這樣:Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

$this->dsql->ExecuteNoneQuery("Update `dede_archives` SET ismake=1,keywords='{$this->Fields[tags]}' WHERE id='".$this->ArcID."'");Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

以上修改我已經(jīng)實(shí)施了,原因就是采集時(shí)不小心采了很多亂亂的keywords回來,留著惡心,清空了,連帶tags的相應(yīng)內(nèi)容也刪除了。然后利用“批量添加tags”的功能添加了很多,由于是在列表頁添加的,keywords還是為空,非要打開文章編輯頁才會(huì)把keywords變得跟tags一致。由于文章有幾千篇,這顯示是不可能的事,所以就添加這個(gè)寫入代碼,然后在把這幾千篇文章重新生成一遍,keywords就跟tags一樣了。Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

如果文章都生成靜態(tài)的話,其實(shí)真的可以把keywords這個(gè)字段刪除,只使用tags就可以了。Dvx網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

  

此文由 網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口 編輯,未經(jīng)允許不得轉(zhuǎn)載!:

相關(guān)文章