WP Manifestindependent plugin directory
manifest / seo / seo-title-description

SEO Title & Description

🔎 轻量级 WordPress SEO 标题与描述管理插件,支持首页 SEO、产品分类自定义 SEO Title、Taxonomy 自动回退及 SEO Meta Core 集成。

by WEM · github.com/coowinit/seo-title-description

★ 0stars
0forks

Install

The author publishes release zips, so WP-CLI can install straight from GitHub:

wp plugin install https://github.com/coowinit/seo-title-description/releases/download/v1.0.0/seo-title-description-v1.0.0.zip

轻量级 WordPress SEO Title / Meta Description 管理插件。

当前稳定版本:v1.0.0

仓库名:seo-title-description
插件目录:seo-title-description

定位:负责 WordPress 企业站的 SEO Title 与 Meta Description,并可与 SEO Meta Core 组合形成轻量、清晰的 SEO 元数据架构。


1. 插件定位

本插件只处理与 Title / Meta Description 直接相关的需求,不尝试复制 Yoast SEO、Rank Math 等完整 SEO 套件。

当前负责

  • 首页独立 SEO Title。
  • 首页独立 Meta Description。
  • product_cat 产品分类自定义 SEO Title。
  • 产品分类旧 Term Meta 数据兼容。
  • 其他 Taxonomy 自动使用 Term Name / Term Description。
  • Post / Page / CPT 自动解析 Title / Description。
  • Archive 分页 Title。
  • WordPress title-tag 与老主题兼容。
  • 可选对接 SEO Meta Core 的 smc_title / smc_description。

当前不负责

Keywords
Focus Keyword
SEO Score
Page / Post 自定义 SEO Meta Box
所有 Taxonomy 自定义 SEO Title 字段
集中 SEO 管理列表
Quick Edit
Canonical
Open Graph / Twitter 管理
Schema
Sitemap
Robots / noindex
Redirect Manager
404 Log
AI

只有出现真实需求时,才考虑继续扩展。


2. 整体架构

WordPress Request
        ↓
SEO Title & Description
        ↓
TDK_Resolver
├─ Title
└─ Description
        ↓
        ├─ HTML <title>
        ├─ Meta Description
        └─ SEO Meta Core(可选)
             ├─ Open Graph
             ├─ Twitter / X
             └─ Schema

职责边界:

seo-title-description
→ Title / Meta Description

seo-meta-core
→ Canonical / Social / Schema / Sitemap Rules

SEO Meta Core 不是本插件的强制依赖。未安装 SEO Meta Core 时,本插件仍可独立负责标准 <title> 与 Meta Description。


3. 后台入口

启用插件后:

设置
└── SEO Title & Description

同时在:

插件 → SEO Title & Description

会显示:

设置

快捷链接,可直接进入插件设置页。


4. 首页 SEO

后台:

设置
→ SEO Title & Description
→ 首页 SEO

提供:

首页 SEO Title
首页 Meta Description

首页 Title

后台首页 SEO Title
        ↓ 留空
WordPress Site Name

首页 Description

后台首页 Meta Description
        ↓ 留空
WordPress Site Tagline
        ↓ 仍为空
不输出

首页属于特殊页面,建议统一在插件后台维护 SEO,不再把 <title> / Meta Description 手工写死到首页模板、header.php 或旧 seotitle.php 中。

手工填写的首页 Description 只做文本规范化,插件不会强制截断。


5. Product Category SEO Title

本插件只给:

product_cat

增加一个可选的 SEO Title 字段。

默认 Term Meta Key:

seotitle

Title 规则

自定义 SEO Title
        ↓ 为空
Term Name

Meta Description

Term Description

这意味着已有产品分类 SEO Title 数据可以继续使用,不需要重新录入。


6. 不同旧网站的 Meta Key

不同历史网站不一定都使用:

seotitle

后台可以直接修改:

设置
→ SEO Title & Description
→ 产品分类 SEO Title
→ Meta Key

部署到其他旧网站时,建议在原主题或插件中搜索:

get_term_meta()
update_term_meta()

并结合:

product_cat

确认真实 Term Meta Key。

注意

不要只根据 HTML input 的 name 判断数据库字段。

例如:

name="ProductCatSeotitle_fields[seotitle]"

这只是表单提交结构。真正保存到数据库的 Meta Key,需要结合 get_term_meta() / update_term_meta() 的实际代码确认。

修改插件后台的 Meta Key:

  • 不会迁移旧数据。
  • 不会删除旧数据。
  • 只会改变插件当前读取和保存 SEO Title 使用的 Term Meta Key。

高级场景仍可通过:

tdk_product_cat_title_meta_key

Filter 覆盖最终 Meta Key。


7. 其他 Taxonomy

例如:

faq_cat
solution_cat
panorama_cat

不会额外增加 SEO Title 字段。

统一规则:

Title       → Term Name
Description → Term Description

这样避免为 SEO 再维护一套与分类名称、分类描述重复的数据。

Archive 分页会自动追加:

 - Page N

8. Post / Page / CPT

本插件不增加单篇 SEO Meta Box。

Title

Post / Page / CPT Title

Meta Description

Manual Excerpt
      ↓ 为空
Content Excerpt

自动 Description 会执行:

  • 去除 Shortcode。
  • 去除 HTML。
  • 合并多余空白。
  • 截取基础摘要长度。

当前自动摘要长度为:

160

如果未来只有少数特殊页面需要人工 SEO,不建议因此立即给所有内容类型增加新的 Meta Box,应先确认是否属于长期真实需求。


9. 页面解析规则

Title

页面类型 规则
Front Page 首页 SEO Title → Site Name
Posts Page Posts Page Title → Site Name
Singular 当前内容标题
product_cat 自定义 SEO Title → Term Name
其他 Taxonomy Term Name
CPT Archive Post Type Archive Title
Author 作者显示名称
Date Archive 日期标题
Search Search Results
404 Page not found!

Taxonomy、CPT Archive、Author、Date Archive 等分页页面会自动追加:

 - Page N

Meta Description

页面类型 规则
Front Page 首页 Description → Site Tagline
Posts Page Page Excerpt / Content → Site Tagline
Singular Excerpt → Content Excerpt
Taxonomy Term Description
Author Author Description
Search / 404 不输出

10. 前端输出方式

支持 title-tag 的主题

WordPress 输出 <title>
插件通过 pre_get_document_title 提供最终 Title

不支持 title-tag 的老主题

插件通过 wp_head 补充 <title>

Meta Description 统一由本插件输出。

以下场景不输出 Title / Description:

Feed
Preview

Search / 404 仍提供 Title,但不输出 Meta Description。


11. 与 SEO Meta Core 的关系

如果同时启用 SEO Meta Core,本插件通过:

smc_title
smc_description

把最终 Title / Description 提供给 Core。

这样 Open Graph、Twitter / X、Schema 等模块可以继续复用统一基础 Metadata,而无需重复计算 Title / Description。

首页 Social Override

SEO Meta Core 的首页:

Social Title
Social Description
Social Image

属于社交分享人工覆盖层,因此允许:

SEO Title ≠ Social Title
SEO Description ≠ Social Description

如果 Social 字段留空,则继续使用基础 Metadata。


12. 旧主题迁移

这是将插件部署到历史网站时最重要的一步。

12.1 产品分类旧字段代码

如果主题 functions.php 中仍存在类似:

Product_cat_seotitle
product_cat_add_form_fields
product_cat_edit_form_fields
created_product_cat
edited_product_cat

启用本插件并确认历史 SEO Title 数据能够正常读取、编辑和保存后,应删除主题中的旧“产品分类自定义 SEO Title”代码。

否则可能出现:

SEO Title   ← 插件
SEO Title   ← functions.php 旧代码

或同一 Term Meta 被两套代码重复处理。

删除旧 PHP 代码不会删除数据库中已经保存的 Term Meta 数据。

12.2 旧 Title / Description 输出

如果主题中仍存在:

get_template_part( 'seotitle' );

或直接输出:

<title>...</title>
<meta name="description" content="...">

确认本插件输出正确后,应删除旧主题实现,避免重复 Title / Description。

推荐迁移顺序

  1. 安装并启用插件。
  2. 填写首页 SEO Title / Meta Description。
  3. 检查产品分类旧 SEO Title 是否正常显示。
  4. 新增、编辑、清空一个测试产品分类 SEO Title。
  5. 查看典型页面源代码,确认插件输出正确。
  6. 删除 functions.php 中旧产品分类 SEO Title 字段代码。
  7. 删除旧 seotitle.php 调用及其他重复 Title / Description 输出。
  8. 清理 WordPress、主机与 CDN 缓存。
  9. 再次检查源码,确认每种标签只保留一份。

13. 建议验收页面

至少抽查:

首页
普通 Page
Blog Post
Product Single
Solution Single
product_cat(有自定义 SEO Title)
product_cat(无自定义 SEO Title)
faq_cat
panorama_cat
其他 Taxonomy
Archive Page 2
Search
404

源码重点检查:

<title>
meta name="description"
og:title
og:description
twitter:title
twitter:description

最终目标:

<title>                  1 份
Meta Description         0 或 1 份
og:title                 1 份(启用 SEO Meta Core Social 时)
og:description           0 或 1 份
twitter:title            1 份(启用 SEO Meta Core Social 时)
twitter:description      0 或 1 份

14. 公共 API

tdk_get_title();
tdk_get_description();
tdk_get_term_title( $term );
tdk_get_term_description( $term );

主要类:

TDK_Settings
TDK_Product_Cat_Meta
TDK_Resolver
TDK_Integration

主要 Filter:

tdk_product_cat_title_meta_key

与 SEO Meta Core 的集成 Filter:

smc_title
smc_description

15. 数据保留原则

以下数据都属于人工维护数据:

首页 SEO Title
首页 Meta Description
产品分类 SEO Title
产品分类 SEO Title Meta Key 设置

禁用插件不会删除这些数据。

插件也不会因为修改 Meta Key 而自动迁移或清理旧 Term Meta。

当前版本不提供自动卸载清理逻辑。若未来确实需要“彻底清理数据”,应设计成显式、可确认的操作,而不是默认删除。


16. v1.0.0 验收结果

实站回归测试已通过:

首页 SEO Title / Description              ✅ Passed
首页旧模板 SEO 迁移                       ✅ Passed
Product Category 旧 seotitle 数据兼容     ✅ Passed
Product Category 新增 / 编辑 / 清空       ✅ Passed
Product Category Meta Key 设置            ✅ Passed
FAQ / Panorama / Solution Taxonomy         ✅ Passed
普通 Page / Post / CPT                     ✅ Passed
Taxonomy Description                       ✅ Passed
Archive 分页 Title                         ✅ Passed
SEO Meta Core 集成                         ✅ Passed
重复 <title> / Meta Description 检查       ✅ Passed
旧 seotitle.php 退出                       ✅ Passed
插件列表“设置”快捷入口                     ✅ Passed

17. v1.0.0 Final Review

  • 正式版本号统一为 1.0.0。
  • 增加插件列表“设置”快捷入口。
  • 保留首页 SEO Title / Meta Description。
  • 保留 product_cat 自定义 SEO Title 与可配置 Meta Key。
  • 其他 Taxonomy 使用 WordPress 原生 Term 数据。
  • Post / Page / CPT 继续自动解析,不增加额外 SEO Meta Box。
  • 保持与 SEO Meta Core 的轻量 Filter 集成。
  • 完成旧主题 seotitle.php 与产品分类旧字段代码迁移说明。
  • README 按稳定版重新整理。
  • 不增加与当前真实需求无关的 SEO 功能。

18. 文件结构

seo-title-description/
├─ seo-title-description.php
├─ includes/
│  ├─ class-tdk-settings.php
│  ├─ class-tdk-product-cat-meta.php
│  ├─ class-tdk-resolver.php
│  └─ class-tdk-integration.php
└─ README.md

一句话定位

SEO Title & Description:只管理 WordPress 企业站真正需要的 Title 与 Meta Description,并把复杂度留在边界之外。

Releases

1 release. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
v1.0.0 latest
Sep 23, 2026 8d ago
seo-title-description-v1.0.0.zip
0