做SEO优化的网站在使用JS时应避免绝对路径,例如https://www.zcsxy.com.cn/js/hover.js这样的路径在网址跳转或启用SSL证书后可能导致混乱或加载缓慢,严重影响SEO效果。建议统一使用根目录路径,如/js/hover.js。
读者lin在问答板块提出一个技术问题,涉及网站JavaScript的使用和SEO注意事项。JS的SEO问题近年来愈发重要,过去尚未深入探讨过。如今,无论是异步加载内容还是提升页面互动性,几乎无法避免使用JS脚本。但若使用不当,将对SEO造成严重影响。
lin的问题是:一个网站的源码全部封装在JS中,直接调用JS来展示内容,该如何处理?这是一个较为极端的情况,先讨论一般情况下页面使用JS时需要注意的SEO问题。
搜索引擎如何处理JS?简单来说,JS造成SEO问题的核心在于搜索引擎不一定执行JS脚本。SEO的关键在于搜索引擎蜘蛛能顺利爬行链接、抓取页面并解析HTML代码中的内容,之后才谈得上排名和流量。如果JS导致障碍,就会影响整个流程。
浏览器会执行JS并正常渲染页面,用户访问无碍。但搜索引擎蜘蛛在抓取页面HTML代码时,可能不会执行JS脚本,因此需要JS执行才能显示的内容,搜索引擎可能无法获取。Google在资源充足且页面价值较高时,可能会尝试执行JS并渲染页面,而百度则基本不执行JS脚本。因此,中文网站在使用JS时需更加谨慎。
重要链接不应依赖JS。搜索引擎依靠链接进行爬行和抓取,若关键链接需运行JS才能调用或解析,搜索引擎可能无法跟踪。并非不能使用JS调用链接,但重要的、希望被收录的页面至少应提供普通的标签作为入口。例如,相关文章或产品链接可以用JS实现,但必须在主导航中已有明确入口。
主菜单、导航系统等关键结构尽量避免使用JS,除非有其他方式提供访问入口。
想被收录的内容不要通过JS调用。包括文章正文、产品说明、图片、评论等,都应直接写入HTML。JS可以用于调用不想被收录的内容,如广告或侧边栏信息。
我见过许多用JS调用内容的案例,比如用JS动态生成页面标题标签。
慎用懒加载和瀑布流。懒加载(包括图片和文字)虽有助于提升页面速度,但需注意:搜索引擎蜘蛛不会点击按钮或下拉页面,因此可能看不到懒加载后的内容。无论懒加载的是本页内容还是其他页面列表,都可能引发爬行和索引问题。
列表页面采用瀑布流是社交媒体网站的常见做法,但需考虑这些网站通常屏蔽搜索引擎。普通网站若想被索引,使用瀑布流时应确保有其他可被搜索引擎追踪的链接入口。
注意页面速度。JS可能拖慢页面加载和响应速度。虽然下载JS文件本身不是大问题,但执行JS可能耗费大量资源,设计不佳的JS可能执行数秒,导致浏览器阻塞,用户看到空白或卡顿。
因此,应尽量删除执行时间过长的JS,超过1-2秒的脚本需慎重处理。合并JS脚本,减少