首页 > 解决方案 > 如何覆盖元标记?

问题描述

我有一个网站托管在一个荒谬的地方。今天早些时候,他们将此添加到我页面的“头部”部分。

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

不幸的是,我无法直接更改代码,但我可以访问 Robots.txt(他们也搞砸了,但我已经修复了它)、JavaScript 和 Html。有什么办法可以从我的网站上删除那个标签吗?我尝试了这个解决方案,但它似乎不起作用:

document.querySelector('meta[name="robots"]').setAttribute("content", "all");

除了明显的“是时候搬到不同的主机了哈哈”之外,我还有什么其他方法可以做到这一点?也许最终,我可以添加到 Robots.txt 来覆盖它?

标签: javascripthtml

解决方案


您是否尝试过从 dom 中删除元标记并添加一个新标记?

像这样:

document.querySelector("[name='robots']").remove();

let metatag = document.createElement('meta');
metatag.setAttribute('name', 'robots');
metatag.content = 'all';
document.getElementsByTagName('head')[0].appendChild(metatag);

推荐阅读