Skip to content

Practice/Fatia 4 — Polish/SEO: metadata indexável de /practice + sitemap #84

Description

@caioross

Contexto

Fatia 4 (última) do epic #24 (Practice/Solo mode §V.5). Um dos três objetivos originais do epic era SEO: /practice deveria ser uma landing jogável e indexável, ao contrário das salas (/room/[id], que são noindex por serem efêmeras). Hoje a rota existe (src/app/practice/page.tsx, entregue na Fatia 1/#25) mas não recebeu o polish de metadata/sitemap.

Escopo

  • Metadata própria de /practice (title/description/OG, no padrão já usado em src/app/layout.tsx/outras rotas) — indexável (sem noindex), diferente do comportamento de /room/[id].
  • Entrada de /practice em src/app/sitemap.ts (hoje só lista / e /leaderboard).
  • Conferir src/app/robots.ts — garantir que /practice não está bloqueada.
  • Se couber no escopo (avaliar ao puxar, não é obrigatório): "Instalar no celular"/PWA offline para o Treino Livre (§V.11) — só se for de baixo esforço; caso contrário, deixar para uma issue própria futura.

Acceptance criteria (verificáveis)

  • /practice tem metadata/OG próprios (title/description específicos do Treino Livre, não herdados genéricos do layout raiz).
  • /practice aparece em sitemap.ts com changeFrequency/priority coerentes com as demais entradas.
  • robots.ts não bloqueia /practice (confirmar explicitamente, não só por omissão).
  • pnpm build verde e a rota /practice aparece no build output com a metadata esperada (conferir HTML gerado ou next build output).
  • Se PWA/"instalar no celular" for incluído nesta fatia: documentar no PR o que foi coberto e o que ficou de fora — não deixe meio-implementado.

Dica de abordagem

Espelhar o padrão de metadata das rotas já indexáveis do site (/ e /leaderboard) — não inventar um shape novo de OG/metadata. Esta é a fatia de menor risco/esforço do epic; boa candidata para quando faltar contexto/tempo para as fatias 2/3 (bots/ghost).

Refs: spec docs/UI-AAA-OVERHAUL.md §V.5 (objetivo "SEO") e §V.11 (PWA, se aplicável); epic #24; rota atual em src/app/practice/page.tsx.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Algum dia / baixo impactoarea:infraCI/CD, build, tooling, deploy, depsarea:uiInterface, design system, animação, game feel

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions