# Seo Backlinks Profile > Perfil completo de backlinks de un dominio: dominios de referencia, anchors, autoridad, diversidad de IP/subred y tendencia, con health score y candidatos a disavow revisables. Fuente: https://skillsagentes.com/skills/seranking/seo-skills/seo-backlinks-profile Markdown: https://skillsagentes.com/skills/seranking/seo-skills/seo-backlinks-profile.md Repositorio: https://github.com/seranking/seo-skills Autor: seranking Licencia: MIT Actualizado: hace 4 meses Coste de contexto: 121 tok instalada, 3k tok al activarse, 3k tok con todos los archivos del bundle Bundle: 1 archivo, 12 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 seranking/seo-skills --skill seo-backlinks-profile --agent claude-code # Cursor npx -y skills add seranking/seo-skills --skill seo-backlinks-profile --agent cursor # Codex npx -y skills add seranking/seo-skills --skill seo-backlinks-profile --agent codex # Gemini CLI npx -y skills add seranking/seo-skills --skill seo-backlinks-profile --agent gemini # Windsurf npx -y skills add seranking/seo-skills --skill seo-backlinks-profile --agent windsurf # Cline npx -y skills add seranking/seo-skills --skill seo-backlinks-profile --agent cline ``` ## Qué hace - Genera un perfil completo de backlinks: dominios de referencia, distribución de anchors, autoridad, diversidad de IP/subred, tendencia y candidatos tóxicos - Calcula un health score de 100 puntos con 5 dimensiones - Produce una lista revisable de candidatos a disavow (nunca desautoriza automáticamente) - Verificación opcional en vivo de las top-20 fuentes con Firecrawl (--verify-sources) para confirmar rel y presencia del enlace - Genera carpeta con PROFILE.md, referencias de dominios/anchors, disavow-candidates.csv y evidencia de cada paso ## Cuándo usarla - El usuario pide 'backlink profile', 'link profile audit', 'anchor distribution', 'toxic links', 'disavow candidates' o 'backlink health' ## Cuándo no - El flujo de trabajo requiere mezclar múltiples índices de backlinks (Ahrefs/Moz/Majestic/DataForSEO/Common Crawl) — usa un vendor multi-fuente en su lugar - Solo necesitas un análisis de brecha vs. competidores (usa seo-backlink-gap) ## Qué la activa - "Hazme un análisis del perfil de backlinks de stripe.com" - "¿Qué anchors tóxicos tiene mi dominio?" - "Necesito candidatos para disavow de mi sitio" - "Analiza la diversidad de IPs y subredes de mis backlinks" ## Antes de instalar - Requiere el servidor MCP de SE Ranking conectado y un dominio objetivo; WebFetch y firecrawl-mcp son opcionales para verificación de fuentes. ## Archivos - SKILL.md — 12 KB ## SKILL.md Reproducido tal cual desde seranking/seo-skills bajo MIT. Esta sección es el documento original y está en inglés. > Example output: [examples/seo-backlinks-profile-stripe-com-20260514/PROFILE.md](../../examples/seo-backlinks-profile-stripe-com-20260514/PROFILE.md) # Backlinks Profile A complete backlink profile audit for a domain. Surfaces composition (where do links come from?), quality (what's the authority distribution?), diversity (concentrated in a few IPs/subnets, or spread out?), trajectory (growing or decaying?), and risk (which links look manipulative?). Output includes a health score and a reviewable disavow-candidate list — never an auto-disavow. ## Single-source by design This skill consults **only the SE Ranking backlink index**. We don't blend Ahrefs / Moz / Majestic / DataForSEO / Common Crawl into the same report. That's a deliberate choice, not a limitation: - **Internally consistent metrics.** Authority scores, anchor counts, and refdomain totals are computed against a single crawl. Multi-source blends produce numbers that look authoritative but actually average across crawls with different sampling, different freshness, and different definitions of "backlink" — the resulting ratios (e.g. dofollow %, anchor distribution) are noise. - **Reproducible health scores.** The 100-point health score in this report can be re-run a quarter later against the same source and the deltas are meaningful. With multi-source blends, a score drift can mean *anything*: source A reweighted, source B refreshed, source C changed its toxic heuristic. - **No data-source independence to model.** Any "do these sources agree?" question is unanswerable without a second backlink graph; we don't pretend to answer it. If you need cross-source confirmation (e.g. before legal disavow, before a high-stakes outreach campaign), pair this profile with a manual spot-check against Ahrefs/Majestic — that's a research task, not a skill output. If your workflow specifically *requires* multi-source blending (large agencies, link-builders billing on link counts), this skill is the wrong tool — use a vendor that aggregates multiple indexes. For everyone else, single-source produces the more honest report. ## Prerequisites - SE Ranking MCP server connected. - User provides: a target domain. - Claude's `WebFetch` tool optional (for spot-checking flagged toxic candidates). - `mcp__firecrawl-mcp__firecrawl_scrape` optional (for the new step 8b — link-source verification). ## Process 1. **Validate target & preflight.** See `skills/seo-firecrawl/references/preflight.md` for the canonical 3-stage preflight (credit balance, Firecrawl availability, Google APIs). Skill-specific notes: - Normalise domain before continuing. - Estimated SE Ranking cost for this skill: moderate (full-profile run; no per-keyword multiplier). - Firecrawl: optional. When `--verify-sources` is passed, step 8b (link-source verification) scrapes top-20 referring domains' linking pages to verify each link is still present and what `rel` it carries (dofollow / nofollow / sponsored / UGC), ~20 Firecrawl credits per run. Default off; pass `--no-firecrawl` to skip even if available. - Google APIs: not used. 2. **Profile summary** `DATA_getBacklinksSummary` - Total backlinks, total referring domains, dofollow/nofollow ratio, link-type distribution (text / image / form / frame), growth velocity over the last 30/90 days. 3. **Referring domains** `DATA_getBacklinksRefDomains` - Top N referring domains by authority. Pull authority score, link count per domain, domain TLD, country. 4. **Anchor distribution** `DATA_getBacklinksAnchors` - Top anchor texts by frequency. - Classify each anchor: branded (contains brand name), exact-match commercial (the target's primary commercial keyword), partial-match, generic ("click here", "read more", "this page"), naked URL, image-alt-derived. 5. **Authority distribution** `DATA_getBacklinksAuthority` and `DATA_getDistributionOfDomainAuthority` - Histogram of referring-domain authority: how many DA 0-9, 10-19, 20-29, etc. - A healthy profile has a long tail; an unhealthy profile is concentrated at DA<10. 6. **IP and subnet diversity** `DATA_getReferringIps`, `DATA_getReferringIpsCount`, `DATA_getReferringSubnetsCount` - Total unique IPs hosting referring domains. - Total unique /24 subnets. - Compute concentration ratio: `referring_domains / unique_subnets`. Healthy: ~3–10. Unhealthy: many domains share few subnets (PBN signal). 7. **Growth / decay trend** `DATA_getNewLostBacklinksCount`, `DATA_getNewLostRefDomainsCount` - Net new backlinks per month (last 6 months). - Net new referring domains per month. - Velocity changes — sharp spikes or sharp losses both deserve flags. 8. **Lost links list** `DATA_listNewLostBacklinks`, `DATA_listNewLostReferringDomains` - Sample recent losses. Are any high-authority losses? 8b. **Optional: live link-source verification** `mcp__firecrawl-mcp__firecrawl_scrape` - Triggered only when `--verify-sources` is passed (default off — credit-conscious). - For the top 20 referring domains by authority (from step 3), pick the highest-authority linking page per domain. Scrape each (20 Firecrawl credits typical). - For each scrape, parse the returned `html` for `` matching the target domain. Capture: link still present (`true`/`false`/`page-404`), `rel` attribute (`dofollow` if absent or empty, else the literal value: `nofollow`, `ugc`, `sponsored`, or combinations), surrounding context (anchor text + 50 chars before/after). - Surface mismatches against the SE Ranking-reported state in `evidence/08b-source-verification.md`: - Link gone — SE Ranking still reports it as live (lag/error). - `rel` attribute differs from what SE Ranking flagged. - Source page returns non-200. - Feeds into step 9: a verified-gone link or `rel=nofollow` discovered post-hoc upgrades the toxic-candidate signal for that referring domain. - **If Firecrawl unavailable (or flag not passed):** skip entirely. SE Ranking's flagged state remains the source of truth — the skill's "Single-source by design" framing already explains why that's a deliberate trade-off. 9. **Toxic candidate detection** (heuristic — see Tips for the rules) - Apply the toxic heuristic to the referring-domain list. - Flag candidates. Each row gets a `risk_score` and `triggers` (which heuristic rules fired). - **Never auto-disavow.** Output is a reviewable list, not an action. 10. **Synthesise** `PROFILE.md` ## Output format Create a folder `seo-backlinks-profile-{target-slug}-{YYYYMMDD}/` with: ``` seo-backlinks-profile-{target-slug}-{YYYYMMDD}/ ├── PROFILE.md (synthesised report — primary deliverable; inlines summary, authority distribution, diversity, trend) ├── 02-referring-domains.md (top N with authority — load-bearing reference for outreach/audit) ├── 03-anchors.md (anchor distribution + classification — load-bearing reference) ├── disavow-candidates.csv (toxic-flagged rows for review — load-bearing CSV) └── evidence/ ├── 01-summary.md (DATA_getBacklinksSummary top-line — raw step output) ├── 04-authority-distribution.md (histogram — raw step output) ├── 05-diversity.md (IPs + subnets + concentration — raw step output) ├── 06-trend.md (last 6 months new/lost — raw step output) ├── 07-losses-sample.md (recent lost backlinks) └── 08b-source-verification.md (only if --verify-sources ran: live link + rel attribute checks for top-20 sources) ``` Step files 01, 04, 05, 06 are inlined as sections in `PROFILE.md`; the copies in `evidence/` preserve raw step output for reproducibility. `02-referring-domains.md`, `03-anchors.md`, and `disavow-candidates.csv` stay at top level — outreach/audit teams consult them directly. `PROFILE.md` follows this shape: ```markdown # Backlinks Profile: {domain} > Snapshot dated {YYYY-MM-DD} ## Health score: **{n}/100** | Dimension | Score | Notes | |---|---|---| | Authority distribution | {n}/20 | {comment} | | Anchor diversity | {n}/20 | {comment} | | IP/subnet diversity | {n}/20 | {comment} | | Growth trajectory | {n}/20 | {comment} | | Toxic candidate ratio | {n}/20 | {comment} | ## Top-line numbers | Metric | Value | |---|---| | Backlinks | {n} | | Referring domains | {n} | | Dofollow / nofollow | {n}% / {n}% | | Unique IPs | {n} | | Unique subnets | {n} | | Domain : subnet ratio | {ratio} | | New ref-domains last 30d | {n} | | Lost ref-domains last 30d | {n} | | Toxic candidates flagged | {n} ({% of total}) | ## Authority distribution | DA bucket | Domains | % | |---|---|---| | 70+ | {n} | {%} | | 50–69 | {n} | {%} | | 30–49 | {n} | {%} | | 10–29 | {n} | {%} | | 0–9 | {n} | {%} | ## Anchor distribution | Class | Count | % | Healthy range | Status | |---|---|---|---|---| | Branded | {n} | {%} | 30–60% | {✓/⚠} | | Generic | {n} | {%} | 15–30% | {✓/⚠} | | Naked URL | {n} | {%} | 10–25% | {✓/⚠} | | Partial-match | {n} | {%} | 10–20% | {✓/⚠} | | Exact-match commercial | {n} | {%} | <5% | {✓/⚠ over-optimised} | | Image-alt-derived | {n} | {%} | <10% | {✓/⚠} | ## Trend (last 6 months) | Month | New backlinks | Lost backlinks | Net | |---|---|---|---| | {M-5} | {n} | {n} | {n} | | {M-4} | {n} | {n} | {n} | | ... | ## Toxic candidates ({n} flagged) See `disavow-candidates.csv`. Top 10 by risk_score: | Domain | Authority | Triggers | Risk | |---|---|---|---| | {domain} | {DA} | {DA<10, sitewide>5, exact-match-anchor} | High | | ... | **⚠ NEVER AUTO-DISAVOW.** Hand this list to a human for review. Disavow a domain only after confirming the link is manipulative AND the domain is not delivering referral traffic AND removal requests have failed. ## Recommended next steps 1. {Action} 2. {Action} 3. {Action} ``` `disavow-candidates.csv` columns: `domain,authority,backlinks_count,sitewide_links,top_anchor,anchor_class,risk_score,triggers,sample_url` ## Tips - Respect rate limit. The endpoints in steps 2–8 are ~15 calls; pace sequentially. - Cost: ~25–40 SE Ranking credits typical for a full profile run. Optional step 8b adds 20 Firecrawl credits when `--verify-sources` is passed (one scrape per top-20 source domain). - **Toxic heuristic rules** (any 2+ triggers = candidate): - Authority < 10 (low-trust source). - Sitewide link count > 5 (footer/sidebar links across many pages — manipulation signal). - Exact-match commercial anchor on >50% of links from this domain. - Hosted in known link-farm subnet (when unique IPs / unique subnets ratio is heavily concentrated). - Domain name is a non-pronounceable string of characters (very strong PBN signal). - TLD is in the high-spam list (`.xyz`, `.click`, `.work` historically; verify against current spam-domain reports). - **Healthy anchor distribution**: branded should be the largest class (30–60%); exact-match commercial should be small (<5%) — over-optimised commercial anchors trigger Penguin-era penalties. - **Healthy growth**: steady 10–20% YoY referring-domain growth is the goal. Sharp spikes (>50% in a month) often indicate paid links and trigger algorithmic suspicion. - **Disavow conservatively.** Removing links via outreach is preferred. Disavow only as a last resort; never disavow domains that send referral traffic. - Pair with `seo-backlink-gap` for prospecting (gap analysis vs competitors). - Pair with `seo-drift` to track profile composition over time. ## 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: [seranking](https://skillsagentes.com/creators/seranking.md) — 32 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 - [Client Onboarding Proposal](https://skillsagentes.com/skills/seranking/seo-skills/client-onboarding-proposal.md): Construye una propuesta de onboarding de cliente basada en datos, combinando un audit SEO + búsqueda IA de SE Ranking con un análisis en Planable del rendimiento social actual del cliente. - [Local Gmb Visibility](https://skillsagentes.com/skills/seranking/seo-skills/local-gmb-visibility.md): Combina el seguimiento de rankings por ciudad de SE Ranking con contenido social local en Planable, incluyendo publicaciones de Google Business Profile. - [Ai Search Gaps To Social Campaign](https://skillsagentes.com/skills/seranking/seo-skills/ai-search-gaps-to-social-campaign.md): Encuentra los prompts y temas de búsqueda con IA donde una marca es invisible o pierde frente a competidores en SE Ranking, y convierte esos vacíos en una campaña social en Planable con seguimiento antes/después. - [Site Audit To Social Distribution](https://skillsagentes.com/skills/seranking/seo-skills/site-audit-to-social-distribution.md): Detecta páginas débiles y brechas de contenido en SE Ranking, y coordina la corrección en Planable: redacta el copy reescrito para revisión y aprobación, y programa la distribución social. - [Seo Ai Social Report](https://skillsagentes.com/skills/seranking/seo-skills/seo-ai-social-report.md): Genera un único reporte de rendimiento que une rankings SEO, visibilidad en búsquedas IA (SE Ranking) y engagement social (Planable): resumen en el chat más un informe HTML interactivo autónomo. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)