从 Typecho 静态博客平滑迁移到 Astro 的一站式解决方案
作为站长,当你的网站拥有较庞大的文章及页面体量时,网站搬家总会遇到各类困惑。我们总希望原站点的数据"应搬尽搬",但事实上很多文章本身可能并没有获得多少阅读与共鸣。
基于流量二八原则,支撑一个网站流量的几乎都来自那 20% 的页面。通过 Google Search Console 等平台拉取近一年的数据,可以佐证这个铁铮铮的事实:
"大部分人写的文章没价值,网站的大多数文章没流量。"
本项目提供了一套完整的 Typecho 到 Astro 的迁移工具链,帮助您:
- 📊 基于流量数据智能筛选高价值页面
- 💾 批量导出 Typecho 文章数据(含图片和附件)
- 🤖 AI 智能生成 SEO 优化的 Frontmatter
- 🚀 无缝适配 Astro + Firefly 主题
- 智能页面筛选:基于 Google Search Console 数据筛选 TOP 20% 流量页面
- 数据批量导出:从 Typecho 导出文章、图片、附件等完整数据
- 格式自动转换:自动转换为适配 Astro + Firefly 主题的 Markdown 格式
- AI 智能 SEO:基于本地 AI 服务自动生成优化的 Frontmatter 元数据
- 分类自动整理:智能识别并整理文章分类目录结构
通过 Google Search Console 拉取近一年的网站数据进行导出,依据点击量大小筛选出占比 80% 的页面 URL,叠加近半年的更新的页面 URL,进行 URL 合并、去重,过滤掉分类页面和标签页,存储为 links.txt 格式为每行一个链接。
links.txt 链接格式如下:
https://blog.moewah.com/posts/typecho-to-astro-markdown-migration-tool/
https://blog.moewah.com/posts/markdown-seo-frontmatter-batch-generator/
想从 Typecho 导出有用的文章(包含站内图片和附件),同时希望导出的 md 文章页面能直接适配 Astro 静态博客框架并兼容 Firefly 主题,该怎么办呢?这个项目正是为了解决这个需求。了解更多请查看文章《Typecho文章批量导出到Astro Markdown工具》
- 运行环境:需要 PHP 7.4+,并启用 MySQL PDO 扩展。建议开启 cURL 扩展以获得更好的下载性能。
- 网站备份:使用前请务必全量备份 Typecho 数据库和网站文件,防止误操作!!!
下载 Typecho-Export-to-Astro-Firefly-Enhanced.php 文件,并用文本编辑器进行编辑,找到 $dbConfig 数组,修改以下配置:
$dbConfig = [
'host' => 'localhost', // Typecho 数据库主机地址
'name' => 'your_database', // Typecho 数据库名
'user' => 'your_username', // 数据库用户名
'pass' => 'your_password', // 数据库密码
'siteDomain' => 'https://blog.moewah.com', // 你的网站域名
];修改完成后将步骤 1 整理的 links.txt 文件和步骤 2 修改后的 Typecho-Export-to-Astro-Firefly-Enhanced.php 文件,上传到你的网站根目录。
SSH 连接你的网站服务器,并执行下面的命令:
# 进入网站根目录(填写为实际的网站根目录路径)
cd /home/wwwroot/blog
# 执行数据导出
php Typecho-Export-to-Astro-Firefly-Enhanced.php程序运行后,会在当前目录下创建 astro_posts 文件夹(或你指定的目录),其中按分类存放了所有导出的 Markdown 文件,同时图片和附件会按年份/文章 ID 组织在 images/ 和 attachments/ 子目录中。
# 将导出的网站数据文件夹进行打包
zip -r astro_posts.zip ./astro_posts下载 astro_posts.zip 文件到本地电脑。此时可以解压缩文件后,可将数据拖到基于 Firefly 主题部署 Astro 的 posts 目录下,需要注意的是如果有 attachments 文件夹的,需要把 attachments 文件夹拖到 Astro 的 public 目录。
如果想要继续在此基础上做文档整理和 FrontMatter 优化,请继续看下一步。
obsdian-seo-plus-enhanced 脚本是为那些 Obsidian、Typera 及本地 Markdown 文档 用户设计的批量 SEO Frontmatter 生成与文章分类整理工具的增强版本。它能够将本地笔记批量转换为适配 Astro 静态网站 并兼容 Firefly 主题 的标准格式,实现从笔记到博客的无缝迁移。
脚本通过本地 AI 服务(支持 Ollama、LM Studio 等 OpenAI API 兼容服务)实现智能化文章分类和 SEO 属性生成,大幅提升内容整理效率。更多使用方法介绍请参考 《Markdown SEO Frontmatter 批量生成器》
- 确保 Python 3.7+ 已安装
- 启动本地 AI 服务(如 Ollama/LMStudio 等兼容 OpenAI API 的服务)
- 确认 AI 服务地址与脚本配置一致
- 下载并打开
obsdian-seo-plus-enhanced.py文件 - 根据你的需求参考配置说明修改配置项
- 特别关注:
SOURCE_DIR:设置正确的笔记目录路径CATEGORIES:调整分类列表匹配你的内容领域ORGANIZE_MODE:选择合适的整理模式UPDATE_MODE:选择适合的更新策略API_URL:正确填写本地 AI 服务地址,支持 Ollama、LM Studio 等兼容 OpenAI API 的服务MODEL_NAME:正确填写模型名称
# 直接运行
python3 obsdian-seo-plus-enhanced.py
# 或添加执行权限后运行
chmod +x obsdian-seo-plus-enhanced.py
./obsdian-seo-plus-enhanced.py脚本执行后将显示:
============================================================
📝 增强版 Obsidian SEO Frontmatter 生成器 - 配置信息
============================================================
📁 源目录: ./astro_posts
📂 目录整理模式: auto
📊 分类数量: 11
📅 日期模式: current
📅 模式: 当前日期
🔄 更新模式: global
🌡️ 温度配置: 0.3
🤖 模型名称: qwen3-vl-30b-a3b-instruct-mlx
============================================================
📂 开始自动分类整理...
🚀 开始自动分类处理 1 个文件...
以下是导出的 Markdown 文件中的 Frontmatter 示例:
---
title: "Markdown SEO Frontmatter 批量生成器"
description: "如何高效将Obsidian笔记转换为Astro博客?本文提供自动化工具,支持AI智能分类与SEO属性生成,一键批量处理Markdown文件并适配Firefly主题,解决内容迁移痛点。"
category: Astro教程
tags:
- 自媒体运营
- 实战复盘
- SEO优化
slug: "markdown-seo-frontmatter-batch-generator"
image: "api"
published: 2026-01-13
updated: 2026-01-15
---验证步骤:
- 检查文件是否按分类移动到正确目录
- 验证 Frontmatter 是否完整生成
- 查看生成的 SEO 属性是否符合预期
将整理好的文件夹直接拖到基于 Firefly 主题部署 Astro 的 posts 目录下,需要注意的是如果有 attachments 文件夹的,需要把 attachments 文件夹拖到 Astro 的 public 目录。
# 添加 NodeSource 仓库安装 Node.js(以 Node.js 22 为例)
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash -
sudo apt-get install -y nodejs
# 安装 pnpm
npm install -g pnpm
# 基于 Firefly 主题部署 Astro
pnpm create astro@latest --template CuteLeaf/FireflyTypecho-to-Astro/
├── Typecho-Export-to-Astro-Firefly-Enhanced.php # Typecho 数据导出脚本
├── obsdian-seo-plus-enhanced.py # AI 智能 SEO Frontmatter 生成脚本
├── links.txt # 高价值页面 URL 列表(需自行准备)
├── astro_posts/ # 导出的文章数据目录(生成后)
│ ├── [分类名]/ # 按分类组织的文章
│ ├── images/ # 图片资源
│ └── attachments/ # 附件资源
└── README.md # 项目说明文档
- Typecho文章批量导出到Astro Markdown工具
- Markdown SEO Frontmatter 批量生成器
- Google Search Console
- Astro 官方文档
- Firefly 主题
- 数据备份:在进行任何迁移操作前,请务必备份原始数据库和文件
- 环境兼容:确保 PHP、Python 版本符合要求
- AI 服务:使用 AI 功能前需确保本地 AI 服务正常运行
- 测试验证:建议先在测试环境验证迁移流程,确认无误后再应用到生产环境
本项目采用 MIT 协议开源。详情请参阅 LICENSE 文件。
如果这个项目对你有帮助,欢迎请我喝杯咖啡:
Made with ❤️ by GOWAH
