如何覆盖 html 中的现有元标记?
How to override an existing meta tag in html?
我有一个 html 文档带有这个元标记 :
<meta name="robots" content="noindex, nofollow">
我想将这个标记保留在头部,但用这个新声明覆盖它:
<meta name="robots" content="index, follow">
我应该把覆盖标签放在第一个标签之前还是之后?
如果我们只考虑 robots 元标记:
最好的方法是在页面输出中只包含正确的元标记。
没有 HTML 约定来覆盖元标记,因此使用它们的不同服务(浏览器、搜索引擎等)将对具有多个冲突元标记的效果进行不同的解释。
在您的情况下,无法保证不同的搜索引擎将如何遵循您的漫游器指令。其中一些可能使用第一次出现,其他人可能使用最后一次出现,Google 可能使用限制性更强的指令。
这里提到了最后一个 Official Google Blog Post,但它是从 2007 年开始的,情况可能会发生变化。
尽管有一种方法可以动态更改带有 Jquery 的元标记的内容,方法如下:
$("meta[name='robots']").attr('content', 'index, follow');
同样不能保证这会产生预期的效果。
Google 在抓取您的页面时执行 JavaScript(我不确定它会遵守此规则),但其他搜索引擎可能不会。
有关 Google 在抓取页面时执行 JavaScript 的其他信息:
我有一个 html 文档带有这个元标记 :
<meta name="robots" content="noindex, nofollow">
我想将这个标记保留在头部,但用这个新声明覆盖它:
<meta name="robots" content="index, follow">
我应该把覆盖标签放在第一个标签之前还是之后?
如果我们只考虑 robots 元标记:
最好的方法是在页面输出中只包含正确的元标记。
没有 HTML 约定来覆盖元标记,因此使用它们的不同服务(浏览器、搜索引擎等)将对具有多个冲突元标记的效果进行不同的解释。
在您的情况下,无法保证不同的搜索引擎将如何遵循您的漫游器指令。其中一些可能使用第一次出现,其他人可能使用最后一次出现,Google 可能使用限制性更强的指令。
这里提到了最后一个 Official Google Blog Post,但它是从 2007 年开始的,情况可能会发生变化。
尽管有一种方法可以动态更改带有 Jquery 的元标记的内容,方法如下:
$("meta[name='robots']").attr('content', 'index, follow');
同样不能保证这会产生预期的效果。 Google 在抓取您的页面时执行 JavaScript(我不确定它会遵守此规则),但其他搜索引擎可能不会。
有关 Google 在抓取页面时执行 JavaScript 的其他信息: