如何快速修改WordPress文章默认SEO标题模式?
快速修改WordPress文章SEO标题的方法
嘿,我来帮你搞定这个问题!根据你的描述,你想把全站文章的默认SEO标题从%%title%% %%page%% %%sep%% %%sitename%%改成%%title%% %%page%%,而且因为文章数量多,需要快速批量实现,下面分两种最常见的情况给你方案:
一、使用SEO插件(最快最推荐)
大部分WordPress站点都会用Yoast SEO、Rank Math这类主流SEO插件,它们自带全局标题模板设置,能一键批量更新默认标题:
如果是Yoast SEO:
- 登录WordPress后台,找到Yoast SEO → 设置 → 标题与元描述
- 切换到文章标签页
- 在「标题模板」输入框里,把原来的内容替换成:
%%title%% %%page%% - 点击「保存更改」,这样所有使用默认模板的文章SEO标题都会自动更新(已经手动自定义过标题的文章不会受影响,若要修改这些可以用插件的批量编辑工具)
如果是Rank Math:
- 进入后台的Rank Math → 标题与元数据
- 选择「帖子」选项卡
- 在「标题」字段中替换为:
%%title%% %%page%% - 保存设置即可,效果和Yoast一致
二、无SEO插件时的代码方案(安全修改)
如果你没有用SEO插件,不建议直接修改主题的header.php文件(容易丢失修改),推荐用子主题的functions.php添加钩子函数:
添加以下代码到子主题的functions.php中:
add_filter('document_title_parts', 'custom_single_post_title_parts'); function custom_single_post_title_parts($title_parts) { // 仅针对文章详情页生效 if (is_single()) { // 移除标题中的站点名称部分 unset($title_parts['site']); // 如果是分页页面,添加页码 if (get_query_var('paged')) { $title_parts['title'] .= ' ' . get_query_var('paged'); } return $title_parts; } return $title_parts; }
这段代码会通过WordPress的钩子修改标题结构,自动移除站点名称,同时保留分页标识,而且不会影响主题更新。
补充说明
你提到底层代码里bloginfo('name')已经包含在wp_title()输出的内容里,所以去掉%%sitename%%完全没问题,不会导致标题缺失站点信息。
内容的提问来源于stack exchange,提问作者Andrew Truckle
相关产品推荐
相关产品推荐

