2012-09-26 127 views
8

让我们假设我使用一些onload事件动画,我的网页,例如:加载动画会影响SEO吗?

$(document).ready(function() { 
    $('html.myhtml').css('overflow', 'auto').fadeTo(0, 0, function() { 
     $(this).css('visibility', 'visible').animate({ 
      opacity: 1 
     }, 200); 
    }); 
})​ 

,并开始与内联样式,使其隐藏在首位:

<html class="myhtml" style="visibility:hidden; overflow:hidden"> 

最初的页面会作为空白,然后用fadein动画。我想知道: -

  • 这会影响SEO以任何方式吗?
  • 这种做法是否正确,或者是否有一些重要的理由不这样做?
+0

你在衰落?我们是在谈论一篇精美的文章,或者是像可爱的小猫骑在独角兽上的眼睛糖果图形,或者是什么?搜索引擎最终要为用户带来最好的结果,所以你应该如此。所以,如果你首先想要找到的信息渐渐消失,无论是文章还是小猫,那么你应该没问题。 –

回答

2

它会影响SEO吗?

如果我有一个是或否的答案来回答这个话,我会说:NO

,这种做法精细,还是有一些重要的理由不这样做?

我们可以整天讨论动画,但仍然没有肯定的答案。动画淡入搜索引擎的目的是什么?没有。那么它应该是为了用户的享受吗?动画对用户淡出的目的是什么?没有。因此,如果我们按照“为用户设计不为搜索引擎设计”模型,我可能会删除动画。这是我的意见。

回到SEO问题,它会影响SEO吗?并不是真的,但取决于搜索引擎和观众。如果我是使用屏幕阅读器的人,我的屏幕阅读器可能会失败,所以我可能无法从您的页面中受益。如果我禁用JavaScript,它会伤害我的用户体验(我个人使用FF NoScript插件浏览)。

我知道你说没有javascript的用户在你的网站上没有业务,但是你应该考虑到这一点并以某种方式处理它。此外,Googlebot在抓取时没有启用JavaScript或会话Cookie。其次,如果你的某个js失败了,你可能希望它适度地回到对用户有用的东西,或者至少让他们知道像'欢迎!我们有fancypants动画发生在这里,您的浏览器不支持!请启用JavaScript'。

强制动画通常对用户来说很烦,特别是当他们重复每一次页面加载时。加入页面加载对Google搜索引擎优化不利,因为速度现在成为排名的一个因素。

就像我刚才提到的那样,主要的Googlebot不会使用javascript或会话cookie进行抓取。他们有不同的抓取工具,用于不同的目的,比如一些仅用于移动设备,一些用于js,一些用于flash。值得注意的是,有一个动画/弹出/或任何负载将被'谷歌即时预览'捕获并显示给用户的结果(在你的情况下,它可能看起来像一个空白页)。就像WDever提到的那样,通常情况下,使用文本缩进或负边距作为初始状态更安全,而不是像这样的可见性/显示/溢出。

这是我会怎么做(here's a live preview with 4 second animation delay to test with and without js enabled):

<html> 
<head> 
<style> 
.myhtml {visibility:hidden; overflow:hidden;} 
</style> 
<script>document.documentElement.className='myhtml'</script> 
</head> 
<body> 

1. html is not hidden initially and no class 
2. css styles register .myhtml class with the hidden stuff you want 
3. the script tag just before the BODY tag will fire and add the class to html thus hiding things for those with javascript enabled. Everyone else who has JS disabled sees the page properly. 
4. at the bottom of the page your jquery fires animating the page 

<script> 
$(document).ready(function() { 
    $('html.myhtml').css('overflow', 'auto').fadeTo(0, 0, function() { 
     $(this).css('visibility', 'visible').animate({ 
      opacity: 1 
     }, 200); 
    }); 
})​ 
</script> 
</body> 
</html> 
+0

嗯,实际上我认为你是对的,说这不重要......如果是这样的话,那么为什么还要麻烦实施呢。在做了一些重新测试之后,我注意到那些隐藏和显示的技巧经常会使它看起来不稳定,并且确实延迟了页面加载。除非我们正在讨论非常简单的布局/文本页面,就像在您的发布示例中那样,我们可能确定不会超载性能。 – Anonymous

+0

为什么不使用自己的样式表设置.myhtml以显示:无,然后添加。似乎更容易。 – adnan

7

它不会影响它。由于相同的问题,我亲自测试了通过微数据读取的谷歌机器人。 Google现在实际上已经在一定程度上了解了JavaScript的交互,甚至是swf文件。所以你应该清楚。

+0

谢谢,有趣的知道。如果你有一个,链接将有助于理解谷歌看到/看不到的JS交互类型。 – davesnitty

+0

我没有这样的链接,为什么我必须自己手动测试这一部分。但据我所知,谷歌有权访问网页上的任何内容,然后是一些内容。谷歌似乎真的没有看到的唯一的东西是用Ajax加载的内容。 – Fresheyeball

+0

国际海事组织,谷歌机器人不会太在意CSS样式(知名度:隐藏)...他们仍然会爬过你的页面。另一方面,如果你的内容是通过ajax加载的,那么这个机器人将什么也看不到,你会留在寒冷的... –

1

据我所知,Google只能识别页面的初始状态。这包括CSS渲染,例如,如果您添加display:none;visibility:hidden;,我不认为Google会将其编入索引。

为了安全起见,我会将内容隐藏起来,然后淡入。我没有真正测试过它,但我从未见过Google的漫游器与JavaScript交互得很好。使用hashbang方法时看起来异常。

这种方法的另一个好处将是JavaScript停用的用户(我知道,杜),仍然能够看到您的内容,因为它不会被隐藏在第一位。

+0

如果用户已禁用javascript,那么他们在我的网站上无事可做。也许谷歌曾经用你说的方式去做,但这个问题是时间敏感的,而且你知道这是2012年。你也没有带任何证据,所以我不相信。 – Anonymous

+0

我可以给你一个例子,我用这个在我的优势SEO明智。我有一个重定向页面,它显示了一些非常简单的html标记,没有布局。这是针对搜索引擎优化的,每一个环节都指向它。然后,我使用Javascript将用户重定向到通过javascript和url哈希动态生成的页面。虽然这并非最佳实践,但情况要求我以这种方式绕过它。谷歌无法索引我的哈希网址。它也无法读取JavaScript重定向,因此停留在SEO优化页面上。该页面仍然有效。 –

+0

但是,不能,因为javascript,我无法给出一个根本没有索引的网站的模型。正如我所说,似乎有一个关于hashbang网址的特别计划。无论如何,我认为这是不好的做法。如果你需要证据,我很抱歉我没有。但是当你询问最佳做法时,你会得到意见,而不是仅仅证明事实。 –

0

我黯然没有SEO回答你的问题,而是一个解决方案是使用负利润率隐藏元素关闭屏幕。然后,当JavaScript踢你设置正确的位置并隐藏,然后你淡入或做你想做的事情。

2

我认为你应该注册Google网站管理员工具。然后找到一个名为“Fetch as googlebot”的函数,现在让谷歌去获取你想要的页面,看看它是否发现任何错误或不寻常的行为,或者它没有显示你的预期。如果是这种情况,您可以确定页面出现问题,Google会告诉您在抓取您的页面时遇到了什么问题。那么这是纠正你的问题。

编辑: JavaScript的搜索引擎的主要问题是,js在获取和阅读页面内容时产生障碍。具体来说,这个问题主要出现在实际页面上没有内容的情况下,并且您使用js从其他地方获取内容(因此ajax seo问题)。所以人们应该关注将内容放在页面上而不是从其他地方抓取内容。

因此,人们还应该测试他们的页面,关闭js和css,看看他们的页面在Google和其他搜索引擎看到您的页面时的样子。所以,如果谷歌仍然能够阅读,抓取和索引你的网页,那么所有那些奇特的动画,抓取和其他东西,比我不会担心一秒钟,你也不应该。毕竟,如果谷歌是好的,我们是很好的。

+0

它完全按照它应该看起来的方式读取它,并且没有错误报告。可能它确实很好 - 这种做法肯定有意义,谢谢。 – Anonymous

+0

还有一件事,你也应该通过谷歌搜索缓存页面(谷歌搜索结果)。它会告诉您,Google抓取您网站时发现和存储的内容。如果所有内容都与您的预期完全相同,没有什么不妥之处,并且记住大部分与显示相关的处理将在用户的浏览器中发生。所以,如果谷歌对你的内容没有问题,那么你就可以走了。 – metadice

+0

我编辑了我的答案,并附上了一些说明,也许它会帮助你更多。 – metadice

相关问题