AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified Apache-2.0 Self-run

Seo Specialist

skill-felvieira-claude-skills-fv-14-seo-specialist · by felvieira

|

No reviews yet
0 installs
22 views
0.0% view→install

Install

$ agentstack add skill-felvieira-claude-skills-fv-14-seo-specialist

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-felvieira-claude-skills-fv-14-seo-specialist)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Seo Specialist? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

SEO Specialist - Otimização para Motores de Busca

O Especialista SEO é responsável por garantir que o sistema e landing pages sejam encontráveis, rápidos e bem ranqueados nos motores de busca.

Governanca Global

Esta skill segue GLOBAL.md, policies/execution.md, policies/handoffs.md, policies/quality-gates.md, policies/token-efficiency.md, policies/stack-flexibility.md, policies/evals.md, policies/tool-safety.md e policies/anti-ai-writing.md.

Gate: conteúdo publicado (artigos, meta descriptions, headings) deve passar pelos 29 padrões de policies/anti-ai-writing.md antes de finalizar. Conteúdo com tells de IA penaliza percepção de autenticidade e pode afetar E-E-A-T.

Para templates de metadata, schema e checks de indexacao, consultar docs/skill-guides/seo-specialist.md apenas quando necessario.

Quando Usar

  • otimizar indexacao, metadata, performance e semantica
  • revisar landing pages ou paginas publicas com objetivo de descoberta

Quando Nao Usar

  • para areas autenticadas sem indexacao
  • para substituir Copy, Frontend ou Security como papel principal

Entradas Esperadas

  • copy e estrutura da pagina
  • contexto tecnico de performance e rendering
  • objetivos de descoberta e palavras-chave

Saidas Esperadas

  • recomendacoes de SEO tecnico e on-page
  • metadata e requisitos de performance claros
  • handoff claro para Frontend/Reviewer

Responsabilidades

  1. Otimizar meta tags em todas as páginas (title, description, canonical, Open Graph, Twitter Card)
  2. Implementar schema markup (JSON-LD) para dados estruturados
  3. Garantir excelência em Core Web Vitals (LCP, FID, CLS, INP, TTFB)
  4. Configurar sitemap.xml e robots.txt
  5. Otimizar imagens e fontes para performance máxima
  6. Garantir acessibilidade (impacta diretamente o SEO)
  7. Assegurar HTML semântico em toda a aplicação
  8. Conduzir keyword research e entregar a lista de keywords priorizada ANTES do Copy escrever
  9. Definir o brief técnico de link building (off-page) — execução fica com Marketing/Conteúdo

Keyword Research

A pesquisa de palavra-chave é o passo 0 de qualquer projeto de SEO: descobrir como o usuário vai procurar pelo produto/serviço antes de escrever uma linha de conteúdo ou definir uma URL. Fonte: "SEO Prático" (Adriano Almeida, Casa do Código), cap. 4.

O output desta etapa é uma tabela de keywords decididas que alimenta o resto do pipeline: Copy (13/50) usa pra escrever, Frontend (04) usa pra URL/headings, e a própria 14 usa pra meta tags. SEO fornece as keywords; não inventa o produto.

Workflow de descoberta

  1. Brainstorm bruto. Antes de ferramenta nenhuma, liste no papel como você acha que as pessoas buscariam. O livro chega a ~30 termos em 5 min pro caso "risoto" (como fazer risoto, receitas de arroz gourmet...). Peça a um amigo imparcial pra fazer o mesmo — quem está "atrás do balcão" tem visão enviesada de como o cliente pensa.
  2. Entenda a cabeça do usuário (intent). A busca "perfeita" raramente é a que o usuário digita. Quem procura "risoto" pode procurar "arroz cremoso". Mapeie variações que vão além da descrição literal do produto.
  3. Pesquise no próprio buscador (análise de concorrente). Busque cada termo no Google. Repare em: quais sites grandes ocupam o topo, quantos resultados são blogs (sinal de que dá pra entrar), adjetivos recorrentes nos títulos (são keywords que você não tinha mapeado), e se a keyword aparece na URL dos rankeados.
  4. Explore a cauda longa. Termos genéricos ("carne") têm mais busca, mas concorrência feroz e intent difuso. Termos cauda longa ("quais os cortes de carne mais macios") têm menos busca mas conversão muito maior porque casam com intent específico.
  5. Expanda com ferramentas. Use as ferramentas pra achar variações que nem um especialista lembraria (tabela em references/keyword-research.md).
  6. Agrupe em dois baldes: conteúdo vs. negócio/venda. Keywords de conteúdo → pauta de blog pra atrair tráfego amplo. Keywords de negócio/venda → a página de venda do serviço, descrita como as pessoas realmente buscam.
  7. Priorize por volume × dificuldade (KEI). Quando o conhecimento de negócio não basta, use o KEI (Keyword Effectiveness Index) — balanço entre volume e competitividade:

`` KEI = (buscas por dia) ^ 2 / número de resultados ` Ex. ("chef em casa": 720 buscas/mês, 1,5M resultados): KEI = (720/30)^2 / 1.500.000 = 0,000384`. Quanto maior o KEI, melhor. Volume vem do Google Keyword Planner; nº de resultados vem do total do Google pra busca exata. Cuidado com termos ambíguos ("personal" colide com personal trainer/stylist, inflando resultados).

> Detalhe denso (ferramentas, exemplo KEI completo, template de tabela) em references/keyword-research.md — abrir só ao executar um keyword research de fato.

Como documentar as keywords decididas

| Keyword | Intent | Balde | Volume/mês | Dificuldade | KEI | Prioridade | |---------|--------|-------|-----------|-------------|-----|-----------| | chef a domicílio sp | transacional | negócio | 480 | média | 0,000342 | P0 | | como fazer risoto | informacional | conteúdo | alto | alta | — | P1 (blog) |

A coluna Intent classifica: informacional (tutorial, "como"), transacional (compra/contratação), navegacional (marca). Isso direciona o tipo de página e o tom do Copy.

Nota sobre densidade de keyword

Keyword research decide os termos; não autoriza repeti-los. Keyword stuffing (repetir à exaustão) é penalizado pelo Penguin desde 2012 — 2 a 3 ocorrências naturais por página bastam. O aviso vive aqui porque é onde a tentação nasce; o tuning de conteúdo é do Copy.

Handoff de Keyword Research

  • → Copy (13/50): recebe a tabela de keywords (intent + balde) ANTES de escrever.
  • → Frontend (04): keyword principal vai pra URL (slug) e pra ``/headings. A 14 só especifica qual termo.
  • → PO (01): se o research revelar demanda por algo fora do escopo do produto, é decisão de negócio/roadmap — devolver pro PO. SEO mapeia a demanda, PO decide se persegue.

Off-Page / Link Building

On-page não é tudo. O peso que outros sites dão ao seu — via links — é fator central de ranking (PageRank). Fonte: "SEO Prático", cap. 9-10.

Fronteira de papel: boa parte de link building é execução de Marketing/Conteúdo (escrever guest post, fechar parceria). O papel da 14 aqui é o brief técnico: estratégia de aquisição, critérios de qualidade, anchor text correto, uso de nofollow, e validar que os links no código estão saudáveis. A 14 não sai negociando backlink — especifica o que um bom backlink precisa ter.

Princípio: qualidade > quantidade, relevância contextual

Volume de links não importa — relevância importa. O link tem que vir de quem é autoridade no seu assunto. Um site de culinária linkado por veículo de fitness no contexto certo ganha boost; linkado por um banco, quase nada. Comprar links de diretórios sem conteúdo é o que o Penguin (2012) pune.

Critérios que os buscadores avaliam (vão no brief):

  • A página que linka tem relevância maior que a minha?
  • Vários domínios diferentes linkam (mais valioso que o mesmo site de novo)?
  • Os conteúdos das duas páginas têm relação temática?
  • Qual o anchor text e a posição do link (conteúdo > rodapé/sidebar)?

Anchor text e posicionamento (brief técnico — responsabilidade da 14)

  • Anchor natural, nunca "clique aqui". O texto do link deve ser a keyword no contexto.
  • Diversifique o anchor. Repetição idêntica em massa parece artificial.
  • Posição importa. Link no começo/centro do conteúdo > rodapé/sidebar.
  • rel="nofollow" onde não há controle. Comentários, UGC, links não-endossados não passam autoridade. Redes sociais marcam links como nofollow — curtidas/seguidores não entram no ranking, embora valham como canal que gera links naturais depois.
  • Links internos contam. Mesmas regras (natural, bem descrito).

Estratégias de aquisição natural (execução de Marketing/Conteúdo)

A 14 documenta que se aplicam e qual o brief; quem escreve/negocia é Marketing:

  1. Marketing de conteúdo — conteúdo original/relevante que atrai links sozinho (brief = keywords de conteúdo + critério; execução = Copy 13/50).
  2. Guest blogging — escrever pra site terceiro relevante com link de volta.
  3. Comentários e fórum marketing — participar de comunidades do nicho agregando valor.
  4. Troca de links, parcerias e promoções — patrocínio/brinde em troca de link (decisão de orçamento = PO 01).
  5. Press releases — matéria via RP pra emplacar em portal (decisão de negócio = PO 01).

Checklist de Link Building (brief técnico)

  • [ ] Estratégia de aquisição definida e atribuída (dono: Marketing vs. PO)
  • [ ] Critério de qualidade do backlink documentado (domínio relevante, autoridade > a nossa)
  • [ ] Meta de diversidade de domínios referenciadores
  • [ ] Anchor text natural e variado, keyword no contexto — nunca "clique aqui"
  • [ ] Links de autoridade no conteúdo principal (não rodapé/sidebar)
  • [ ] rel="nofollow" em comentários, UGC e links não-endossados
  • [ ] Links internos descritivos e sem quebra (404 interno derruba ranking)
  • [ ] Conteúdo original (Penguin penaliza duplicação e diretórios de link)

Handoff de Off-Page

  • → Marketing Copy (13/50): executa guest posts, marketing de conteúdo, outreach.
  • → PO (01): decisões de orçamento (PR pago, patrocínio, agência) e priorização de parcerias.
  • → Frontend (04): implementa anchor text, posicionamento, nofollow.

Meta Tags - Template Padrão

src/app/layout.tsx

import type { Metadata } from 'next';

export function generateMetadata({
  title,
  description,
  url,
  image,
}: {
  title: string;
  description: string;
  url: string;
  image?: string;
}): Metadata {
  const siteName = 'Nome do Projeto';
  const defaultImage = '/og-image.png';

  return {
    title: {
      default: title,
      template: `%s | ${siteName}`,
    },
    description,
    alternates: {
      canonical: url,
    },
    openGraph: {
      title,
      description,
      url,
      siteName,
      images: [
        {
          url: image || defaultImage,
          width: 1200,
          height: 630,
          alt: title,
        },
      ],
      locale: 'pt_BR',
      type: 'website',
    },
    twitter: {
      card: 'summary_large_image',
      title,
      description,
      images: [image || defaultImage],
    },
    robots: {
      index: true,
      follow: true,
      googleBot: {
        index: true,
        follow: true,
        'max-video-preview': -1,
        'max-image-preview': 'large',
        'max-snippet': -1,
      },
    },
  };
}

Schema Markup - JSON-LD

src/components/seo/WebsiteSchema.tsx

export function WebsiteSchema({ url, name }: { url: string; name: string }) {
  const schema = {
    '@context': 'https://schema.org',
    '@type': 'WebSite',
    name,
    url,
    potentialAction: {
      '@type': 'SearchAction',
      target: `${url}/search?q={search_term_string}`,
      'query-input': 'required name=search_term_string',
    },
  };

  return (
    
  );
}

src/components/seo/OrganizationSchema.tsx

export function OrganizationSchema({
  name,
  url,
  logo,
  sameAs,
}: {
  name: string;
  url: string;
  logo: string;
  sameAs: string[];
}) {
  const schema = {
    '@context': 'https://schema.org',
    '@type': 'Organization',
    name,
    url,
    logo,
    sameAs,
    contactPoint: {
      '@type': 'ContactPoint',
      contactType: 'customer service',
      availableLanguage: ['Portuguese'],
    },
  };

  return (
    
  );
}

src/components/seo/FAQSchema.tsx

interface FAQItem {
  question: string;
  answer: string;
}

export function FAQSchema({ items }: { items: FAQItem[] }) {
  const schema = {
    '@context': 'https://schema.org',
    '@type': 'FAQPage',
    mainEntity: items.map((item) => ({
      '@type': 'Question',
      name: item.question,
      acceptedAnswer: {
        '@type': 'Answer',
        text: item.answer,
      },
    })),
  };

  return (
    
  );
}

Core Web Vitals - Metas Obrigatórias

Métrica        Alvo         Descrição
─────────────────────────────────────────────────────────────
LCP            ` nativo
- Prioridade de formato: AVIF > WebP > PNG
- **Alt text** obrigatório em TODAS as imagens — sem exceção
- Dimensões explícitas (`width` e `height`) em todas as imagens
- `priority` para imagens hero (above the fold)

**src/components/ui/OptimizedImage.tsx**

```typescript
import Image from 'next/image';

interface OptimizedImageProps {
  src: string;
  alt: string;
  width: number;
  height: number;
  priority?: boolean;
  className?: string;
}

export function OptimizedImage({
  src,
  alt,
  width,
  height,
  priority = false,
  className,
}: OptimizedImageProps) {
  return (
    
  );
}

Fontes

  • Sempre usar next/font (self-hosted, zero CLS)
  • font-display: swap obrigatório

src/app/layout.tsx

import { Inter } from 'next/font/google';

const inter = Inter({
  subsets: ['latin'],
  display: 'swap',
  variable: '--font-inter',
});

export default function RootLayout({ children }: { children: React.ReactNode }) {
  return (
    
      {children}
    
  );
}

Lazy Loading e Performance

  • Dynamic imports para tudo abaixo do fold
  • loading="lazy" em imagens e iframes fora da viewport
  • Defer em scripts de terceiros

src/app/page.tsx

import dynamic from 'next/dynamic';

const FAQ = dynamic(() => import('@/components/sections/FAQ'));
const Testimonials = dynamic(() => import('@/components/sections/Testimonials'));
const Footer = dynamic(() => import('@/components/layout/Footer'));

src/components/ThirdPartyScripts.tsx

import Script from 'next/script';

export function ThirdPartyScripts() {
  return (
    <>
      
      
        {`window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXX');`}
      
    
  );
}

HTML Semântico - Referência

Correto                    Errado
──────────────────────────────────────────
                   
                      
                     
                  
                  
                    
                   
 a                 
 +     
         
                  
                     

Regras:

  • Uma única `` por página
  • Hierarquia de headings sem pular níveis (h1 > h2 > h3)
  • `` uma única vez por página
  • ` com aria-label` quando houver mais de uma navegação

SEO Checklist

Técnico

  • [ ] Sitemap.xml gerado e enviado ao Google Search Console
  • [ ] robots.txt configurado corretamente
  • [ ] Tags canonical em todas as páginas
  • [ ] HTTPS ativo em todo o site
  • [ ] Sem conteúdo duplicado
  • [ ] URLs amigáveis (slug legível, sem IDs expostos)
  • [ ] Redirects 301 para URLs antigas
  • [ ] Página 404 customizada com navegação
  • [ ] Carregamento 20 de março de 2025` visível no corpo, não só no schema.
  • Contradições explícitas: não use "alguns dizem X" — atribua nominalmente. "Smith (2024) defende X, mas Jones (2025) contradiz com Y baseado em dados de Z." Isso aumenta a confiabilidade percebida e dá ao LLM material para citar com nuance.
  • Sobre/About page robusta: com bio dos contribuidores, missão editorial, processo de fact-checking se aplicável.

Tabelas e listas

LLMs extraem tabelas com altíssima fidelidade — frequentemente reproduzem a tabela inteira na resposta. Use tabelas sempre que comparar:

  • Planos/preços
  • Features entre alternativas
  • Antes/depois
  • Especificações técnicas
  • Prós/contras

Listas com bullets ou numeradas vencem prosa para qualquer enumeração. Se tem mais de 3 itens equivalentes, vire lista.

llms.txt

Arquivo opcional na raiz do site (analogia ao robots.txt), formato markdown, lista o conteúdo canônico e legível

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.