# Prompt completo — SEO (My Help)

Use este documento como **prompt obrigatório** para criar, auditar ou otimizar SEO no site **My Help** (`agenciamyhelp.com.br`). Cobre técnico, conteúdo, on-page, local, schema, performance e operação — não só title/meta.

---

## Fontes consultadas (prioridade)

Sempre preferir **Google Search Central** sobre blogs genéricos:

| Tema | Fonte oficial |
|------|----------------|
| Visão geral e fundamentos | [SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) |
| Conteúdo útil / people-first | [Creating helpful, reliable, people-first content](https://developers.google.com/search/docs/fundamentals/creating-helpful-content) |
| Title links (SERP) | [Influencing title links](https://developers.google.com/search/docs/appearance/title-link) |
| Snippets / meta description | [Control your snippets](https://developers.google.com/search/docs/appearance/snippet) |
| URLs canônicas | [Canonical URLs](https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls) |
| Structured data (geral) | [Intro structured data](https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data) + [General guidelines](https://developers.google.com/search/docs/appearance/structured-data/sd-policies) |
| Organization | [Organization markup](https://developers.google.com/search/docs/appearance/structured-data/organization) |
| LocalBusiness | [LocalBusiness markup](https://developers.google.com/search/docs/appearance/structured-data/local-business) |
| FAQ | [FAQPage](https://developers.google.com/search/docs/appearance/structured-data/faqpage) — *rich result FAQ deprecado para a maioria dos sites desde mai/2026; manter schema se FAQ visível na página* |
| Imagens | [Image SEO best practices](https://developers.google.com/search/docs/appearance/google-images) |
| Sitemap | [Build and submit a sitemap](https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap) |
| Page experience | [Understanding page experience](https://developers.google.com/search/docs/appearance/page-experience) |

**E-E-A-T:** não é fator isolado, mas orienta qualidade — ver [helpful content](https://developers.google.com/search/docs/fundamentals/creating-helpful-content) e Search Quality Rater Guidelines (referência).

### Hierarquia de fontes

| Nível | Quem | Quando usar |
|-------|------|-------------|
| **1 — Oficial** | Google Search Central | Regra final; prevalece em qualquer conflito |
| **2 — Referência da indústria** | Moz, Ahrefs, Semrush, Screaming Frog | Checklists, auditoria, CTR, pixel width |
| **3 — Operacional / copy** | Ubersuggest (Neil Patel), Search Engine Land | Fórmulas de title, tom, CTA, SERP copy |

### Fontes complementares — Moz

[Moz Learn SEO](https://moz.com/learn/seo) — referência clássica, gratuita, alinhada ao Google:

| Tema | URL |
|------|-----|
| Hub Learn SEO | [moz.com/learn/seo](https://moz.com/learn/seo) |
| Beginner's Guide (cap. On-Page) | [Beginner's Guide to SEO](https://moz.com/beginners-guide-to-seo) |
| On-page factors | [On-Page SEO Factors](https://moz.com/learn/seo/on-page-factors) |
| Title tag | [Title Tags](https://moz.com/learn/seo/title-tag) |
| Meta description | [Meta Descriptions](https://moz.com/learn/seo/meta-description) |
| H1 tag | [H1 Tags](https://moz.com/learn/seo/h1-tags) |
| Image SEO | [Image SEO](https://moz.com/learn/seo/image-alt-text) |
| Audit técnico (planilha) | [Technical SEO Audit Checklist](https://moz.com/seo-audit-checklist) |

**Insights Moz úteis no My Help:**
- Title **51–60 chars** → ~90% exibidos inteiros na SERP (pesquisa Moz); alinhar title com H1 **reduz rewrites** do Google (~58% dos titles são reescritos).
- Meta **120–160 chars** ou ~**680 px** — preview desktop/mobile antes de publicar.
- Página ideal: assunto explícito em **title + URL + conteúdo + alt** ([visual guide on-page](https://moz.com/learn/seo/on-page-factors)).
- Meta única por URL; CTA natural; revisar páginas com meta ausente/duplicada (equivalente Site Crawl manual).

### Fontes complementares — Ahrefs

| Tema | URL |
|------|-----|
| On-page SEO (guia) | [On-Page SEO](https://ahrefs.com/seo/on-page-seo) |
| Checklist 2026 | [On-Page SEO Checklist](https://ahrefs.com/blog/on-page-seo-checklist/) |
| Title / meta / H1 / schema | Mesmo hub + checklist |

**Insights Ahrefs úteis no My Help:**
- Title **< 70 chars**; meta **< 160**; meta **expande** o title (não repete).
- **Intent match** explícito no title (informacional vs comercial).
- 1º parágrafo: **ir direto ao ponto** — cumprir promessa do title/meta na primeira frase.
- Google reescreve ~62% dos titles — ainda vale otimizar; monitorar GSC 14–28 dias após mudança.
- Blog: fórmula **ABC** (Adjective, Benefit, Confidence) como inspiração — adaptar tom My Help (sem hype).

### Fontes complementares — Semrush + Ubersuggest

Usar para **checklist operacional** e **CTR** — quando divergirem do Google, **Google prevalece**:

| Tema | Semrush | Ubersuggest (Neil Patel) |
|------|---------|---------------------------|
| Checklist on-page | [On-Page SEO Checklist 2026](https://www.semrush.com/blog/on-page-seo-checklist) | [On-Page SEO Cheat Sheet](https://neilpatel.com/blog/the-on-page-seo-cheat-sheet/) |
| Title tag | [Title tag — como otimizar](https://www.semrush.com/blog/title-tag/) | [Title tags for SEO](https://neilpatel.com/blog/title-tags-seo/) |
| Meta tags | [On-Page SEO — meta descriptions](https://www.semrush.com/blog/on-page-seo/) | [Meta tags best practices](https://neilpatel.com/blog/why-meta-tags-are-so-important/) |
| Checklist geral | [SEO checklist (43 itens)](https://www.semrush.com/blog/seo-checklist/) | [SEO checklist 2025](https://neilpatel.com/blog/seo-checklist/) |
| Copywriting | — | [SEO copywriting](https://neilpatel.com/blog/seo-copywriting/) |

### Fontes complementares — Screaming Frog + Search Engine Land

| Tema | URL | Uso |
|------|-----|-----|
| Page titles (pixel width) | [Screaming Frog — Page Titles](https://www.screamingfrog.co.uk/learn-seo/page-title/) | Truncamento por **px**, não só caracteres |
| Meta description | [Screaming Frog — Meta Description](https://www.screamingfrog.co.uk/learn-seo/meta-description/) | SERP snippet emulator |
| Headings | [Screaming Frog — Headings](https://www.screamingfrog.co.uk/learn-seo/headings/) | 1× H1, hierarquia |
| On-page content | [Screaming Frog — On-Page Content](https://www.screamingfrog.co.uk/learn-seo/on-page-content/) | Thin/duplicate content |
| Meta tags (geral) | [Search Engine Land — Meta tags guide](https://searchengineland.com/guide/meta-tags) | Title + description + OG |
| Title tags | [Search Engine Land — Title tag guide](https://searchengineland.com/guide/title-tag) | Rewrites, H1 sync |

**Insight Screaming Frog:** se o title ficar longo demais, colocar **USP/benefício na meta description** (mais espaço). Validar snippet em desktop **e** mobile.

### Consenso entre fontes (Google + Moz + Ahrefs + Semrush + Ubersuggest)

Title único, keyword no início, 1× H1, meta com CTA, hierarquia H1→H2→H3, keyword no 1º parágrafo e subheadings, alt descritivo, intent match, assunto claro em title/URL/corpo/alt.

### Onde as fontes divergem (decisão My Help)

| Ponto | Moz | Ahrefs | Semrush | Ubersuggest | **My Help** |
|-------|-----|--------|---------|-------------|-------------|
| Title — chars | **51–60** (~90% exibidos) | < **70** | ~**55** | **50–60** | **50–60**; keyword nos primeiros ~30; checar **px** se possível |
| Meta — chars | **120–160** (~680 px) | < **160** | ~**105** (mobile) | até **160** | Crítico nos primeiros **~105**; total até **~160** |
| Title vs H1 | Alinhar reduz rewrites | Mesmo tema | H1 mais descritivo | Podem diferir | **Mesmo intent**; title = SERP; H1 = landing (20–70 chars) |
| Title + meta | Par complementar | Meta **expande** title | CTA + diferencial | Benefício + power words | Title promete; meta **elabora** + CTA (não copiar) |
| 1º parágrafo | — | **Direto ao ponto** | Keyword natural | Keyword natural | Cumprir title na **1ª frase** |
| Otimização por dados | Site Crawl / GSC | Site Audit + GSC | GSC CTR + Site Audit | Keywords em metadata | GSC §14 + auditoria manual §14 |

---
## Objetivo do prompt

Ao executar este guia, a IA deve:

1. **Diagnosticar** a página (ou lote) contra todas as seções abaixo.
2. **Priorizar** por impacto: indexação → CTR → conteúdo → autoridade → performance.
3. **Entregar** textos prontos para variáveis PHP (`$pageTitle`, etc.) quando aplicável.
4. **Nunca** inventar métricas, reviews ou provas sociais falsas.
5. **Respeitar** a arquitetura do repo (builders em `config/local-*-page.php`, schema em `components/schema-*.php`).
6. **Cruzar GSC com git/deploy** antes de concluir falha de snippet — ver §14.1 (páginas novas ≠ 28 dias de baseline).

---

## 1. Fundamentos (Google Search Essentials)

Antes de otimizar keywords:

- [ ] Página **indexável** (`robots` não bloqueia; não depende de login)
- [ ] Google consegue **renderizar** HTML/CSS/JS essencial (inspeção de URL no GSC)
- [ ] Conteúdo **people-first**: criado para usuário, não só para ranking
- [ ] **Único propósito** claro por URL (serviço, cidade, nicho, artigo)
- [ ] Sem **doorway pages** (milhares de páginas finas só para capturar long-tail sem valor)

**Pergunta central (Google):** *Alguém que chega direto nesta URL sai satisfeito e informado?*

---

## 2. Intenção de busca (search intent)

Classifique cada página antes de escrever title/H1:

| Intent | Exemplo My Help | Foco |
|--------|-----------------|------|
| **Comercial** | `agência de seo piracicaba` | Serviço, CTA, prova, cidade |
| **Transacional** | `orçamento site 24 horas` | Preço/prazo, WhatsApp |
| **Informacional** | `quanto custa seo local` | Blog, guia, FAQ |
| **Navegacional** | `my help`, `agenciamyhelp` | Marca, home, GBP alinhado |

**Regra:** title + meta + H1 devem **corresponder à intenção**. CTR baixo no GSC só confirma problema de snippet se a URL/snippet esteve **estável o suficiente** no recorte (§14.1) — não concluir falha em landings lançadas há poucos dias.

---

## 3. SEO on-page — Title, meta, headings

> Regras consolidadas: **Google Search Central** + [Moz On-Page Factors](https://moz.com/learn/seo/on-page-factors) + [Ahrefs On-Page SEO](https://ahrefs.com/seo/on-page-seo) + [Semrush Checklist](https://www.semrush.com/blog/on-page-seo-checklist) + [Ubersuggest Cheat Sheet](https://neilpatel.com/blog/the-on-page-seo-cheat-sheet/).

### 3.0 Onde colocar a keyword (checklist Semrush/Ubersuggest)

Antes de auditar title/meta isolados, verificar **posicionamento estratégico** da keyword principal e variações semânticas:

| Local | Obrigatório | Nota |
|-------|-------------|------|
| Title tag | ✅ | Próximo ao início |
| H1 | ✅ | Variação natural (não cópia do title) |
| 1º parágrafo | ✅ | ~100 primeiras palavras, tom natural |
| H2 / H3 | ✅ | ≥1 subtítulo com variação (LSI) |
| URL / slug | ✅ | Palavras úteis, sem acento |
| Alt de imagens | ✅ | Contextual, sem stuffing |
| Meta description | ✅ | Keyword natural + CTA |

**Semrush (GSC):** queries com muitas impressões, poucos cliques e posição baixa → tratar como **tópicos para novas subseções** (H2/FAQ), não só stuffing no title.

### 3.1 Title tag (`$pageTitle` → `<title>`)

| Regra | Detalhe | Fonte |
|-------|---------|-------|
| Único por URL | Nunca duplicar entre páginas | Google, Semrush, Ubersuggest |
| Comprimento | **50–60 caracteres** (Moz: 51–60 ≈ 90% exibidos); keyword nos **primeiros ~30** | Consenso; checar px (Screaming Frog) se truncar |
| Estrutura My Help | `{Serviço/keyword} em {Local} \| {Benefício curto} — My Help` | My Help |
| Benefício claro | O que o usuário ganha ao clicar (ex.: `24h`, `Local`, `Sob medida`) | Ubersuggest |
| Secundárias | Incluir **naturalmente** se couber (ex.: `Google Business` em SEO local) | Semrush |
| Alinhar com H1 | Reduz **rewrites** do Google (~58–62% dos titles) | Moz + Ahrefs |
| Sem stuffing | Evitar repetir `SEO SEO local agência` | Google |
| Sem boilerplate | Não usar o mesmo title com só cidade trocada sem diferencial | Google + Semrush Site Audit |
| Idioma | pt-BR, mesmo script do conteúdo | Google |
| Marca | `— My Help` no **final** (consistente por template) | Semrush + Ubersuggest |

**Função:** maximizar **CTR na SERP** — title é “cartaz” na busca (Ubersuggest); Google também usa H1, og:title e conteúdo visível para gerar title link.

**Auditoria (Semrush):** pages com title ausente, duplicado ou fora de 50–60 chars = corrigir antes de conteúdo longo.

### 3.2 Meta description (`$pageDescription`)

| Regra | Detalhe | Fonte |
|-------|---------|-------|
| Única por página | Crítico em páginas locais em escala | Semrush checklist §27 |
| Comprimento | **120–160 chars** total; **benefício + CTA nos primeiros ~105** (mobile) | Semrush ~105 + Ubersuggest ~160 |
| Função | **CTR**, não ranking direto | Google + consenso |
| Estrutura | Problema/benefício + prova/diferencial + CTA suave | Semrush + Ubersuggest |
| CTA | Verbos: `descubra`, `fale no WhatsApp`, `veja como` — evitar `clique aqui` | Semrush |
| Diferencial | O que torna My Help único naquela cidade/serviço | Semrush |
| vs title | **Expandir** o title — detalhe extra, não repetir (Ahrefs/Moz) | Ahrefs + Moz |
| Sem keyword list | Frase natural; Google pode **negritar** termos que batem com a busca | Semrush |
| Programático | OK se variar cidade, UF, serviço, região IBGE, tom humano | My Help |

Google pode usar trecho do corpo se a meta for fraca — ainda assim escreva meta forte. **Auditoria:** meta ausente ou duplicada (Semrush) = prioridade alta em páginas com impressões no GSC.

### 3.3 H1 (`$heroTitle`)

| Regra | Detalhe | Fonte |
|-------|---------|-------|
| Quantidade | **Exatamente 1** por página | Consenso |
| vs title | **Mesmo tema e intent**; formulação pode ser **diferente** | Google + Semrush + Ubersuggest |
| Papel do title | Curto, keyword-first, otimizado para **clique na SERP** | Ubersuggest |
| Papel do H1 | Descritivo, acolhedor, confirma que o usuário veio ao lugar certo | Semrush + Ubersuggest |
| Comprimento | **20–70 caracteres** (Ubersuggest); até ~70 se hero precisar de contexto | Ubersuggest + My Help |
| Keyword | Variação semântica da query alvo | Consenso |
| Visual | Maior destaque no hero; primeiro heading visível | Google |
| Fallback SERP | Google pode usar H1 como title link se for mais relevante | Google |
| Anti-pattern | Title `SEO Piracicaba` + H1 `Desenvolvimento web` = bounce | Semrush + Ubersuggest |

```
Title  → clique no Google (curto, keyword-first, benefício, marca no fim)
H1     → confirmação na landing (humano, mesma intenção, pode ser mais longo)
Meta   → pitch de clique (benefício + diferencial + CTA)
Lead   → expande promessa do H1 ($heroLead)
```

**Semrush:** H1 deve **cumprir a promessa** do title — não exagerar claims que o corpo não sustenta.

### 3.4 H2 / H3 / estrutura de conteúdo

- Hierarquia: **H1 → H2 → H3** — **nunca pular níveis** (ex.: H2 → H4 confunde crawlers — Ubersuggest)
- H2 = tópicos principais (`O que inclui`, `FAQ`, `Projetos no ar`, `Por que {Cidade}`)
- H3 = subtópicos **dentro** de um H2 (Semrush)
- Pelo menos **1 H2** com variação da keyword (LSI / secundárias Semrush)
- Headings descritivos ajudam Google **e** sistemas de IA a extrair seções (Semrush 2026)
- FAQ visível na página; perguntas com **nome da cidade** em páginas locais
- Primeiro parágrafo: keyword principal **natural** (~100 primeiras palavras); **1ª frase cumpre a promessa** do title (Ahrefs)
- Texto **escaneável**: parágrafos curtos, listas, subtítulos (Starter Guide + Ubersuggest readability)
- Conteúdo **único** — não copiar concorrentes ou reescrever sem valor adicional
- **Search intent:** informacional = ensinar; comercial = resultado/solução no H1 e lead (Ubersuggest copywriting)

### 3.5 URLs (`slug` / rotas `.htaccess`)

- Descritivas, palavras úteis: `/agencia-de-seo/sp/piracicaba`
- Minúsculas, hífen, **sem acento** no slug
- Estáveis (não mudar sem 301)
- Breadcrumb reflete hierarquia (Home → Brasil → SP → Piracicaba)

---

## 4. Metadados sociais e técnicos

| Campo | Onde | Regra |
|-------|------|-------|
| Canonical | `local_set_canonical()`, `enforce_canonical_redirect()` | URL absoluta HTTPS, sem `.php`, sem www |
| robots | `$robotsMeta` | `index, follow` (default); `noindex` só testes/admin |
| og:title | `$ogTitle` | ≈ title ou ligeiramente mais curto |
| og:description | meta social | Alinhado à meta description |
| og:image | `config/seo.php` | 1200×630, relevante, não logo genérico |
| og:type | `$ogType` | `website` ou `article` (blog) |
| hreflang | — | N/A (site só pt-BR) |
| WhatsApp | `$whatsappMessage` | Contexto cidade/serviço |

**Canonical (Google):** preferir `rel=canonical` + redirect 301 + sitemap coerentes; links internos apontam para URL canônica.

---

## 5. Structured data (JSON-LD)

**Formato preferido:** JSON-LD no `<head>` via `components/schema-*.php`.

| Tipo de página | Schema | Arquivo |
|----------------|--------|---------|
| Serviço | `Service` + `BreadcrumbList` | `schema-service-page.php` |
| Hub Brasil | `Service` + breadcrumb (mesmo componente) | `local/*-brasil.php` via `$schemaIncludes` |
| Local cidade | `Service`/`LocalBusiness` + breadcrumb | `schema-local-cidade.php`, `schema-sistemas-cidade.php` |
| Blog post | `Article` + breadcrumb | `schema-article-page.php` |
| Blog índice | `CollectionPage` + `ItemList` | `schema-blog-index.php` |
| Home (recomendado) | `Organization` | a implementar se ausente |

**Regras Google:**
- Schema descreve conteúdo **visível** na página
- Propriedades **required** preenchidas; recommended quando tiver dado real
- **Não** marcar `AggregateRating`/reviews auto-atribuídos à própria empresa (Google proíbe rich stars nesse caso)
- FAQ schema: conteúdo FAQ **visível**; rich result FAQ restrito a gov/saúde — manter FAQ on-page de qualquer forma
- Validar mentalmente contra [Rich Results Test](https://search.google.com/test/rich-results)

---

## 6. SEO local (My Help)

**Contexto:** sede BH (MG), atendimento **remoto** para todo Brasil, milhares de landings por cidade.

### 6.1 Páginas locais (prioridade)

- Title com **cidade + UF + serviço** literal da query GSC
- Conteúdo único: prioridade (`local-priority-data.php`) > IBGE > fallback
- FAQ local, bairros/região quando disponível
- Cross-links: site ↔ SEO ↔ sistemas **na mesma cidade**
- Link para hub estado e `/brasil`

### 6.2 Google Business Profile (off-site, obrigatório mencionar)

- NAP consistente (nome, endereço BH, telefone, site)
- Categorias: agência de marketing, designer web, etc.
- Posts, fotos, serviços, área atendida
- Alinha buscas `my help` / `agência digital bh`

### 6.3 Anti-patterns locais

- ❌ 5.500 metas idênticas só trocando cidade
- ❌ Página sem parágrafo local no corpo
- ❌ Afirmar escritório físico na cidade se atendimento é remoto (dizer claramente "atendimento remoto, sede em BH")

---

## 7. Linkagem interna

**Google:** links ajudam descoberta e contexto.

| Regra | Aplicação My Help |
|-------|-------------------|
| Anchor descritivo | "SEO em Piracicaba", não "clique aqui" |
| Link para canonical | Sempre URL limpa (`/seo`, não `/seo.php`) |
| Hub & spoke | Home → serviços → estado → cidade |
| Related services | `components/related-services.php` |
| Blog → serviço/cidade | Artigos linkam páginas comerciais |
| Nicho → local | `site-para-construtoras` → SEO/sites MG |
| Profundidade | Toda página local ≤ 3 cliques da home |

### 7.1 Quando criar páginas, seções e posts (expansão de conteúdo)

Use o GSC + git (§14.1) para decidir **o quê** criar — não só **como** otimizar title/meta.

| Tipo | Quando criar | Onde / como (My Help) | Quando **não** criar |
|------|--------------|------------------------|----------------------|
| **Nova página URL** (local, nicho, serviço) | Query/cidade com demanda recorrente; intent comercial; não existe URL canônica | Rotas `local/*.php`, `site-para-*`, builders `config/local-*-page.php`; regenerar sitemap | Doorway fina; duplicar intent de URL existente; lote IBGE só por volume sem valor local |
| **Nova seção** (H2, FAQ, parágrafo) | Query com impressões ≥ 10 na **mesma URL**; CTR baixo ou pos 4–30; tópico **ainda não coberto** no corpo | `local-agencia-seo-content.php`, FAQ dinâmico, `$heroLead`, componentes de seção | Keyword stuffing; **FAQ duplicado** — landings SEO local já têm FAQ + H2 “SEO local em {Cidade}” (`local_faq_agencia_seo_cidade`) |
| **Novo post blog** | Intent **informacional** (`quanto custa`, `como escolher`, `vs`); gap sem artigo; oportunidade de linkar serviço/cidade | `blog/` + manifest/seeds; template §12; links para `/seo`, landings locais | Post genérico sem link para conversão; duplicar landing comercial em artigo |

**Fluxo (Semrush §29 + My Help):**

1. Export GSC → aba **Consultas** filtrada por URL ou site.
2. Queries com impressões altas e poucos cliques → classificar intent (§2).
3. **Comercial + cidade** → enriquecer landing existente (seção/FAQ) ou prioridade em `local-priority-data.php` — raramente URL nova se slug IBGE já existe.
4. **Informacional** → post blog + 2–3 links internos descritivos para páginas comerciais.
5. **Navegacional/marca** → home, GBP, `/sobre` — não criar página nova.
6. Após publicar: sitemap, inspeção GSC, anotar data no git; reavaliar em 14–28 dias.

**Posts existentes:** todo artigo deve linkar ≥1 serviço e, se aplicável, ≥1 local (ex.: post “SEO local por cidade” → `/agencia-de-seo/sp/piracicaba`).

**Seções na home/serviço:** novos blocos (`home-internal-links`, FAQ, nichos) quando reforçam hub & spoke — registrar no commit para cruzar com GSC depois.

---

## 8. Imagens

- `<img>` HTML (não só CSS background para conteúdo importante)
- **alt** descritivo, contextual, sem stuffing
- Nomes de arquivo descritivos quando possível (`hero-software.webp`)
- WebP + lazy load (`site_responsive_image`)
- Hero: `fetchpriority="high"` na LCP
- og:image dedicada por serviço em `config/seo.php`

---

## 9. Conteúdo, E-E-A-T e confiança

Checklist adaptado de [helpful content](https://developers.google.com/search/docs/fundamentals/creating-helpful-content):

- [ ] Informação **original** ou análise própria (não só reescrita)
- [ ] Title/H1 **descriptivos**, sem sensacionalismo falso
- [ ] **Cases reais** linkados (CoteFrete, Clicou Treinou) — prova verificável
- [ ] Autor/data visíveis no **blog**
- [ ] Páginas institucionais recomendadas: `/sobre`, `/depoimentos` (reforçam confiança)
- [ ] Sem promessas impossíveis ("#1 Google garantido", "+150% tráfego" sem prova)
- [ ] Atualizar conteúdo datado (anos, preços, "2026" quando relevante)

**Who / How / Why:** quem publica (My Help, BH), como trabalha (remoto, processo), por que existe (ajudar PME).

---

## 10. SEO técnico (My Help)

| Item | Status / ação |
|------|----------------|
| HTTPS + redirect www | `htaccessprod` regras 1–2 |
| URLs amigáveis | `.htaccess` / `htaccessprod` |
| Redirect `.php` → limpo | Produção regra 4 |
| `sitemap.xml` | `php tools/generate-local-sitemaps.php` após mudanças |
| `robots.txt` | Permitir crawl; sitemap declarado |
| `Options -Indexes` | OK |
| Subdomínios clientes | Ideal `noindex` ou GSC separado (polui relatório) |
| Core Web Vitals | Mobile-first; evitar JS bloqueante no hero |
| Dados estruturados | Incluir `$schemaIncludes` |

---

## 11. Performance e UX (page experience)

- Mobile: 561+ impressões GSC My Help — titles curtos, CTA WhatsApp visível
- LCP: hero image otimizada, sem animações pesadas no header
- CLS: dimensões em imagens quando possível
- Conteúdo principal **above the fold** sem interstitial
- Não esconder texto importante só para SEO (expandable OK se usuário acessa)

---

## 12. Templates por tipo de página (My Help)

Substituir `{Cidade}`, `{Sigla}`, `{Estado}`, `{UF}`, `{Segmento}`.

### Home `/`
```
Title:  Agência digital BH | Sites, SEO e sistemas — My Help   (~52 chars)
Meta:   My Help — agência digital em Belo Horizonte. Sites 24h, SEO e sistemas. Orçamento no WhatsApp.   (~94 chars)
H1:     Sites, SEO e sistemas para empresas
```

### Serviço `/seo`, `/desenvolvimento-web`, `/ecommerce`, `/sistemas-empresariais`
```
Title:  {Serviço} BH | {Benefício} — My Help
Meta:   {Incluso}. {Cases reais}. BH e Brasil. {CTA}.
H1:     {Serviço claro para empresas}
Proibido: métricas decorativas (+150%, 12.5K visitas)
```

### Local sites `/criacao-de-sites/{uf}/{cidade}`
```
Title:  Criação de site em {Cidade} ({Sigla}) | 24h — My Help
Meta:   Site institucional em {Cidade}, {Estado}. SEO incluso. Remoto — My Help BH.
H1:     Criação de sites em {Cidade}
```

### Local SEO `/agencia-de-seo/{uf}/{cidade}`
```
Title:  Agência de SEO em {Cidade} ({Sigla}) | Local — My Help
Meta:   SEO em {Cidade}: auditoria, Google Business, keywords. Remoto — My Help BH. WhatsApp.
H1:     Agência de SEO em {Cidade}
Query GSC: usar forma exata ("seo piracicaba" → "SEO em Piracicaba" no title)
```

### Local sistemas `/sistemas-empresariais/{uf}/{cidade}`
```
Title:  Sistema para empresas em {Cidade} ({Sigla}) | Sob medida — My Help
H1:     Sistema para empresas em {Cidade}
```

### Estado `/agencia-de-seo/{uf}`
```
Title:  Agência de SEO em {Estado} ({Sigla}) | Cidades — My Help
H1:     Agência de SEO em {Estado}
```

### Nicho `/site-para-{slug}`
```
Title:  Site para {Segmento} | {Hook} — My Help
H1:     {heroTitle do nicho — benefício}
```

### Blog `/blog/{slug}`
```
Title:  {Título} | Blog My Help
H1:     {Título completo}
Meta:   Resumo + ano se relevante
Breadcrumb: Home / Blog / {Título}
```

### Case `/case/{slug}`
```
Title:  Case {Nome} | {Tipo} — My Help
H1:     Case {Nome}
```

---

## 13. Páginas programáticas (escala)

### Cidades prioritárias (`config/local-priority-keys.php`)
- Conteúdo exclusivo em `local-priority-data.php`
- Meta com dado regional (mesorregião, setores)

### IBGE / fallback
- `local_generate_*_from_ibge()` — variar parágrafos
- Meta: permutar ordem (cidade, estado, serviço, remoto)
- FAQ: incluir `{Cidade}` nas perguntas

### Mínimo anti-boilerplate (todas as locais)
1. Cidade + sigla no title e H1
2. Meta com serviço + estado + diferencial
3. ≥1 parágrafo local no corpo
4. ≥3 FAQ contextualizados

### Lote novo (milhares de URLs)
Após deploy de cluster programático (`/agencia-de-seo/`, `/sistemas-empresariais/`, etc.):
- **Não** reescrever title/meta em massa com base no **primeiro** export de 28 dias — o recorte mistura pré e pós-lançamento.
- Aguardar **14–28 dias** só com a URL/snippet atual indexados; então priorizar por impressões + CTR (§14).
- Exemplo documentado: [analise-seo-gsc-2026-06-21.md](analise-seo-gsc-2026-06-21.md) (84,8% das impressões nos últimos 3 dias do export).

---

## 14. Workflow Search Console (+ Semrush)

1. Export **Performance** (28–90 dias)
2. **Cruzar com git/deploy** — §14.1 (obrigatório antes de agir em CTR)
3. Ativar colunas **CTR médio** e **Posição média** (Semrush checklist §29)
4. Filtrar: impressões ≥ 10, CTR abaixo da média, posição 4–30 (**striking distance**)
5. Para cada query/página: usar termos do GSC como **tópicos** (novos H2, FAQ, parágrafo) — não só repetir no title
6. Ajustar **title + meta** quando baseline maduro (§14.1) — mais rápido ROI de CTR
7. Enriquecer conteúdo se posição > 20
8. Inspeção de URL → solicitar indexação (prioritárias)
9. Reavaliar em **14–28 dias** (Ahrefs/Moz)

### 14.1 Cruzamento git × GSC (janela de maturação)

Export de 28 dias **não** significa 28 dias com o mesmo title/snippet ou URL no ar. Sempre:

1. **Ver commits no período do export:**
   ```bash
   git log --since="YYYY-MM-DD" --until="YYYY-MM-DD" --oneline -- config/local-* index.php seo.php htaccessprod sitemap.xml
   ```
2. **Identificar data de deploy** em produção (último `deploy` ou confirmação manual). Commits locais ≠ produção até publicar `htaccessprod`/PHP.
3. **Segmentar impressões por data** (aba Gráfico do xlsx ou `exports/search-console/grafico.csv`):
   - Se **>50% das impressões** caírem nos últimos 3–7 dias → spike pós-lançamento; CTR baixo é **prematuro** como diagnóstico.
4. **Classificar cada URL analisada:**

| Situação | Dias no ar (≥) | CTR baixo implica… | Ação |
|----------|----------------|-------------------|------|
| Lote programático novo | &lt;14 | Indexação/teste de queries | Monitorar; confirmar deploy |
| Lote programático novo | 14–28 | Possível snippet fraco | Testar title/meta nas top 10 URLs |
| Página estável (home, serviço) | ≥14 no recorte | Snippet ou intent | Agir title/meta + GBP se marca |
| Problema técnico (`.php` indexado) | qualquer | Canonical quebrado | 301 + canonical **agora** |

5. **Próximo export:** filtrar GSC **após data do deploy** (comparar maçãs com maçãs).

**Ferramentas no repo:**
- `php tools/xlsx_export.php caminho/Performance-on-Search.xlsx`
- `python tools/analyze_gsc_export.py` → `exports/search-console/analise-dados.json`
- Relatório modelo: [analise-seo-gsc-2026-06-21.md](analise-seo-gsc-2026-06-21.md)

**Auditoria técnica on-page (Semrush Site Audit — equivalente manual):**

| Issue | Ação |
|-------|------|
| Title ausente/duplicado/longo | Corrigir `$pageTitle` |
| Meta ausente/duplicada | Corrigir `$pageDescription` |
| Múltiplos H1 | Deixar só `$heroTitle` |
| Keyword só no title | Espalhar em H1, 1º ¶, H2, slug, alt |

**My Help (referência jun/2026):** export 28 dias com landings SEO local lançadas **16/jun** — CTR 0,08% no segmento é **alerta**, não conclusão; reavaliar pós-**2026-07-05**. Home/nichos: baseline mais longa → snippet de marca ainda acionável.

---

## 15. Checklist master (auditoria completa)

### A. Indexação & técnico
- [ ] Indexável, canonical correto, HTTPS
- [ ] No `.php` indexado
- [ ] No sitemap se must-index
- [ ] Schema válido e coerente

### B. On-page SERP (Google + Semrush + Ubersuggest)
- [ ] Title único 50–60 chars, keyword-first, benefício, marca no fim
- [ ] Meta única: CTA + diferencial nos primeiros ~105 chars; total até ~160
- [ ] 1× H1 — mesmo intent do title, formulação distinta (20–70 chars)
- [ ] Keyword em title, H1, 1º parágrafo, ≥1 H2, slug, alt
- [ ] H2/H3 lógicos (sem pular níveis)
- [ ] Title/meta/H1 ausentes ou duplicados = 🔴 crítico

### C. Conteúdo
- [ ] Intent match
- [ ] Original, útil, sem métricas fake
- [ ] Keyword no 1º parágrafo
- [ ] FAQ visível (páginas serviço/local)

### D. Local (se aplicável)
- [ ] Cidade/UF no title, H1, meta
- [ ] Remoto + sede BH claro
- [ ] Cross-links mesma cidade
- [ ] Prioridade enriquecida se key city

### E. Links & mídia
- [ ] Internos com anchor descritivo
- [ ] Alt em imagens
- [ ] og:image definida

### F. Dados GSC (se auditoria com export)
- [ ] Commits/deploy no período do export mapeados (§14.1)
- [ ] Impressões concentradas no fim do recorte? → não concluir snippet ruim ainda
- [ ] URL estável ≥14 dias antes de rewrite title/meta por CTR
- [ ] Próxima reavaliação agendada (14–28 dias pós-deploy)

### G. Off-site (recomendar se ausente)
- [ ] Google Business Profile otimizado
- [ ] NAP consistente

---

## 16. Formato do relatório (saída da IA)

```
# Auditoria SEO — {URL}

**Data:** YYYY-MM-DD
**Tipo:** home | serviço | local-cidade | local-estado | nicho | blog | case
**Query GSC:** {consulta ou —}
**Período export GSC:** {datas}
**Deploy / commit relevante:** {hash + data ou —}
**Dias URL/snippet no ar no recorte:** {N ou imaturo}
**Intent:** comercial | informacional | navegacional | transacional
**Arquivo(s):** {paths}

---

## Scorecard

| Área | Status | Prioridade |
|------|--------|------------|
| Técnico | ✅/❌ | … |
| Title/Meta/H1 | ✅/❌ | … |
| Conteúdo | ✅/❌ | … |
| Local | ✅/❌ | … |
| Schema | ✅/❌ | … |
| Links | ✅/❌ | … |

---

## Problemas (por severidade)

### 🔴 Crítico
- …

### ⚠️ Importante
- …

### 📝 Melhoria
- …

---

## Textos sugeridos (colar no PHP)

$pageTitle: `…`
$pageDescription: `…`
$heroTitle: `…`
$heroLead: `…`
$ogTitle: `…`

---

## Headings sugeridos
- H2: …
- H2: …

---

## Ações técnicas
- [ ] …

**Fim do relatório**
```

---

## 17. PROMPT COMPLETO — copiar e colar

```
Você é especialista em SEO. Execute uma auditoria/criação COMPLETA conforme prompts_dev/guia-seo-completo.md.

## Contexto
- Site: My Help — agenciamyhelp.com.br
- Stack: PHP, rotas .htaccess, landings locais IBGE, nichos, blog
- Sede: Belo Horizonte (MG); atendimento remoto Brasil
- Objetivo desta tarefa: [auditar | criar | otimizar CTR | enriquecer conteúdo]

## Alvo
- URL: [ex.: /agencia-de-seo/sp/piracicaba]
- Tipo: [home | serviço | local-cidade | local-estado | nicho | blog | case]
- Arquivo(s) PHP: [ex.: config/local-agencia-seo-page.php]
- Query GSC (se houver): [ex.: seo piracicaba — 32 impr, 0 cliques, pos 17]
- Export GSC (se houver): [datas + caminho xlsx]
- Deploy no período: [sim/não — consultar git log]

## Instruções obrigatórias

1. Leia o código atual (builder config + template) antes de sugerir mudanças.
2. Se houver export GSC: cruze **git log + datas de impressão** (§14.1) antes de diagnosticar CTR baixo.
3. Aplique TODAS as seções do guia: fundamentos, intent, on-page, canonical/OG, schema, local, links, imagens, E-E-A-T, técnico, performance.
4. Baseie regras em Google Search Central (prioridade) + Moz/Ahrefs/Semrush/Ubersuggest (§ hierarquia de fontes).
5. Title: 50–60 chars, keyword no início, benefício claro, "— My Help" no fim, único, sem stuffing.
6. Meta: **expande** o title (Ahrefs/Moz); CTA + diferencial nos primeiros ~105 chars; até ~160 total; foco CTR.
7. H1: exatamente 1, mesmo intent do title (formulação distinta), 20–70 chars; cumprir promessa do title.
8. Keyword também em 1º parágrafo, H2, slug e alt; H2/H3 sem pular níveis; FAQ com cidade em páginas locais.
9. GSC maduro (≥14 dias pós-deploy): queries com impressões altas e CTR baixo → title/meta E/OU novas subseções (Semrush §29). Se lote novo (&lt;14 dias): **monitorar**, não rewrite em massa.
10. Páginas locais: anti-boilerplate (cidade+UF+parágrafo único+FAQ); mencionar remoto/BH.
11. PROIBIDO: métricas fictícias, reviews schema próprios, keyword lists, conteúdo copiado, clickbait.
12. Links internos: sugerir 3–5 anchors descritivos para/de outras páginas My Help.
13. Schema: indicar tipo e se `$schemaIncludes` está correto.
14. Se editar código: mínimo diff — só metadados/conteúdo SEO relevante.
15. Entregue relatório no formato §16 do guia + blocos PHP prontos para colar.

## Priorização
- Primeiro: indexação/canonical
- Segundo: title+meta (CTR) **só se baseline GSC madura** (§14.1)
- Terceiro: H1+conteúdo+FAQ
- Quarto: links internos+schema
- Quinto: performance/imagens

Base obrigatória: prompts_dev/guia-seo-completo.md
```

---

## 18. Exemplos rápidos (My Help)

### Piracicaba — SEO local (CTR)

❌ Concluir snippet ruim no **primeiro** export 28 dias após lançamento do lote (16/jun)  
⚠️ Monitorar 14–28 dias pós-deploy; se CTR = 0 com pos 10–20, testar title  
✅ Title reserva: `SEO em Piracicaba (SP) | Agência local — My Help`

### `/seo` — serviço

❌ Hero com +150%, 12.5K visitas  
✅ Prova: cases linkados, processo, FAQ honesto

### Marca

❌ `my help` pos 32, 0 cliques  
✅ Home title: `Agência digital BH | Sites, SEO e sistemas — My Help` + GBP

---

## 19. Pós-implementação

```bash
php -l caminho/arquivo.php
php tools/generate-local-sitemaps.php   # se URLs locais
```

- Deploy `htaccessprod` se rotas novas
- Anotar **data do deploy** (para próximo cruzamento GSC)
- GSC → Inspeção → Solicitar indexação
- Reavaliar CTR em **14–28 dias** (filtrar export após data do deploy)
- Opcional: `git log --since=… -- config/local-* seo.php index.php`

---

**Fim do guia SEO completo — My Help**
