大数跨境

SEO:实现可爬取 JavaScript 的三条路径

SEO:实现可爬取 JavaScript 的三条路径 电商实践
2018-06-03
0
导读:上周的入门指南介绍了 Googlebot 在处理现代 JavaScript 时面临的一些困难。本文则探讨了如何弥补爬虫的这些局限性的解决方案。

当复杂的技术阻碍搜索引擎爬取时,也会直接阻断自然搜索带来的收入。但通过一些方法,可以确保网站对搜索引擎友好而非将其拒之门外。

上周的入门指南《SEO:不,Google 并不支持较新的 JavaScript》已通俗解释了 Googlebot 难以处理 Angular、AJAX 等现代 JavaScript 的原因。本文作为后续,将介绍弥补机器人局限性的解决方案,以帮助提升自然搜索流量和收入。对于依赖自然流量的电商网站而言,确保机器人能访问内容和 URL 是关键。停止创新不可行,建议与开发人员探讨以下变通方案,使创新网站也能被有效索引。

锚点和 HREF

对搜索引擎而言,若链接使用 JavaScript 编码且未在 href 中搭配可见锚文本,则不被视为有效链接。这是电商网站使用 JavaScript 时的常见问题:看似可点击跳转,实则无法被爬虫抓取。

验证方法:右键点击链接选择“检查”。若未看到包含 href 及实际 URL 的锚点标签,即为不可爬取链接;若无检查选项,需在浏览器设置中启用开发者工具或使用 Firebug 等插件。

搜索引擎必须能爬取指向页面的链接才能进行索引和排名。无法爬取意味着无索引、无自然流量及收入流失。因此,“爬取”是 SEO 的基础前提,若爬虫无法访问并索引页面,其他优化均无从谈起。

使用 pushState() 实现可爬取

若目标页面在搜索引擎眼中并非独立“页面”,链接将不会被爬取。许多电商网站利用 AJAX 加载筛选后的产品集以提升用户体验,但这可能导致消费者想买的产品页无法被索引。例如,Google 上搜索“黑色连衣裙”的用户可能找不到 The Gap 的相关结果(因其非独立内容页),而 Macy’s 则拥有可爬取的对应页面。

判断页面是否由 AJAX 生成的简易方法是查看 URL 是否含哈希符号(hashtag)。Google 明确表示不会爬取和索引含哈希符号的 URL。

无论是否带哈希值,均可通过 pushState() 技术解决可爬取性问题。该函数利用 HTML5 History API,将可爬取 URL 加载至浏览器地址栏,同时确保其对搜索引擎可索引。

预渲染内容

更快的页面加载有助于提升转化率。为加速分层内容展示,许多电商网站转向客户端渲染以减少服务器往返次数。但如前文所述,这可能导致索引延迟数月,进而损害收入。通过“预渲染”客户端内容,可确保搜索引擎在短时间内完成全站索引。

在使用 Angular 或 React 等框架时,预渲染尤为重要。尽管 Google 参与了 Angular 开发,但这并不意味着其能高效索引 Angular 网站——经验表明情况往往相反。

Google 搜索工程师推崇的开源预渲染方案包括 Puppeteer 和 Rendertron;Prerender.io 也是电商领域的常见选择。

部分技术允许针对特定用户代理(如主流浏览器或 Googlebot)阻止使用预渲染版本。目标是让消费者使用客户端版本,同时向机器人及禁用 JavaScript 的用户提供预渲染版本。切勿屏蔽 Googlebot。

Google 网页趋势分析师 John Mueller 与渐进式 Web 应用索引合作伙伴开发者倡导者 Tom Greenaway,曾在 Google I/O 大会上就搜索引擎友好的 JavaScript 驱动网站发表演讲。建议观看相关视频,以深入探讨这些话题。

【声明】内容源于网络
0
0
电商实践
电商实践
内容 0
粉丝 0
电商实践 电商实践
总阅读0
粉丝0
内容0