SEO相关

117 阅读2分钟

SEO 为 搜索引擎优化,说白了就是你想让你的网页在谷歌上更容易被发现或搜索到,你应该做这个。

前置条件

  • 没有被google屏蔽(未在robots.txt)
  • 网页正常运行,状态码200就会被收集

Google 搜索阶段

  • 使用类似Googlebot的程序来抓取网站
  • 抓取网站后,Google会了解该网站的内容,称为索引编制,会分析处理文字内容或属性,比如title标签、meta、description、h1标签,还有就是一些语义化的标签
  • 用户查询时,机器会在索引中搜索匹配的网页,不同的设备、场景、地点,对结果都有影响。移动优先索引(Mobile-First Indexing)是当前趋势。

优化

  • 使用具体的http状态码告知网页抓取工具,比如网页永久迁移到其他地址,为网页设置301永久重定向
  • 搞分页加载,Google对动态加载的爬虫有限
  • 网页搞成HTTPS的,HTTPS是Google的排名信号,能提升安全性并增加用户信任。
  • 建议采用服务端渲染(SSR)或预渲染,这样能让抓取工具被快速看到网页内容
  • 在使用SPA时,当发生404时,要将页面定向到404的网址;在meta标签中添加。

问题

  1. 为什么SPA不利于SEO?

答:搜素引擎抓的整个页面html,像react、vue这种SPA应用,都是动态替换内容,不用像服务器路由每次新的path都得请求后端,但这样对SEO确不友好,搜索引擎可能看不到全部的内容

  1. 这里也能探索出另一个问题,就是通过History路由可能会导致部署到服务器出现问题?

答:因为如果你直接打开某个带有path的路由的网址,恰好也是SPA应用,如果没在服务器或nginx重定向转发一下,就相当于去这个path拿对应的资源,自然是404,空白页。解决方案有几种

  • webpack dev server 处理
  • Nginx配置
location / {
	try_files $uri $uri/ /index.html;
}