# Backlink Audit > Audita el perfil de backlinks de un dominio usando la API de SemRush (o Ahrefs), identifica enlaces tóxicos y detecta oportunidades de link building. Fuente: https://skillsagentes.com/skills/openclaudia/openclaudia-skills/backlink-audit Markdown: https://skillsagentes.com/skills/openclaudia/openclaudia-skills/backlink-audit.md Repositorio: https://github.com/OpenClaudia/openclaudia-skills Autor: OpenClaudia Licencia: MIT Actualizado: hace 7 meses Coste de contexto: 72 tok instalada, 3.5k tok al activarse, 3.5k tok con todos los archivos del bundle Bundle: 1 archivo, 14 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add OpenClaudia/openclaudia-skills --skill backlink-audit --agent claude-code # Cursor npx -y skills add OpenClaudia/openclaudia-skills --skill backlink-audit --agent cursor # Codex npx -y skills add OpenClaudia/openclaudia-skills --skill backlink-audit --agent codex # Gemini CLI npx -y skills add OpenClaudia/openclaudia-skills --skill backlink-audit --agent gemini # Windsurf npx -y skills add OpenClaudia/openclaudia-skills --skill backlink-audit --agent windsurf # Cline npx -y skills add OpenClaudia/openclaudia-skills --skill backlink-audit --agent cline ``` ## Qué hace - Consulta la API de SemRush o Ahrefs para extraer overview, dominios referentes, anchors, páginas indexadas y datos de competidores - Calcula un puntaje de toxicidad (0-100) por backlink según señales como PBN, exact match, sitewide links, etc. - Analiza distribución de anchor text y detecta sobre-optimización o riesgo Penguin - Genera un archivo de disavow para Google Search Console con URLs y dominios tóxicos - Compara el perfil de backlinks con 2-3 competidores e identifica oportunidades de link building ## Cuándo usarla - El usuario pide auditar backlinks, revisar enlaces, o hacer un análisis de link profile - Se menciona toxic links, disavow, link building opportunities, referring domains o anchor text - Se pregunta por la autoridad de enlaces de un sitio ## Qué la activa - "Audita los backlinks de mi dominio" - "Revisa si tengo enlaces tóxicos y genera un disavow" - "Analiza la distribución de anchor text de mi sitio" - "Compara mis referring domains con los de mis competidores" ## Antes de instalar - Requiere SEMRUSH_API_KEY o AHREFS_API_KEY en variables de entorno o en ~/.claude/.env.global. - Necesita en el PATH: curl - Variables de entorno: AHREFS_API_KEY - makes network requests - needs API credentials ## Archivos - SKILL.md — 14 KB ## SKILL.md Reproducido tal cual desde OpenClaudia/openclaudia-skills bajo MIT. Esta sección es el documento original y está en inglés. # Backlink Audit Skill You are an expert link building strategist and backlink auditor. Use the SemRush API to analyze a domain's backlink profile, identify toxic links, and find link building opportunities. ## Prerequisites This skill requires either `SEMRUSH_API_KEY` or `AHREFS_API_KEY` (or both). Check for them in environment variables or in `~/.claude/.env.global`. Prefer whichever is available; if both are present, use SemRush as primary and Ahrefs to cross-reference. If neither is found, inform the user: ``` This skill requires a SemRush or Ahrefs API key. Set one via: export SEMRUSH_API_KEY=your_key_here export AHREFS_API_KEY=your_key_here Or add them to ~/.claude/.env.global ``` ## SemRush Backlink API Endpoints Use `curl` via the Bash tool. Base URL: `https://api.semrush.com/analytics/v1/` ### Core Endpoints **1. Backlinks Overview** ``` https://api.semrush.com/analytics/v1/?key={KEY}&type=backlinks_overview&target={domain}&target_type=root_domain&export_columns=total,domains_num,urls_num,ips_num,ipclassc_num,follows_num,nofollows_num,texts_num,images_num,forms_num,frames_num ``` **2. Backlinks List (individual links)** ``` https://api.semrush.com/analytics/v1/?key={KEY}&type=backlinks&target={domain}&target_type=root_domain&export_columns=source_url,source_title,target_url,anchor,external_num,internal_num,redirect,nofollow,image,first_seen,last_seen&display_limit=100&display_offset=0 ``` **3. Referring Domains** ``` https://api.semrush.com/analytics/v1/?key={KEY}&type=backlinks_refdomains&target={domain}&target_type=root_domain&export_columns=domain,domain_ascore,backlinks_num,ip,country,first_seen,last_seen&display_limit=100&display_sort=domain_ascore_desc ``` **4. Anchor Text Distribution** ``` https://api.semrush.com/analytics/v1/?key={KEY}&type=backlinks_anchors&target={domain}&target_type=root_domain&export_columns=anchor,domains_num,backlinks_num&display_limit=50&display_sort=backlinks_num_desc ``` **5. Indexed Pages (pages receiving links)** ``` https://api.semrush.com/analytics/v1/?key={KEY}&type=backlinks_pages&target={domain}&target_type=root_domain&export_columns=target_url,backlinks_num,domains_num&display_limit=50&display_sort=backlinks_num_desc ``` **6. Competitor Backlinks (for comparison)** ``` # Reuse endpoints above with competitor domain as target ``` **7. Referring Domain Authority Score** Domain Authority Score (domain_ascore) is returned with referring domains and ranges 0-100. ## Alternative: Ahrefs API If `AHREFS_API_KEY` is available (and SemRush is not), use the Ahrefs API v3 endpoints below. All endpoints require the Bearer token header. ### Ahrefs Core Endpoints **1. Backlinks Overview (Stats)** ```bash # Ahrefs backlinks overview curl -s "https://api.ahrefs.com/v3/site-explorer/backlinks-stats?target={domain}&output=json" \ -H "Authorization: Bearer ${AHREFS_API_KEY}" ``` Returns: `live_backlinks`, `all_time_backlinks`, `live_refdomains`, `all_time_refdomains`, `live_refpages`, `dofollow_backlinks`, `nofollow_backlinks`. **2. Referring Domains** ```bash # Ahrefs referring domains curl -s "https://api.ahrefs.com/v3/site-explorer/refdomains?target={domain}&output=json&limit=100" \ -H "Authorization: Bearer ${AHREFS_API_KEY}" ``` Returns: Array of referring domains with `domain`, `domain_rating`, `backlinks`, `first_seen`, `last_seen`, `dofollow`, `nofollow`. Sort by `domain_rating` to see highest-authority referrers first. **3. Backlinks List** ```bash curl -s "https://api.ahrefs.com/v3/site-explorer/backlinks?target={domain}&output=json&limit=100&mode=subdomains" \ -H "Authorization: Bearer ${AHREFS_API_KEY}" ``` Returns: Individual backlinks with `url_from`, `url_to`, `anchor`, `domain_rating`, `first_seen`, `last_seen`, `nofollow`, `redirect`, `edu`, `gov`. **4. Anchors** ```bash curl -s "https://api.ahrefs.com/v3/site-explorer/anchors?target={domain}&output=json&limit=50&mode=subdomains" \ -H "Authorization: Bearer ${AHREFS_API_KEY}" ``` Returns: Anchor text distribution with `anchor`, `backlinks`, `refdomains`. **5. Pages by Backlinks (Best by Links)** ```bash curl -s "https://api.ahrefs.com/v3/site-explorer/best-by-links?target={domain}&output=json&limit=50" \ -H "Authorization: Bearer ${AHREFS_API_KEY}" ``` Returns: Top linked pages with `url`, `backlinks`, `refdomains`, `dofollow`. **6. Domain Rating** ```bash curl -s "https://api.ahrefs.com/v3/site-explorer/domain-rating?target={domain}&output=json" \ -H "Authorization: Bearer ${AHREFS_API_KEY}" ``` Returns: `domain_rating` (0-100) and `ahrefs_rank`. ### Ahrefs vs. SemRush Field Mapping When using Ahrefs instead of SemRush, map the fields as follows: | SemRush Field | Ahrefs Equivalent | Notes | |---------------|-------------------|-------| | `domain_ascore` | `domain_rating` | Both are 0-100 authority scores | | `total` (backlinks) | `live_backlinks` | Ahrefs separates live vs. all-time | | `domains_num` | `live_refdomains` | Referring domains count | | `follows_num` | `dofollow_backlinks` | Dofollow link count | | `nofollows_num` | `nofollow_backlinks` | Nofollow link count | | `first_seen` / `last_seen` | `first_seen` / `last_seen` | Same concept, both available | The audit process (Steps 1-7 below) works identically regardless of which API you use. Simply substitute the corresponding endpoints and field names. ## Audit Process ### Step 1: Pull Backlink Overview Fetch the backlink overview and summarize: ```markdown ## Backlink Profile Summary: {domain} | Metric | Value | |--------|-------| | Total Backlinks | {total} | | Referring Domains | {domains_num} | | Referring IPs | {ips_num} | | Referring Subnets (Class C) | {ipclassc_num} | | Follow Links | {follows_num} ({%}) | | Nofollow Links | {nofollows_num} ({%}) | | Text Links | {texts_num} ({%}) | | Image Links | {images_num} ({%}) | | Backlink-to-Domain Ratio | {total/domains_num} | ``` ### Step 2: Analyze Referring Domains Pull the top referring domains sorted by authority score. Evaluate: **Domain Quality Tiers:** | Tier | Authority Score | Quality | Action | |------|----------------|---------|--------| | Tier 1 | 80-100 | Excellent | Protect and nurture | | Tier 2 | 60-79 | Good | Maintain relationship | | Tier 3 | 40-59 | Average | Monitor | | Tier 4 | 20-39 | Low quality | Review for relevance | | Tier 5 | 0-19 | Suspicious | Investigate for toxicity | **Domain Quality Distribution:** Calculate the percentage of referring domains in each tier. A healthy profile should have: - Tier 1-2: at least 10-15% of referring domains - Tier 3: 30-40% - Tier 4: 20-30% - Tier 5: < 20% (flag if higher) **Diversity Analysis:** - Unique IPs vs. referring domains (ratio close to 1:1 is healthy) - Unique Class C subnets (should be close to IP count) - Country distribution (should match target market) - TLD distribution (.com, .org, .edu, .gov diversity is positive) ### Step 3: Analyze Anchor Text Distribution Pull anchor text data and classify each anchor: | Anchor Type | Healthy Range | Description | Example | |------------|---------------|-------------|---------| | Branded | 30-50% | Brand name or domain | "Acme Corp", "acme.com" | | Naked URL | 10-20% | Raw URL | "https://acme.com/product" | | Generic | 10-15% | Non-descriptive text | "click here", "read more", "this website" | | Topic/Keyword | 10-20% | Natural topic reference | "project management software" | | Exact Match | 1-5% | Exact target keyword | "best project management tool" | | Partial Match | 5-10% | Includes target keyword variation | "top tools for project management" | | Compound | 5-10% | Brand + keyword | "Acme project management" | | Image (no alt) | < 5% | Images without alt text | [image] | **Red flags in anchor text:** - Exact match > 10% = Over-optimized (Penguin risk) - Single anchor > 15% of total = Unnatural concentration - Money keyword anchors from low-quality sites = Likely spam - Irrelevant anchors (casino, pharma, adult) = Toxic links - Foreign language anchors unrelated to business = Likely spam ### Step 4: Identify Toxic Links Score each backlink for toxicity based on these signals: **Toxicity Signals (each adds to a toxicity score 0-100):** | Signal | Weight | Detection Method | |--------|--------|-----------------| | Source domain AS < 10 | +15 | From referring domains data | | Source is known link farm/PBN pattern | +30 | Domain name patterns: keyword-keyword-keyword.com, random strings | | Anchor text is exact match keyword | +10 | From anchor text analysis | | Source page has 100+ external links | +20 | From external_num column | | Source is irrelevant niche | +15 | Compare source domain topic to target | | Source has no organic traffic | +15 | Check via domain_organic if budget allows | | Link from sitewide (footer/sidebar) | +10 | Same domain, many links to same target | | Link from non-indexed page | +20 | Page not in Google (manual check) | | Redirect chain to target | +10 | From redirect column | | Foreign language + irrelevant | +15 | From anchor text + domain TLD | **Toxicity Rating:** - 0-20: Clean - no action needed - 21-40: Monitor - watch for changes - 41-60: Suspicious - investigate further - 61-80: Likely toxic - consider disavow - 81-100: Toxic - add to disavow list ### Step 5: Link Velocity Analysis Analyze the `first_seen` and `last_seen` dates to determine: - **Monthly new links** over the past 12 months - **Monthly lost links** (links where last_seen is in the past) - **Net link growth rate** - **Velocity spikes** (unnatural bursts of links) **Healthy velocity patterns:** - Steady, gradual growth = Natural - Correlated with content publishing = Natural - Sudden spike then flat = Likely campaign or mention (investigate) - Massive spike from low-quality domains = Negative SEO attack (flag immediately) - Declining trend = Losing links, need outreach ### Step 6: Competitor Comparison Pull backlink overview for 2-3 competitors and compare: ```markdown ## Competitor Backlink Comparison | Metric | {Your Domain} | {Competitor 1} | {Competitor 2} | {Competitor 3} | |--------|--------------|----------------|----------------|----------------| | Total Backlinks | | | | | | Referring Domains | | | | | | Avg. Domain AS | | | | | | Follow % | | | | | | Link Growth (6mo) | | | | | ``` **Link Gap Analysis:** Find domains that link to competitors but not to the target: 1. Pull top 100 referring domains for each competitor 2. Filter out domains already linking to the target 3. Sort by authority score 4. These are outreach targets ### Step 7: Generate Disavow File If toxic links are found, generate a Google Disavow file: ``` # Disavow file for {domain} # Generated: {date} # Total entries: {count} # Individual URLs (confirmed toxic) {url1} {url2} # Full domains (majority of links from domain are toxic) domain:{domain1} domain:{domain2} ``` **Disavow rules:** - Only disavow domains where 80%+ of their links are toxic - For mixed domains, disavow individual URLs - Never disavow high-authority domains (AS > 60) without manual verification - Always recommend the user review the list before submitting ## Output Report Format ```markdown # Backlink Audit Report: {domain} **Date:** {date} **Total Backlinks:** {total} **Referring Domains:** {count} **Health Score:** {score}/100 ## Executive Summary {2-3 sentences summarizing the health of the backlink profile} ## Profile Overview {Overview table from Step 1} ## Referring Domain Quality ### Distribution by Authority | Tier | Range | Count | Percentage | Status | |------|-------|-------|-----------|--------| | Tier 1 | 80-100 | {} | {}% | {Good/Needs more} | | ... | ... | ... | ... | ... | ### Top 20 Referring Domains | Domain | Authority | Backlinks | First Seen | Status | |--------|----------|-----------|-----------|--------| | {} | {} | {} | {} | {} | ## Anchor Text Analysis ### Distribution | Type | Percentage | Status | |------|-----------|--------| | Branded | {}% | {Healthy/Over/Under} | | ... | ... | ... | ### Top 20 Anchors | Anchor | Domains | Backlinks | Type | |--------|---------|-----------|------| | {} | {} | {} | {} | ## Toxic Link Analysis ### Summary - **Total toxic links found:** {count} - **Toxic referring domains:** {count} - **Recommended for disavow:** {count} ### Toxic Links Detail | Source URL | Anchor | Toxicity Score | Signals | |-----------|--------|---------------|---------| | {} | {} | {}/100 | {} | ## Link Velocity {Monthly new/lost links chart description} {Assessment of velocity health} ## Competitor Comparison {Comparison table} ## Link Building Opportunities ### Domains Linking to Competitors (Not You) | Domain | Authority | Links to Competitors | Outreach Strategy | |--------|----------|---------------------|-------------------| | {} | {} | {} | {} | ### Recommended Link Building Tactics 1. **{Tactic}** - {Description, estimated effort, expected results} 2. ... ## Action Items ### Immediate (This Week) 1. {Specific action} ### Short Term (This Month) 1. {Specific action} ### Ongoing 1. {Specific action} ## Disavow File {If applicable, include the generated disavow file content} ``` ## Notes - SemRush API has rate limits. Space out calls if making many requests. - Backlink data may be up to 30 days old. Note this in the report. - Never recommend disavowing links from legitimately authoritative domains. - For new sites (< 6 months), a small backlink profile is normal, not a problem. - Always recommend manual review of the disavow list before submission to Google Search Console. - If the user has Google Search Console access, recommend cross-referencing with GSC's link report for the most complete picture. ## Dónde encaja - Categoría: [SEO y GEO](https://skillsagentes.com/categorias/seo-geo.md) — Keywords, auditorías on-page, datos estructurados y visibilidad en respuestas de IA. - Creador: [OpenClaudia](https://skillsagentes.com/creators/openclaudia.md) — 76 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Competitor Traffic Report](https://skillsagentes.com/skills/openclaudia/openclaudia-skills/competitor-traffic-report.md): Genera un informe HTML autocontenible de tráfico competitivo: visitas mensuales (SimilarWeb), tráfico orgánico y Domain Rating (Ahrefs), con gráficos ranked, tendencias y tabla de datos. - [Brand Dev](https://skillsagentes.com/skills/openclaudia/openclaudia-skills/brand-dev.md): Obtiene datos de marca (nombre, descripción, logos, industria) desde la API de brand.dev y guarda los logos localmente. - [Gsc Portfolio Audit](https://skillsagentes.com/skills/openclaudia/openclaudia-skills/gsc-portfolio-audit.md): Audita TODAS las propiedades de Google Search Console a la vez: ranking por clics e impresiones con deltas, y diff de keywords por sitio (nuevas, suben, bajan, perdidas, o bien rankeadas sin clics). - [Wechat Moments](https://skillsagentes.com/skills/openclaudia/openclaudia-skills/wechat-moments.md): Clasifica y resume el feed de WeChat Moments (朋友圈) del usuario para que los eventos reales y la información genuina destaquen sobre la promoción, ponderando según cuánto le escribe el usuario a cada autor. - [Podcast Edit](https://skillsagentes.com/skills/openclaudia/openclaudia-skills/podcast-edit.md): Edita audio o video de podcast: recorta charla previa/posterior, quita muletillas, corta silencios, mejora el audio y aplica el mismo corte a una versión en video. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)