我有一个网页,它实现了一组选项卡,每个选项卡都显示不同的内容。单击选项卡不会刷新页面,而是在客户端隐藏/取消隐藏内容。
现在需要根据页面上选择的选项卡更改页面标题(出于 SEO 原因)。这可能吗?有人可以提出一种解决方案来通过javascript动态更改页面标题而不重新加载页面吗?
我有一个网页,它实现了一组选项卡,每个选项卡都显示不同的内容。单击选项卡不会刷新页面,而是在客户端隐藏/取消隐藏内容。
现在需要根据页面上选择的选项卡更改页面标题(出于 SEO 原因)。这可能吗?有人可以提出一种解决方案来通过javascript动态更改页面标题而不重新加载页面吗?
更新:根据SearchEngineLand上的评论和参考, 大多数网络爬虫都会索引更新的标题。以下答案已过时,但代码仍然适用。
你可以做类似的事情
document.title = "This is the new page title.";
,但这会完全违背搜索引擎优化的目的。大多数爬虫一开始就不会支持 javascript,因此它们会将元素中的任何内容作为页面标题。如果您希望它与大多数重要的爬虫兼容,您将需要实际更改标题标签本身,这将涉及重新加载页面(PHP 等)。如果您想以爬虫可以看到的方式更改页面标题,您将无法解决这个问题。
我想从未来打个招呼:)最近发生的事情:
因此,要回答您的问题,您可以安全地从 javascript 更改标题和其他元标记(如果您想支持非 Google 搜索引擎,还可以添加类似https://prerender.io 的内容),只需将它们作为单独的 url (否则 Google 怎么会知道这些是要在搜索结果中显示的不同页面?)。更改 SEO 相关标签(在用户通过单击某些内容更改页面后)很简单:
if (document.title != newTitle) {
document.title = newTitle;
}
$('meta[name="description"]').attr("content", newDescription);
只要确保 robots.txt 中没有阻止 css 和 javascript,您就可以在 Google Webmaster Tools 中使用Fetch as Google服务。
1:http : //searchengineland.com/tested-googlebot-crawls-javascript-heres-learned-220157
使用document.title
.
有关基本教程,请参阅此页面。
我看不出通过 Javascript 更改页面标题将如何帮助 SEO。大多数(或全部)搜索机器人不运行 Javascript,只会读取作为标记的最初加载的标题。
如果您想帮助 SEO,那么您将需要在后端更改页面标题并提供不同版本的页面。
代码是
document.title = 'test'