个人站长 SEO 实战经验:如何提升百度收录与排名
做个人站长快三年了,从最初网站上线三个月百度只收录首页,到现在每天稳定新增收录、部分关键词排到百度首页前三,中间踩了无数坑。这篇文章我把最实用的 SEO 经验完整总结出来,全是自己验证过才敢写的干货,不讲虚的理论。
一、让百度快速收录的正确方法
很多新手站长最大的困惑就是:网站明明已经上线了,也有内容了,百度就是不收录。这里分享几个经过我反复验证的有效方法。
方法一:主动推送是最有效的收录手段
不要等百度自己来爬你的站点,新网站的抓取频率非常低,百度可能一个月才来一次。主动推送是最直接有效的方式。百度搜索资源平台提供了三种推送方式,我个人推荐使用 curl 推送,简单高效:
# 使用 curl 推送 URL 到百度
curl -H 'Content-Type:text/plain' --data-binary @urls.txt \
"http://data.zz.baidu.com/urls?site=你的域名&token=你的token"urls.txt 文件每行写一个完整 URL,每次最多推送 20 条。token 需要在百度搜索资源平台(ziyuan.baidu.com)申请,验证站点所有权就能获取。建议每天推送一次就够了,推送太频繁反而可能被百度视为垃圾行为。每次发布新文章时,把新文章的 URL 加到 urls.txt 里推送给百度,一般 24 小时内就能看到收录。
方法二:自动推送代码
在网站每个页面的 标签结束前加上这段 JavaScript 代码,让访问者帮你自动提交 URL 给百度:
<script>
(function(){
var bp = document.createElement('script');
bp.src = '//push.zhanzhang.baidu.com/push.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(bp, s);
})();
</script>这个代码的好处是一次部署永久生效,代码会监听页面加载事件,自动将当前页面 URL 提交给百度。缺点是只有用户访问页面时才会触发推送。如果你的网站是新站没有流量,这个方法的收录效果就比较有限。所以要和主动推送配合使用,两条腿走路。
方法三:内链建设是长期有效的收录策略
很多人忽视了内链对收录的作用。搜索引擎的爬虫是通过链接来发现新页面的,如果新发布的页面没有任何其他页面指向它,爬虫找到它的难度就会大很多。我养成了一个习惯:每发布一篇新文章,都会回到之前发布的相关文章中,在合适的位置加上指向新文章的超链接。
比如我刚写了一篇 Nginx 优化的文章,就会回到之前写的 "服务器部署" 相关文章里,在提到性能优化的地方加上链接。这样既增加了内链,也让旧文章的内容更丰富。一篇新文章如果能有 3 到 5 个高质量的内链指向它,收录速度会明显加快。
二、网站结构优化:让爬虫高效抓取你的内容
搜索引擎爬虫在每个站点上分配的抓取预算(Crawl Budget)是有限的,你的网站结构越清晰,爬虫在有限的抓取次数内发现的页面就越多。
URL 结构设计:URL 的层级不要太深,"域名/分类/文章名" 是最理想的结构。URL 中的参数不要超过两个,像 "域名/?id=123&cat=5&page=2&sort=desc" 这种带多个参数的 URL,百度收录效果很差。如果使用 Typecho,默认的 URL 结构就很好,不需要大改。用 WordPress 的话建议在固定链接设置中选择 "文章名" 或 "分类/文章名" 格式。
站点地图(Sitemap):Sitemap 是告诉搜索引擎你的站点有哪些页面的重要工具。Typecho 可以通过插件生成 Sitemap,也可以手动创建。以下是一个简单的 Sitemap 生成脚本:
#!/bin/bash
SITE="https://你的域名"
echo '<?xml version="1.0" encoding="UTF-8"?>' > /var/www/html/sitemap.xml
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' >> /var/www/html/sitemap.xml
echo "<url><loc>$SITE/</loc><changefreq>daily</changefreq><priority>1.0</priority></url>" >> /var/www/html/sitemap.xml
echo "<url><loc>$SITE/tech/</loc><changefreq>weekly</changefreq><priority>0.8</priority></url>" >> /var/www/html/sitemap.xml
echo "<url><loc>$SITE/webmaster/</loc><changefreq>weekly</changefreq><priority>0.8</priority></url>" >> /var/www/html/sitemap.xml
echo '</urlset>' >> /var/www/html/sitemap.xml生成 Sitemap 后,别忘了提交到百度搜索资源平台和 Google Search Console。对于 WordPress 用户,有很多 Sitemap 插件可以自动生成并更新 Sitemap,比如 Yoast SEO 或者 Rank Math。Typecho 用户可以使用 BaiduSiteMap 或者自己写一个简单的 PHP 脚本来动态生成。
Robots.txt 配置:配置好 robots.txt 可以防止爬虫把宝贵的抓取预算浪费在没有价值的页面上。一个合理的 robots.txt 配置如下:
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /wp-admin/
Disallow: */page/*
Disallow: /*?*
Disallow: /feed/
Disallow: /trackback/
Sitemap: https://你的域名/sitemap.xml这里的重点是屏蔽后台管理路径、带参数的动态 URL、Feed 订阅页面等。这些页面要么是私密的,要么是重复内容,爬虫抓取了也没有意义,反而会浪费抓取预算。
三、内容为王:什么样的文章更受搜索引擎青睐
做了这些年站长,我越来越深刻地认同"内容为王"这句话。但什么样的内容才是搜索引擎真正喜欢的内容?我通过大量的实践总结出以下几点经验。
原创性是排名的根基:百度近几年的算法更新对原创内容的识别能力大幅提升。纯搬运翻译的文章即便被收录了也不可能获得好的排名。我在同一个主题上做过对比测试:A 篇文章是我花了四个小时原创写的,B 篇文章是我花一小时从几篇英文文章拼凑翻译的。结果是 A 篇在发布后 48 小时内被百度收录,两周后排到了首页。B 篇虽然也被收录了,但排到了第五页之后,几乎拿不到搜索流量。
内容的深度和篇幅:根据我两年多的数据统计,1500 到 2500 字的文章在收录率和排名上表现最好。太短的文章(几百字)百度会觉得内容价值不高,很难给好的排名。太长的文章(超过 3000 字)在移动端的阅读体验不好,用户跳出率高,也会影响排名。这里的字数是指正文字数,不包括代码块和广告部分。如果你的文章包含大量的代码示例,可以在文字说明部分下足功夫,保证用户能看懂并且觉得有收获。
标题优化技巧:标题是用户第一眼看到的内容,也是搜索引擎判断页面主题的重要依据。标题里要包含核心关键词,但绝对不要堆砌关键词。以 "Nginx 配置" 这个主题为例,一个糟糕的标题是 "Nginx 配置 Nginx 优化 Nginx 教程 Nginx 技巧",这种堆砌式的标题一看就是低质量站点。好的标题应该是 "Nginx 性能调优完全指南:让你的网站飞起来",这个标题既包含了核心关键词(Nginx 性能调优),又给出了具体的价值承诺(让你的网站飞起来),点击率会高很多。
文章的更新和维护:很多人只关注发布新文章,忽略了旧文章的维护。事实上,维护旧文章比写新文章的 SEO 性价比更高。我每个月会专门抽出一天时间,把 3 到 6 个月前的旧文章翻出来更新一下。更新的内容包括:补充新的技术细节、修正过时或者不准确的信息、补充更优的解决方案。更新之后百度会重新抓取页面,文章的排名往往会有一个明显的提升。我有一篇关于 MySQL 优化的文章,第一次写的时候排名在第三页,半年后更新了一次,补充了新的优化方案,直接跳到了首页第二名。
四、技术层面的 SEO 优化
技术 SEO 是做站的基础,基础打不好,内容再好也难以有好的排名。
HTTPS 已经是必要条件:如果你的站点还在用 HTTP,建议尽快迁移到 HTTPS。百度早在 2014 年就已经明确表示 HTTPS 是排名信号之一。而且 Chrome 浏览器会在 HTTP 页面的地址栏显示"不安全"的标记,这对用户体验是很大的负面影响。迁移到 HTTPS 的成本并不高,使用 Let's Encrypt 的免费证书即可:
# 安装 acme.sh 自动证书工具
curl https://get.acme.sh | sh -s email=你的邮箱
# 申请 Let's Encrypt 证书
acme.sh --issue -d 你的域名 --nginx
# 安装证书到 Nginx 目录
acme.sh --install-cert -d 你的域名 \
--key-file /etc/nginx/ssl/key.pem \
--fullchain-file /etc/nginx/ssl/fullchain.pem \
--reloadcmd "systemctl reload nginx"配置好之后 acme.sh 会自动续签证书,完全不需要手动干预。
移动端适配:Google 已经全面采用移动端优先索引,百度虽然没有明确声明,但移动端适配不好的站点排名确实越来越差。建议使用响应式设计(Responsive Design),而不是单独搞一个 m. 域名。响应式设计只需要维护一套代码,不会出现移动端和 PC 端内容不一致被搜索引擎惩罚的情况。在网页头部加入以下 meta 标签:
<meta name="viewport" content="width=device-width, initial-scale=1.0">页面加载速度优化:页面加载速度是百度官方确认的排名因素。建议使用 Google PageSpeed Insights 测试你的速度得分,并按照测试报告中的建议进行优化。根据我的经验,图片压缩、启用 Gzip 压缩、配置浏览器缓存是三个见效最快的手段。具体操作方法可以参考我上一篇关于 Nginx 优化的文章。
五、外链建设与友情链接
外链对 SEO 仍然很重要,但玩法和以前完全不同了。以前那种群发垃圾外链的策略现在已经完全失效,甚至会给网站带来惩罚。
高质量外链获取策略:我目前主要采用三种方式做外链。第一种是在知乎、CSDN、V2EX 等技术社区写高质量的回答,在合适的场景自然地引出自己文章的链接。第二种是和同领域的站长交换友情链接,交换时我主要看对方的权重(百度权重、爱站权重)和内容相关性,相关性比权重更重要。第三种是开源项目和 GitHub 仓库,如果你有一些有用的脚本或者工具开源在 GitHub 上,README 中的项目链接就是高质量的外链。
必须避免的外链做法:千万不要购买垃圾外链,百度现在的算法对这种行为打击非常严厉。也不要参与链轮(Link Wheels)等人工制造链接的网络,这些做法一旦被识别,网站可能会受到降权惩罚。另外,尽量不要和内容违规的站点交换友情链接,比如博彩、色情站点,这些站的外链会给你带来负面 SEO 影响。
六、推荐使用的 SEO 工具
最后推荐几个我每天都会用到的 SEO 工具。百度搜索资源平台是必用的,它提供收录查询、抓取异常监控、搜索点击数据分析等功能。Google Search Console 虽然在国内使用率不如百度,但它的数据分析功能是所有工具里最好的。爱站网和站长工具(chinaz.com)可以查反链、查收录数量、查关键词排名,免费的功能就够用了。如果你的预算允许,Ahrefs 或者 SEMrush 的关键词研究功能非常强大,但国内站长用起来可能会碰到网络访问的问题。
七、总结与心得
SEO 没有所谓的捷径,但方法正确了确实可以事半功倍。总结几条我认为最重要的原则:第一,持续输出原创高质量内容,这是 SEO 的根本。前期内容积累的过程确实很辛苦,但量变会引起质变。第二,打好技术基础,HTTPS、加载速度、移动端适配这些基础工作一样都不能少。第三,坚持做内链建设,让每一篇文章都互相连接形成一个内容网络。第四,也是最重要的一点,要有耐心。SEO 是长期工程,不要期望一两个月就能看到明显的排名效果,坚持做半年以上再看数据,你会发现所有的努力都是值得的。
以上就是我作为一个草根站长三年来的 SEO 实战经验总结。如果你有好的 SEO 心得,欢迎在评论区和我交流讨论。