Files
wordpress-theme-aksrt/assets/admin/src/schema/sections/global/seo.js
T
kate522 cf39e72126 feat(extensions): align Baidu push with reference theme
与参考主题(zibll)1:1 对齐百度推送,并清掉存量双路与死代码:

- 新增普通/快速收录通道开关,快速收录走 &type=daily;自动推送 JS 与参考实现一致

- 分类法 saved_term 推送(可推送类型推导公开分类法,排除 post_format,aksrt_baidu_push_taxonomies 可过滤)

- 推送结果写入 meta 去重,成功后不重复提交;编辑页 Metabox 展示结果并提供「重新提交」(nonce 校验后强制推送)

- 配置面收敛到扩展页单一 canonical 键:删除 SEO 页 seo_baidu_* 重复面与两处合并逻辑,不写迁移兜底

- 清理死代码:push_batch(零调用)及 batch_size、从不写入的 baidu_push_verified、零消费的熊掌号 xzh_* 七键;baidu_push_log_enabled 接入 log()

新增 PHP harness 驱动真实逻辑(通道/去重/重试/重新提交/术语/面板渲染)+ 参考主题契约测试;tests/admin 与 tests/widget-system 全量通过。
2026-10-13 21:01:03 +08:00

129 lines
5.2 KiB
JavaScript

export const seoSchema = {
key: 'global.seo',
title: 'SEO 优化',
icon: 'fa fas fa-search',
description: '站点标题、描述、关键词与 AI SEO。AI 生成入口在文章「独立 SEO」框,连接由 WordPress AI Connectors 提供。',
defaults: {
seo_enabled: true,
seo_ai_enabled: false,
seo_connector: '-',
seo_title: '',
seo_keywords: '',
seo_description: '',
ai_seo_title_prompt: '',
ai_seo_keywords_prompt: '',
ai_seo_description_prompt: '',
seo_image_optimize: true,
seo_image_default: '',
seo_image_always_default: false,
seo_auto_alt: true,
seo_go_link: true,
seo_go_link_nonce: true,
seo_go_link_post: true,
seo_go_link_exclude: '',
seo_no_category: false,
seo_jsonld: true,
seo_jsonld_single: true,
seo_jsonld_page: true,
},
groups: [
{
key: 'basic',
title: 'SEO 基础',
icon: 'fa fas fa-globe',
fields: [
{
key: 'seo_enabled',
label: '启用核心 SEO 优化',
type: 'switch',
default: true,
help: '关闭后主题不再输出 SEO title/description/keywords 等 head 标签。',
},
{
key: 'seo_ai_enabled',
label: '启用 AI SEO 生成',
type: 'switch',
default: false,
help: '开启后文章/分类「独立 SEO」框显示「AI 生成 SEO」按钮。需先在 WordPress 配置 AI Connectors。',
dependsOn: { key: 'seo_enabled', value: true },
},
{ key: 'seo_connector', label: '标题连接符', type: 'input', default: '-', placeholder: '例如:- 或 |', help: 'AI 生成标题时会用此连接符追加站点名。' },
{ key: 'seo_title', label: '站点 SEO 标题', type: 'textarea', rows: 2, default: '' },
{ key: 'seo_keywords', label: '站点 SEO 关键词', type: 'textarea', rows: 3, default: '' },
{ key: 'seo_description', label: '站点 SEO 描述', type: 'textarea', rows: 4, default: '' },
],
},
{
key: 'ai-seo',
title: 'AI SEO 提示词',
icon: 'fa fab fa-android',
description: '留空则使用内置 原主题风格默认提示词。填写后作为 system instruction 覆盖默认。',
fields: [
{
key: 'ai_seo_title_prompt',
label: '标题提示词',
type: 'textarea',
rows: 5,
default: '',
dependsOn: { key: 'seo_ai_enabled', value: true },
placeholder: '你是一名资深的网站 SEO 编辑……直接输出标题文本本身,不要任何前缀、引号或解释。',
help: '控制 AI 如何生成 SEO 标题。留空使用主题内置默认。',
},
{
key: 'ai_seo_keywords_prompt',
label: '关键词提示词',
type: 'textarea',
rows: 5,
default: '',
dependsOn: { key: 'seo_ai_enabled', value: true },
placeholder: '你是一名资深 SEO 编辑……使用英文逗号分隔,直接输出关键词列表。',
help: '控制 AI 如何生成 meta keywords。留空使用主题内置默认。',
},
{
key: 'ai_seo_description_prompt',
label: '描述提示词',
type: 'textarea',
rows: 5,
default: '',
dependsOn: { key: 'seo_ai_enabled', value: true },
placeholder: '你是一名资深的中文 SEO 编辑……字数控制在 80 至 150 个汉字之间。',
help: '控制 AI 如何生成 meta description。留空使用主题内置默认。',
},
],
},
{
key: 'image',
title: '图片 SEO',
icon: 'fa fas fa-image',
fields: [
{ key: 'seo_image_optimize', label: '优化搜索引擎图片展示', type: 'switch', default: true },
{ key: 'seo_image_default', label: '默认分享图 / SEO 图', type: 'media', default: '' },
{ key: 'seo_image_always_default', label: '固定使用默认图', type: 'switch', default: false },
{ key: 'seo_auto_alt', label: '自动补全图片 alt', type: 'switch', default: true },
],
},
{
key: 'redirect',
title: '外链重定向',
icon: 'fa fas fa-external-link-alt',
fields: [
{ key: 'seo_go_link', label: '启用外链重定向', type: 'switch', default: true },
{ key: 'seo_go_link_nonce', label: '启用外链鉴权', type: 'switch', default: true },
{ key: 'seo_go_link_post', label: '文章内容链接走重定向', type: 'switch', default: true },
{ key: 'seo_go_link_exclude', label: '重定向排除域名', type: 'textarea', rows: 4, default: '', placeholder: '每行一个域名' },
],
},
{
key: 'advanced',
title: '高级 SEO',
icon: 'fa fas fa-sliders-h',
fields: [
{ key: 'seo_no_category', label: '分类 URL 去掉 category', type: 'switch', default: false },
{ key: 'seo_jsonld', label: '启用 JSON-LD', type: 'switch', default: true },
{ key: 'seo_jsonld_single', label: '文章页输出 JSON-LD', type: 'switch', default: true },
{ key: 'seo_jsonld_page', label: '页面输出 JSON-LD', type: 'switch', default: true },
],
},
],
}