别着急,坐和放宽
由于部分文章的删除,导致了博客的标签中遗留一些无用的标签,虽然在网页前端看不到,但是它实际上还是存在于数据库中,而且还被编入了索引。
例如:https://www.zcsouls.com/tag/{标签}/
因此我们可以通过操作数据库来删除这些“牛皮癣”。
使用数据库管理工具(如phpMyAdmin、Adminer等)登录到你的数据库。
Typecho通常使用以下两张表来存储标签和文章的信息:
typecho_metas:存储标签(和分类)的信息。typecho_relationships:存储文章和标签(或分类)之间的关联关系。以下的SQL查询将帮助你找出没有关联任何文章的标签,并删除它们。这里的查询假设你的表前缀是 typecho_,这是Typecho的默认设置。如果你的表前缀不同,请相应修改。
DELETE FROM typecho_metas
WHERE type = 'tag'
AND mid NOT IN (
SELECT mid FROM typecho_relationships
);
DELETE FROM typecho_metas WHERE type = 'tag':这一部分指定要删除来自 typecho_metas表中的记录,且这些记录的类型(type)为“tag”,即标签。AND mid NOT IN (SELECT mid FROM typecho_relationships):这里使用子查询来找出 typecho_relationships表中存在的所有 mid(即标签的ID)。NOT IN确保我们删除的是那些在关联表中没有出现过的标签的 mid。sql
SELECT * FROM typecho_metas
WHERE type = 'tag'
AND mid NOT IN (
SELECT mid FROM typecho_relationships
);
操作数据库时一定要小心谨慎,确保所有操作都有备份!!!