运维 需要认证或者登录的页面怎么做 SEO?

ripple · 2013年12月28日 · 最后由 seoaqua 回复于 2013年12月30日 · 3401 次阅读

crawler 怎么爬到的呢?

这样的页面为什么要 SEO?

是呀,这种页面就不应该暴露出来

嘿嘿,lz 大概是想类似论坛那样?又想用户访问的时候提示登录才行,又不想阻碍搜索引擎收录?

大概内容不是很严密,搜索引擎的访问是带特定 user-agent 等其他特征信息的,判断出他们就放行,不是他们就提示登录---当然有用户要突破访问模拟搜索引擎也是不难的。

#3 楼 @hick 这样可能被当做黑帽 SEO。这种情况用 JS 来处理就可以了。

5 楼 已删除

注册用户收费才能浏览 但又希望搜索引擎能检索到的 没有这种情况么

比如 我们是全 js 站。但是要做 seo 在后台要 prerender 自己把所有的页面 js 跑一边 但这个单独的 prerender 服务器 也没办法去请求原始网页 因为要登录

嗯 收费的 检测 agent 太容易被绕过了

你可以另外做一个接口,把部分内容开放给搜索引擎,不过可能只能针对 bot 的 ip 开放吧。

收费的内容还让爬,这样能收到费吗?

全是 js 页面,即使用户只看到静态页面也没有价值,但是可以想通过这个页面快照了解到实际的功能。

我想这种是个通用的问题吧,难道是需要认证的就都不需要 SEO?

从信息的角度,暴露出来就是能够看到的。我觉得可以加上一个 meta,以及一个正文(html 里面显示,但是用 js 隐藏掉),内容是想放出去给搜索引擎收录的。用户点击进来之后,js 把这些内容隐藏,提示用户注册后可看。

@linjunhalida 我们目前是,在服务器端如果收到爬虫请求,就自己先把要爬的页面请求出来,把里面的 javascript 运行完,然后把 js 全部去掉,只留跑完的静态页面 (没有交互能力的静态页面对用户没有实际价值),返回给 crawler。

目前这些事情都是在本 app 自己内部做的,跑 js 这个过程是跟 app 本身放在一起的,会有阻塞问题,会同时阻塞掉两个进程,一个准备响应爬虫的进程,它要先发请求到自己的页面,但是在它完成 js 运行之前不会返回,另一个就是响应刚才发的请求的进程。

所以想做一个独立与 app 的服务,所有爬虫请求转接到这个服务,然后这个服务去请求原始页面,这样 app 本身不用做特殊处理。

但是这个独立的服务,就没法请求需要登录的页面了。。。

单独做一套页面,或者识别为搜索引擎的 useragent 时取消验证,但用户流量过来时会提示验证 整个网站的逻辑有问题,到底想不想让新访客看到内容。如果需要展示的内容是和当前访客个人信息无关的,就不应该验证。所以解决这个矛盾的最简单办法就是取消验证。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号