搜索

首页  >  问答  >  正文

如何实时更新网页标题?

<p>我有一个网页,实现了一组选项卡,每个选项卡显示不同的内容。选项卡的点击不会刷新页面,而是在客户端隐藏/显示内容。</p> <p>现在有一个要求,根据页面上选择的选项卡来更改页面标题(出于SEO原因)。这是否可能?有人可以提供一种通过javascript动态修改页面标题而不重新加载页面的解决方案吗?</p>
P粉037880905P粉037880905489 天前457

全部回复(2)我来回复

  • P粉788571316

    P粉7885713162023-08-23 10:40:07

    我想要从未来向你打个招呼 :) 最近发生的事情:

    1. Google现在可以运行你网站上的javascript代码1
    2. 人们现在使用像React.js、Ember和Angular这样的工具来运行页面上的复杂javascript任务,而且Google仍然可以索引到它们1
    3. 你可以使用html5的历史API(pushState、react-router、ember、angular),这样你可以为每个要打开的选项卡设置单独的URL,而Google会对其进行索引1

    所以,回答你的问题,你可以安全地通过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网站管理员工具中使用Fetch as Google服务。

    1: http://searchengineland.com/tested-googlebot-crawls-javascript-heres-learned-220157

    回复
    0
  • P粉959676410

    P粉9596764102023-08-23 00:34:11

    更新:根据SearchEngineLand上的评论和参考资料,大多数网络爬虫将索引更新后的标题。下面的答案已经过时,但代码仍然适用。

    回复
    0
  • 取消回复