{"id":"2bdbe4c1-72fb-454b-a7a2-e6a7d58afba4","shortId":"kx5wVr","kind":"skill","title":"seo-backlinks-profile","tagline":"Full backlink profile for a domain — referring domains, anchor text distribution, authority distribution, IP and subnet diversity, growth/decay trend, toxic-candidate flagging. Distinct from `seo-backlink-gap` (which is gap-vs-competitor only). Produces a profile health score and","description":"# Backlinks Profile\n\nA 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.\n\n## Single-source by design\n\nThis 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:\n\n- **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.\n- **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.\n- **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.\n\nIf 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.\n\n## Prerequisites\n\n- SE Ranking MCP server connected.\n- User provides: a target domain.\n- Claude's `WebFetch` tool optional (for spot-checking flagged toxic candidates).\n- `mcp__firecrawl-mcp__firecrawl_scrape` optional (for the new step 8b — link-source verification).\n\n## Process\n\n1. **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:\n   - Normalise domain before continuing.\n   - Estimated SE Ranking cost for this skill: moderate (full-profile run; no per-keyword multiplier).\n   - 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.\n   - Google APIs: not used.\n\n2. **Profile summary** `DATA_getBacklinksSummary`\n   - Total backlinks, total referring domains, dofollow/nofollow ratio, link-type distribution (text / image / form / frame), growth velocity over the last 30/90 days.\n\n3. **Referring domains** `DATA_getBacklinksRefDomains`\n   - Top N referring domains by authority. Pull authority score, link count per domain, domain TLD, country.\n\n4. **Anchor distribution** `DATA_getBacklinksAnchors`\n   - Top anchor texts by frequency.\n   - 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.\n\n5. **Authority distribution** `DATA_getBacklinksAuthority` and `DATA_getDistributionOfDomainAuthority`\n   - Histogram of referring-domain authority: how many DA 0-9, 10-19, 20-29, etc.\n   - A healthy profile has a long tail; an unhealthy profile is concentrated at DA<10.\n\n6. **IP and subnet diversity** `DATA_getReferringIps`, `DATA_getReferringIpsCount`, `DATA_getReferringSubnetsCount`\n   - Total unique IPs hosting referring domains.\n   - Total unique /24 subnets.\n   - Compute concentration ratio: `referring_domains / unique_subnets`. Healthy: ~3–10. Unhealthy: many domains share few subnets (PBN signal).\n\n7. **Growth / decay trend** `DATA_getNewLostBacklinksCount`, `DATA_getNewLostRefDomainsCount`\n   - Net new backlinks per month (last 6 months).\n   - Net new referring domains per month.\n   - Velocity changes — sharp spikes or sharp losses both deserve flags.\n\n8. **Lost links list** `DATA_listNewLostBacklinks`, `DATA_listNewLostReferringDomains`\n   - Sample recent losses. Are any high-authority losses?\n\n8b. **Optional: live link-source verification** `mcp__firecrawl-mcp__firecrawl_scrape`\n   - Triggered only when `--verify-sources` is passed (default off — credit-conscious).\n   - 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).\n   - For each scrape, parse the returned `html` for `<a href>` 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).\n   - Surface mismatches against the SE Ranking-reported state in `evidence/08b-source-verification.md`:\n     - Link gone — SE Ranking still reports it as live (lag/error).\n     - `rel` attribute differs from what SE Ranking flagged.\n     - Source page returns non-200.\n   - Feeds into step 9: a verified-gone link or `rel=nofollow` discovered post-hoc upgrades the toxic-candidate signal for that referring domain.\n   - **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.\n\n9. **Toxic candidate detection** (heuristic — see Tips for the rules)\n   - Apply the toxic heuristic to the referring-domain list.\n   - Flag candidates. Each row gets a `risk_score` and `triggers` (which heuristic rules fired).\n   - **Never auto-disavow.** Output is a reviewable list, not an action.\n\n10. **Synthesise** `PROFILE.md`\n\n## Output format\n\nCreate a folder `seo-backlinks-profile-{target-slug}-{YYYYMMDD}/` with:\n\n```\nseo-backlinks-profile-{target-slug}-{YYYYMMDD}/\n├── PROFILE.md                       (synthesised report — primary deliverable; inlines summary, authority distribution, diversity, trend)\n├── 02-referring-domains.md          (top N with authority — load-bearing reference for outreach/audit)\n├── 03-anchors.md                    (anchor distribution + classification — load-bearing reference)\n├── disavow-candidates.csv           (toxic-flagged rows for review — load-bearing CSV)\n└── evidence/\n    ├── 01-summary.md                (DATA_getBacklinksSummary top-line — raw step output)\n    ├── 04-authority-distribution.md (histogram — raw step output)\n    ├── 05-diversity.md              (IPs + subnets + concentration — raw step output)\n    ├── 06-trend.md                  (last 6 months new/lost — raw step output)\n    ├── 07-losses-sample.md          (recent lost backlinks)\n    └── 08b-source-verification.md   (only if --verify-sources ran: live link + rel attribute checks for top-20 sources)\n```\n\nStep 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.\n\n`PROFILE.md` follows this shape:\n\n```markdown\n# Backlinks Profile: {domain}\n\n> Snapshot dated {YYYY-MM-DD}\n\n## Health score: **{n}/100**\n\n| Dimension | Score | Notes |\n|---|---|---|\n| Authority distribution | {n}/20 | {comment} |\n| Anchor diversity | {n}/20 | {comment} |\n| IP/subnet diversity | {n}/20 | {comment} |\n| Growth trajectory | {n}/20 | {comment} |\n| Toxic candidate ratio | {n}/20 | {comment} |\n\n## Top-line numbers\n\n| Metric | Value |\n|---|---|\n| Backlinks | {n} |\n| Referring domains | {n} |\n| Dofollow / nofollow | {n}% / {n}% |\n| Unique IPs | {n} |\n| Unique subnets | {n} |\n| Domain : subnet ratio | {ratio} |\n| New ref-domains last 30d | {n} |\n| Lost ref-domains last 30d | {n} |\n| Toxic candidates flagged | {n} ({% of total}) |\n\n## Authority distribution\n\n| DA bucket | Domains | % |\n|---|---|---|\n| 70+ | {n} | {%} |\n| 50–69 | {n} | {%} |\n| 30–49 | {n} | {%} |\n| 10–29 | {n} | {%} |\n| 0–9 | {n} | {%} |\n\n## Anchor distribution\n\n| Class | Count | % | Healthy range | Status |\n|---|---|---|---|---|\n| Branded | {n} | {%} | 30–60% | {✓/⚠} |\n| Generic | {n} | {%} | 15–30% | {✓/⚠} |\n| Naked URL | {n} | {%} | 10–25% | {✓/⚠} |\n| Partial-match | {n} | {%} | 10–20% | {✓/⚠} |\n| Exact-match commercial | {n} | {%} | <5% | {✓/⚠ over-optimised} |\n| Image-alt-derived | {n} | {%} | <10% | {✓/⚠} |\n\n## Trend (last 6 months)\n\n| Month | New backlinks | Lost backlinks | Net |\n|---|---|---|---|\n| {M-5} | {n} | {n} | {n} |\n| {M-4} | {n} | {n} | {n} |\n| ... |\n\n## Toxic candidates ({n} flagged)\n\nSee `disavow-candidates.csv`. Top 10 by risk_score:\n\n| Domain | Authority | Triggers | Risk |\n|---|---|---|---|\n| {domain} | {DA} | {DA<10, sitewide>5, exact-match-anchor} | High |\n| ... |\n\n**⚠ 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.\n\n## Recommended next steps\n\n1. {Action}\n2. {Action}\n3. {Action}\n```\n\n`disavow-candidates.csv` columns: `domain,authority,backlinks_count,sitewide_links,top_anchor,anchor_class,risk_score,triggers,sample_url`\n\n## Tips\n\n- Respect rate limit. The endpoints in steps 2–8 are ~15 calls; pace sequentially.\n- 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).\n- **Toxic heuristic rules** (any 2+ triggers = candidate):\n  - Authority < 10 (low-trust source).\n  - Sitewide link count > 5 (footer/sidebar links across many pages — manipulation signal).\n  - Exact-match commercial anchor on >50% of links from this domain.\n  - Hosted in known link-farm subnet (when unique IPs / unique subnets ratio is heavily concentrated).\n  - Domain name is a non-pronounceable string of characters (very strong PBN signal).\n  - TLD is in the high-spam list (`.xyz`, `.click`, `.work` historically; verify against current spam-domain reports).\n- **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.\n- **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.\n- **Disavow conservatively.** Removing links via outreach is preferred. Disavow only as a last resort; never disavow domains that send referral traffic.\n- Pair with `seo-backlink-gap` for prospecting (gap analysis vs competitors).\n- Pair with `seo-drift` to track profile composition over time.","tags":["seo","backlinks","profile","skills","seranking","agent-skills","ai-search","anthropic","claude","claude-code","claude-plugin","claude-skills"],"capabilities":["skill","source-seranking","skill-seo-backlinks-profile","topic-agent-skills","topic-ai-search","topic-anthropic","topic-backlinks","topic-claude","topic-claude-code","topic-claude-plugin","topic-claude-skills","topic-content-brief","topic-ga4","topic-keyword-research","topic-mcp"],"categories":["seo-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/seranking/seo-skills/seo-backlinks-profile","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add seranking/seo-skills","source_repo":"https://github.com/seranking/seo-skills","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 9 github stars · SKILL.md body (11,297 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:08:35.663Z","embedding":null,"createdAt":"2026-05-18T13:14:08.857Z","updatedAt":"2026-05-18T19:08:35.663Z","lastSeenAt":"2026-05-18T19:08:35.663Z","tsv":"'-19':600 '-20':448,1060,1400 '-200':835 '-29':602 '-4':1265 '-404':778 '-5':1260 '-9':598 '/100':1114 '/20':1121,1126,1131,1136,1142 '/24':638 '0':597,1205 '01':1064 '01-summary.md':1013 '02-referring-domains.md':982,1084 '03-anchors.md':993,1085 '04':1065 '04-authority-distribution.md':1022 '05':1066 '05-diversity.md':1027 '06':1067 '06-trend.md':1034 '07-losses-sample.md':1042 '08b-source-verification.md':1046 '1':389,1333 '10':599,618,649,946,1202,1226,1232,1248,1276,1287,1411,1520 '100':195 '15':1221,1367 '2':489,1335,1364,1407 '20':469,601,736,755,1233,1387,1521 '25':1227,1372 '29':1203 '3':398,516,648,743,1337 '30':1199,1217,1222,1497 '30/90':514 '30d':1174,1181 '4':537 '40':1373 '49':1200 '5':580,1239,1289,1419,1506 '50':799,1196,1433,1532 '6':619,672,1036,1251 '60':1218,1498 '69':1197 '7':658 '70':1194 '8':690,1365 '8b':383,441,707,1385 '9':839,900,1206 'absent':783 'across':170,1422 'action':945,1334,1336,1338 'actual':168 'add':1386 'agenc':317 'aggreg':335 'agre':253 'ahref':124 'ahrefs/majestic':297 'algorithm':1542 'alreadi':890 'alt':578,1245 'analysi':1574 'anchor':13,147,187,538,543,549,797,994,1123,1208,1293,1348,1349,1431,1489,1511 'answer':267 'anyth':229 'api':406,486 'appli':910 'attribut':780,824,1056 'audit':53 'author':16,68,145,526,528,581,593,705,740,748,978,986,1118,1189,1281,1342,1410 'authorit':166 'auto':104,936,1297 'auto-disavow':103,935,1296 'avail':404,484 'averag':169 'b':234 'backlink':3,6,32,47,51,118,181,260,495,668,956,965,1045,1102,1150,1255,1257,1343,1569 'balanc':402 'bear':989,999,1010 'before/after':801 'bill':321 'blend':123,161,223,315 'brand':550,552,1215,1491 'bucket':1192 'builder':320 'c':237 'call':1368 'campaign':286 'candid':26,99,371,856,902,921,1139,1184,1270,1409 'canon':397 'captur':771 'carri':464 'chang':238,681 'char':800 'charact':1464 'check':295,368,1057 'choic':138 'class':1210,1350,1496 'classif':996 'classifi':547 'claud':360 'click':568,1478 'column':1340 'combin':794 'come':62 'comment':1122,1127,1132,1137,1143 'commerci':557,562,1237,1430,1502,1510 'common':128 'competitor':39,1576 'complet':50 'composit':58,1585 'comput':153,640 'concentr':71,615,641,1030,1454 'confirm':275,1312 'connect':354 'conscious':732 'conserv':1545 'consist':143 'consult':113,1094 'contain':551 'context':796 'continu':414 'copi':1075 'cost':418,1371 'count':148,324,531,1211,1344,1418 'countri':536 'crawl':129,157,171 'creat':951 'credit':401,471,731,757,1376,1389 'credit-consci':730 'cross':273 'cross-sourc':272 'csv':1011 'current':1483 'da':596,617,1191,1285,1286 'data':244,492,519,540,583,586,624,626,628,662,664,694,696,1014 'data-sourc':243 'dataforseo':127 'date':1106 'day':515 'dd':1110 'decay':82,660 'default':474,728 'definit':179 'deliber':137,896 'deliv':1322 'deliver':975 'delta':216 'deriv':579,1246 'deserv':688 'design':110,888 'detect':903 'differ':173,175,178,825 'dimens':1115 'direct':1096 'disavow':98,105,279,937,1298,1307,1544,1552,1559 'disavow-candid':97 'disavow-candidates.csv':1001,1087,1274,1339 'discov':848 'distinct':28 'distribut':15,17,69,188,504,539,582,979,995,1119,1190,1209,1490 'divers':21,70,623,980,1124,1129 'dofollow':186,465,781,1155 'dofollow/nofollow':499 'domain':10,12,56,359,412,450,498,518,524,533,534,592,635,644,652,677,738,752,770,861,918,1104,1153,1165,1172,1179,1193,1280,1284,1309,1319,1341,1402,1438,1455,1486,1525,1560 'drift':226,1581 'e.g':185,276 'els':340,786 'empti':785 'endpoint':1361 'entir':870 'era':1515 'estim':415 'etc':603 'even':482 'everyon':339 'evid':1012,1077 'evidence/08b-source-verification.md':812 'exact':555,1235,1291,1428,1500 'exact-match':554,1234,1427,1499 'exact-match-anchor':1290 'explain':891 'fail':1329 'fals':776 'farm':1444 'feed':836 'file':1063 'fire':933 'firecrawl':374,376,403,432,470,479,716,718,756,863,1388 'firecrawl-mcp':373,715 'flag':27,369,689,830,866,874,920,1004,1185,1272 'folder':953 'follow':1098 'footer/sidebar':1420 'form':507 'format':950 'frame':508,889 'frequenc':546 'fresh':176 'full':5,424,1380 'full-profil':423 'gap':33,37,1570,1573 'gap-vs-competitor':36 'generic':567,1219 'get':924 'getbacklinksanchor':541 'getbacklinksauthor':584 'getbacklinksrefdomain':520 'getbacklinkssummari':493,1015 'getdistributionofdomainauthor':587 'getnewlostbacklinkscount':663 'getnewlostrefdomainscount':665 'getreferringip':625 'getreferringipscount':627 'getreferringsubnetscount':629 'goal':1529 'gone':814,843 'googl':405,485 'graph':261 'grow':80 'growth':509,659,1133,1518,1526 'growth/decay':22 'hand':1299 'health':44,92,192,197,1111 'healthi':605,647,1212,1488,1517 'heavili':1453 'heurist':241,904,913,931,1404 'high':283,704,1294,1474 'high-author':703 'high-spam':1473 'high-stak':282 'highest':747 'highest-author':746 'histogram':588,1023 'histor':1480 'hoc':851 'honest':347 'host':633,1439 'html':765 'human':1304 'imag':506,577,1244 'image-alt-deriv':576,1243 'includ':90 'independ':246 'index':119,337 'indic':1537 'inlin':976,1069 'intern':142 'ip':18,620,632,1028,1160,1448 'ip/subnet':1128 'ips/subnets':75 'keyword':430,563 'known':1441 'lag/error':822 'larg':316 'largest':1495 'last':513,671,1035,1173,1180,1250,1556 'later':209 'legal':278 'level':1091 'limit':141,1359 'line':1018,1146 'link':61,86,319,323,385,443,451,456,502,530,692,711,749,772,813,844,1054,1314,1346,1417,1421,1435,1443,1539,1547 'link-build':318 'link-farm':1442 'link-sourc':384,442,710 'link-typ':501 'list':100,693,919,942,1301,1476 'listnewlostbacklink':695 'listnewlostreferringdomain':697 'liter':788 'live':709,821,1053 'load':988,998,1009 'load-bear':987,997,1008 'long':609 'look':87,165 'loss':686,700,706 'lost':691,1044,1176,1256 'low':1413 'low-trust':1412 'm':1259,1264 'majest':126 'mani':595,651,1423 'manipul':88,1316,1425 'manual':292 'markdown':1101 'match':556,566,767,1230,1236,1292,1429,1501 'mcp':352,372,375,714,717 'mean':228 'meaning':218 'metric':144,1148 'mismatch':803 'mm':1109 'model':248 'moder':422 'month':670,673,679,1037,1252,1253,1535 'moz':125 'multi':159,221,313 'multi-sourc':158,220,312 'multipl':336 'multipli':431 'n':522,984,1113,1120,1125,1130,1135,1141,1151,1154,1157,1158,1161,1164,1175,1182,1186,1195,1198,1201,1204,1207,1216,1220,1225,1231,1238,1247,1261,1262,1263,1266,1267,1268,1271 'nake':574,1223 'name':553,1456 'need':271 'net':666,674,1258 'never':101,934,1295,1558 'new':381,667,675,1169,1254 'new/lost':1038 'next':1331 'no-firecrawl':477 'nofollow':466,790,847,1156 'nois':190 'non':834,1460 'non-pronounc':1459 'normalis':411 'note':410,1117 'number':163,1147 'often':1536 'one':1396 'optimis':1242,1509 'option':364,378,433,708,1383 'output':89,306,938,949,1021,1026,1033,1041,1081 'outreach':285,1549 'outreach/audit':992,1092 'over-optimis':1240,1507 'pace':1369 'page':452,573,750,777,832,1424 'paid':1538 'pair':287,1565,1577 'pars':762 'partial':565,1229 'partial-match':564,1228 'pass':439,476,727,868,1395 'pbn':656,1467 'penalti':1516 'penguin':1514 'penguin-era':1513 'per':429,472,532,669,678,751,1398 'per-keyword':428 'pick':744 'point':196 'post':850 'post-hoc':849 'prefer':1551 'preflight':392,400 'prerequisit':349 'present':459,774 'preserv':1078 'pretend':265 'primari':561,974 'process':388 'produc':41,162,344 'profil':4,7,43,48,52,289,425,490,606,613,957,966,1103,1381,1584 'profile.md':948,971,1073,1097 'pronounc':1461 'prospect':1572 'provid':356 'pull':527 'qualiti':64 'quarter':208 'question':254 'ran':1052 'rang':1213 'rank':117,351,417,808,816,829,872,1375 'ranking-report':807 'rate':1358 'ratio':184,500,642,1140,1167,1168,1451 'raw':1019,1024,1031,1039,1079 're':205 're-run':204 'read':570 'recent':699,1043 'recommend':1330 'ref':1171,1178 'ref-domain':1170,1177 'refdomain':150 'refer':11,449,497,517,523,591,634,643,676,737,860,917,990,1000,1152,1524 'referr':1323,1563 'referring-domain':590,916,1523 'refresh':235 'rel':462,779,823,846,1055 'remain':876 'remov':1326,1546 'report':133,201,348,809,818,973,1487 'reproduc':191,1083 'request':1327 'requir':311 'research':301 'resort':1557 'respect':1357 'result':183 'return':764,833 'review':96,941,1007,1306 'reweight':232 'risk':84,926,1278,1283,1351 'row':923,1005 'rule':909,932,1405 'run':206,426,473,1382 'sampl':174,698,1354 'score':45,93,146,193,198,225,529,927,1112,1116,1279,1352 'scrape':377,446,719,753,761,1397 'se':116,350,416,806,815,828,871,1374 'second':259 'section':1071 'see':393,905,1273 'send':1562 'seo':2,31,955,964,1568,1580 'seo-backlink-gap':30,1567 'seo-backlinks-profil':1,954,963 'seo-drift':1579 'sequenti':1370 'server':353 'shape':1100 'share':653 'sharp':682,685,1530 'signal':657,857,1426,1468 'singl':107,156,342,885 'single-sourc':106,341,884 'sitewid':1288,1345,1416 'skill':112,305,326,408,421,882 'skill-seo-backlinks-profile' 'skill-specif':407 'skills/seo-firecrawl/references/preflight.md':394 'skip':481,869 'slug':960,969 'small':1505 'snapshot':1105 'sourc':108,160,213,222,230,233,236,245,252,274,314,343,386,437,444,712,725,831,878,886,1051,1061,1393,1401,1415 'source-seranking' 'spam':1475,1485 'spam-domain':1484 'specif':310,409 'spike':683,1531 'sponsor':467,792 'spot':294,367 'spot-check':293,366 'spread':77 'stage':399 'stake':284 'state':810,875 'status':1214 'stay':1088 'steadi':1519 'step':382,440,742,838,1020,1025,1032,1040,1062,1080,1332,1363,1384 'still':458,773,817 'string':1462 'strong':1466 'subnet':20,622,639,646,655,1029,1163,1166,1445,1450 'summari':491,977 'surfac':57,802 'surround':795 'suspicion':1543 'synthesis':947,972 'tail':610 'target':358,391,559,769,959,968 'target-slug':958,967 'task':302 'team':1093 'text':14,505,544,798 'time':1587 'tip':906,1356 'tld':535,1469 'tool':330,363 'top':447,521,542,735,983,1017,1059,1090,1145,1275,1347,1399 'top-lin':1016,1144 'topic-agent-skills' 'topic-ai-search' 'topic-anthropic' 'topic-backlinks' 'topic-claude' 'topic-claude-code' 'topic-claude-plugin' 'topic-claude-skills' 'topic-content-brief' 'topic-ga4' 'topic-keyword-research' 'topic-mcp' 'total':151,494,496,630,636,1188 'toxic':25,240,370,855,901,912,1003,1138,1183,1269,1403 'toxic-candid':24,854 'toxic-flag':1002 'track':1583 'trade':898 'trade-off':897 'traffic':1324,1564 'trajectori':79,1134 'trend':23,661,981,1249 'trigger':720,929,1282,1353,1408,1512,1541 'true':775 'trust':1414 'truth':880 'type':503 'typic':758,1377 'ugc':468,791 'unanswer':256 'unavail':864 'unhealthi':612,650 'uniqu':631,637,645,1159,1162,1447,1449 'upgrad':852 'url':575,1224,1355 'use':331,488 'user':355 'valid':390 'valu':789,1149 'veloc':510,680 'vendor':333 'verif':387,445,713 'verifi':436,454,724,842,1050,1392,1481 'verified-gon':841 'verify-sourc':435,723,1049,1391 'via':1548 'vs':38,1575 'webfetch':362 'without':257 'work':1479 'workflow':309 'wrong':329 'xyz':1477 'yoy':1522 'yyyi':1108 'yyyy-mm-dd':1107 'yyyymmdd':961,970","prices":[{"id":"91b2408e-5e60-45a3-b821-669328664a09","listingId":"2bdbe4c1-72fb-454b-a7a2-e6a7d58afba4","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"seranking","category":"seo-skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:14:08.857Z"}],"sources":[{"listingId":"2bdbe4c1-72fb-454b-a7a2-e6a7d58afba4","source":"github","sourceId":"seranking/seo-skills/seo-backlinks-profile","sourceUrl":"https://github.com/seranking/seo-skills/tree/main/skills/seo-backlinks-profile","isPrimary":false,"firstSeenAt":"2026-05-18T13:14:08.857Z","lastSeenAt":"2026-05-18T19:08:35.663Z"}],"details":{"listingId":"2bdbe4c1-72fb-454b-a7a2-e6a7d58afba4","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"seranking","slug":"seo-backlinks-profile","github":{"repo":"seranking/seo-skills","stars":9,"topics":["agent-skills","ai-search","answer-engine-optimization","anthropic","backlinks","claude","claude-code","claude-plugin","claude-skills","content-brief","ga4","generative-engine-optimization","keyword-research","mcp","mcp-server","search-console","seo","seo-tools","seranking","site-audit"],"license":"mit","html_url":"https://github.com/seranking/seo-skills","pushed_at":"2026-05-11T20:07:40Z","description":"Claude SEO Skills — production Claude Agent Skills for the SE Ranking MCP server. Content briefs, AI Search share of voice, audits, backlink gaps, keyword clusters, schema, sitemap, GEO, and more.","skill_md_sha":"1985830b4a0b22c1b23610fe74f2687567b0a69c","skill_md_path":"skills/seo-backlinks-profile/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/seranking/seo-skills/tree/main/skills/seo-backlinks-profile"},"layout":"multi","source":"github","category":"seo-skills","frontmatter":{"name":"seo-backlinks-profile","description":"Full backlink profile for a domain — referring domains, anchor text distribution, authority distribution, IP and subnet diversity, growth/decay trend, toxic-candidate flagging. Distinct from `seo-backlink-gap` (which is gap-vs-competitor only). Produces a profile health score and reviewable disavow candidate list (never auto-disavow). Use when the user asks \"backlink profile\", \"link profile audit\", \"anchor distribution\", \"toxic links\", \"disavow candidates\", or \"backlink health\"."},"skills_sh_url":"https://skills.sh/seranking/seo-skills/seo-backlinks-profile"},"updatedAt":"2026-05-18T19:08:35.663Z"}}