Comprehensive link analysis for static sites. Use when the user wants to analyze links, find broken links, identify orphan pages, detect under-linked or over-linked content, find link sinks, or understand their site's internal linking structure. Supports HTTP validation with false-positive filtering.
This skill provides comprehensive link analysis for static websites, including:
Extracts and categorizes all external links:
Validates all internal links point to existing pages:
HTTP checks on external links with smart filtering:
Builds a complete link graph and calculates:
Create a config.json:
{
"dist_path": "./dist",
"site_domain": "example.com",
"internal_domains": ["example.com", "www.example.com", "wp.example.com"],
"excluded_paths": ["/tag/", "/category/", "/page/"],
"http": {
"timeout": 5,
"max_workers": 20,
"retry_count": 1,
"user_agent": "LinkChecker/1.0"
},
"thresholds": {
"underlinked_min_inbound": 3,
"overlinked_max_outbound": 50,
"link_sink_max_outbound": 2
},
"false_positive_domains": [
"linkedin.com",
"stackoverflow.com",
"twitter.com",
"facebook.com"
],
"output": {
"report_dir": "./reports",
"data_dir": "./data"
}
}
python scripts/analyze.py --dist ./dist --full
# Outbound links only
python scripts/outbound_links.py --dist ./dist
# Internal links check
python scripts/internal_links.py --dist ./dist
# HTTP validation (requires outbound data)
python scripts/http_checker.py --input outbound_links_data.json
# Link graph metrics
python scripts/link_graph.py --dist ./dist
LINK GRAPH ANALYSIS
==================
ORPHAN PAGES (0 inbound links): 15 pages
- /old-page-nobody-links-to/
- /draft-accidentally-published/
...
UNDER-LINKED PAGES (<3 inbound): 47 pages
- /great-article-needs-promotion/ (1 inbound)
- /hidden-gem-content/ (2 inbound)
...
OVER-LINKED PAGES (>50 outbound): 3 pages
- /resources/ (127 outbound)
...
LINK SINKS (receive but don't pass): 23 pages
- /about/ (15 inbound, 0 outbound)
...
ACTIONABLE BROKEN LINKS
======================
404 - Page Not Found: 25 links
- https://old-blog.com/post (5 occurrences)
...
Dead Domains: 8 links
- https://defunct-site.com (3 occurrences)
...
Timeouts: 4 links
- https://slow-affiliate.com (2 occurrences)
| Metric | Definition | SEO Impact | |--------|------------|------------| | Orphan Page | Page with 0 inbound internal links | Critical - page may not be indexed | | Under-linked | Page with fewer than threshold inbound links | High - page lacks authority signals | | Over-linked | Page with more than threshold outbound links | Medium - dilutes link equity | | Link Sink | Page with high inbound but low/no outbound | Medium - doesn't distribute link equity | | Link Flow Ratio | Inbound links / Outbound links | Ideal around 1.0 for most pages |
User: "Analyze my site's internal linking and find pages that need more links"
Claude will:
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer