建站经验 experience
当前位置:首页 > 网站建设专题 > 建站经验
Excel宏代码自动检查网站的外链情况
发布日期:2011-10-20 阅读次数:1153 字体大小:

如果你关注SEO外链建设的话,你就需要跟踪那些导入链接。有时候链接出现或者消失,或者加上no-follow(就意味着搜索引擎会忽视掉)等等。你就需要保持跟踪,需要知道你的努力有没有得到回报或者白忙活一场。有些商业软件可以为你监测外链,但是你晓不晓得Excel可以帮你完美地免费帮你实现这一工作。

你可以看到Excel外链检查的Excel文件。

before-run.png

在B2表格中输入网站地址不需要添加“http://”,然后在A5,A6依次往下输入所有应该链接你网站URL的链接。

当你准备好开始检查链接的时候,按下CTRL-SHIFT-B。所有的应该存在的链接都会被检查一遍,检查目标链接是否被加上do-follow以及定位的链接指向的URL。

after-run.png

Excel是如何工作的

基本上宏代码所做的就是取得每个页面的内容检查上面的链接。

只有每个页面上链向你网站的第一个链接会被考虑检查。如果你的链接出现的话那么锚文本和链向你页面的网址就会显示在Excel中。如果外链未被发现那么也会出现一个信息。

这个主要的宏代码CheckBacklinks 会为每一个需要更新的URL创建一个CheckBacklinks的对象,然后等待所有的对象执行结束。

和之前介绍的Excel自动检查网站排名一样,我也是使用的WinHTTP和User-Agent IE7伪装抓取页面内容。

不像之前的工具,这里使用的代码是异步 I/O模式。在这个模式下一旦页面内容已经下载完成VBA代码就会得到一个事件通知。这样可以允许我们同时取得页面内容,我们假设列表中的很少网址将驻留在同一物理服务器上是非常棒的。

Private WithEvents http As WinHttp.WinHttpRequest

Sub http_OnResponseFinished()

...

End Sub

还和之前工具不一样的是,HTML解析使用的是MSHTML库。通过利用HTML文档模型,我们可以得到页面的DOM。就像页面已经在IE浏览器打开一样。

Dim doc As New HTMLDocument

doc.body.innerHTML = http.ResponseText

For Each link In doc.Links

...

Next

顺着DOM顺序,代码就会遍历文档中的所有链接来检查外链。