对SEO有影响吗?
如果我必须用是或否的答案来回答这个问题,那么我会说:不
这种做法是好的还是有一些重要的论据不这样做?
我们可以整天争论动画,但仍然没有确定的答案。动画褪色对搜索引擎有什么用途?没有任何。因此,它应该是为了用户的享受?动画渐变对用户有什么用途?没有任何。因此,如果我们采用“为用户而不是为搜索引擎设计”模型,我可能会删除动画。这是我的意见。
回到 SEO 问题,它会影响 SEO 吗?不是真的没有,但这取决于搜索引擎和您的受众。如果我是一个使用屏幕阅读器的人,我可能不会从您的页面中受益,因为我的屏幕阅读器会失败。如果我禁用了 javascript,它将损害我的用户体验(我个人使用 FF NoScript 插件浏览)。
我知道您说没有 javascript 的用户在您的网站上没有业务,但是您应该考虑到这一点并以某种方式处理它。此外,Googlebot 在抓取时没有启用 javascript 或会话 cookie。其次,如果你的一个 js 失败了,你可能希望它优雅地回退到对用户有用的东西,或者至少是一些让他们知道的指令,比如“欢迎!我们这里有您的浏览器不支持的花哨动画!请启用 javascript'。
强制动画通常对用户来说很烦人,尤其是当他们重复每个页面加载时。添加页面加载对谷歌搜索引擎优化不利,因为速度现在是排名的一个因素。
就像我提到的那样,主要的 Googlebot 不会在启用 javascript 或会话 cookie 的情况下进行抓取。他们有不同的爬虫用于不同的目的,比如一些只用于移动设备,一些用于 js,一些用于 Flash。值得注意的是,“Google Instant Previews”将捕获加载的动画/弹出窗口/或任何内容,并在结果中显示给用户(在您的情况下,它可能看起来像一个空白页面)。就像 WDever 提到的那样,一般来说,使用文本缩进或负边距作为初始状态比使用可见性/显示/溢出更安全。
这就是我的做法(这是一个实时预览,有 4 秒的动画延迟,可以在启用和不启用 js 的情况下进行测试):
<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>