gpt4 book ai didi

javascript - 停止搜索引擎索引页面的特定部分

转载 作者:IT王子 更新时间:2023-10-28 23:54:13 26 4
gpt4 key购买 nike

我有一个 php 页面,可以呈现一本假设有 100 页的书。每个页面都有一个特定的 url(例如 /my-book/page-one/my-book/page-two 等)。

翻页时,我使用 history API 更改 url,使用 url.js

由于所有书籍内容都是从服务器端呈现的,问题是内容被搜索引擎索引(特别是我指的是谷歌),但是 url 是错误的(例如它在 page-two 上找到了一个片段但是网址是 page-one)。

如何阻止搜索引擎(至少是 Google)索引页面上的所有内容,而只索引可见的书页?

如果我以不同的方式呈现内容是否可行:例如,<div data-page-number="1" data-content="Lorem ipsum..."></div>,然后在 JavaScript 端将其更改为所需的格式?这会使页面变慢,事实上我不确定 Google 是否不会通过 JavaScript 索引更改的内容。

代码如下所示:

<div data-page="1">Page 1</div>
<div data-page="2">Page 2</div>
<div data-page="3" class="current-page">Page 3</div>
<div data-page="4">Page 4</div>
<div data-page="5">Page 5</div>

然后唯一可见的 div 是 .current-page 那个。相同的内容在多个 url 上提供,因为这是用户可以在页面之间切换所必需的。

例如,/book/page/3 将呈现这段 HTML,而 /book/page/4 呈现相同的内容,唯一的区别是添加到第 4 个元素的 current-page 类。

Google 确实索引了不同的 url,但它做错了:例如,片段 Page 5 链接到 /book/page/2,它呈现给用户 Page 2(而不是 Page 5)。

如何告诉 Google(和其他搜索引擎)我只对索引 .current-page 中的内容感兴趣?

最佳答案

据我了解,他的问题是许多网址的内容相同。喜欢:

www.my-awesome-domain.com/my-book/page/42

www.my-awesome-domain.com//my-book/page/7

还有页面的可见内容可通过 JavaScript 调整,用户在单击您网站上的某些元素时执行。

在这种情况下,您需要做两件事:

  1. 按照此 google 文档中描述的任何方式将您的 URL 标记为规范页面:https://support.google.com/webmasters/answer/139066?hl=en
  2. 您需要添加一个功能,使每个页面在整页刷新后加载到相同的状态,例如,您可以在导航时使用散列参数,如文章 here 中所要求的那样: 或者这里是 overview of the technique

今天,谷歌机器人正在执行 JavaScript,正如其官方博客中所宣布的那样: https://webmasters.googleblog.com/2015/10/deprecating-our-ajax-crawling-scheme.html

因此,如果您在点击刷新 (F5) 时实现正确的页面行为并指定规范页面属性,页面将被正确抓取,并且当您点击链接时,您将到达链接页面。

如果您需要更多指导如何在 url.js 中执行此操作,请发布另一个问题(以便为其他人提供适当的文档),我很乐意提供帮助。

关于javascript - 停止搜索引擎索引页面的特定部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37069235/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com