Javascript 如何覆盖元标记?

Javascript 如何覆盖元标记?,javascript,html,Javascript,Html,我在一个荒诞的地方建立了一个网站。今天早些时候,他们将此添加到我的页面的“标题”部分 <meta name="robots" content="noindex, nofollow, noarchive"> 除了显而易见的“你该换个主持人了”之外,我还有其他方法可以做到这一点吗?也许最终,我可以在Robots.txt中添加一些东西来覆盖它?您是否尝试过从dom中删除meta标记并添加一个新标记 像这样: document.querySelect

我在一个荒诞的地方建立了一个网站。今天早些时候,他们将此添加到我的页面的“标题”部分

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

除了显而易见的“你该换个主持人了”之外,我还有其他方法可以做到这一点吗?也许最终,我可以在Robots.txt中添加一些东西来覆盖它?

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

像这样:

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

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

您是否尝试过从dom中删除meta标记并添加新标记

像这样:

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

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

可以使用此代码选择元素

document.querySelector("[name='geo.region']")

现在,一旦您有权访问它,就可以覆盖它

您可以使用此代码选择元素

document.querySelector("[name='geo.region']")

现在,一旦您访问了它,就可以覆盖它了

如果覆盖不起作用,请使用锤子:)

删除现有的元节点

document.querySelector('meta[name=“robots”]”)。remove();
创建一个具有所需属性的新属性

const newMeta = document.createElement("meta");
newMeta.setAttribute("name", "robots");
newMeta.setAttribute("content", "all");
document.head.appendChild(newMeta);

如果覆盖无效,请使用锤子:)

删除现有的元节点

document.querySelector('meta[name=“robots”]”)。remove();
创建一个具有所需属性的新属性

const newMeta = document.createElement("meta");
newMeta.setAttribute("name", "robots");
newMeta.setAttribute("content", "all");
document.head.appendChild(newMeta);

在考虑了各种可能的解决方案几个小时后,我最终发现一段简单得多的代码可以工作。由于我无法删除代码,但可以添加到代码中,因此我只添加了以下内容:

<meta name="robots" content="all" />
<meta name="googlebot" content="all" />

这使它起作用了。。。机器人可能会感到困惑,“嘿,我到底该不该给它编索引?!”,但它是有效的,这对我来说很重要


非常感谢大家的帮助

在考虑了各种可能的解决方案几个小时后,我最终发现一段简单得多的代码可以工作。由于我无法删除代码,但可以添加到代码中,因此我只添加了以下内容:

<meta name="robots" content="all" />
<meta name="googlebot" content="all" />

这使它起作用了。。。机器人可能会感到困惑,“嘿,我到底该不该给它编索引?!”,但它是有效的,这对我来说很重要


非常感谢大家的帮助

如果更换主机提供商如此明显,你怎么还和他们在一起?@laurentS。这是一个完全不同的问题。现在,我只想解决这个问题PTry
document.head.querySelector
,它应该work@n9iels,不,不幸的是,它也不起作用……我不确定您希望客户端代码如何工作。好了,机器人不会执行客户端代码,他们只是抓取一个静态字符串,即您的网站正在提供的HTML(即,这就像在您的网站地址上运行
curl
命令)。如果更改主机提供商如此明显,您为什么还与他们在一起?@laurentS。这是一个完全不同的问题。现在,我只想解决这个问题PTry
document.head.querySelector
,它应该work@n9iels,不,不幸的是,它也不起作用……我不确定您希望客户端代码如何工作。好了,机器人程序不执行客户端代码,它们只是抓取一个静态字符串,即您的网站正在提供的HTML(即,这就像在您的网站地址上运行
curl
命令)。对我来说,只需删除标记本身就可以了,但它不起作用。即使在我刷新页面并获得新版本后,谷歌机器人仍然告诉我页面被“noindex”标记排除……对我来说,简单地删除标记本身就可以了,但它不起作用。即使在我刷新页面并获得新版本后,谷歌机器人仍然告诉我页面被“noindex”标记排除在外……对我来说,简单地删除标记本身就可以了,但它不起作用,正如我上面所说的。即使在我刷新页面并获得新版本后,谷歌机器人仍然告诉我页面被“noindex”标记排除在外……对我来说,简单地删除标记本身就可以了,但它不起作用,正如我上面所说的。即使在我刷新页面并获得新版本后,谷歌机器人仍然告诉我页面被“noindex”标签排除…是的,我正在尝试(见上面的用户),但它也不起作用,仍然被阻止…是的,我正在尝试(见上面的用户),但它也不起作用,仍然被阻止。。。