【问题标题】:Block some of dynamic pages from search engines阻止搜索引擎的一些动态页面
【发布时间】:2015-11-03 18:06:59
【问题描述】:

我需要从搜索引擎中屏蔽我的一些网页。我该怎么做? 应用程序是使用 ASP.net MVC 和 AngularJS 开发的。提前致谢。

这些是我想从搜索引擎中屏蔽的网址。

http://localhost:12534/myurl123-event?participant=12957

http://localhost:12534/myurl123-event

注意:网址的最后一部分是动态(即myurl123-event?participant=12957myurl123-event)。

【问题讨论】:

    标签: asp.net-mvc angularjs search-engine googlebot


    【解决方案1】:

    您可以使用带有禁止设置的 robots.txt:

    User-agent: *
    Disallow: /myurl123-event
    

    如果你想阻止一切,那么你可以使用

    Disallow: /*
    

    或者您可以将所有动态页面放在一个路由中(或者使用控制器名称,如果您的路由是简单的控制器/方法/id)

    Disallow: /dynamic/
    

    【讨论】:

    • 但是我的网址是动态的。那么在这种情况下我该怎么做呢?
    • 正是这个。此外,如果123 部分是动态的,则应该使用通配符(使用*,类似于/myurl*)。好的爬虫会尊重它,如果一个人试图阻止 所有 爬虫(即不尊重 robots.txt 的爬虫),他们将很难过。
    • @DRobinson 实际上整个 url 是动态的,即myurl123-event。我可以这样做吗?我需要使用regex 或类似的东西吗?
    • 你能解释一下关于第三个选项(路由内的动态页面)的更多信息吗?如何将它与我的动态网址一起使用?
    【解决方案2】:

    Google 首选的方式是使用规范链接:

    <link rel="canonical" href="http://somedomain.com/myurl123-event" />

    这个标签的作用是告诉搜索引擎应该在这些包含动态查询字符串参数的页面上索引什么URL。

    在此处查看有关它们的更多信息:Google link

    使用这些您不必担心意外将您网站的某些部分列入黑名单,例如使用 robots.txt 文件并影响您的流量。

    【讨论】:

    • 我也可以使用动态网址吗?
    • 这些链接标签位于包含所有可选动态查询字符串参数的页面标题中,它告诉搜索引擎您更喜欢哪个 URL。所以……是吗?查看链接了解更多详情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多