2

我相信有一个简单的解决方案:

我们有一个使用 Ajax 供用户浏览内容的 ASP 页面。我们的问题是,当 Google 抓取我们的网站时,它会将其搜索结果链接到未设置样式的内容页面。我们希望能够将流量从内容页面重定向到调用它们的样式页面。我们如何在不将页面发送到无限重定向循环的情况下完成此操作?

我们已经考虑过解决问题的其他方法,但这正是我们想要完成的;将我们的 .ASP 页面重定向到包含它们的页面,而不会将它们发送到循环中。当然,任何人都有我们尚未考虑的任何建议。

我已经浪费了一整天的时间试图找到一个在 ASP 中运行但没有任何运气的解决方案,我可能会花费明天的所有时间做同样的事情......期待任何建议,谢谢。

4

1 回答 1

2

当然会有助于查看代码,或者知道实时 URL,但这里有......

我想你已经有代码来做重定向,你只需要一个系统来知道什么时候重定向,什么时候不重定向?

几个建议:

  • 检查内容页面中的引荐来源网址,如果它不是您的 AJAX 请求,则进行重定向(不确定您的 AJAX 代码是否会填充引荐来源网址,如果没有,则如果有引荐来源网址,则进行重定向,因为搜索引擎将始终有推荐人)
  • 在调用 ASP 页面时存储一个 Session 变量,并检查它是否存在于内容页面中,如果不存在则进行重定向
  • 在调用 ASP 页面时存储一个 Cookie,并检查它是否存在于内容页面中,如果不存在则进行重定向
  • 将您的 AJAX 请求更改为表单 POST 而不是 GET,如果不是 POST,则在内容页面中进行重定向

编辑: 我没有想到的一件事是,如果您使用我的任何建议,搜索引擎可能无法抓取这些页面,因此我还建议您添加用户代理检查以允许抓取工具

查看您的代码后,我会将以下内容添加到您的 ASP 无样式页面的顶部。

strAgents = "Google|msnbot|Rambler|Yahoo|AbachoBOT|accoona|AcioRobot|ASPSeek|CocoCrawler|Dumbot|FAST-WebCrawler|GeonaBot|Gigabot|Lycos|MSRBOT|Scooter|AltaVista|IDBot|eStyle|Scrubby"
arrAgents = Split(strAgents, "|")
blnAgent = False
For i = 0 to UBound(arrAgents)
    If InStr(Request.ServerVariables("HTTP_USER_AGENT"), arrAgents(i)) <> 0 Then
        blnAgent = True
        Exit For
    End If
Next

If Not blnAgent Then
    If Request.ServerVariables("HTTP_REFERER") <> "http://www.uleth.ca/lib/archives/timeline/" Then
        Response.Redirect("http://www.uleth.ca/lib/archives/timeline/#19xx?zoom_highlight=19xx")
    End If
End If
于 2012-09-26T11:47:45.250 回答