zark-seo 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,563 @@
1
+ ---
2
+ name: meta-tags-optimizer
3
+ description: Escreve title tags, meta descriptions, Open Graph e Twitter Cards otimizados para cada página de um site brasileiro — focando em CTR alto na SERP, não só em keyword stuffing. Use SEMPRE que o usuário pedir para "otimizar title", "escrever meta description", "tags meta", "meta tags", "tag SEO", "como aparecer melhor no Google", "snippet do Google", "Open Graph", "preview no WhatsApp", "preview do site no Facebook", "imagem que aparece quando compartilho o link", "card de compartilhamento", "title da página", "headline da página". Acionar também durante criação de qualquer página nova (home, serviço, produto, blog post, página de cidade) para gerar as tags apropriadas. Conhece regras de pixels (não só caracteres), CTR psychology, padrões por tipo de página e particularidades de PT-BR. Produz tags prontas pra colar com instruções de implementação por stack (WordPress, Elementor, Yoast, RankMath, custom).
4
+ ---
5
+
6
+ # Meta Tags Optimizer — Padrão ZARK
7
+
8
+ Skill especialista em escrever meta tags que rankeiam E convertem cliques. Foca no equilíbrio entre keyword (relevância pro Google) e gancho psicológico (CTR pro usuário).
9
+
10
+ ## Por que meta tags são mais importantes do que parece
11
+
12
+ **Title é o ativo de SEO mais subutilizado.** Não é só "onde você coloca a keyword" — é seu **único elo entre o ranking e o clique**. Page que rankeia #3 com title genérico perde pra página #5 com title persuasivo. Esse jogo se chama CTR-otimização e é onde a maior parte dos sites perde tráfego silenciosamente.
13
+
14
+ **Meta description não rankeia, mas vende.** Google ignora meta description como sinal de ranking desde 2009. Mas em 30-40% das buscas, Google mantém a description que você escreveu. Nessas buscas, sua description é a copy de venda na vitrine.
15
+
16
+ **Open Graph é o cartão de visita social.** Toda vez que alguém compartilha seu link no WhatsApp, Telegram, LinkedIn, Slack — o que aparece é o Open Graph. Sem OG bem feito, link compartilhado parece spam.
17
+
18
+ ## Princípios não-negociáveis
19
+
20
+ 1. **Title manual em cada página, sempre.** Plugin gerar automaticamente "Nome da Página | Marca" é o pior cenário. Toda página relevante merece title escrito à mão.
21
+
22
+ 2. **Marca no fim, não no começo (regra geral).** "Aluguel de Lavadora em Contagem | Limppetec" pesa mais que "Limppetec - Aluguel de Lavadora em Contagem". Exceção: marca já é alvo de busca direta com volume alto.
23
+
24
+ 3. **Meta description sempre com CTA explícito.** "Saiba mais" não conta. "Solicite orçamento", "Compare preços", "Liga agora" são CTAs reais.
25
+
26
+ 4. **Open Graph image hospedada no próprio domínio.** Cross-domain (igual o caso Limppetec usando metodovnk.com.br) é gambiarra que quebra.
27
+
28
+ 5. **Coerência entre title, H1, URL e schema.** Se title diz "Desentupidora em Betim", H1, URL slug e schema name precisam dizer a mesma coisa. Inconsistência faz Google reescrever sua title.
29
+
30
+ 6. **Não duplicar title entre páginas.** Cada URL = um title único. Templates com `{title}` precisam de variáveis distintas.
31
+
32
+ 7. **Não inventar dados em description.** "Atendimento 24h" só se atende mesmo. "5 anos de mercado" só se for verdade. Mentir aqui afeta credibilidade pós-clique.
33
+
34
+ ## Limites técnicos (regras de ouro)
35
+
36
+ | Tag | Limite recomendado | Limite máximo |
37
+ |---|---|---|
38
+ | Title (caracteres) | 50-60 | 70 (truncado em mobile) |
39
+ | Title (pixels desktop) | 580px | 600px |
40
+ | Title (pixels mobile) | 540px | 580px |
41
+ | Meta description | 150-160 | 160 (mobile) / 320 (desktop, raro) |
42
+ | OG title | 60-90 | 100 |
43
+ | OG description | 110-200 | 200 |
44
+ | OG image | 1200×630 (1.91:1) | mínimo 600×315 |
45
+ | Twitter title | 70 | 70 |
46
+ | Twitter description | 200 | 200 |
47
+
48
+ **Regra prática de pixels:** caracteres "largos" (M, W, ç, ã) ocupam mais espaço que "estreitos" (i, l, j). Quando for limite, conte por caracteres conservadoramente (50, não 60) e teste visual no SERP Simulator (mangools.com/free-seo-tools/serp-simulator/).
49
+
50
+ ## Fluxo de execução
51
+
52
+ ### Etapa 1 — Identificar tipo de página
53
+
54
+ Cada tipo de página tem padrão próprio. Identifique antes de escrever:
55
+
56
+ | Tipo de página | Padrão de title | Padrão de description |
57
+ |---|---|---|
58
+ | **Home institucional** | `[Marca] \| [Posicionamento curto] em [Cidade]` | Quem é + serviço-âncora + diferencial + CTA |
59
+ | **Página de serviço** | `[Serviço] em [Cidade] \| [Marca]` | O que entrega + diferencial + CTA |
60
+ | **Página de cidade** (Service Area) | `[Serviço] em [Cidade] \| [Marca] - [Diferencial]` | Atende [cidade] + diferencial local + tempo de resposta + CTA |
61
+ | **Página de produto** | `[Produto] [Marca/Modelo] - [Característica chave] \| [Loja]` | O que é + característica + preço/promoção + CTA |
62
+ | **Categoria de produto** | `[Categoria] em [Cidade] - [Marcas/Variações] \| [Loja]` | Catálogo + variações + CTA |
63
+ | **Blog post** | `[Pergunta ou Promessa] - [Contexto/Dúvida resolvida]` | Resumo + benefício de ler + CTA leitura |
64
+ | **Sobre** | `Sobre a [Marca] - [História ou diferencial central]` | História breve + valores + CTA |
65
+ | **Contato** | `Contato - [Marca] em [Cidade]` | Como falar + horário + CTA |
66
+ | **FAQ** | `Perguntas Frequentes - [Marca]` | Resumo de tópicos + CTA contato |
67
+
68
+ ### Etapa 2 — Coletar contexto necessário
69
+
70
+ Antes de gerar, levante:
71
+
72
+ **Sempre necessário:**
73
+ - Tipo de página (ver tabela acima)
74
+ - Keyword principal (1 keyword central)
75
+ - Keyword secundárias (2-3 relacionadas)
76
+ - Marca (nome da empresa)
77
+ - Cidade principal de atendimento
78
+ - Diferencial-âncora (algo verificável: 24h, mesmo dia, anos de mercado, garantia, certificação)
79
+ - Intenção do usuário ao chegar (informacional, comercial, transacional)
80
+
81
+ **Quando aplicável:**
82
+ - Preço ou faixa (pra páginas de produto)
83
+ - Promoção atual (pra páginas com oferta)
84
+ - URL canônica (pra evitar duplicidade)
85
+ - Imagem disponível pro OG (URL absoluta + dimensões)
86
+
87
+ Se faltar dado essencial, **pergunte antes de gerar**. Title chutado vira ruim.
88
+
89
+ ### Etapa 3 — Escolha do gancho psicológico
90
+
91
+ Title que converte tem **gancho** além da keyword. Padrões que funcionam pro Brasil:
92
+
93
+ **Gancho de Urgência:**
94
+ - "24h", "Emergência", "Hoje mesmo", "Mesmo dia", "Em 1 hora"
95
+ - Use só se a empresa entrega de verdade
96
+
97
+ **Gancho de Custo/Benefício:**
98
+ - "Sem caução", "Sem fiador", "Orçamento grátis", "Sem visita cobrada", "PIX 5% OFF"
99
+ - Tangível e verificável
100
+
101
+ **Gancho de Garantia:**
102
+ - "Garantia de 30 dias", "Sem retrabalho", "Satisfação ou seu dinheiro de volta"
103
+ - Claim verificável
104
+
105
+ **Gancho de Especialista:**
106
+ - "Especialista em", "Distribuidor oficial", "Autorizada", "Certificada"
107
+ - Precisa ser real
108
+
109
+ **Gancho de Volume/Autoridade:**
110
+ - "Há 10 anos", "+5.000 clientes", "Líder em [região]"
111
+ - Cuidado com claim genérico ("a melhor")
112
+
113
+ **Gancho de Localização:**
114
+ - "Em [Cidade]", "Na [Bairro]", "Atendemos [Região]"
115
+ - Dispara matching local + filtro mental do usuário
116
+
117
+ **Antipadrões (evitar):**
118
+ - "Bem-vindo a..."
119
+ - "Confira nossos serviços"
120
+ - "Saiba mais"
121
+ - "A melhor empresa de..."
122
+ - "Qualidade e excelência"
123
+ - "Soluções inovadoras"
124
+
125
+ ### Etapa 4 — Composição do title
126
+
127
+ Use **uma** das estruturas-base, conforme o tipo de página:
128
+
129
+ **Estrutura A — Keyword + Local + Marca + Gancho:**
130
+ ```
131
+ [Keyword] em [Cidade] | [Marca] - [Gancho]
132
+ ```
133
+ Exemplo: `Desentupidora em Betim | Gerais - Atendimento 24h`
134
+
135
+ **Estrutura B — Keyword + Diferencial + Marca:**
136
+ ```
137
+ [Keyword] [Diferencial] | [Marca]
138
+ ```
139
+ Exemplo: `Aluguel de Lavadora Industrial com Entrega Hoje | Limppetec`
140
+
141
+ **Estrutura C — Pergunta/Promessa (blog):**
142
+ ```
143
+ [Pergunta ou Promessa] - [Contexto]
144
+ ```
145
+ Exemplo: `Quanto Custa Desentupir uma Pia? Tabela 2026 - Gerais`
146
+
147
+ **Estrutura D — Marca + Posicionamento (home):**
148
+ ```
149
+ [Marca] | [Posicionamento] em [Cidade]
150
+ ```
151
+ Exemplo: `Limppetec | Aluguel de Equipamentos de Limpeza em Contagem e BH`
152
+
153
+ **Estrutura E — Produto + Característica + Loja:**
154
+ ```
155
+ [Produto Modelo] - [Característica] | [Loja]
156
+ ```
157
+ Exemplo: `Lavadora Karcher K7 Premium - 180 bar | Limppetec`
158
+
159
+ ### Etapa 5 — Composição da meta description
160
+
161
+ Estrutura recomendada (3 partes):
162
+
163
+ **Parte 1 (50-60 chars):** afirmação direta com keyword + local.
164
+ **Parte 2 (40-60 chars):** diferencial tangível.
165
+ **Parte 3 (40-50 chars):** CTA claro.
166
+
167
+ **Exemplo Limppetec home:**
168
+ > Locação de lavadoras, varredeiras e produtos Vonixx em Contagem-MG. Entrega no mesmo dia em toda Grande BH. Solicite orçamento via WhatsApp.
169
+
170
+ (159 caracteres)
171
+
172
+ **Exemplo Gerais Desentupidora — página de Betim:**
173
+ > Gerais atende desentupimento e dedetização em Betim com equipe 24h. Chegamos em até 1h. Sem visita cobrada. Liga (31) XXXX-XXXX ou WhatsApp.
174
+
175
+ (157 caracteres)
176
+
177
+ **Exemplo blog post — "Como escolher lavadora de alta pressão":**
178
+ > Compare lavadoras 1.500 a 2.500 PSI, motores indução vs universal e modelos Karcher, WAP e Electrolux. Guia 2026 com tabela comparativa e dicas.
179
+
180
+ (158 caracteres)
181
+
182
+ **Antipadrões na description:**
183
+ - Começar com "A nossa empresa..."
184
+ - Listar 5+ serviços separados por vírgula sem contexto
185
+ - Repetir o title literalmente
186
+ - Encerrar sem CTA
187
+ - Usar maiúsculas exageradas
188
+ - Usar emojis (Google geralmente remove ou penaliza)
189
+
190
+ ### Etapa 6 — Open Graph (compartilhamento social)
191
+
192
+ Tags OG essenciais:
193
+
194
+ ```html
195
+ <meta property="og:type" content="website">
196
+ <meta property="og:title" content="[título OG, pode ser igual ou levemente diferente do title]">
197
+ <meta property="og:description" content="[description OG, pode ser igual ou maior que meta description]">
198
+ <meta property="og:url" content="https://DOMINIO.com.br/[URL canônica]">
199
+ <meta property="og:image" content="https://DOMINIO.com.br/wp-content/uploads/og-image.jpg">
200
+ <meta property="og:image:width" content="1200">
201
+ <meta property="og:image:height" content="630">
202
+ <meta property="og:image:alt" content="[descrição da imagem]">
203
+ <meta property="og:locale" content="pt_BR">
204
+ <meta property="og:site_name" content="[Nome do site]">
205
+ ```
206
+
207
+ **`og:type` por tipo de página:**
208
+ - `website` — home, institucional
209
+ - `article` — blog post (adicionar `article:author`, `article:published_time`)
210
+ - `product` — página de produto
211
+ - `business.business` — variante para negócio local
212
+
213
+ **Regras críticas da OG image:**
214
+
215
+ 1. **Dimensão ideal:** 1200×630 pixels (1.91:1).
216
+ 2. **Mínimo aceitável:** 600×315 pixels.
217
+ 3. **Máximo:** 5MB. WhatsApp comprime acima de 300KB.
218
+ 4. **Formato:** JPG (preferível) ou PNG. Não SVG, não WEBP (compatibilidade ruim em alguns clientes).
219
+ 5. **Hospedagem:** sempre no domínio próprio, com HTTPS. Cross-domain quebra cache no Facebook.
220
+ 6. **Conteúdo:** logo + headline curto + visual que represente a página. Não foto genérica de banco.
221
+ 7. **Texto na imagem:** se houver, deixar margem de 100px nas bordas (Facebook corta).
222
+
223
+ **Validação OG:**
224
+ - [Facebook Sharing Debugger](https://developers.facebook.com/tools/debug/)
225
+ - [LinkedIn Post Inspector](https://www.linkedin.com/post-inspector/)
226
+ - [WhatsApp:** colar o link em conversa de teste e ver o preview.
227
+
228
+ Se preview não atualizar, é cache. Forçar com `?v=2` no fim da URL pra teste.
229
+
230
+ ### Etapa 7 — Twitter Card
231
+
232
+ Twitter/X tem peso baixo no Brasil mas vale implementar. 4 linhas a mais não custa nada:
233
+
234
+ ```html
235
+ <meta name="twitter:card" content="summary_large_image">
236
+ <meta name="twitter:title" content="[título]">
237
+ <meta name="twitter:description" content="[description]">
238
+ <meta name="twitter:image" content="https://DOMINIO.com.br/wp-content/uploads/og-image.jpg">
239
+ ```
240
+
241
+ Tipos de `twitter:card`:
242
+ - `summary` — card pequeno (raro hoje)
243
+ - `summary_large_image` — padrão recomendado, com imagem grande
244
+ - `app` — para apps (não relevante para PMEs)
245
+ - `player` — para vídeo (raro)
246
+
247
+ Use sempre `summary_large_image`. Se sua marca tem perfil no X ativo, adicione:
248
+ ```html
249
+ <meta name="twitter:site" content="@usuario">
250
+ <meta name="twitter:creator" content="@autor">
251
+ ```
252
+
253
+ ### Etapa 8 — Tags complementares (extras de qualidade)
254
+
255
+ Inclua sempre:
256
+
257
+ ```html
258
+ <meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
259
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
260
+ <link rel="canonical" href="https://DOMINIO.com.br/[URL canônica]">
261
+ <meta charset="UTF-8">
262
+ <html lang="pt-BR">
263
+ ```
264
+
265
+ **`max-image-preview:large`** é importante: garante que Google use a imagem grande no SERP de Discover.
266
+
267
+ **`canonical`**: previne duplicidade. Toda página deve ter, mesmo que aponte pra ela mesma.
268
+
269
+ **`lang="pt-BR"`** no `<html>`: declara idioma. Importante pra Google e tradutor.
270
+
271
+ Para páginas que NÃO devem ser indexadas (login, carrinho, página de obrigado):
272
+ ```html
273
+ <meta name="robots" content="noindex, follow">
274
+ ```
275
+
276
+ ### Etapa 9 — Hreflang (sites multilíngues)
277
+
278
+ Apenas se o site tem versão em outro idioma. Ignore se for só PT-BR. Caso aplicável:
279
+
280
+ ```html
281
+ <link rel="alternate" hreflang="pt-BR" href="https://DOMINIO.com.br/">
282
+ <link rel="alternate" hreflang="en" href="https://DOMINIO.com.br/en/">
283
+ <link rel="alternate" hreflang="x-default" href="https://DOMINIO.com.br/">
284
+ ```
285
+
286
+ ## Templates prontos por tipo de página
287
+
288
+ ### Home institucional
289
+
290
+ ```html
291
+ <title>[Marca] | [Serviço-âncora] em [Cidade] e Região</title>
292
+ <meta name="description" content="[Marca] oferece [serviço-âncora] em [Cidade] com [diferencial 1] e [diferencial 2]. [Tempo no mercado/escala]. Solicite [CTA] via WhatsApp.">
293
+
294
+ <meta property="og:type" content="website">
295
+ <meta property="og:title" content="[Marca] - [Serviço-âncora] em [Cidade]">
296
+ <meta property="og:description" content="[Description ligeiramente expandida]">
297
+ <meta property="og:url" content="https://DOMINIO.com.br/">
298
+ <meta property="og:image" content="https://DOMINIO.com.br/wp-content/uploads/og-home.jpg">
299
+ <meta property="og:image:width" content="1200">
300
+ <meta property="og:image:height" content="630">
301
+ <meta property="og:locale" content="pt_BR">
302
+ <meta property="og:site_name" content="[Marca]">
303
+
304
+ <meta name="twitter:card" content="summary_large_image">
305
+ <meta name="twitter:title" content="[Marca] - [Serviço-âncora] em [Cidade]">
306
+ <meta name="twitter:description" content="[Description]">
307
+ <meta name="twitter:image" content="https://DOMINIO.com.br/wp-content/uploads/og-home.jpg">
308
+
309
+ <link rel="canonical" href="https://DOMINIO.com.br/">
310
+ ```
311
+
312
+ ### Página de serviço
313
+
314
+ ```html
315
+ <title>[Serviço] em [Cidade] | [Marca]</title>
316
+ <meta name="description" content="[Marca] faz [serviço] em [Cidade] com [diferencial 1]. [Resultado/garantia]. [CTA]: WhatsApp ou (DD) XXXX-XXXX.">
317
+
318
+ <meta property="og:type" content="website">
319
+ <meta property="og:title" content="[Serviço] em [Cidade] - [Marca]">
320
+ <!-- demais OG e Twitter -->
321
+
322
+ <link rel="canonical" href="https://DOMINIO.com.br/servicos/[slug-servico]/">
323
+ ```
324
+
325
+ ### Service Area Page (página de cidade)
326
+
327
+ ```html
328
+ <title>[Serviço] em [Cidade] | [Marca] - [Diferencial]</title>
329
+ <meta name="description" content="[Marca] atende [serviço] em [Cidade] e [bairros principais]. [Tempo de resposta]. [Diferencial específico local]. Liga: (DD) XXXX-XXXX ou WhatsApp.">
330
+
331
+ <meta property="og:type" content="website">
332
+ <meta property="og:title" content="[Serviço] em [Cidade] - [Marca]">
333
+
334
+ <link rel="canonical" href="https://DOMINIO.com.br/atendemos/[cidade]/">
335
+ ```
336
+
337
+ ### Página de produto
338
+
339
+ ```html
340
+ <title>[Produto Modelo] - [Característica chave] | [Loja]</title>
341
+ <meta name="description" content="[Produto] [marca/modelo] com [característica principal]. [Característica secundária]. [Preço ou faixa]. [CTA]: comprar ou solicitar.">
342
+
343
+ <meta property="og:type" content="product">
344
+ <meta property="og:title" content="[Produto Modelo] - [Loja]">
345
+ <meta property="product:price:amount" content="199.90">
346
+ <meta property="product:price:currency" content="BRL">
347
+
348
+ <link rel="canonical" href="https://DOMINIO.com.br/produtos/[slug-produto]/">
349
+ ```
350
+
351
+ ### Blog post
352
+
353
+ ```html
354
+ <title>[Pergunta ou Promessa] - [Contexto/Marca]</title>
355
+ <meta name="description" content="[Resumo do que o leitor aprende]. [Promessa de valor]. [CTA leitura]: leia o guia completo.">
356
+
357
+ <meta property="og:type" content="article">
358
+ <meta property="og:title" content="[Pergunta ou Promessa]">
359
+ <meta property="article:published_time" content="2026-01-15T10:00:00-03:00">
360
+ <meta property="article:modified_time" content="2026-05-08T14:30:00-03:00">
361
+ <meta property="article:author" content="https://DOMINIO.com.br/autor/[slug-autor]/">
362
+ <meta property="article:section" content="[Categoria]">
363
+ <meta property="article:tag" content="[tag-1]">
364
+ <meta property="article:tag" content="[tag-2]">
365
+
366
+ <link rel="canonical" href="https://DOMINIO.com.br/blog/[slug-post]/">
367
+ ```
368
+
369
+ ## Estrutura obrigatória do entregável
370
+
371
+ Quando esta skill é acionada para uma única página, sempre entregar nesse formato:
372
+
373
+ ```markdown
374
+ # 🏷️ META TAGS — [URL ou TÍTULO DA PÁGINA]
375
+
376
+ ## 📄 Tipo de página
377
+ [Home / Serviço / Cidade / Produto / Blog / Sobre / Contato / FAQ]
378
+
379
+ ## 🎯 Keyword principal e secundárias
380
+ - Principal: `[keyword]`
381
+ - Secundárias: `[k2]`, `[k3]`
382
+
383
+ ## 📐 TITLE
384
+ ```
385
+ [título exato pronto pra colar]
386
+ ```
387
+ **Caracteres:** [N]/60
388
+ **Pixels estimados:** [N]/580 (mobile)
389
+ **Estrutura usada:** [A/B/C/D/E]
390
+ **Gancho psicológico:** [tipo]
391
+
392
+ ## 📝 META DESCRIPTION
393
+ ```
394
+ [description exata pronta pra colar]
395
+ ```
396
+ **Caracteres:** [N]/160
397
+ **CTA usado:** [CTA]
398
+
399
+ ## 🌐 OPEN GRAPH
400
+ ```html
401
+ [bloco HTML completo de OG pronto pra colar]
402
+ ```
403
+
404
+ ## 🐦 TWITTER CARD
405
+ ```html
406
+ [bloco HTML do Twitter Card]
407
+ ```
408
+
409
+ ## 🔗 CANONICAL E EXTRAS
410
+ ```html
411
+ <link rel="canonical" href="...">
412
+ <meta name="robots" content="...">
413
+ <html lang="pt-BR">
414
+ ```
415
+
416
+ ## 🖼️ Imagem OG
417
+ **Dimensão recomendada:** 1200×630
418
+ **URL sugerida:** https://DOMINIO.com.br/wp-content/uploads/og-[slug].jpg
419
+ **Status atual:** [criar / já existe / quebrada]
420
+ **Briefing da imagem:** [logo + headline + visual representativo]
421
+
422
+ ## 🛠️ Como instalar (por stack)
423
+ [Instruções específicas: Yoast, RankMath, custom, código direto]
424
+
425
+ ## ✅ Validação
426
+ 1. [Google SERP Simulator](https://mangools.com/free-seo-tools/serp-simulator/)
427
+ 2. [Facebook Sharing Debugger](https://developers.facebook.com/tools/debug/)
428
+ 3. [LinkedIn Post Inspector](https://www.linkedin.com/post-inspector/)
429
+ 4. WhatsApp: enviar pra si mesmo e ver preview
430
+
431
+ ## ⚠️ Alertas
432
+ [Se aplicável: title duplica outro? OG image quebrada? canonical errado?]
433
+ ```
434
+
435
+ Quando esta skill é acionada para **múltiplas páginas em batch** (ex: todo um site novo), entregar em **tabela única + bloco de instalação consolidado**, em vez de repetir formato 30 vezes.
436
+
437
+ ## Como instalar (por stack)
438
+
439
+ ### WordPress + Yoast SEO ou RankMath
440
+ 1. Editar página/post
441
+ 2. Rolar até bloco do plugin SEO
442
+ 3. Colar **Title** no campo "Título SEO"
443
+ 4. Colar **Meta description** no campo "Meta descrição"
444
+ 5. Configurar **Imagem social** (OG image)
445
+ 6. Salvar
446
+
447
+ OG/Twitter Cards são gerados automaticamente pelo plugin, mas verifique nas opções avançadas.
448
+
449
+ ### WordPress + Elementor (sem plugin SEO)
450
+ 1. Instalar **Yoast SEO** ou **RankMath** primeiro (recomendado)
451
+ 2. Ou usar plugin **WPCode** / **Insert Headers and Footers** pra inserir tags manualmente em cada página via shortcode/PHP
452
+
453
+ ### WordPress + tema customizado
454
+ 1. Editar `header.php` ou usar `wp_head` hook em `functions.php`:
455
+ ```php
456
+ function zark_custom_meta() {
457
+ if (is_singular('servicos')) {
458
+ ?>
459
+ <meta name="description" content="[...]">
460
+ <meta property="og:image" content="[...]">
461
+ <?php
462
+ }
463
+ }
464
+ add_action('wp_head', 'zark_custom_meta');
465
+ ```
466
+
467
+ ### Next.js / React
468
+ - Usar `next/head` ou (Next 13+) `metadata` export por página:
469
+ ```jsx
470
+ export const metadata = {
471
+ title: 'Desentupidora em Betim | Gerais',
472
+ description: '[...]',
473
+ openGraph: {
474
+ title: '[...]',
475
+ description: '[...]',
476
+ images: ['/og-betim.jpg'],
477
+ locale: 'pt_BR',
478
+ type: 'website',
479
+ },
480
+ };
481
+ ```
482
+
483
+ ### Wix / Squarespace / Webflow
484
+ - Painel de cada página → SEO Settings → preencher title, description, OG image
485
+ - Para tags avançadas (article:author etc), usar "Custom Code" no header
486
+
487
+ ### Shopify
488
+ - Edit `theme.liquid` no `<head>`
489
+ - Variáveis Liquid: `{{ page_title }}`, `{{ page_description }}`, etc
490
+
491
+ ## Erros comuns que esta skill EVITA
492
+
493
+ 1. **Title duplicado entre páginas.** Cada URL = um title único. Em sites com 50+ páginas, isso vira problema sistêmico.
494
+
495
+ 2. **Title muito longo (truncado).** "Aluguel de Lavadoras de Alta Pressão Industrial Profissional em Contagem e Belo Horizonte | Limppetec Limpeza Profissional Especialistas" → cortado no SERP. Reduzir pra 60 chars.
496
+
497
+ 3. **Title só com keyword (sem gancho).** "Desentupidora Betim Desentupidora Betim Betim" — keyword stuffing. Google reescreve.
498
+
499
+ 4. **Title começando com a marca em PME desconhecida.** "Limppetec - Aluguel..." em vez de "Aluguel... | Limppetec". Marca no fim economiza pixels pra keyword.
500
+
501
+ 5. **Meta description repetindo o title.** Desperdício de espaço de venda.
502
+
503
+ 6. **Description sem CTA.** Termina passivamente. Sempre incluir ação.
504
+
505
+ 7. **OG image cross-domain.** Imagem hospedada em outro domínio. Quebra cache de Facebook e WhatsApp.
506
+
507
+ 8. **OG image em dimensão errada.** Imagem quadrada 800×800 vira ruim no card horizontal do WhatsApp.
508
+
509
+ 9. **Esquecer `og:locale: pt_BR`.** Tag pequena, faz diferença em algoritmos de localização do Facebook.
510
+
511
+ 10. **Canonical apontando pra URL diferente da página.** Se canonical de `/blog/post-x` aponta pra `/blog/post-y`, o Google indexa o Y, e o X some.
512
+
513
+ 11. **`noindex` em página que deveria indexar.** Erro frequente em sites WordPress depois de setup. Auditar `<meta name="robots">` em todas as páginas.
514
+
515
+ 12. **Title sem cidade em SEO local.** Página de serviço "Desentupidora 24h Profissional" perde pra "Desentupidora 24h em Betim". Cidade no title é não-negociável pra Local SEO.
516
+
517
+ 13. **Description com 280 caracteres achando que vai aparecer.** Em mobile (60% do tráfego BR), Google trunca em ~120 chars. Escrever pra mobile-first.
518
+
519
+ 14. **Reusar OG image antiga após mudar branding.** Cache do Facebook permanente até forçar re-scrape no Sharing Debugger.
520
+
521
+ ## Edge cases
522
+
523
+ **Site com paginação (`/blog/`, `/blog/page/2`, `/blog/page/3`):**
524
+ Páginas 2+ devem ter title diferenciado: `Blog - Página 2 | [Marca]`. Description pode ser similar mas referenciando a página. Canonical aponta pra própria página, não pra `/blog/`.
525
+
526
+ **Página de tag/categoria de blog:**
527
+ Title: `Posts sobre [Categoria] - [Marca]`. Description que resume os tópicos cobertos.
528
+
529
+ **Página de busca interna do site:**
530
+ `<meta name="robots" content="noindex, follow">`. Não indexar.
531
+
532
+ **Página de obrigado / pós-conversão:**
533
+ `noindex`. Não tem propósito orgânico, é só funil.
534
+
535
+ **Site com versão mobile separada (m.dominio.com):**
536
+ Cada versão tem seu canonical apontando pra versão preferida. Hreflang ou rel="alternate" pra mobile.
537
+
538
+ **Empresa com várias filiais:**
539
+ Cada GBP / cidade tem sua página com title + description próprios. Schema separado.
540
+
541
+ **Empresa em construção (em breve):**
542
+ Title pode anunciar: `[Marca] - Em Breve em [Cidade]`. Description com data e CTA pra notificação.
543
+
544
+ **Conteúdo sazonal (campanha Black Friday, Natal):**
545
+ Title pode incluir época: `Black Friday 2026 - [Categoria] em [Loja]`. Mas remover/reverter após período pra não envelhecer.
546
+
547
+ ## Exemplo de invocação esperada
548
+
549
+ **Usuário:** "Escreve as meta tags da página de Betim da Gerais Desentupidora"
550
+
551
+ **Resposta esperada:** acionar essa skill, identificar como Service Area Page, perguntar diferenciais (24h? tempo de resposta?), gerar title + description + OG + Twitter Card no formato canônico.
552
+
553
+ **Usuário:** "Como melhorar o title da minha home pra rankear melhor?"
554
+
555
+ **Resposta esperada:** acionar essa skill, perguntar qual a home atual, qual a keyword-alvo, qual o diferencial, propor 2-3 variações de title com gancho psicológico diferente.
556
+
557
+ **Usuário:** "Por que meu link no WhatsApp aparece sem imagem?"
558
+
559
+ **Resposta esperada:** acionar essa skill (parte de OG), pedir URL, fazer fetch pra ver tags atuais, identificar problema (sem og:image, cross-domain, dimensão errada), corrigir.
560
+
561
+ **Usuário:** "Cria as tags pras 7 páginas de aluguel da Limppetec"
562
+
563
+ **Resposta esperada:** acionar essa skill em modo batch, gerar 7 conjuntos de tags em tabela única, com instruções de instalação consolidadas.