网页中JS对SEO的影响及解决方法

作者: 少校seo 分类: 黑帽seo资讯 发布时间: 2019-09-06 19:02

JavaScript是搜索引擎优化中的一个头痛问题。一方面,我们需要在网页制作中使用JavaScript来实现辉煌的特效,另一方面,JavaScript会对搜索引擎的爬行分析产生不良影响。谷歌的官方文件明确指出,如果在超文本标记语言中使用太多复杂的功能,如JavaScript、Cookie、会话标识、框架、Dhtml或闪存,搜索引擎捕获工具在捕获网站时可能会遇到问题。

虽然百度没有明确的解释,但是经过大量的实践,它还是无法识别JavaScript。

这就产生了一个问题。网页中过多的JavaScript代码无疑使得搜索引擎更难分析网页的内容。如果网页中的链接也是由许多JavaScript组成的,搜索引擎甚至不能沿着链接爬行网页。这样,过多使用JavaScript会产生以下效果:

1.它干扰了搜索引擎对网页内容的分析。2.影响关键词密度。3、严重阻碍搜索引擎抓取网页。4.影响链接seo多页js框架生成的网页权重分布,这通常反映在页面排名上。

抓取和链接权重的影响可以通过外部链接来补偿,但是第一点和第二点不容易保存。

如何在不影响网页效果和对搜索引擎友好的前提下使用JavaScript,从而不影响搜索引擎优化效果?

1.切勿将JavaScript用于导航和其他链接。导航和链接是搜索引擎抓取网页的基础。如果搜索引擎不能抓取网页,这意味着网页不会出现在索引结果中,排名也是不可能的。

2.尽量避免对内容使用JavaScript。尤其是与关键词相关的内容应该尽量避免使用JavaScript,否则关键词密度无疑会降低。

3.确实有必要使用部分JavaScript并将这部分JavaScript脚本放入一个或几个中。js文件,以避免干扰搜索引擎的检索和分析。

4.有些JavaScript脚本不能放在。js文件应该放在html代码的底部。在此之前,搜索引擎最终会在分析网页时找到它们,从而减少对搜索引擎的干扰。

上面的一些方法是为了消除JavaScript对搜索引擎的不利影响。事实上,另一方面,一件事通常有利也有弊。JavaScript也是如此。使用JavaScript并不一定不好。在一定程度上,使用JavaScript对搜索引擎优化有很好的效果,即积极的效果。

我们已经说过搜索引擎不能识别JavaScript(虽然谷歌目前识别少量简单的JavaScript代码,但它也应该是简单的代码,比如文档编写)。换句话说,我们可以使用JavaScript过滤一些垃圾信息。

什么是垃圾邮件?从搜索引擎优化的角度来看,搜索引擎捕捉和分析不仅没有用,而且会对关键词密度等不利信息造成干扰。通常这些“垃圾”信息包括广告、版权声明、大量导出链接、与内容无关的信息等。我们可以把所有这些垃圾信息扔进一个或几个。js文件为黑帽seo,从而减少了对网页真实内容的干扰,增加了关键词密度,并向搜索引擎显示了网页内容的核心。

为什么会出现如此多的js框架?

我见过很多很多人盲目地使用(前端)框架,比如反应、角度或真空等等。这些框架提供了许多有趣的东西,但是通常人们使用框架是因为:

1.他们支持组件化;

2.他们有强大的社区支持;

3.他们有许多(基于框架的)第三方库来解决问题;

4.他们有许多(好的)第三方组件;

5.他们有浏览器扩展工具来帮助调试;

6.它们适用于单页应用。

但这些并不是使用该框架的根本原因。

用户界面和状态同步非常困难

是的,这就是为什么,让我们看看为什么。假设您正在设计一个网络应用程序,用户可以通过群发电子邮件邀请他人(参加活动)。UX/用户界面设计者设计如下:(在用户填写任何电子邮件地址之前)有一个空白状态,并为此添加了一些帮助信息;(用户填写邮箱后)显示邮箱地址,每个地址的右侧都有一个按钮用于删除相应的地址。这种形式的状态可以设计为包含几个对象的数组,这些对象由电子邮件地址和唯一标识符组成。起初,数组是空的。输入电子邮件地址并按回车键后,向阵列中添加一个项目并更新用户界面。当用户单击删除按钮时,电子邮件地址(对应于阵列)将被删除,用户界面将被更新。你感觉到了吗?每次改变状态,都需要更新用户界面。

下面的代码很好地说明了使用本机JavaScript以及使用像jQuery这样的经典库来实现相对复杂的用户界面所需的工作量。

在这个例子中,seo多页js框架,HTML负责创建静态页面,而JavaScript通过document.createElement动态地改变(DOM结构)。这导致了第一个问题:与用户界面构造相关的JavaScript代码不直观,也不容易阅读。我们将用户界面结构分为两部分。虽然我们已经使用了innerHTML,但是可读性已经增强,但是(页面的)性能已经降低,并且可能存在CSRF漏洞。我们也可以使用模板引擎,但是如果我们广泛修改DOM,我们将面临两个问题:效率低下和需要重新绑定事件处理程序。

但这不是最大的问题。最大的问题是每当状态改变时(手动)更新用户界面。每次状态更新都需要大量代码来更改用户界面。添加电子邮件地址时,黑帽seo只需要两行代码来更新状态,但需要13行代码来更新用户界面。在这种情况下,我们已经使用户界面(界面和逻辑)尽可能简单!!

基于两个基本策略:

重新渲染整个组件,如“反应”。当组件中的状态发生变化时,(新的)DOM结构将在内存中进行计算,并与现有的DOM结构进行比较。事实上,这是非常昂贵的。因此,真实的DOM被映射到虚拟的DOM中,并且通过比较状态改变前后虚拟的DOM的差异来计算改变后的真实的DOM结构被改变。这个过程叫做和解。通过(添加)观察器(如角度观察器和虚拟观察器)来监控更改。应用程序中状态的属性将被监控。当它们改变时,只有依赖于(改变的)属性的DOM元素才会被重新呈现。

现代js框架解决的主要问题是保持用户界面与状态同步。使用本机JavaScript编写复杂、高效且易于维护的用户界面几乎是不可能的。Web组件不能提供同步问题的解决方案。使用现有的虚拟DOM库来构建自己的框架并不难。但这是不推荐的!