RankMath WooCommerce Product Listing
Visão Geral
Duas tarefas, e apenas uma delas é pontuada.
- 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.
- 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.
| Fato | Como 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 existem | curl -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 URLs | scripts/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 site | Busque 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 internos | O host é igual ao host derivado, ou o href é relativo / relativo a protocolo. Qualquer outra coisa é externo |
| Quais nós são editoriais | Leia 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 greenhouseNÃO conta para a frase-chave10 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 TeesNÃO corresponde à frase-chaveHDPE 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 imprimiuURL 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 elbowscomoHDPE elbowderrubou 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ão2 / 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 slugpop up sprinklers(17 caracteres) mediu 10 usos / 0,74%, enquantoinstallation 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 elbowscontémHDPE 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 tornakeyphrase in titleetitle lengthmutuamente insatisfatórios antes de uma única palavra ser escrita. Armazenarlow 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 comRANKMATH_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 elbowsporHDPE elbowpara 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.
| Campo | Regra | Onde |
|---|---|---|
| Nome do produto (H1) | Frase-chave contígua, perto do início | Título do produto WooCommerce. Verifique o slug novamente depois, renomear pode reescrevê-lo |
| Título SEO | Comprimento 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.cjs | RankMath, Edit Snippet, Title. Veja a armadilha do nome do site abaixo |
| Meta descrição | 120-160 caracteres, frase-chave nas primeiras 5 palavras, termina com um motivo para clicar | RankMath, Description. Se vazio, o RankMath silenciosamente usa a descrição curta. Essa é a falha oculta mais comum |
| Descrição curta | 2-3 frases, frase-chave na primeira frase, não deve repetir a abertura da descrição longa | WooCommerce "Product short description". Alimenta a meta automática, a verificação de excerto e o texto acima das abas |
| Texto alternativo da imagem em destaque | palavra-chave foco + um qualificador de mercado, ex. " for sale in kenya" | Biblioteca de mídia |
| Corpo | Veja especificação abaixo | Descriçã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 Shopenquanto 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 intitulaGreenhouse Construction: Framing & Netting Installation - %s- um placeholderprintfnã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.
- um número - a regra do plugin é literalmente
/.\d+/.test(title). Qualquer dígito conta:90 Degree,4 Pumps, um10simples. Nunca invente um. - uma palavra de poder - o título em minúsculas é dividido em espaços e cada palavra é comparada com
rankMath.assessor.powerWords(a lista PHPassets/vendor/powerwords/en.php, 1.103 entradas) comoword === entryoustartsWith(word, entry)com no máximo 4 caracteres extras. Membros verificados:best, easy, proven, affordable, amazing, excellent, essential, ultimate, free, price, quality, expert.topnão está na lista - carrega apenas sentimento, entãoTopnunca limpou a verificação de poder, não importa o que esta skill costumava dizer. - uma palavra de sentimento - o léxico
sentimentincluído (9.196 palavras rotuladas uma vez que o add-on do RankMath e o extra