ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo desarrollar una habilidad SEO personalizada de Claude Code
Tutorial

Cómo desarrollar una habilidad SEO personalizada de Claude Code

Cree una habilidad de Claude Code reutilizable para auditorías de SEO. Verificaciones de clasificación, análisis SERP y brechas de la competencia en un solo comando.

Obtener clave API gratisDocumentacion API

Las habilidades de Claude Code le permiten empaquetar flujos de trabajo repetibles en herramientas de un solo comando. Este tutorial desarrolla una habilidad de SEO que verifica las clasificaciones, analiza las características SERP, encuentra lagunas en las palabras clave y genera recomendaciones de optimización. Una vez creado, ejecútelo con un solo comando de barra diagonal en cualquier dominio.

Requisitos previos

  • Código Claude instalado
  • Scavio MCP configurado
  • Una clave API de Scavio de scavio.dev
  • Comprensión básica de las habilidades del Código Claude

Guia paso a paso

Paso 1: Definir la estructura de habilidades SEO

Cree el archivo de habilidades con parámetros de entrada y pasos del flujo de trabajo.

Python
import os, requests, json

API_KEY = os.environ['SCAVIO_API_KEY']
SH = {'x-api-key': API_KEY, 'Content-Type': 'application/json'}

# Claude Code skill definition
seo_skill = {
    'name': 'seo-audit',
    'description': 'Run a quick SEO audit on a domain: rank check, SERP features, keyword gaps.',
    'inputs': {
        'domain': 'Target domain to audit',
        'keywords': 'Comma-separated keywords to check (optional)',
        'competitors': 'Comma-separated competitor domains (optional)'
    }
}

def rank_check(domain, keywords):
    """Check domain position for each keyword."""
    results = []
    for kw in keywords:
        data = requests.post('https://api.scavio.dev/api/v1/search',
            headers=SH, json={'query': kw, 'country_code': 'us'}).json()
        organic = data.get('organic_results', [])
        position = None
        for i, r in enumerate(organic):
            if domain in r.get('link', ''):
                position = i + 1
                break
        results.append({'keyword': kw, 'position': position})
        pos_str = f'#{position}' if position else 'Not found'
        print(f'  {kw:40} | {pos_str}')
    return results

print('SEO Skill: rank_check')
rank_check('scavio.dev', ['search api', 'serp api python', 'mcp search tool'])
print(f'Cost: $0.015')

Paso 2: Agregar análisis de funciones SERP

Detecte descripciones generales de IA, PAA, fragmentos destacados y paquetes locales para cada palabra clave.

Python
def serp_analysis(keywords):
    """Analyze SERP features for each keyword."""
    print(f'\n=== SERP Feature Analysis ===')
    for kw in keywords:
        data = requests.post('https://api.scavio.dev/api/v1/search',
            headers=SH, json={'query': kw, 'country_code': 'us'}).json()
        features = []
        if data.get('ai_overview') or data.get('answer_box'):
            features.append('AIO')
        if data.get('people_also_ask'):
            features.append(f'PAA({len(data["people_also_ask"])})')
        if data.get('featured_snippet'):
            features.append('Featured')
        if data.get('local_results'):
            features.append('Local')
        if data.get('shopping_results'):
            features.append('Shopping')
        feature_str = ' | '.join(features) if features else 'Organic only'
        print(f'  {kw:40} | {feature_str}')
    return features

def keyword_gaps(domain, competitors, keywords):
    """Find keywords where competitors rank but you do not."""
    print(f'\n=== Keyword Gaps ===')
    gaps = []
    for kw in keywords:
        data = requests.post('https://api.scavio.dev/api/v1/search',
            headers=SH, json={'query': kw, 'country_code': 'us'}).json()
        organic = data.get('organic_results', [])
        domain_found = any(domain in r.get('link', '') for r in organic)
        comp_found = [c for c in competitors if any(c in r.get('link', '') for r in organic)]
        if not domain_found and comp_found:
            gaps.append({'keyword': kw, 'competitors_ranking': comp_found})
            print(f'  GAP: "{kw}" - {len(comp_found)} competitors rank, you do not')
    if not gaps:
        print(f'  No gaps found - you rank for all checked keywords.')
    return gaps

serp_analysis(['search api', 'serp api comparison'])
keyword_gaps('scavio.dev', ['tavily.com', 'serpapi.com'], ['web scraping api', 'data extraction api'])

Paso 3: Paquete como una habilidad completa

Combine todas las comprobaciones en una función de habilidad con un informe resumido.

Python
def seo_audit_skill(domain, keywords=None, competitors=None):
    """Complete SEO audit skill for Claude Code."""
    if keywords is None:
        keywords = [domain.replace('.com', '').replace('.dev', ''), f'{domain} alternative']
    if competitors is None:
        competitors = []
    print(f'\n{"=" * 60}')
    print(f'  SEO AUDIT: {domain}')
    print(f'  Date: 2026-05-20')
    print(f'  Keywords: {len(keywords)} | Competitors: {len(competitors)}')
    print(f'{"=" * 60}')
    # 1. Rank check
    print(f'\n--- Rankings ---')
    ranks = rank_check(domain, keywords)
    ranked = sum(1 for r in ranks if r['position'])
    # 2. SERP features
    print(f'\n--- SERP Features ---')
    serp_analysis(keywords)
    # 3. Keyword gaps
    if competitors:
        keyword_gaps(domain, competitors, keywords)
    # Summary
    total_queries = len(keywords) * 2 + (len(keywords) if competitors else 0)
    print(f'\n--- Summary ---')
    print(f'  Ranking: {ranked}/{len(keywords)} keywords')
    avg_pos = sum(r['position'] for r in ranks if r['position']) / ranked if ranked else 0
    print(f'  Avg position: #{avg_pos:.1f}' if ranked else '  Avg position: N/A')
    print(f'  Cost: ${total_queries * 0.005:.3f}')
    print(f'\n  Usage: /seo-audit {domain}')

seo_audit_skill('scavio.dev', 
    keywords=['search api', 'serp api python', 'mcp search tool'],
    competitors=['tavily.com', 'serpapi.com'])

Ejemplo en Python

Python
import os, requests
SH = {'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'}

def quick_seo(domain, keyword):
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json={'query': keyword, 'country_code': 'us'}).json()
    for i, r in enumerate(data.get('organic_results', [])):
        if domain in r.get('link', ''):
            print(f'{domain} ranks #{i+1} for "{keyword}"')
            return
    print(f'{domain} not in top 10 for "{keyword}"')

quick_seo('scavio.dev', 'search api for ai agents')
print('Cost: $0.005')

Ejemplo en JavaScript

JavaScript
const SH = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
const data = await fetch('https://api.scavio.dev/api/v1/search', {
  method: 'POST', headers: SH,
  body: JSON.stringify({ query: 'search api for ai agents', country_code: 'us' })
}).then(r => r.json());
const pos = (data.organic_results || []).findIndex(r => r.link?.includes('scavio.dev'));
console.log(pos >= 0 ? `scavio.dev ranks #${pos+1}` : 'Not in top 10');

Salida esperada

JSON
============================================================
  SEO AUDIT: scavio.dev
  Date: 2026-05-20
  Keywords: 3 | Competitors: 2
============================================================

--- Rankings ---
  search api                               | #2
  serp api python                          | #5
  mcp search tool                          | #3

--- SERP Features ---
  search api                               | AIO | PAA(4)
  serp api python                          | Featured
  mcp search tool                          | AIO

--- Summary ---
  Ranking: 3/3 keywords
  Avg position: #3.3
  Cost: $0.045

Tutoriales relacionados

  • Cómo desarrollar una habilidad de SEO para Claude Code
  • Cómo desarrollar una habilidad SEO de Claude Code
  • Cómo hacer SEO con Claude Code (de extremo a extremo)

Preguntas frecuentes

La mayoria de los desarrolladores completan este tutorial en 15 a 30 minutos. Necesitaras una clave API de Scavio (el plan gratuito funciona) y un entorno de Python o JavaScript.

Código Claude instalado. Scavio MCP configurado. Una clave API de Scavio de scavio.dev. Comprensión básica de las habilidades del Código Claude. Una clave API de Scavio te da 50 creditos gratuitos al registrarte.

Si. El plan gratuito incluye 50 creditos al registrarte, mas que suficiente para completar este tutorial y crear un prototipo funcional.

Scavio tiene un paquete nativo de LangChain (langchain-scavio), un servidor MCP y una API REST simple que funciona con cualquier cliente HTTP. Este tutorial usa the raw REST API, pero puedes adaptarlo al framework que prefieras.

Recursos relacionados

Best Of

Las mejores herramientas de SEO para Claude Code en 2026

Read more
Use Case

Automatización SEO de Claude Code

Read more
Use Case

Informes SEO semanales con Claude Code

Read more
Glossary

Habilidad de Claude Code para SEO

Read more
Best Of

La mejor API de búsqueda para Claude Code en 2026

Read more
Solution

Pila de reemplazo de proveedores de SEO

Read more

Empieza a construir

Cree una habilidad de Claude Code reutilizable para auditorías de SEO. Verificaciones de clasificación, análisis SERP y brechas de la competencia en un solo comando.

Obtener clave API gratuitaLeer la documentacion
ScavioScavio

API de busqueda en tiempo real para agentes de IA. Busca en todas las plataformas, no solo en Google.

Producto

  • Funciones
  • Precios
  • Panel
  • Afiliados

Desarrolladores

  • Documentacion
  • Referencia de API
  • Inicio rapido
  • Integracion MCP
  • Python SDK

Alternativas

  • Alternativa a Tavily
  • Alternativa a SerpAPI
  • Alternativa a Firecrawl
  • Alternativa a Exa

Herramientas

  • Formateador JSON
  • cURL a codigo
  • Contador de tokens
  • Todas las herramientas

© 2026 Scavio. Todos los derechos reservados.

Featured on TAAFT
Terminos de servicioPolitica de privacidad