你知道吗,虽然大多数网站都是PHP或.NET提供后台支持,但这些网站大多是由JavaScript(如React)提供前端支持?

大多数网站使用某种网站JavaScript增加互动性,改善用户体验。有些人将其用于菜单,获取产品或价格,从多个来源获取内容,或在某些情况下,用于网站上的所有内容。现在网络的现实是JavaScript无处不在。

我们不是说黑帽子SEO人员需要学习如何编写JavaScript。相反,黑帽SEO最需要知道如何处理搜索引擎JavaScript以及如何解决问题。在极少数情况下,甚至不允许黑帽SEO触摸代码。本文的目标是帮助您学习:

什么是JavaScript黑帽SEO?

JavaScript黑帽SEO是技术黑帽SEO该技术的一部分旨在包含JavaScript网站容易爬网,建索引,容易搜索。目标是在搜索引擎中找到这些网站,使其排名更高。

JavaScript对黑帽SEO不利吗?一点也不。它有许多黑帽子SEO不同的习惯,有一些学习曲线。人们确实倾向于过度使用可能有更好解决方案的东西,但有时你必须使用现有的东西。只是知道Javascript不完美,也不总是正确的工具。与HTML和CSS不同的是,它不能逐渐分析,并可能严重影响页面负载和性能。在许多情况下,你可能会为性能牺牲效果。

如何使用搜索引擎?JavaScript处理网页

在搜索引擎的早期阶段下载HTML响应足以查看大多数页面的内容。由于JavaScript搜索引擎现在需要像浏览器一样呈现许多页面,这样他们就可以以用户的方式看到内容。

搜索引擎处理渲染过程的系统称为Web渲染服务(WRS)。搜索引擎提供了一个简单的图表来解释这个过程。

假设我们从URL开始这个过程。

1.履带式

搜寻器将GET请求发送到服务器。服务器响应标头和文件内容,然后保存。

该请求很可能来自移动用户代理,因为如今搜索引擎主要采用移动优先索引。您可以通过站长工具查看搜索引擎是如何抓取您的网站的。

有些网站会阻止来自特定国家/地区或使用不同的特定方法IP访问者,这可能会导致搜索引擎看不到你的内容。

某些网站还可能使用用户代理检测来向特定的搜寻器显示内容。特别是在JavaScript在网站上,搜索引擎可能会看到与用户不同的东西。这就是为什么百度移动友好测试工具要解决JavaScript黑帽SEO问题很重要。它们向您展示搜索引擎看到的内容,这对检查搜索引擎是否可能被阻止,以及它们是否能看到页面上的内容非常有用。我将介绍如何测试渲染器,因为下载GET渲染页面甚至测试工具之间存在一些关键差异。

还需要注意的是,尽管搜索引擎将捕获内容表现为HTML但事实上,它们正在捕获和存储构建页面所需的所有资源。HTML页面,Javascript文件,CSS,XHR请求,API端点等。

2.加工

图像中的“处理”一词混淆了许多系统。我们将介绍其中一些JavaScript相关内容。

资源和链接

搜索引擎不会像用户那样浏览页面。部分处理是检查页面是否有链接到其他页面,以及构建页面所需的文件。这些链接被拉出并添加到抓取队列中,这是搜索引擎确定抓取优先级和计划抓取的时间。

搜索引擎将从标签等内容中提取构建页面所需的资源链接(CSS,JS等)。但是,指向其他页面的链接必须采用特定的格式,搜索引擎才能将其视为链接。内外链接必须有href属性标签。对于使用JavaScript对于用户来说,有很多方法不适合搜索,所以他们可以工作。

好:

简单好还可以

坏:

没有,没有href 不,缺少链接不正确HTML元素

还需要注意的是,渲染后使用JavaScript添加的内部链接不会被抓取。这应该比较快,在大多数情况下不需要引起注意。

快取

搜索引擎下载的每个文件(包括HTML页面,JavaScript文件,CSS积极缓存文件等。必要时,搜索引擎会忽略您的缓存时间并提取新副本。我将在渲染器部分进一步讨论这一点及其为什么如此重要。

重复消除

在将下载的HTML可以从下载发送到呈现HTML中删除重复的内容或将其取消优先级。使用应用程序外壳模型时,HTML内容和代码几乎不会显示在响应中。事实上,网站上的每个页面都可能显示相同的代码,并且可能显示在多个网站上。有时这可能会导致页面被视为重复页面,无法立即渲染。更糟糕的是,搜索结果中可能会显示错误的页面甚至网站。随着时间的推移,这应该自己解决,但可能会出现问题,尤其是对于更新的网站。

最严格的指令

搜索引擎将在HTML选择页面呈现版本之间最有限的句子。如果JavaScript更改一个句子,并与HTML在语句冲突中,搜索引擎只会服从最有限的一个。Noindex覆盖索引,HTML中的noindex完全跳过呈现。

3.渲染队列

现在每个页面都转向渲染器。许多具有JavaScript两阶段索引(HTML然后呈现页面)SEO最大的担忧之一是页面可能无法呈现几天甚至几周。当搜索引擎调查时,他们发现页面以5秒的中值到达渲染器,第90个百分位是几分钟。因此,在大多数情况下,获取HTML呈现页面之间的时间量不应该是问题。

4.渲染器

渲染器是搜索引擎渲染页面查看用户看到的内容的地方。他们将在这里处理JavaScript以及JavaScript文档对象模型(DOM)任何改变。

大多数搜索引擎使用初级渲染器进行渲染,因此不支持许多功能。网络规模渲染可能是一项需要大量资源的巨大工作。由于规模大,搜索引擎在呈现过程中采取了许多捷径来加快处理速度。因此,作为一个通常需要优化的网站,尽可能常见Javascript的功能。

缓存资源

严重依赖缓存资源的搜索引擎。页面缓存;文件缓存;API请求缓存;基本上,所有内容在发送到渲染器之前都会缓存。他们没有下载每个资源来加载每个页面,而是使用缓存资源来加速这个过程。

这可能会导致一些不可能的状态,在渲染过程中使用以前的文件版本,页面的索引版本可能包含旧文件的一部分。重大变更后,您可以使用文件版本控制或内容指纹生成新的文件名,以便搜索引擎必须下载更新版本的资源进行渲染。

搜索引擎机器人看到了什么?

搜索引擎机器人不会对网页采取任何措施。他们不点击或滚动,但这并不意味着他们没有解决办法。对于内容,只要不进行任何操作,就会加载到内容中DOM他们会看到的。我将在疑难答案部分详细介绍,但基本上,如果内容在DOM但只是隐藏,就能看到。如果在单击之后才将其加载到DOM然后内容就找不到了。

搜索引擎可以查看你的内容而不滚动,因为他们有一个聪明的解决方案来查看内容。411x731像素的屏幕大小加载页面,并将长度调整为12,140像素。本质上,它的屏幕尺寸是411x超长手机12140像素。台式机的操作相同,从1024开始x768像素变为1024x9307像素。

另一个有趣的捷径是搜索引擎在渲染过程中不绘制像素。完成页面加载需要时间和其他资源,他们实际上不需要检查涂有像素的最终状态。它们只需要知道结构和布局,而不需要实际绘制像素。

在搜索引擎搜索中,我们实际上并不关心像素,因为我们不想向某人展示。我们需要处理信息和语义信息,所以我们需要处于中间状态的东西。我们实际上不需要画像素。

视觉效果可能有助于更好地解释切割部分。在Chrome在开发者工具中,如果您在效果标签上进行测试,您将获得加载图。这里的绿色实心部分表示绘画阶段,从未发生过搜索引擎机器人,可以节约资源。

灰色=下载量蓝色=HTML黄色= JavaScript紫色=布局绿色=绘画

5.抓取队列

搜索引擎资源中有一些关于捕获预算的内容,但你应该知道每个网站都有自己的捕获预算,必须确定每个请求的优先级。搜索引擎还必须平衡你的网站和互联网上所有其他网站的平衡。一般来说,有许多动态页面的新网站或网站爬网速度可能较慢。有些页面的更新频率会低于其他页面,有些资源的请求频率也会降低。

测试/故障排除

JavaScript网站的陷阱是他们只能更新DOM的一部分。以用户身份浏览另一页可能不会更新某些方面,例如DOM标题标签或标准标签,但这可能不是搜索引擎的问题。请记住,搜索引擎会无状态地加载每个页面,因此它们不会保存以前的信息,也不会在页面之间导航。我已经看到黑帽子了SEO绊倒了,因为他们从一页导航到另一页后会看到什么,比如没有更新的标准标签,但搜索引擎可能永远看不到。开发人员可以使用HistoryAPI更新状态来解决这个问题,但这可能不是问题。刷新页面并查看您看到的内容,或者最好通过搜索引擎的测试工具来查看他们看到的内容。一秒钟内有更多内容。

检查源和检查

右键单击浏览器窗口时,您将看到几个选项来查看页面的源代码和页面。视图源将显示给您GET请求相同的视图。这是页面的原始HTML。检查完成后,Inspect会向您显示已处理的DOM,更接近搜索引擎机器人看到的内容。它基本上是页面更新和最新版本。使用JavaScript视图源上应使用时间inspect。

快速提取搜索引擎

搜索引擎的缓存不是检查搜索引擎bot可靠的方法可以看到内容。它通常是初始的HTML,尽管有时是渲染HTML或旧版本。该系统用于在网站关闭时查看内容。作为调试工具并不是特别有用。

搜索引擎测试工具

移动友好性测试工具在调试中非常有用。尽管如此,这些工具与搜索引擎所看到的略有不同。我讨论过渲染器没有的工具中的五秒钟加时,但区别在于它们实时提取资源,而不是像渲染器那样使用缓存版本。这些工具中的屏幕快照也显示了带有绘制像素的页面,而搜索引擎在渲染器中看不到。

然而,该工具正在检查内容是否已加载DOM非常有用。显示在这些工具中HTML是呈现的DOM。可以搜索一段文本,查看默认情况下是否加载了文本。

该工具还将向您展示可能被阻止的资源和对调试有用的控制台的错误信息。

在搜索引擎中搜索文本

另一个快速检查是在搜索引擎中搜索你的内容片段。搜索内容中的一些短语,然后检查页面是否返回。如果是这样的话,可能会看到你的内容。请注意,默认情况下隐藏的内容可能不会出现SERP代码片段内。

渲染选项

呈现JavaScript有很多选择。搜索引擎会显示可靠的图表。任何搜索引擎来说,任何一个SSR,静态呈现态呈现和预呈现。造成问题的主要方法是完整的客户渲染,所有渲染都在浏览器中进行。

尽管搜索引擎可能可以使用客户端渲染,但最好选择其他渲染选项来支持搜索引擎。百度支持JavaScript渲染,但比例未知。从我们看来,搜狗的支持是有限的,许多其他搜索引擎几乎不支持它JavaScript。

使您的JavaScript网站黑帽SEO友好

许多过程和黑帽SEO过去看到的过程是相似的,但可能会有细微的差异。

页面黑帽S EO