外链是一个网站赢得搜索引擎青睐的重要因素之一,拥有强大且健康的外链才能在搜索引擎不断的算法改进中抵挡住各种狂风暴雨而屹立不倒。但是,有时候,我们会发现网站的外链一夜之间暴增,在这一链难求的时代,不要太爽呀,等等,千万不要高兴太早,睁大眼睛看仔细再点开看看,靠,全是垃圾外链,这些垃圾外链非但不能有助于网站的排名反而会被搜索引擎“关注的”,如果垃圾外链达到一定的量轻则降权,重则被K。
幸好,强大的百度站长工具提供了拒绝外链的功能,帮助我们及时清理这些垃圾外链,但如果我们的网站外链较多,要一条一条的找出这些垃圾还是比较累人的。好在,懒人总有懒人的办法,笔者经过摸索,我发现这些垃圾链接有一个共同的特点,就是网址中包含了些莫名奇妙的字母,如
本文正是通过这一特征利用excel提供的VBA进行过滤的,下面介绍具体方法。
第一步,从站长工具平台下载所有外链,百度站长平台提供了下载数据的功能,我们下载下来,默认为csv格式。
第二步,用excel打开保存的文件,另存为.xls格式,如我的外链.xls这是标准的excel格式了。插入一个工作表,将它拖到第二位置,如下图。
第三步,这也是最重要的一步了,打开excel菜单》工具》宏》Visual Basic编辑器
添加一个用户窗体,拖1个文本框取名Txt_Rows,再拖一个按钮取名Cmd_Find,构成如下界面
再点编辑器菜单上的工具》引用,我们引用一个正在表达式对象Microsoft VBScript Regular Expressions 5.5
现在我们双击查找垃圾外链按钮,进入编程模式,输入以下代码
Private Sub Cmd_Find_Click()
With Worksheets(1)
For i = 1 To Int(Txt_Rows.Text)
a = .Cells(i, 2).Value '原始链接
b = GetValue(a, "([A-Z0-9]{2}\.){4,}", 0)
If b <> "" Then
t = t + 1
Worksheets(2).Cells(t, 1) = a
End If
Next
End With
MsgBox "执行完毕"
End Sub
Function GetValue(ByVal Content As String, ByVal patten As String, ByVal n As Integer)
On Error Resume Next
Dim objRE As New RegExp
Dim objMatches As MatchCollection
objRE.pattern = patten
objRE.Global = False
objRE.IgnoreCase = True
Set objMatches = objRE.Execute(Content)
If objMatches.Count > 0 Then
m = objMatches.Item(0).SubMatches(n)
GetValue = m
End If
Set objMatches = Nothing
Set objRE = Nothing
If Err Then MsgBox Err.Description
End Function
好了,运行一下(点击如下图编辑器菜单上的三角形),
输入表格总行数,即可得到结果,
复制后,进入百度站长工具平台,批量提交
至此,大功搞成,等待百度站长平台处理,但生效时间较慢,笔者的经验大约是30天左右,本文由专业的垂直招聘网站农业畜牧人才网http://www.5ajob.com/原创转载请注明出处,本文介绍的方法,简单易行,关键是观察垃圾外链的结构,如果有另外特殊的结构,修改其中的正则部分代码即可,为了网站的良性健康发展,充分利用站长平台提供给我们的工具也是非常必要的。