Excel宏代码自动检查网站的外链情况
如果你关注SEO外链建设的话,你就需要跟踪那些导入链接。有时候链接出现或者消失,或者加上no-follow(就意味着搜索引擎会忽视掉)等等。你就需要保持跟踪,需要知道你的努力有没有得到回报或者白忙活一场。有些商业软件可以为你监测外链,但是你晓不晓得Excel可以帮你完美地免费帮你实现这一工作。
你可以看到Excel外链检查的Excel文件。
在B2表格中输入网站地址不需要添加“http://”,然后在A5,A6依次往下输入所有应该链接你网站URL的链接。
当你准备好开始检查链接的时候,按下CTRL-SHIFT-B。所有的应该存在的链接都会被检查一遍,检查目标链接是否被加上do-follow以及定位的链接指向的URL。
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顺序,代码就会遍历文档中的所有链接来检查外链。