800万张高排名页面的HTML代码分析,看看SEO能有什么体会

原文链接 https://moz.com/blog/a-breakdown-of-html-usage-across-8-million-pages

不久前,我和我在Advanced Web Rank的同事进行了一项HTML研究,该研究基于从Google排名前20位的搜索结果中收集的大约800万张索引页,其中覆盖了3000万个关键字。

我们撰写了有关标记结果的信息,以及排名前20的Google结果页如何实现它们的内容,然后进行了进一步介绍,并获得了有关它们的HTML使用见解。

这与SEO有什么关系?

HTML的编写方式决定了用户看到的内容以及搜索引擎如何解释网页。 有效,格式正确的HTML页面还可以减少搜索引擎可能对结构化数据,元数据,语言或编码的误解。

我们打算做一次技术性SEO审核:HTML用法的细分以及结果与最新SEO技术和最佳实践的关系。

在本文中,我们将解决Google可以理解的元标记,JSON-LD结构化数据,语言检测,标题用法,社交链接和Meta标签分布,AMP等问题。

Google可以理解的Meta标签

167/5000当谈到主要搜索引擎作为流量来源时,谷歌是一枝独秀的存在,最近Duckduckgo获得了关注,Bing几乎是毫无存在感。

因此,在本文中,我们将仅关注Google在Search Console帮助中心中列出的meta标签。

chart (3).png
饼图显示了Google可以理解的meta标签总数,以下部分对此进行了详细说明。

<meta name=”description” content=”…”>

Meta描述标签是〜150个字符的摘要,总结了页面的内容。 当搜索的短语包含在描述中时,搜索引擎会在搜索结果中显示元描述。

SELECTORCOUNT
<meta name=”description” content=”*”>4,391,448
<meta name=”description” content=””>374,649
<meta name=”description”>13,831

在极端情况下,我们发现了685,341个描述少于30个字符的页面和1,293,842个元内容文本超过160个字符的页面。

<title>

从技术上讲,标题不是meta标记,但它往往是与meta name =“ description”一起使用。

当涉及SEO时,这是两个最重要的HTML标签之一。 根据W3C,这也是必须的,这意味着缺少标题标签的任何页面对搜索引擎来说几乎是无效的。

研究表明,如果您将标题保持在合理的60个字符以内,则可以期望在SERP中正确显示标题。 过去,有迹象表明Google的搜索结果标题长度有所延长,但这并不是稳定的现象。

在分析中,我们发现在全部6,263,396个标题中,有1,846,642个标题标签似乎太长(超过60个字符),而1,985,020个标题的长度却太短(少于30个字符)。

titles.png
饼状图显示了标题标签的长度分布,长度小于30个字符为31.7%,长度大于60个字符为约29.5%。

标题太短本不该是问题,毕竟,这取决于网站业务,是主观的。 意义可以用更少的词来表达,但客观上浪费了潜在的优化机会

SELECTORCOUNT
<title>*</title>6,263,396
missing <title> tag1,285,738

另一个有趣的事情是,在Google排名第1-2页的网站中,有351,516个(约占750万个的5%)在其索引页上使用相同的标题和h1文本。

另外,你知道吗,使用HTML5,只需要指定HTML5的doctype html信息和标题即可拥有完全有效的页面?

<!DOCTYPE html>
<title>red</title>

<meta name=”robots|googlebot”>

这些Meta标签可以控制搜索引擎抓取和编制索引的行为。 robots标签适用于所有搜索引擎,而“ googlebot”标签特定于Google。”
-Google可以理解的Meta标签

SELECTORCOUNT
<meta name=”robots” content=”…, …”>1,577,202
<meta name=”googlebot” content=”…, …”>139,458
HTML snippet with a meta robots and its content parameters.

因此,Robots标签可向搜索引擎提供有关如何对页面内容进行爬网和索引的说明。 googlebot的标签内容本身不多,我们更想知道最常见的robots标签内容,因为有一个常见的误解,是必须在HTML的头部添加一个robots meta标签。 这是前五名标签的内容

SELECTORCOUNT
<meta name=”robots” content=”index,follow”>632,822
<meta name=”robots” content=”index”>180,226
<meta name=”robots” content=”noodp”>115,128
<meta name=”robots” content=”all”>111,777
<meta name=”robots” content=”nofollow”>83,639

<meta name=”google” content=”nositelinkssearchbox”>

“当用户搜索您的网站时,Google搜索结果有时会显示特定于您的网站的搜索框,以及指向您网站的其他直接链接。 此元标记告诉Google不要显示附加链接搜索框。”
-Google可以理解的Meta标签

SELECTORCOUNT
<meta name=”google” content=”nositelinkssearchbox”>1,263

毫不奇怪,当网站出现在搜索结果中时,很少有网站选择明确告诉Google不要显示附加链接搜索框。

<meta name=”google” content=”notranslate”>

“此meta标签告诉Google您不希望我们为该页面提供翻译。”-Google理解的meta标签

在某些情况下,可能不希望将您的内容提供给更多的用户。 就像上面的Google支持答案中所说的那样,此meta标签告诉Google您不希望他们提供此页面的翻译。

SELECTORCOUNT
<meta name=”google” content=”notranslate”>7,569

<meta name=”google-site-verification” content=”…”>

“您可以在网站的顶级页面上使用此标记来验证Search Console的所有权。”
-Google可以理解的元标记

SELECTORCOUNT
<meta name=”google-site-verification” content=”…”>1,327,616

当我们讨论这个主题时,您是否知道如果您是Google Analytics(分析)媒体资源的经过验证的所有者,那么Google现在会在Search Console中自动验证该网站吗?

<meta charset=”…” >

“这定义了页面的内容类型和字符集。”
-Google可以理解的元标记

这基本上是好的元标记之一。 它定义页面的内容类型和字符集。 考虑到下表,我们注意到我们分析的索引页中只有大约一半定义了元字符集。

SELECTORCOUNT
<meta charset=”…” >3,909,788

<meta http-equiv=”refresh” content=”…;url=…”>

“此Meta标记在一定时间后会将用户发送到新的URL,有时被用作一种简单的重定向形式。”
-Google可以理解的Meta标记

最好使用301重定向而不是元刷新来重定向您的网站,尤其是当我们假设30倍重定向不会丢失PageRank且W3C建议不要使用此标记时。 Google也不推荐这一用法,建议您使用服务器端301重定向。

SELECTORCOUNT
<meta http-equiv=”refresh” content=”…;url=…”>7,167

从我们解析的总共750万个索引页中,我们发现了7167个使用上述重定向方法的页。 页面编辑者并不总是拥有对服务器端技术的控制权,显然他们使用此技术来启用客户端重定向。

此外,使用Workers是一种最先进的替代方案,目的是为了克服使用旧技术堆栈和平台限制时遇到的问题.

<meta name=”viewport” content=”…”>

该标签告诉浏览器如何在移动设备上呈现页面。 此标签的存在向Google表示该页面适合移动设备。”
-Google可以理解的元标记

SELECTORCOUNT
<meta name=”viewport” content=”…”>4,992,791

从2019年7月1日开始,所有网站开始使用Google的移动优先索引编制索引。 Lighthouse检查文件头中是否有meta name =“ viewport”标记,因此无论您使用的是哪种框架或CMS,此meta都应位于每个网页上。

考虑到上述情况,我们可以预期在分析的750万个索引页面中,有超过4,992,791个网站的网站在其头部使用了有效的meta name =“ viewport”。

设计适合移动设备的网站可确保您的页面在所有设备上都能正常运行,因此请确保此处的网页适合移动设备。

<meta name=”rating” content=”…” />

“将页面标记为包含成人内容,以表明该页面已被安全搜索结果过滤。”
-Google可以理解的元标记

SELECTORCOUNT
<meta name=”rating” content=”…” />133,387


此标签用于表示内容的成熟度等级。 直到最近,它才被添加到Google可以理解的meta标签中。 请查看Kate Morris撰写的有关如何标记成人内容的文章。 how to tag adult content.

JSON-LD结构化数据

结构化数据是一种标准化格式,用于提供有关页面的信息并分类页面内容。 结构化数据的格式可以是Microdata,RDFa和JSON-LD,所有这些都可以帮助Google了解您网站的内容并触发页面的特殊搜索结果功能。

在与的Dan Shure交谈时,他提出了一个好主意,可以在搜索结果和“知识图谱”中查找结构化数据,例如组织的徽标。

在本节中,我们将仅使用JSON-LD(链接数据的JavaScript对象表示法)来收集结构化数据信息,这是Google建议提供有关网页含义的线索的建议。

一些有用的信息:

  • 在Google I / O 2019上,宣布结构化数据测试工具将由功能丰富的结果测试工具取代。
  • 现在,Googlebot使用最新的Chromium而不是旧的Chrome 42对网页进行索引,这意味着您还可以通过结构化数据支持来减轻过去可能遇到的SEO问题。
  • 杰森·巴纳德(Jason Barnard)在2019年SMX伦敦会议上就Google搜索排名的工作方式进行了有趣的演讲,根据他的理论,我们可以依靠七个排名因素; 结构化数据绝对是其中之一。
  • Builtvisible 关于微数据,JSON-LD和Schema.org的Builtvisible指南包含您需要了解的有关在网站上使用结构化数据的所有信息。
  • 这是Alexis Sanders为初学者提供的有关JSON-LD的出色指南。
  • 最后,在Linking Data网站的官方JSON上有很多文章,演示文稿和帖子可供参考  JSON for Linking Data .

本次HTML研究仅依赖于分析索引页面。 有趣的是,即使指南中未对此进行说明,但Google似乎并不关心索引页上的结构化数据,正如几年前Gary Illyes在Stack Overflow回答中所说的那样。 但是,在Google可以理解的JSON-LD结构化数据类型上,我们发现了总共2,727,045个功能:

json-ld-chart.png
Pie chart showing the structured data types that Google understands, with Sitelinks searchbox being 49.7% — the highest value.
STRUCTURED DATA FEATURESCOUNT
Article35,961
Breadcrumb30,306
Book143
Carousel13,884
Corporate contact41,588
Course676
Critic review2,740
Dataset28
Employer aggregate rating7
Event18,385
Fact check7
FAQ page16
How-to8
Job posting355
Livestream232
Local business200,974
Logo442,324
Media1,274
Occupation0
Product16,090
Q&A page20
Recipe434
Review snippet72,732
Sitelinks searchbox1,354,754
Social profile478,099
Software app780
Speakable516
Subscription and paywalled content363
Video14,349

rel=canonical

rel = canonical元素(通常称为“规范链接”)是一种HTML元素,可帮助网站管理员防止重复的内容问题。 它通过指定“规范URL”(网页的“首选”版本)来实现。

SELECTORCOUNT
<link rel=canonical href=”*”>3,183,575

meta name=”keywords”


已过时并且Google不再使用它已经不是什么新鲜事了。 对于大多数搜索引擎来说,似乎也地址页面信号。

“尽管主要搜索引擎不使用元关键字进行排名,但它们对于诸如Solr之类的现场搜索引擎非常有用。”
-JP谢尔曼(JP Sherman)解释为何如今这种过时的meta仍然有用。

SELECTORCOUNT
<meta name=”keywords” content=”*”>2,577,850
<meta name=”keywords” content=””>256,220
<meta name=”keywords”>14,127

Headings

在750万页中,h1(59.6%)和h2(58.9%)是使用最多的28个元素之一。 不过,在收集所有标题之后,我们发现h3是出现次数最多的标题-在找到的总标题70,428,376中,有29,565,562个h3。

一些数据:

  • h1-h6元素代表标题的六个级别。 这是标题使用情况的完整统计信息,但我们还发现23,116个h7和7,276个h8。 这很有趣,因为很多人甚至都不经常使用h6。
  • 有3,046,879个页面缺少h1标签,而在其余4,502,255页中,h1的使用频率为2.6,共有11,675,565个h1元素。
  • While there are 6,263,396 pages with a valid title, as seen above, only 4,502,255 of them are using a h1 within the body of their content.

缺失alt tags

分析这组数据后,这个永恒的SEO性问题似乎仍然很常见。 在总共669,591,743张图像中,几乎90%缺少alt属性或alt的值为空。

chart (4).png
饼状图显示了img标签的alt属性分布,其中缺失的alt占主导地位-在我们发现的约6.7亿张图像中,占81.7%。
SELECTORCOUNT
img669,591,743
img alt=”*”79,953,034
img alt=””42,815,769
img w/ missing alt546,822,940

语言检测

根据规范,用户代理可以使用通过lang属性指定的语言信息以各种方式控制渲染。

我们感兴趣的部分是“协助搜索引擎”。

“ HTML lang属性用于识别网络上文本内容的语言。 这些信息有助于搜索引擎返回特定于语言的结果,屏幕阅读器也可以使用这些信息来切换语言配置文件,以提供正确的口音和发音。”
-莱妮·沃森(LéonieWatson)

不久前,约翰·穆勒(John Mueller)说Google忽略了HTML lang属性,而是建议使用链接hreflang。 Google Search Console文档指出,Google使用hreflang标记将用户的语言偏好与页面的正确变体进行匹配。

lang-vs-hreflang.png
条形图显示750万个索引页中有65%使用html元素上的lang属性,同时21.6%至少使用了一条链接hreflang。

在我们可以查看的750万个索引页中,有4,903,665个使用html元素上的lang属性。 大约是65%!

关于hreflang属性,这表明存在一个多语言网站,我们发现大约有1,631,602个页面—这意味着大约21.6%的索引页面至少使用链接rel =“ alternate” href =“ *” hreflang =“ *”元素 。

Google Tag Manager

从一开始,Google Analytics(分析)的主要任务就是生成有关您的网站的报告和统计信息。 但是,如果要将某些页面分组在一起以查看人们如何浏览该渠道,则需要一个唯一的Google Analytics(分析)标签。 这就是事情变得复杂的地方。

Google跟踪代码管理器使您更轻松地进行以下操作:

  • 通过让您定义标签应触发的时间和用户操作的自定义规则,来管理这些混乱的标签
  • 随时更改标签,而无需实际更改网站的源代码,由于发布周期缓慢,有时可能会令人头疼
  • 再次与GTM一起使用其他分析/营销工具,而无需触及网站的源代码

我们搜索了* googletagmanager.com / gtm.js参考资料,发现大约有345,979个页面正在使用Google跟踪代码管理器。

rel=”nofollow”

“ Nofollow”为网站管理员提供了一种告诉搜索引擎“不遵循此页面上的链接”或“不遵循此特定链接”的方法。

Google不跟随这些链接,并且同样不传递权重。 考虑到这一点,我们对rel =“ nofollow”数字感到好奇。 我们在750万个索引页面中找到了总共12,828,286个rel =“ nofollow”链接,计算得出的平均每页为1.69 rel =“ nofollow”。

上个月,Google宣布了两个新的链接属性值,用于标记链接的nofollow属性:rel =“ sponsored”和rel =“ ugc”。 我建议您阅读Cyrus Shepard关于Google的nofollow,赞助和ugc链接如何影响SEO的文章,了解Google更改nofollow的原因,nofollow链接的排名影响等等。 how Google’s nofollow, sponsored, & ugc links impact SEO,

赛勒斯·谢泼德(Cyrus Shepard)的文章显示了一张表格,该表格显示了Google的nofollow,Sponsored和UGC链接属性如何影响SEO。

我们走得更远,查找了这些新的链接属性值,找到了278个 rel =“ sponsored”和123个 rel =“ ugc”。 为了确保我们拥有与这些查询相关的数据,我们专门在Google宣布此事后两周更新了索引页数据集。 然后,使用Moz授权指标,我们筛选出使用至少rel =“ sponsored”或rel =“ ugc”对之一的顶级URL:

  • https://www.seroundtable.com/
  • https://letsencrypt.org/
  • https://www.newsbomb.gr/
  • https://thehackernews.com/
  • https://www.ccn.com/
  • https://www.chip.pl/
  • https://www.gamereactor.se/
  • https://www.tribes.co.uk/

AMP

加速移动网页(AMP)是Google的一项举措,旨在加快移动网络的速度。 许多发布者正在使其内容与AMP格式并行可用。

为了让Google和其他平台了解这一点,您需要将AMP和非AMP页面链接在一起。

在我们浏览的数百万个页面中,我们发现只有24,807个非AMP页面使用rel = amphtml引用其AMP版本。

Social

我们想知道当今网站的可共享性或社交性,Josh Buchea列出了一个很棒的列表,其中包含所有可能出现在您网页顶部的内容,我们从中提取了社交部分,并获得了以下数字:

Facebook Open Graph

chart.png
条形图显示了Facebook Open Graph元标记的分布,在下表中进行了详细说明。
SELECTORCOUNT
meta property=”fb:app_id” content=”*”277,406
meta property=”og:url” content=”*”2,909,878
meta property=”og:type” content=”*”2,660,215
meta property=”og:title” content=”*”3,050,462
meta property=”og:image” content=”*”2,603,057
meta property=”og:image:alt” content=”*”54,513
meta property=”og:description” content=”*”1,384,658
meta property=”og:site_name” content=”*”2,618,713
meta property=”og:locale” content=”*”1,384,658
meta property=”article:author” content=”*”14,289

Twitter card

chart (1).png
条形图显示了Twitter Card meta标签的分布,在下表中有详细说明。
SELECTORCOUNT
meta name=”twitter:card” content=”*”1,535,733
meta name=”twitter:site” content=”*”512,907
meta name=”twitter:creator” content=”*”283,533
meta name=”twitter:url” content=”*”265,478
meta name=”twitter:title” content=”*”716,577
meta name=”twitter:description” content=”*”1,145,413
meta name=”twitter:image” content=”*”716,577
meta name=”twitter:image:alt” content=”*”30,339

说到链接,我们抓住了所有指向最受欢迎的社交网络的链接。

chart (2).png
下表显示了外部社交链接分布的饼图。
SELECTORCOUNT
<a href*=”facebook.com”>6,180,313
<a href*=”twitter.com”>5,214,768
<a href*=”linkedin.com”>1,148,828
<a href*=”plus.google.com”>1,019,970

显然,仍有许多网站仍链接到其Google+个人资料,考虑到最近关闭Google+的情况,这可能是一个疏忽。

rel=prev/next

根据Google的说法,使用rel = prev / next不再是索引信号,正如今年早些时候宣布的那样:

“在评估索引信号时,我们决定停用rel = prev / next。 研究表明,用户喜欢单页内容,在可能的情况下尽量做到这一点,但对于Google搜索来说,多页内容也可以。
-由Google网站管理员发布

但是,需要说明的是,Bing表示它将它们用作提示以发现页面和了解网站结构。

“我们将这些标记(如大多数标记)用作页面发现和网站结构理解的提示。 此时,我们不会基于这些页面将页面合并在一起,也不会在排名模型中使用prev / next。”
– Frédéric Dubut from Bing

不过,这是我们在查看数百万个索引页面时发现的使用情况统计信息:

SELECTORCOUNT
<link rel=”prev” href=”*”20,160
<link rel=”next” href=”*”242,387

内容差不多了!

通过使用大约800万个索引页面中的数据,可以使我们更清楚地了解趋势,并帮助我们直观地了解SEO现代和新兴技术中HTML的常见用法。 但这可能是一个永无止境的探索-尽管有大量的数字和统计数据需要探索,但仍有许多问题需要回答:

  • 我们知道使用结构化数据的现状。 它将如何发展,搜索引擎会给结构化数据多少的权重?
  • 我们是否应该期望AMP使用量将来会增加?
  • rel =“ sponsored”和rel =“ ugc”将如何改变我们每天编写HTML的方式?在编码外部链接时,除了target =“ _ blank”和rel =“ noopener”组合之外,我们现在必须考虑 rel =“ sponsored”和rel =“ ugc”组合也是如此。
  • 我们是否会学会始终为具有有效内容的图像添加alt属性值?
  • 我们必须将多少其他元标记或属性添加到网页中,才能取悦搜索引擎? 我们真的需要新发布的data-nosnippet HTML属性吗? 接下来是 data-allowsnippet ?

我们还希望解决其他问题,例如“第一字节时间”(TTFB)值,该值与排名高度相关。 我强烈建议为此使用HTTP存档。 他们定期抓取Web上的热门站点,并记录有关几乎所有内容的详细信息。 根据最新信息,他们已经分析了4,565,694个独特的网站,这些网站具有完整的Lighthouse评分,并且为整个数据集存储了诸如jQuery或WordPress之类的特定技术。

进行这项大规模研究很有趣。 我们学到了很多东西,希望您发现上面的数字和我们一样有趣。 如果您特别想查看标签或属性,请在下面的评论中让我知道。

调查结果的全文再次 full HTML study results 

Tags:

Search


Categories


Tags