如果标签和分类别名 slug 为空,则默认将别名设为对应的名称。对于中文的标签和分类,这种设置会导致链接过长且不美观,也会影响搜索引擎如百度的收录。
1. WordPress 数据库标签和分类表
在使用著名 Web 端 MySQL 管理工具 phpMyAdmin 打开数据库时,分类和标签的基础信息存在后缀为terms的表中。一般这个表的前缀是wp,因此为 wp_terms。如果您的表前缀是其他内容,在执行下面示例中的 SQL 命令时请替换表名。
2. 批量修改标签和分类的别名
注意:修改数据库是个敏感的操作,务必在操作前备份数据库。
2.1 将别名作为数字
UPDATE wp_terms SET slug = FLOOR(RAND() * (99999999 - 10000000 + 1)) + 10000000;
2.2 将别名作为数字和字母的随机组合
UPDATE wp_terms SET slug = SUBSTRING(MD5(RAND()) FROM 1 FOR 6);
2.3 将别名设为与 term_id 相同
UPDATE wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id SET t.slug = t.term_id;
3. 批量修改标签的别名(不改分类)
注意:修改数据库是个敏感的操作,务必在操作前备份数据库。
3.1 将别名设为数字和字母的随机组合
UPDATE wp_terms SET slug = SUBSTRING(MD5(RAND()) FROM 1 FOR 6) WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE taxonomy = 'post_tag');
3.2 将别名设为随机八位数
UPDATE wp_terms SET slug = SUBSTRING(MD5(RAND()) FROM 1 FOR 8) WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE taxonomy = 'post_tag');
3.3 将别名设为与 term_id 相同
UPDATE wp_terms SET slug = term_id WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE taxonomy = 'post_tag');
4. 批量修改分类的别名(不改标签)
注意:修改数据库是个敏感的操作,务必在操作前备份数据库。
4.1 将别名设为数字和字母的随机组合
UPDATE wp_terms SET slug = SUBSTRING(MD5(RAND()) FROM 1 FOR 6) WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE taxonomy = 'category');
4.2 将别名设为随机八位数
UPDATE wp_terms SET slug = SUBSTRING(MD5(RAND()) FROM 1 FOR 8) WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE taxonomy = 'category');
4.3 将别名设为与 term_id 相同
UPDATE wp_terms SET slug = term_id WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE taxonomy = 'category');
暂无评论
要发表评论,您必须先 登录