国产又猛又爽又黄视频|在线观看人成视频免费|少妇高潮太爽了在线视频|911国产免费无码专区|特黄做受又大又粗又长大片|欧美一级二级免费在线观看|日日夜人人澡人人澡人人看免|欧洲午夜精品一级毛片在线播放

長(zhǎng)沙論壇制作:多種方法在Discuz論壇的友情鏈接中加入nofollow

2015-01-10 12:48 欄目:技術(shù)開(kāi)發(fā) 查看(16339)

大家都知道在SEO中加入nofollow可以避免我們本頁(yè)的權(quán)重傳遞出去,而更多的保留在站內(nèi)的內(nèi)鏈之中,因此很多時(shí)候我們?cè)诰W(wǎng)頁(yè)一些非重要超鏈接上面加上rel=”nofollow”來(lái)處理,比如聯(lián)系QQ、微博關(guān)注等等,而有時(shí)候就做得更極端一些,干脆所有的外鏈都加上這個(gè)標(biāo)簽。而我們最近接到一個(gè)具體化的需求,就是在Discuz友情鏈接部分加入這個(gè)標(biāo)簽。

1、問(wèn)題分析

如果你是一個(gè)純粹的SEOer或者一個(gè)寫(xiě)靜態(tài)頁(yè)面的設(shè)計(jì)師,那么你肯定會(huì)認(rèn)為這很簡(jiǎn)單,直接在a標(biāo)簽中加上rel=”nofollow”就可以,但實(shí)際上大家可以看下Discuz的模版中的代碼。

<div id="category_lk" class="bm_c ptm">
   <!--{if $_G['cache']['forumlinks'][0]}-->
	 <ul class="m mbn cl">$_G['cache']['forumlinks'][0]</ul>
   <!--{/if}-->
   <!--{if $_G['cache']['forumlinks'][1]}-->
	  <div class="mbn cl">
		$_G['cache']['forumlinks'][1]
	  </div>
    <!--{/if}-->
	<!--{if $_G['cache']['forumlinks'][2]}-->
		<ul class="x mbm cl">
			$_G['cache']['forumlinks'][2]
		</ul>
	<!--{/if}-->
</div>

DZ使用了PHP的模版引擎,因此能夠在模版文件中直接寫(xiě)上一些PHP變量,而上面就是DZ模版中關(guān)于友情鏈接的核心代碼,大家會(huì)發(fā)現(xiàn)這里不是我們想象的那樣,也就不是那種直接把a(bǔ)標(biāo)簽寫(xiě)在模版中,而是讀取一個(gè)$_G的某個(gè)關(guān)鍵字變量。因此很顯然不能直接在模版里修改HTML的結(jié)構(gòu)來(lái)修改。

2、方案一:修改PHP

作為一個(gè)官方認(rèn)證的開(kāi)發(fā)者,我不推薦大家這么做,因?yàn)檫@樣做其實(shí)破壞了DZ的原始結(jié)構(gòu),而且一旦升級(jí)文件又會(huì)被覆蓋,在標(biāo)準(zhǔn)的二次開(kāi)發(fā)過(guò)程中我們應(yīng)該只限修改的template文件夾(修改模版)及source\plugin文件夾(增加插件)。當(dāng)然如果你不在乎這樣就采用這種方式把,因?yàn)檫@個(gè)友情鏈接相關(guān)的文件位于source/function/cache/cache_forumlinks.php。這屬于二次開(kāi)發(fā)不適宜修改的地方,而且更新程序版本的時(shí)候也會(huì)覆蓋掉。
當(dāng)然說(shuō)到了這個(gè)文件位置了,要修改就簡(jiǎn)單了;其實(shí)這個(gè)文件中就一個(gè)build_cache_forumlinks()方法,就是進(jìn)行友情鏈接內(nèi)容緩存的。修改就修改這個(gè)方法中所有的a標(biāo)簽,在a標(biāo)簽中加入rel=”nofollow”就可以。如這里修改最后一個(gè)a標(biāo)簽。

<li><a href="'.$flink['url'].'" target="_blank" title="'.strip_tags($flink['name']).'" rel="nofollow" >'.$flink['name'].'</a></li>

3、方案二:JS

上面那種方式我也說(shuō)了不是一種推薦的方式,而這里說(shuō)的JS方式就是我所推薦的,因?yàn)樗恍枰淖兾覀兊哪0嫖募?,甚至只是插入一段JS即可解決問(wèn)題。在上面開(kāi)始提到的模版文件中一開(kāi)始div標(biāo)簽就用一個(gè)id選擇器category_lk,那么我們就可以來(lái)以此做文章。通過(guò)DOM來(lái)改變(實(shí)際上是增加)我們需要增加的代碼,下面是我寫(xiě)的幾行簡(jiǎn)單的原生JS代碼,測(cè)試沒(méi)問(wèn)題。

<script>
//獲取所有友情鏈接的a標(biāo)簽列表對(duì)象
var tagA=document.getElementById("category_lk").getElementsByTagName("a");
//通過(guò)for..in循環(huán)遍歷所以元素
for(var i in  tagA){
    tagA[i].rel="nofollow";//通過(guò)改變對(duì)象的rel屬性添加nofollow
}
</script>

不管是哪種方式,我們都可以通過(guò)查看當(dāng)前論壇友情鏈接處的源代碼,我們會(huì)發(fā)現(xiàn)所有a標(biāo)簽中都加了一個(gè)nofollow。實(shí)際上大家可以進(jìn)一步控制,比如控制一部分加上,而另外的一部分不加上nofollow。

與我們的項(xiàng)目經(jīng)理聯(lián)系
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流

轉(zhuǎn)載請(qǐng)注明出處:長(zhǎng)沙論壇制作:多種方法在Discuz論壇的友情鏈接中加入nofollow - 微構(gòu)網(wǎng)絡(luò)
分享: