我有一个php
页面,可以写一本100页的书.每个页面都有一个特定的URL(例如/my-book/page-one
,/my-book/page-two
等).
翻页时,我使用历史记录API更改网址url.js
.
由于所有书籍内容都是从服务器端呈现的,问题是内容是由搜索引擎索引的(特别是我指的是谷歌),但网址是错误的(例如,它找到了一个片段,page-two
但网址是page-one
) .
如何阻止搜索引擎(至少谷歌)索引页面上的所有内容,但只索引可见的书页?
如果我以不同的方式呈现内容,它会工作吗:例如,然后在JavaScript端以所需格式更改内容?这会使页面变慢,实际上我不确定Google是否不会通过JavaScript索引更改的内容.
代码如下所示:
Page 1Page 2Page 3Page 4Page 5
然后只有可见的div就是那个.current-page
.相同的内容在多个URL上提供,因为这是必需的,因此用户可以在页面之间切换.
例如,/book/page/3
渲染这段HTML同时/book/page/4
渲染相同的东西,唯一的区别current-page
是添加到第4个元素的类.
谷歌确实为不同的网址编制索引,但它做错了:例如,向用户呈现的代码段Page 5
链接(不是)./book/page/2
Page 2
Page 5
如何告诉谷歌(和其他搜索引擎)我只对索引内容的索引感兴趣.current-page
?
据我所知,他的问题是你对许多网址都有相同的内容.喜欢:
www.my-awesome-domain.com/my-book/page/42
www.my-awesome-domain.com//my-book/page/7
页面的可见内容可通过JavaScript进行调整,即用户在点击您网站上的某些元素时执行.
在这种情况下,您需要做两件事:
使用此google文档中描述的任何方式将您的网址标记为Canonical网页:https://support.google.com/webmasters/answer/139066?hl = zh-CN
您需要添加一个功能,在完整页面刷新后,每个页面将加载到相同的状态,例如,您可以在此处文章中的desiribed导航时使用hash参数:或者这里是技术概述
今天谷歌机器人正在他们的官方博客中宣布执行JavaScript:https: //webmasters.googleblog.com/2015/10/deprecating-our-ajax-crawling-scheme.html
因此,如果您在按下"刷新"(F5)并且将指定规范页面属性时获得正确的页面行为,则将正确地抓取页面,并且当您将按照该链接进行链接页面时.
如果您需要更多指导如何在url.js中执行此操作请发布另一个问题(因此将为其他人提供正确的文档),我将很乐意为您提供帮助.