$npx -y skills add webflow/webflow-skills --skill link-checkerFind and fix broken or insecure links across an entire site, including CMS content, to improve SEO and user experience. Audits HTTP/HTTPS issues and validates all internal and external links.
| 1 | # Link Checker |
| 2 | |
| 3 | Audit and fix broken or insecure links across your Webflow site to improve SEO and user experience. |
| 4 | |
| 5 | ## Important Note |
| 6 | |
| 7 | **ALWAYS use Webflow MCP tools for all operations:** |
| 8 | - Use Webflow MCP's `webflow_guide_tool` to get best practices before starting |
| 9 | - Use Webflow MCP's `data_sites_tool` with action `list_sites` to identify available sites |
| 10 | - Use Webflow MCP's `data_sites_tool` with action `get_site` to retrieve site details |
| 11 | - Use Webflow MCP's `data_pages_tool` with action `list_pages` to get all pages |
| 12 | - Use Webflow MCP's `data_pages_tool` with action `get_page_content` to extract links from static pages |
| 13 | - Use Webflow MCP's `data_pages_tool` with action `update_static_content` to fix links on static pages |
| 14 | - Use Webflow MCP's `data_cms_tool` with action `get_collection_list` to get all CMS collections |
| 15 | - Use Webflow MCP's `data_cms_tool` with action `get_collection_details` to get collection schemas |
| 16 | - Use Webflow MCP's `data_cms_tool` with action `list_collection_items` to get CMS items with links |
| 17 | - Use Webflow MCP's `data_cms_tool` with action `update_collection_items` to fix links in CMS (draft) |
| 18 | - Use Webflow MCP's `data_cms_tool` with action `publish_collection_items` to publish fixed CMS items |
| 19 | - DO NOT use any other tools or methods for Webflow operations |
| 20 | - All tool calls must include the required `context` parameter (15-25 words, third-person perspective) |
| 21 | - No Designer connection is required — both static page and CMS link fixes go through `data_` tools |
| 22 | |
| 23 | ## Instructions |
| 24 | |
| 25 | ### Phase 1: Site Selection & Discovery |
| 26 | 1. **Get site information**: Use Webflow MCP's `data_sites_tool` with action `list_sites` to identify target site |
| 27 | 2. **Confirm scope**: Ask user if they want to check: |
| 28 | - Static pages only |
| 29 | - CMS content only |
| 30 | - Both static pages and CMS content |
| 31 | 3. **List pages**: Use Webflow MCP's `data_pages_tool` with action `list_pages` to get all pages |
| 32 | 4. **List collections**: Use Webflow MCP's `data_cms_tool` with action `get_collection_list` to get all CMS collections |
| 33 | |
| 34 | ### Phase 2: Link Extraction & Validation |
| 35 | 5. **Extract links from static pages**: Use Webflow MCP's `data_pages_tool` with action `get_page_content` for each page |
| 36 | - Identify all link elements (Link, Button, TextLink, LinkBlock) |
| 37 | - Capture: pageId, nodeName, URL, link text |
| 38 | 6. **Extract links from CMS**: Use Webflow MCP's `data_cms_tool` with action `list_collection_items` for each collection |
| 39 | - Identify Link fields and Rich Text fields with links |
| 40 | - Capture: collectionId, itemId, fieldName, URL |
| 41 | 7. **Validate each link**: Test URL accessibility |
| 42 | - Check for 4xx/5xx errors (broken links) |
| 43 | - Check for HTTP vs HTTPS (insecure links) |
| 44 | - Test if HTTP has HTTPS equivalent available |
| 45 | - Flag redirects (3xx status codes) |
| 46 | 8. **Categorize results**: |
| 47 | - ✅ Working links (2xx status) |
| 48 | - ❌ Broken links (4xx/5xx errors) |
| 49 | - ⚠️ Insecure links (HTTP when HTTPS available) |
| 50 | - 🔄 Redirects (3xx status) |
| 51 | - ⚪ Manual review needed (timeouts, DNS errors, etc.) |
| 52 | |
| 53 | ### Phase 3: Analysis & Reporting |
| 54 | 9. **Calculate statistics**: |
| 55 | - Total links scanned |
| 56 | - Links by type (internal vs external) |
| 57 | - Links by status (working, broken, insecure, redirects) |
| 58 | - Links by location (static pages vs CMS) |
| 59 | 10. **Generate health score**: Calculate link health (0-100) |
| 60 | - Working links: +1 point each |
| 61 | - Broken links: -5 points each |
| 62 | - Insecure links: -2 points each |
| 63 | - Redirects: -1 point each |
| 64 | - Normalize to 0-100 scale |
| 65 | 11. **Identify critical issues**: Prioritize fixes |
| 66 | - 🔴 Critical: Broken links on high-traffic pages |
| 67 | - ⚠️ Warning: Insecure HTTP links |
| 68 | - 💡 Suggestion: Optimize redirects |
| 69 | |
| 70 | ### Phase 4: Suggestion Generation & Approval |
| 71 | 12. **Generate fix suggestions**: For each problematic link, suggest fix |
| 72 | - Broken links: Remove link or update to correct URL |
| 73 | - Insecure links: Upgrade HTTP to HTTPS |
| 74 | - Redirects: Update to final destination URL |
| 75 | 13. **Show preview with validation**: |
| 76 | ``` |
| 77 | [1] ✓ Fix insecure link |
| 78 | Page: About Us |
| 79 | Element: Button "Learn More" |
| 80 | Current: http://example.com |
| 81 | Suggested: https://example.com |
| 82 | ✅ HTTPS version verified working |
| 83 | |
| 84 | [2] ⚠️ Fix broken link |
| 85 | Page: Blog Post "Getting Started" |
| 86 | Element: Text link |
| 87 | Current: https://oldsite.com/page |
| 88 | Suggested: [REMOVE LINK or provide correct URL] |
| 89 | ❌ URL returns 404 - manual review needed |
| 90 | ``` |
| 91 | 14. **Implement granular approval**: Ask user which fixes to apply |
| 92 | - Type numbers to skip (e.g., "2,4") |
| 93 | - Type "all" to proceed with all automatic fixes |
| 94 | - Type "none" to cancel |
| 95 | - Flag manual review items separately |
| 96 | |
| 97 | ### Phase 5: Execution & Confirmation |
| 98 | 15. **Apply fixes to static pages**: Use Webf |