Angular 百度 SEO 怎么做?新手入门指南
先搞明白:为啥 Angular 站点百度不爱收录
不少新手用 Angular 吭哧吭哧把站做完,兴冲冲提交给百度,结果等了大半个月收录还是零。先别怀疑人生,这事儿大概率不怪你,而是 Angular 这类单页应用(SPA)的"天性"决定的。
Angular 默认是在浏览器里靠 JavaScript 把页面内容"拼"出来的。你自己打开网页看着挺正常,但如果右键点一下"查看网页源代码",会发现真正的 HTML 里几乎是空的,只有一个 app-root 的空壳。人用的浏览器会乖乖执行 JS 把内容填进去,可百度蜘蛛对 JavaScript 的执行能力一直比较有限,它来爬的时候很可能只看到那个空壳,自然就没啥可收录的了。搞清楚这个病根,后面的事就好办了。
核心思路:让页面"自带内容"
解法其实很直白——想办法让蜘蛛一进门就能看到实打实的 HTML 文字,而不是指望它自己去跑 JS。主流做法有两种,新手照着自己的站点情况挑一个就行。
服务端渲染(SSR)
SSR 的意思是,页面先在服务器上把完整 HTML 生成好,再整个发给访问者。这样不管是真人还是蜘蛛,打开就能看到完整内容。Angular 官方自带了 SSR 方案(早期版本叫 Angular Universal),新建项目时勾上对应选项,或者给现有项目补配置都能用。它比较适合内容经常变动的站,比如带评论、带实时列表的那种。
预渲染(内容不常变就用它)
如果你的站主要是文章、产品介绍这类更新不频繁的页面,那预渲染更省心。它是在你打包发布的时候,提前把每个页面都生成一份静态 HTML 存好,蜘蛛来了直接拿现成的。好处是不用额外养一台跑 Node 的服务器,部署简单、访问也快,对新手特别友好。
基础功课:标题、描述和 URL
渲染问题解决了,也别忘了 SEO 的基本盘。Angular 里可以用官方提供的 Title 和 Meta 服务,给每个路由页面单独设置标题和描述,千万别整站共用一个 title,那样蜘蛛根本分不清谁是谁。
- 每个页面配唯一的标题,把核心关键词自然地放进去,别硬堆;
- 写好 meta description,用一句人话说清这页到底讲了啥;
- URL 尽量简短、有含义,能用有意义的英文或拼音,就别甩一长串乱码参数。
临门一脚:主动告诉百度你有新页面
光被动等蜘蛛上门实在太慢。去注册一个百度搜索资源平台的账号,把你的网站加进去验证好,这是让百度正式认识你的第一步。里面有几个功能新手一定要用起来:一个是提交 sitemap(网站地图),把所有页面链接整理成一份清单交上去,方便蜘蛛一次摸清你有哪些页;另一个是链接提交里的主动推送,有了新内容就推一次,收录速度往往能快不少。
还有一句要提醒:如果服务器放在国内并且完成了备案,百度抓取通常会更顺、更稳定,这点对国内站长挺关键。
给新手的几句大实话
最后说点实在的。SEO 从来不是改完配置就立竿见影的事,收录和排名都要给它时间,耐心比任何技巧都值钱。你可以先盯紧一件最关键的事:每次改完,都去"查看网页源代码",确认里面真的有你的正文文字——只要蜘蛛能看到内容,就已经成功一大半了。剩下的就是老老实实持续更新,把内容本身做扎实,这比钻研任何花招都管用。