CommunityEscrita e Ediçãogithub.com

Doc-Scripter/rankmath-skill

Use ao escrever ou auditar listagens WordPress/WooCommerce que precisam atingir pontuação 70+ no RankMath — listagens de produtos, escolha de palavra-chave foco, campos de snippet, descrições expandidas, links internos, frases hub e coletivas ("recursos para construção de estufas"), páginas órfãs, links de entrada ou diagnosticar uma pontuação baixa no RankMath. Funciona em qualquer site fornecido como URL base, ex. https://shop.example.com. Gatilhos: pontuação RankMath, SEO de listagem de produto, SEO WooCommerce, palavra-chave foco, meta descrição, links internos, página hub, links de cluster.

O que é rankmath-skill?

Esta skill automatiza a otimização de listagens de produtos WooCommerce para alcançar uma pontuação mínima de 70 no RankMath, um plugin SEO popular para WordPress. Ela aborda tanto os campos de entrada que o RankMath realmente avalia (título SEO, meta descrição, descrição curta, texto alternativo da imagem, corpo do texto) quanto a arquitetura de links da página para melhorar a visibilidade no Google. A skill deriva automaticamente as configurações do site a partir de uma URL base fornecida, usando chamadas de API REST do WordPress para determinar se o site é WooCommerce, inventariar todas as URLs e calcular o orçamento do nome do site para títulos. Ela inclui verificações rigorosas para garantir que a palavra-chave foco apareça de forma contígua e exclusiva em todos os campos, evitando armadilhas comuns de hifenização, plurais e limites de comprimento de URL. A skill também fornece scripts locais para verificar a legibilidade do título, a densidade da palavra-chave e a integridade do cluster de links, garantindo uma abordagem completa e repetível para SEO on-page que funciona em qualquer site WordPress.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add Doc-Scripter/rankmath-skill

Installed? Explore more Escrita e Edição skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

RankMath WooCommerce Product Listing

Visão Geral

Duas tarefas, e apenas uma delas é pontuada.

  1. Deixar o RankMath feliz. As seis entradas que ele realmente lê, mais a especificação do corpo do texto que levou uma página ao vivo de 41/100 para 84/100. O RankMath pontua campos, não prosa: uma página de 1.000 palavras com campos de snippet vazios pontua pior do que uma página de 700 palavras com eles preenchidos.
  2. Tornar a página alcançável. Toda coleção que o texto destaca deve se resolver em links reais, e a própria página deve ser linkável de dentro da plataforma. O RankMath não pontua links de entrada ou existência de hub. As Etapas 3b e 4 mudam a visão do Google sobre a página, não o número do RankMath. Não espere um aumento na pontuação.

Nada aqui é codificado para um único site. Forneça uma URL base; o host, o inventário de URLs, o orçamento do nome do site e se o WooCommerce existe são todos derivados dela (Etapa 0). O único exemplo trabalhado no final é anônimo — uma ilustração, nunca uma entrada.

Etapa 0 - Derivar a plataforma da URL base

Cada tarefa começa com uma URL base, ex. https://shop.example.com ou https://blog.example.com. Derive estes; nunca os presuma.

FatoComo derivá-lo
É WooCommerce?curl -sL "$BASE/wp-json/wc/store/products?per_page=1" - 200 significa sim, rest_no_route significa apenas posts e páginas. Não presuma que uma estrutura de URL /product/ existe
Quais tipos de conteúdo existemcurl -sL "$BASE/wp-json/wp/v2" e depois liste os nomes das rotas. Tipos personalizados (farm, produce) aparecem aqui e devem ser incluídos
Inventário completo de URLsscripts/build_link_inventory.sh <base> - ele pagina por todas as coleções através de x-wp-total e escreve _audit/inventory/<host>/{nodes,edges,nav,meta}.tsv
Comprimento do apêndice do nome do siteBusque 3 páginas ao vivo do mesmo tipo de conteúdo da página que você está escrevendo, pegue o sufixo comum mais longo dos valores <title>, conte seus caracteres. Esse é o orçamento a subtrair. Um sufixo de 0 caracteres não significa "sem apêndice" - significa que os modelos diferem, então meça novamente dentro de um tipo
Quais hrefs contam como internosO host é igual ao host derivado, ou o href é relativo / relativo a protocolo. Qualquer outra coisa é externo
Quais nós são editoriaisLeia os tipos de nó do nodes.tsv. Se o site expõe tipos navigation/menu, seu "corpo" é o menu, então eles são cromados, não texto - exclua-os das contagens de entrada e cluster (veja H5)

curl precisa de -L em todos os lugares. Os sitemaps e rotas REST do WordPress redirecionam 301 uma vez que o Rank Math assume, e curl -s sem -L retorna um corpo vazio, que é como URLs fantasmas são inventadas: uma lista vazia parece "nenhuma página encontrada", não "falha na busca".

Etapa 1 - Palavra-chave foco

  • Uma frase-chave por página, única em toda a loja. O RankMath gratuito pontua uma única frase-chave; uma segunda página na mesma frase não consegue ranquear.
  • Os verificadores contam a frase-chave com grep -oiF — uma string fixa — então um hífen no texto quebra a correspondência. 10-hectare greenhouse NÃO conta para a frase-chave 10 hectare greenhouse. Testemunhado em 2026-10-14: um artigo sobre um projeto de 10 hectares, com hifenização no estilo house, teria pontuado densidade com base em uma frase que nunca continha literalmente. Decida na Etapa 1 qual grafia o texto usará em todos os lugares, escreva-a sem hífen quando a frase-chave for sem hífen, e diga isso no pacote para que uma edição de texto posterior não a "corrija" de volta.
  • A frase-chave deve aparecer de forma contígua. HDPE Female Tees NÃO corresponde à frase-chave HDPE tee. Esse único erro custa mais pontos do que qualquer outra verificação.
  • Prefira uma frase já dentro do slug ao vivo. Nunca mude um slug publicado para corresponder a uma palavra-chave; isso perde ranqueamento e links existentes.
  • A verificação "URL é longa" do RankMath conta o PERMALINK INTEIRO, não o slug. Testemunhado em uma página cujo slug tem 41 caracteres em 6 palavras: https:// + host = 37, + / + slug + / final = 80, e o painel imprimiu URL tem 80 caracteres de comprimento - o número correspondendo à URL completa em vez do slug de 41 caracteres é a prova do que ele mede. Alvo: 75 caracteres ou menos (fornecido pelo proprietário do painel, 2026-10-09). Portanto, teto do slug utilizável = 75 - custo do host, e naquele host de 29 caracteres o teto é 36 caracteres. Calcule o custo do host uma vez por site e declare no pacote.
  • Em um domínio de marca longa, essa verificação colide com a palavra-chave na URL, exatamente como a regra de comprimento do título colide com uma frase-chave longa. Uma frase exata à palavra-chave mais longa que o teto não pode permanecer contígua no slug e passar na verificação de comprimento. Padrão em uma página publicada: registre o comprimento VERMELHO como aceito, nunca renomeie. Um slug exato à palavra-chave é um dos poucos itens de permalink que pontua; encurtar uma linha consultiva perde ranqueamento, links de entrada e frequentemente cria uma duplicata com sufixo de colisão. Se o proprietário preferir a URL mais curta, nomeie qual verificação eles compraram e qual eles abriram mão, e trate isso como uma política de permalink em todo o site - conte os nós afetados do inventário (naquele host, 22 de 83 URLs excederam 75, todas exatas à palavra-chave ou nomeadas por condado) em vez de editar uma página.
  • Leia a palavra-chave foco já salva na página antes de escrever qualquer coisa, e mantenha sua forma exata, incluindo singular ou plural. Reescrever HDPE elbows como HDPE elbow derrubou uma página ao vivo de 73 para 37.
  • Quando o admin está inacessível, a linha de densidade do painel recupera a frase armazenada - não a adivinhe a partir do slug. Uma linha do painel, "Keyword Density is 0.15 which is low, the Focus Keyword and combination appears 2 times", são duas incógnitas e uma equação: o denominador é uses / (density/100), então 2 / 0.0015 = ~1.333 palavras. Conte as ocorrências contíguas de cada frase candidata no corpo ao vivo e mantenha aquela cuja contagem reproduz o número do painel. Testemunhado em 2026-10-13 em /installation-of-pop-up-sprinklers/: o palpite derivado do slug pop up sprinklers (17 caracteres) mediu 10 usos / 0,74%, enquanto installation of pop up sprinklers (33) mediu 2 usos / 0,15% - o valor do painel com a casa decimal. A frase armazenada era a longa, e a inferência já havia custado ao pacote seu orçamento de título, seu alvo de densidade e sua regra de H2.
  • Uma frase armazenada longa altera quais verificações são satisfatórias, então reavalie cada campo downstream antes de recomendar um. Uma frase-chave de 33 caracteres mais um apêndice de nome de site de 30 caracteres não pode produzir um título conforme de forma alguma; a frase de 17 caracteres derivada do slug pode. Nunca cole um título construído na frase curta em uma página que armazena a longa - o RankMath imprime "Focus keyword not found in your title".
  • O texto plural satisfaz uma frase-chave singular, porque HDPE elbows contém HDPE elbow. O inverso é falso. Quando estiver em dúvida, escreva a forma plural no título, no H1 e na primeira frase.
  • Quando a frase-chave longa natural não cabe na janela do título, armazene sua cauda contígua mais curta. Testemunhado em 2026-10-14 em high volume low pressure irrigation (35 caracteres) contra um apêndice de nome de site de 30 caracteres, que deixa uma janela digitada de 15 a 30: a frase longa torna keyphrase in title e title length mutuamente insatisfatórios antes de uma única palavra ser escrita. Armazenar low pressure irrigation (23) não custa nada no texto, porque a contenção funciona nessa direção - toda menção na forma longa ainda contém a frase armazenada, então conta como um uso. Prove a escolha, não a discuta: pontue o MESMO arquivo finalizado duas vezes, uma vez por frase. Medido em um rascunho: curto = densidade 0,8%/15 usos e 5 de 14 H2s (ambos PASSAM), longo = 0,2%/4 usos e 2 de 14 (ambos VERMELHO). A lacuna de densidade é aritmética, não estilo - uma frase de 6 palavras precisa de ~10 repetições para ultrapassar 0,5% e parece spam. Declare os números para ambos no pacote e deixe o proprietário ver o porquê.
  • Antes de atribuir, verifique o mapa de palavras-chave foco do site (padrão ./rankmath-focus-keywords.md, substitua com RANKMATH_KEYWORDS=). Se a página estiver em um cluster duplicado, resolva isso primeiro; novo texto não vai ajudar.
  • Quando a palavra-chave solicitada já está reivindicada por outra página, não escreva a listagem nessa frase e não troque silenciosamente por um quase sinônimo. Relate a colisão - a frase, ambas as URLs e as opções reais do proprietário (301 a página mais fraca, diferenciar o ângulo de uma página ou mover a frase) - e escreva apenas depois que isso for decidido. Trocar HDPE elbows por HDPE elbow para evitar uma colisão é a mesma regressão do bullet 4, apenas escolhida pelo motivo errado.

Etapa 2 - O pacote de campos

Preencha cada um destes. Eles são a diferença entre os 40 e os 80.

CampoRegraOnde
Nome do produto (H1)Frase-chave contígua, perto do inícioTítulo do produto WooCommerce. Verifique o slug novamente depois, renomear pode reescrevê-lo
Título SEOComprimento total renderizado 45-60 caracteres após o apêndice do nome do site, frase-chave nas primeiras 5 palavras, mais o trio número / palavra de poder / sentimento precificado por check_title.cjsRankMath, Edit Snippet, Title. Veja a armadilha do nome do site abaixo
Meta descrição120-160 caracteres, frase-chave nas primeiras 5 palavras, termina com um motivo para clicarRankMath, Description. Se vazio, o RankMath silenciosamente usa a descrição curta. Essa é a falha oculta mais comum
Descrição curta2-3 frases, frase-chave na primeira frase, não deve repetir a abertura da descrição longaWooCommerce "Product short description". Alimenta a meta automática, a verificação de excerto e o texto acima das abas
Texto alternativo da imagem em destaquepalavra-chave foco + um qualificador de mercado, ex. " for sale in kenya"Biblioteca de mídia
CorpoVeja especificação abaixoDescrição do WooCommerce, guia Text (HTML)

Verifique se uma imagem existe antes de prometer um texto alternativo. curl -sL "$BASE/wp-json/wp/v2/media?search=<topic>&per_page=20" é público na maioria das instalações WordPress e retorna source_url e alt_text para cada resultado. Testemunhado em 2026-10-13 em /installation-of-pop-up-sprinklers/: pop up, popup e lawn retornaram 0 itens, sprinkler retornou duas fotos de canhão de irrigação - um produto diferente de um cabeçote de grama enterrado. A linha correta do pacote era, portanto, "nenhuma imagem em destese compatível existe; faça upload de uma foto real do site", não uma string de texto alternativo escrita para uma imagem que ninguém tem. Nunca invente uma imagem, e nunca recicle uma foto da mesma categoria, mas de produto diferente, apenas para tornar uma verificação verde.

A armadilha do nome do site

O RankMath anexa um modelo de nome do site a tudo que você digita no campo Título, então o comprimento do campo e o comprimento renderizado diferem. Meça o apêndice no site alvo antes de orçar o título: busque três páginas ao vivo do mesmo tipo de conteúdo e pegue o sufixo comum mais longo de suas strings <title>. Sua contagem de caracteres é o que o modelo custa a você; orçamento digitado = 60 menos esse número.

Dois modos de falha medidos, então trate o número como por tipo e nunca como uma constante do site:

  • Modelos mistos reduzem o sufixo a 0 caracteres. Em uma loja ao vivo, os produtos renderizam … - Example Online Shop enquanto os posts estão quebrados (próximo bullet), então uma amostra entre tipos não encontra sufixo comum. Isso é lido como "orçamento livre" e está errado. Amostre dentro do tipo de conteúdo que você está escrevendo.

  • Um modelo pode estar quebrado e renderizar literalmente. O post /greenhouse-construction/ da loja se intitula Greenhouse Construction: Framing & Netting Installation - %s - um placeholder printf não substituído. Quando o sufixo parece errado, leia o <title> bruto da página exata antes de confiar em qualquer orçamento.

  • Três páginas do mesmo tipo podem mostrar três apêndices diferentes. O modelo só rege páginas cujo campo de título do RankMath está vazio; em qualquer página onde alguém digitou um título, essa string é renderizada literalmente - incluindo uma marca errada. Quatro produtos naquela loja mediram 23, 29, 11 e 0 caracteres de sufixo, um deles carregando o nome do site corporativo. Portanto, a amostragem por tipo dá a você o modelo, não a página. Faça o orçamento contra a página que você está escrevendo: busque seu próprio <title> e compare com o conteúdo do campo.

Exemplo: naquela loja, o modelo de produto anexa 23 caracteres, então um título digitado de 48 caracteres renderiza em 71 e falha na verificação de comprimento - mas apenas para páginas que ainda usam o modelo. Veja o exemplo trabalhado. Se o apêndice for longo o suficiente para matar todos os títulos, a correção estrutural é melhor do que contorná-lo: encurte o modelo em Rank Math, Titles & Meta, Products.

A legibilidade do título precisa de três coisas separadas

O RankMath pontua o título contra três verificações independentes, e elas não são intercambiáveis. Todas as três são agora testáveis localmente: scripts/check_title.cjs é uma porta linha por linha de assets/admin/js/analyzer.js, e check_listing.sh as imprime como três portões pontuados adicionais.

  1. um número - a regra do plugin é literalmente /.\d+/.test(title). Qualquer dígito conta: 90 Degree, 4 Pumps, um 10 simples. Nunca invente um.
  2. uma palavra de poder - o título em minúsculas é dividido em espaços e cada palavra é comparada com rankMath.assessor.powerWords (a lista PHP assets/vendor/powerwords/en.php, 1.103 entradas) como word === entry ou startsWith(word, entry) com no máximo 4 caracteres extras. Membros verificados: best, easy, proven, affordable, amazing, excellent, essential, ultimate, free, price, quality, expert. top não está na lista - carrega apenas sentimento, então Top nunca limpou a verificação de poder, não importa o que esta skill costumava dizer.
  3. uma palavra de sentimento - o léxico sentiment incluído (9.196 palavras rotuladas uma vez que o add-on do RankMath e o extra

Habilidades Relacionadas