提问者:小点点

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


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

翻转页面时,我使用历史API更改url,使用url.js

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

如何停止搜索引擎(至少谷歌)索引页面上的所有内容,但只索引可见的图书页面?

如果我以不同的方式呈现内容,它会工作吗:例如,

代码如下所示:

<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就是。当前页面1。相同的内容在多个URL上提供,因为这样用户就可以在页面之间切换。

例如,/book/page/3将呈现这段超文本标记语言,而/book/page/4呈现相同的东西,唯一的区别是添加到第4个元素的当前页面类。

谷歌确实为不同的URL编制了索引,但它做得不对:例如,代码片段第5页链接到/book/Page/2,该链接呈现给用户第2页(而不是第5页)。

如何告诉谷歌(和其他搜索引擎)我只对中的内容编制索引感兴趣。当前页面


共3个答案

匿名用户

据我所知,他的问题是你有相同的内容为许多网址。喜欢:

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

今天,google bot正在执行JavaScript,正如他们在官方博客中宣布的:https://webmasters.googleblog.com/2015/10/deprecating-our-ajax-crawling-scheme.html

因此,如果在点击Refresh(F5)时实现了正确的页面行为,并指定了canonical pages属性,则页面将被正确爬网,并且当您跟随链接时,将到达链接页面。

如果你需要更多的指导如何在url.js请张贴另一个问题(所以它将被适当的记录为他人),我将很乐意提供帮助。

匿名用户

回答非常简单:你做不到。技术上不可能在不同的网址下保留相同的内容,并要求搜索引擎只索引其中的一部分。

如果您同意只对一个页面进行索引,那么您可以按照前面的建议使用规范URL。将链接到主页的规范URL放置在每个子页上。

你可能会发现一个“黑客”使用谷歌搜索设备使用的特殊标签:googleongoogleoff

https://www.google.com/support/enterprise/static/gsa/docs/admin/70/gsa_doc_set/admin_crawl/preparing.html

唯一的问题是,这很可能不适用于谷歌机器人(至少没有人会保证它会)或任何其他搜索引擎。

匿名用户

我认为你将无法实现你所追求的目标。

我看不出robots.txt会有什么影响。规范标签对div不起作用。

谷歌过去曾谈到过这样的网站,并提出了一些索引建议,这里有几个链接可能会有所帮助:

https://www.seroundtable.com/seo-single-page-12964.html

https://www.seroundtable.com/google-on-crawling-javascript-sites-progressive-web-apps-21737.html