好的 URL 应该短、层级浅、用连字符分隔、含目标关键词,例如 /seo/long-tail-keyword.html 远优于 /p?id=1024&cat=3 这种带一堆参数的动态地址。搜索引擎对动态参数 URL 的抓取效率较低,参数过多还可能被判定为重复页面。伪静态就是把动态地址重写成静态形式,Apache 用 .htaccess 的 RewriteRule,Nginx 用 rewrite 指令,几乎不影响性能却对 SEO 更加友好。
网站的目录层级最好不超过三层,页面权重随目录深度逐级递减。全站 URL 一旦确定就不要轻易改动,必须改时用 301 重定向逐条映射旧地址到新地址。同一内容只允许一个 URL 可访问,带参数、带 www、带 https 的多个版本必须用 canonical 指定规范地址,否则页面权重会被分散到重复地址上。
<!-- Nginx 伪静态:把 /article/123 映射到详情页 --> <!-- rewrite ^/article/([0-9]+)$ /detail.php?id=$1 last; --> 推荐形式:/seo/long-tail-keyword.html 不推荐:/page.php?cat=seo&id=1234&from=home