RankMath WooCommerce 产品列表
概述
两项工作,只有一项有评分。
- 让 RankMath 满意。 它实际读取的六个输入,加上一份将活页面从 41/100 提升至 84/100 的正文撰写规范。RankMath 评分的是字段,而非文字:一个1000字的页面,如果摘要字段为空,得分会低于一个700字但字段填充完整的页面。
- 让页面可被访问。 正文中强调的每个集合都必须解析为真实链接,且页面本身必须能从平台内部链接到。 RankMath 不统计入站链接或集线器存在性。 步骤3b和4改变的是Google对页面的看法,而非RankMath数字。不要指望评分提升。
此处没有任何内容是硬编码到某个网站的。提供一个基础URL,主机、URL清单、站点名称预算以及WooCommerce是否存在都由此衍生(步骤0)。文末的一个工作示例是匿名的——供说明之用,绝非输入。
步骤 0 - 从基础URL推导平台配置
每项工作都从一个基础URL开始,例如 https://shop.example.com 或 https://blog.example.com。推导出以下内容;切勿假设。
| 事实 | 如何推导 |
|---|---|
| 是否为 WooCommerce? | curl -sL "$BASE/wp-json/wc/store/products?per_page=1" - 返回200表示是,rest_no_route 表示仅有文章和页面。不要假设 /product/ URL结构存在 |
| 存在哪些内容类型 | curl -sL "$BASE/wp-json/wp/v2" 然后列出路由名称。自定义类型(如 farm、produce)会在此显示,必须包含在内 |
| 完整URL清单 | scripts/build_link_inventory.sh <base> - 它通过 x-wp-total 对每个集合进行分页,并写入 _audit/inventory/<host>/{nodes,edges,nav,meta}.tsv |
| 站点名称附加长度 | 获取 与你正在撰写的页面相同内容类型 的3个活页面的 <title> 值,取最长的公共后缀,计算其字符数。这是需要减去的预算。后缀为0个字符 并不 意味着“没有附加”——而是模板不同,因此需要在同一类型内重新测量 |
| 哪些 href 被视为内部链接 | 主机等于推导出的主机,或者 href 是相对或协议相对的。其他均为外部链接 |
| 哪些节点是 编辑性 的 | 从 nodes.tsv 读取节点种类。如果网站暴露了 navigation/menu 等类型,它们的“正文”是菜单,因此属于界面元素,而非写作内容——将它们从入站和集群计数中排除(参见 H5) |
curl 在所有地方都需要 -L。WordPress 的站点地图和REST路由在 Rank Math 接管后会进行301跳转,没有 -L 的 curl -s 会返回 空正文,这会导致幻影URL被发明出来:一个空列表看起来像“没有这样的页面”,而不是“获取失败”。
步骤 1 - 焦点关键词
- 每个页面一个关键词短语,在整个商店中唯一。免费版 RankMath 只评分单个关键词短语;第二篇使用相同短语的页面无法获得排名。
- 检查器使用
grep -oiF计数关键词短语——即固定字符串——因此正文中的连字符会破坏匹配。10-hectare greenhouse不会算作关键词短语10 hectare greenhouse。见证于2026-10-14:一篇关于10公顷项目的文章,采用连字符风格,如果其正文从未实际包含该短语,密度得分会因此受影响。在步骤1就决定正文中全程使用的拼写,当关键词短语无连字符时,写作时也不使用连字符,并在文档包中说明,以免后续的复制编辑将其“修复”回去。 - 关键词短语必须连续出现。
HDPE Female Tees不匹配关键词短语HDPE tee。这个单一错误比其他任何检查都更扣分。 - 优先选择已在活页面slug中的短语。切勿更改已发布的slug以匹配关键词;这会丢失现有排名和入站链接。
- RankMath 的“URL 过长”检查计算的是整个固定链接,而非 slug。 见证于一个slug为41个字符(6个词)的页面:
https://+ 主机 = 37,+/+ slug + 尾部/= 80,面板显示URL is 80 characters long——这个数字匹配完整URL而非41字符的slug,证明了其测量对象。 目标:75个字符或更少(由所有者从面板提供,2026-10-09)。因此可用 slug 上限 = 75 - 主机开销,在那个29字符的主机上,上限是 36个字符。为每个站点计算主机开销一次,并在文档包中说明。 - 在长品牌域名上,此检查与关键词在URL中的规则冲突,正如标题长度规则与长关键词短语冲突一样。 一个与关键词完全匹配但长于上限的短语,无法既在slug中保持连续又通过长度检查。 对于已发布的页面:记录该长度为 RED 并接受,切勿重命名。 关键词精确的slug是少数能得分的固定链接项之一;缩短一个建议项会丧失排名、入站链接,并常常产生一个重复页面(带有冲突后缀)。如果所有者更倾向于更短的URL,说明他们选择了哪个检查、放弃了哪个检查,并将其作为站点范围的固定链接策略处理——从清单中统计受影响的节点(在那个主机上,83个URL中有22个超过75字符,全部为关键词精确或郡县名称),而不是编辑单个页面。
- 在撰写任何内容之前,先读取页面中已保存的焦点关键词,并保持其确切形式,包括单数或复数。 将
HDPE elbows重写为HDPE elbow使一个活页面的评分从73下降到37。 - 当无法访问管理后台时,面板的密度行可恢复存储的短语——不要从slug猜测。 面板的一行文字,"Keyword Density is 0.15 which is low, the Focus Keyword and combination appears 2 times",包含两个未知数和一个方程:分母是
次数 / (密度/100),所以2 / 0.0015= 约1,333个词。在活页面正文中计数每个候选短语的连续出现次数,保留其计数与面板数字匹配的那个。见证于2026-10-13/installation-of-pop-up-sprinklers/:从slug猜测的pop up sprinklers(17字符)测量到10次使用 / 0.74%,而installation of pop up sprinklers(33字符)测量到 2次使用 / 0.15%——与面板数字精确到小数点。 存储的短语是长的那个,而这一推断已经让文档包失去了标题预算、密度目标和H2规则。 - 一个长的存储短语会改变哪些检查是可满足的,因此在推荐之前重新评估每个下游字段。 一个33字符的关键词短语加上一个30字符的站点名称附加,根本无法生成一个合规的标题;而slug衍生的17字符短语则可以。切勿将基于短短语构建的标题粘贴到存储长短语的页面上——RankMath 会打印 "Focus keyword not found in your title"。
- 复数形式满足单数关键词短语,因为
HDPE elbows包含HDPE elbow。反之则不然。不确定时,在标题、H1和第一句话中使用复数形式。 - 当自然的长关键词短语无法放入标题窗口时,存储其较短的连续尾部。 见证于2026-10-14
high volume low pressure irrigation(35字符)加上30字符的站点名称附加,留给输入窗口为15-30:长短语使keyphrase in title和title length在写一个字之前就相互不可满足。存储low pressure irrigation(23字符)在正文中无需付出代价,因为包含关系是单向的——每个长格式提及仍然包含存储的短语,因此算作一次使用。 证明这个选择,而非争论它: 用同一个完成的文件评分两次,每次用一个短语。在一个草稿上测量:短短语 = 密度0.8%/15次使用和14个H2中的5个(均通过),长短语 = 0.2%/4次使用和14个H2中的2个(均为RED)。密度差距是算术问题,而非风格——一个6词短语需要约10次重复才能超过0.5%,读起来像垃圾信息。在文档包中说明两者的数字,让所有者看到原因。 - 在分配之前,检查站点的焦点关键词映射(默认
./rankmath-focus-keywords.md,可用RANKMATH_KEYWORDS=覆盖)。如果页面位于重复集群中,首先解决该问题;新内容无济于事。 - 当请求的关键词已被其他页面占用时,不要在该短语上编写列表,也不要悄悄替换为近似同义词。报告冲突——短语、两个URL以及所有者的实际选项(301重定向较弱的页面、区分一个页面的角度或移动该短语)——并且仅在做出决定后编写。将
HDPE elbows替换为HDPE elbow以规避冲突,与上述第4点的问题相同,只是选错了理由。
步骤 2 - 字段包
填充以下所有字段。这是评分从40多分提升到80多分的关键。
| 字段 | 规则 | 位置 |
|---|---|---|
| 产品名称 (H1) | 关键词连续,靠近开头 | WooCommerce 产品标题。之后重新检查 slug,重命名可能会重写它 |
| SEO 标题 | 总渲染长度在站点名称附加后为45-60字符,关键词在前5个词内,加上由 check_title.cjs 定价的数字/力量词/情感词组合 | RankMath,编辑片段,标题。参见下面的站点名称陷阱 |
| 元描述 | 120-160字符,关键词在前5个词内,以点击理由结尾 | RankMath,描述。如果为空,RankMath 会静默回退到短描述。这是最常见的隐藏失败 |
| 短描述 | 2-3句话,关键词在第一句,不得重复长描述的开头 | WooCommerce "产品短描述"。为自动元数据、摘要检查和标签上方的文本提供内容 |
| 特色图像替代文本 | 焦点关键词 + 市场限定词,例如 " 在肯尼亚销售" | 媒体库 |
| 正文 | 参见下面的规范 | WooCommerce 描述,文本 (HTML) 选项卡 |
在承诺替代文本之前,检查图像是否存在。 curl -sL "$BASE/wp-json/wp/v2/media?search=<topic>&per_page=20" 在大多数 WordPress 安装上是公开的,并返回每个匹配项的 source_url 和 alt_text。见证于2026-10-13 /installation-of-pop-up-sprinklers/:pop up、popup 和 lawn 返回 0 个条目,sprinkler 返回了两张 喷枪 照片——一种与埋地草坪喷头不同的产品。因此正确的文档包行是“不存在合规的特色图像;上传真实的站点照片”,而不是为没有人拥有的图片编写替代文本。切勿发明图像,也切勿重复使用同一类别但不同产品的照片,仅仅为了让检查变绿。
站点名称陷阱
RankMath 会在你输入的标题后面附加一个站点名称模板,因此字段长度和渲染长度不同。 在预算标题之前,在目标站点上测量附加内容:获取 相同内容类型 的3个活页面的 <title> 字符串,取最长的公共后缀。其字符数就是模板的实际成本;输入预算 = 60 减去该数字。
两个已测量的失败模式,因此将数字视为按类型计算,而非站点常量:
-
混合模板将后缀折叠为0字符。 在一个活商店上,产品渲染为
… - Example Online Shop,而文章是坏的(下一项),因此跨类型样本找不到公共后缀。这显示为“免费预算”,但这是错误的。在你正在撰写的内容类型内进行采样。 -
模板可能已损坏并直接渲染。 商店的文章
/greenhouse-construction/的标题是Greenhouse Construction: Framing & Netting Installation - %s——一个未替换的printf占位符。当后缀看起来不对时,在信任任何预算之前,先读取该确切页面的原始<title>。 -
三个同类型的页面可能显示三个不同的附加内容。 模板仅控制 RankMath 标题字段 为空 的页面;在任何有人输入了标题的页面上,该字符串直接渲染——包括错误的品牌。该商店的四个产品测量到 23、29、11 和 0 字符的后缀,其中一个携带了 公司 的站点名称。因此按类型采样给你的是模板,而非页面。 针对你正在撰写的页面进行预算:获取其自己的
<title>,并与字段内容进行差异比较。
示例:在该商店中,产品模板附加23个字符,因此一个48字符的输入标题渲染为71字符,未通过长度检查——但仅针对仍在使用模板的页面。参见工作示例。如果附加内容足够长,以至于每个标题都缺少空间,结构性修复优于绕过:在 Rank Math,标题与元数据,产品中缩短模板。
标题可读性需要三个独立元素
RankMath 针对三个独立的检查对标题进行评分,它们不可互换。现在所有三个都可以本地测试:scripts/check_title.cjs 是 assets/admin/js/analyzer.js 的逐行移植,check_listing.sh 将它们打印为三个更多的计分关卡。
- 一个 数字 —— 插件的规则基本上是
/\\d+/.test(title)。任何数字都算数:90 Degree、4 Pumps、裸10。切勿发明一个。 - 一个 力量词 —— 小写的标题按空格分割,每个词与
rankMath.assessor.powerWords(PHP 列表assets/vendor/powerwords/en.php,1,103个条目)进行匹配,匹配规则为word === entry或startsWith(word, entry),最多允许4个额外字符。已验证成员:best, easy, proven, affordable, amazing, excellent, essential, ultimate, free, price, quality, expert。top不在列表中 —— 它只携带情感,因此无论此技能之前怎么说,Top从未通过力量检查。 - 一个 情感词 —— 捆绑的
sentiment词典(9,196个带标签的词,合并 RankMath 的附加和extras后)对标题中的令牌求和,当前一个令牌是否定词(not、dont、isnt等)时符号翻转。 当且仅当总和非零时通过,因此一个正面词和一个负面词可能相互抵消,显示为RED。
一个词可以同时清除检查2和3,这重写了预算算法。 best 既是力量词又是情感词 +5;easy (+4)、proven (+2)、affordable (+2)、amazing (+4)、excellent (+5) 也是;cheap 是力量词且为负 −3。见证于2026-10-14:一个文档包宣称力量和情感是 无法避免的RED,后续的重新测试发现...
[此处文本截断]