如何动态更改网页的标题?

我有一个网页,实现了一组标签,每个标签显示不同的内容。 标签点击不会刷新页面,而是隐藏/取消隐藏客户端的内容。

现在需要根据页面上选择的标签更改页面标题(出于搜索引擎优化的原因)。 这可能吗? 有人可以建议一个解决方案,通过JavaScript动态改变页面标题,而不需要重新加载页面?


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

你可以做一些类似于document.title = "This is the new page title."; ,但这会完全击败SEO的目的。 大多数爬虫首先不会支持JavaScript,因此他们会将元素中的任何内容作为页面标题。

如果您希望这与大多数重要抓取工具兼容,那么您将需要实际更改标题标签本身,这将涉及重新加载页面(PHP等)。 如果您想以抓取工具可以看到的方式更改页面标题,则无法解决该问题。


我想从未来问好:)最近发生的事情:

  • Google现在可以在您的网站上运行JavaScript1
  • 人们现在使用诸如React.js,Ember和Angular之类的东西在页面上运行复杂的JavaScript任务,并且它仍然通过Google1索引
  • 你可以使用html5 history api(pushState,react-router,ember,angular),它允许你为每个你想要打开的标签做一些独立的url,Google会为它编制索引1
  • 因此,要回答您的问题,您可以安全地更改JavaScript中的标题和其他元标记(如果您想要支持非Google搜索引擎,您还可以添加类似https://prerender.io的内容),只需将它们作为单独的url进行访问即可(否则谷歌会如何知道这些是不同的页面在搜索结果中显示?)。 改变搜索引擎优化相关的标签(用户通过点击某些东西改变了页面)很简单:

    if (document.title != newTitle) {
        document.title = newTitle;
    }
    $('meta[name="description"]').attr("content", newDescription);
    

    只要确保在robots.txt中未封锁css和javascript,您就可以在Google网站管理员工具中使用Google抓取方式

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


    我无法看到如何通过JavaScript更改页面标题将有助于搜索引擎优化。 大多数(或全部)搜索漫游器不运行Javascript,只会读取最初加载的标题,即标记。

    如果您想帮助搜索引擎优化,那么您需要更改后端的页面标题并提供不同版本的页面。

    链接地址: http://www.djcxy.com/p/88855.html

    上一篇: How to dynamically change a web page's title?

    下一篇: Resize image proportionally with CSS?