惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Last Week in AI
Last Week in AI
D
DataBreaches.Net
腾讯CDC
Recent Announcements
Recent Announcements
有赞技术团队
有赞技术团队
A
About on SuperTechFans
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Google DeepMind News
Google DeepMind News
Microsoft Security Blog
Microsoft Security Blog
云风的 BLOG
云风的 BLOG
罗磊的独立博客
月光博客
月光博客
MyScale Blog
MyScale Blog
U
Unit 42
Martin Fowler
Martin Fowler
Stack Overflow Blog
Stack Overflow Blog
T
Tailwind CSS Blog
Engineering at Meta
Engineering at Meta
N
Netflix TechBlog - Medium
G
Google Developers Blog
博客园 - 【当耐特】
D
Docker
I
InfoQ
雷峰网
雷峰网

atpX

自建 S3 兼容对象存储服务 Garage 听风的歌 偶尔是深夜就好了 新玩具 AirPods Pro 3 公交车上的时间 从 WHOIS 到 RDAP 通过 WireGuard 访问 NFS 共享文件 自建音乐串流服务探索 我停止了探索 Fediverse 互联网背景噪音 我的数字生活降级 小城与确定性的墙 一只特立独行的猪 Fediverse 与社交 承认的勇气 mediaX - 轻量书影音记录管理工具 我的博客写作流程 网站新增 Misc 页面 擅长对线的鲍勃 在 Chroot 环境下使用 Rsync 同步 再见 JavaScript 当我玩博客时我在玩什么 为什么我的博客没有友链页面 小熊猫与大熊猫 (HDR 照片测试) 是时候为网站开启 HTTP/3 支持了吗 使用 AdGuard Home 搭建自用 DoH 服务 谈谈读书与消遣 2023 年终总结 西安两日游 从 AirPods「升级」到 EarPods
Typecho 修改永久链接后旧链接 301 跳转到新链接
ATP · 2021-06-22 · via atpX

最近研究了下 SEO,发现文章的 url 链接其实对 SEO 也有一定的影响,虽然影响不大,但还是准备随手优化一下,修改 typecho 文章的永久链接,并将旧链接 301 重定向跳转到新链接。

Typecho 设置永久链接
Typecho 设置永久链接格式。

我原来的永久链接设置的是 /{year}/{month}/{slug}/ 地址中包含了文章发表的日期,其实这样做并不利于 SEO,比如今年发布了一篇名为 2021 年躺平指南 的文章, 那么url地址就是:

https://atpx.com/2021/06/laid-back-guide/

但是如果我明年还想继续躺平,就要更新这篇文章,将标题改为 2022 年躺平指南 但是 url 地址中的年份依然是 2021,这样就很不合理,当然可以顺带把url也修改了,旧链接设置好跳转就行了,但这样就麻烦了。而且似乎对 Google 来说 url 越短越利于 SEO,于是决定修改为下面的格式:

https://atpx.com/post/laid-back-guide/

在 typecho 后台设置后就需要做好旧链接跳转了。我们可以直接通过 php 实现301跳转,这里打开主题的 404.php 文件,加入以下内容:

<?php
$error_url = '//'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$old_url = strstr($error_url, '20');
if($old_url != "" ||$old_url != null) {
  $new_url = substr($old_url, 7);
  header('HTTP/1.1 301 Moved Permanently');
  header("location://".$_SERVER['HTTP_HOST']."/post".$new_url);
}
?>

这里简单说明一下:

第 3 行 $old_url = strstr($error_url, '20'); 的意思返回以 “20” 开头包含 “20” 以及之后的值,也就是 2021/06/laid-back-guide/

第 5 行 $new_url = substr($old_url, 7); 的意思是返回从第 8 个字符 “/” 开始以及之后的值,也就是 /laid-back-guide/

最后在第 7 行中将地址重新组合就行了。