代码之家  ›  专栏  ›  技术社区  ›  Manel

如何覆盖html中现有的元标记?

  •  2
  • Manel  · 技术社区  · 8 年前

    我有一个带有这个meta标签的html文档:

    <meta name="robots" content="noindex, nofollow"> 
    

    我想保留这个标签,但用这个新声明覆盖它:

    <meta name="robots" content="index, follow">
    

    我应该把重写标记放在第一个标记之前还是之后?

    1 回复  |  直到 8 年前
        1
  •  6
  •   iivannov    8 年前

    如果我们只考虑 机器人 元标记:

    最好的方法是在页面输出中只包含正确的元标记。


    并没有HTML惯例来覆盖元标记,所以使用它们的不同服务(浏览器、搜索引擎等)会对多个冲突元标记的效果做出不同的解释。

    在你的情况下,无法保证不同的搜索引擎会遵循你的机器人指令。其中一些可能使用第一次出现,其他可能使用最后一次出现,谷歌可能使用更严格的指令。

    这里提到了最后一个 Official Google Blog Post ,但这是从2007年开始的,事情可能会发生变化。


    尽管有一种方法可以使用Jquery动态更改元标记的内容,方法如下:

    $("meta[name='robots']").attr('content', 'index, follow'); 
    

    同样无法保证这会产生预期效果。 谷歌在抓取页面时执行JavaScript( 我不确定它会尊重这一点 ),但其他搜索引擎可能不会。

    有关Google在抓取页面时执行JavaScript的其他信息: