Z-Blog内链关键字替换插件的修改
文章正文中的关键字内链插件是seo常用的工具,越大的网站,越要更加重视内部链接结构的布局。因为良好的内部链接结构可以引导权值的传递,提高收录,提升内页排名。
搜索引擎算法对网页相关性列在很重要的位置,相关性越好的网页,越容易获得排名。所以,整个网站内部应该围绕相关性来规划网站结构。这也是网站结构规划的最基本原则之一。
z-blog的关键字内链插件有一些,我使用其中一个名为vkeywords的插件进行内链替换,但是使用过程中发现一些问题。
该插件使用全部替换的方式,如果文章包含的关键字很多,则会替换非常多的关键字,这属于过度优化,很容易被搜索引擎惩罚,因此,我不得不对该插件进行了一些修改。
由于该插件的替换算法比较独特,不太好修改,因此,我主要修改的地方有以下:
1、关键字最多替换4次(也可以设置为其他的数字)。
2、某个关键字如果在文章里连续出现,则之后出现的均不替换。
经过这些修改,这个插件应该就不会引起过度seo优化的风险了。
以下为修改方法:
修改function.asp文件的vkeywords,将该函数后面一部分修改为如下代码:
dim reg, patt, m, i, p, s, str, url
dim maxnum, lastmatch
maxnum = 0
lastmatch = ""
str = content
i = 0
p = 0
s = ""
patt = "<a [^>]*>[^<]*</a>|<[^>]*>|"
for i = 0 to ubound(keys)
patt = patt & keys(i) & "|"
next
patt = left(patt, len(patt) - 1)
set reg = new regexp
reg.global = true
reg.ignorecase = true
reg.pattern = patt
dim matches, omatch, j
set matches = reg.execute(str)
for each omatch in matches
if (len(omatch) > 0 and left(omatch, 1) <> "<") and maxnum < 4 and lastmatch <> omatch then
'不是a标签的时候执行替换
for j = 0 to ubound(keys) - 1
url = ""
if (lcase(omatch) = lcase(keys(j))) then
'如果是需要替换的值就替换
url = "<a href=""" & urls(j) & """ title=""" & titles(j) & """ "
if ((j) <> "") then
url = url & " target=""" & windows(j) & """ "
end if
url = url & ">" & keys(j) & "</a>"
if (omatch.firstindex > 1) then
s = s & mid(str, p + 1, omatch.firstindex - p) & url
else
s = url
end if
p = omatch.firstindex + len(keys(j))
j = ubound(keys)
maxnum = maxnum + 1
lastmatch = omatch
end if
next
end if
next
s = s & right(str, len(str) - p)
vkeywords = s
上一篇: Uber自驾驶专利曝光:自动驾驶车辆将与行人“沟通”
下一篇: 小米10要来了 雷军敢卖多少钱?