0

不确定这是否是这个问题的最佳地点,但这是我一直很好奇的事情。我想使用仅在客户端可用的数据来加载网站的资源/资产,例如设备像素比、触摸支持等。

页面上的内容不会改变,只是像 JS 文件、CSS 文件和图像文件这样的资源。

已经有一些像这样工作的脚本运行客户端测试,然后将数据存储在 cookie 中,然后重新加载页面,根据存储在 cookie 中的数据加载资源。

该过程如下:

  • 用户来到网站
  • JS 设置带有设备特性的 cookie
  • JS 重新加载当前页面
  • 服务器现在可以访问包含所有特征数据的 cookie
  • 可以根据这些数据有条件地加载资源和资产

当用户访问它时立即重新加载页面是一种不好的做法。这种方法是否有任何 SEO 缺点。这似乎是一种基于设备功能有条件地加载资源的好技术。我只是不确定是否有任何理由不这样做?

4

3 回答 3

1

许多网络爬虫不使用完整的 Javascript 或 cookie 功能。例如,GoogleBot 默认情况下会解释所有Javascript。因此,您作为 cookie 的一部分动态加载的所有内容可能不会被爬虫检测到,因此不会被编入索引。这会扼杀搜索引擎优化。

引用 Matt Cutts(谷歌的垃圾邮件专家)的一句话:

“有一段时间,我们在 JavaScript 中进行扫描,我们一直在寻找链接。Google 在 JavaScript 方面变得更加智能,可以执行一些 JavaScript。我不会说我们执行所有 JavaScript,所以在某些情况下我们不执行'不执行 JavaScript。当然有一些常见的、众所周知的 JavaScript 东西,比如 Google Analytics,你甚至不想执行它们,因为你不想尝试从 Googlebot 生成幻像访问到你的 Google Analytics 中”。

参考http ://www.searchnewz.com/topstory/news/sn-2-20100315SEOInterviewwithMattCutts.html

于 2012-09-25T15:08:43.243 回答
1

好吧,搜索引擎通常既不支持 cookie 也不支持 JavaScript,因此它们只会获取默认版本。

一些搜索引擎可能会对此进行测试,并将其视为“门口页面”(从而惩罚该网站)。我想知道他们启动自己的网络浏览器的原因之一是否是作为开发检查此类事情的机器人的副产品。显然,机器人需要在 JavaScript 中快速......

于 2012-09-25T15:09:21.343 回答
0

当我刚开始使用它时,我当然不希望页面重新加载。

您可能应该使用媒体查询(用于 CSS)和特征检测(用于 JS)。

@media all and (min-width:420px) {
    /*styles...*/
}

和:

if( typeof window.localStorage !== "undefined") {
    // you can now do stuff with localStorage.
}
于 2012-09-25T15:08:52.600 回答