Audit and fix broken or insecure links across your Webflow site to improve SEO and user experience.
Link Validation:
- Test each unique URL (avoid duplicate tests)
- Use HEAD request first (faster than GET)
- Fallback to GET if HEAD fails
- Handle timeouts (10 second max)
- For HTTP links: Test HTTPS equivalent
- Record status code and final URL (after redirects)
Categorization Rules:
✅ Working (2xx):
- 200 OK
- 201 Created
- 204 No Content
❌ Broken (4xx/5xx):
- 400 Bad Request
- 401 Unauthorized
- 403 Forbidden
- 404 Not Found
- 410 Gone
- 500 Internal Server Error
- 502 Bad Gateway
- 503 Service Unavailable
⚠️ Insecure (HTTP):
- URL starts with http://
- HTTPS equivalent exists and returns 2xx
- Mark as "upgrade to HTTPS"
🔄 Redirects (3xx):
- 301 Moved Permanently
- 302 Found
- 307 Temporary Redirect
- 308 Permanent Redirect
⚪ Manual Review:
- Timeout errors
- DNS resolution failures
- Connection refused
- SSL certificate errors
Phase 3: Analysis Best Practices
Health Score Calculation:
Formula:
1. Base score = 100
2. Working links: No change
3. Broken links: -5 points each
4. Insecure links: -2 points each
5. Redirects: -1 point each
6. Minimum score: 0
7. Maximum score: 100
Example:
- Total links: 200
- Working: 180 (no penalty)
- Broken: 5 (−25 points)
- Insecure: 10 (−20 points)
- Redirects: 5 (−5 points)
- Score: 100 − 25 − 20 − 5 = 50/100
Issue Prioritization:
🔴 Critical (fix immediately):
- Broken links on homepage
- Broken links on high-traffic pages
- Broken links in navigation
- 404 errors on important external references
⚠️ Warning (fix soon):
- Insecure HTTP links (security risk)
- Broken links on blog posts
- Broken links in footer
- 410 Gone errors
💡 Suggestion (optimize):
- 301 redirects (update to final destination)
- 302 redirects (may change, monitor)
- External links with slow response times
Statistics to Report:
Essential:
- Total links scanned
- Working links count & percentage
- Broken links count & percentage
- Insecure links count & percentage
- Redirect links count & percentage
Detailed:
- Links by location (static vs CMS)
- Links by type (internal vs external)
- Most common issues
- Pages/items with most issues
- External domains with most broken links
Phase 4: Suggestion Generation Best Practices
Automatic Fix Criteria:
Can auto-fix:
✅ HTTP → HTTPS (if HTTPS verified working)
✅ Redirects → Final destination (if final URL verified)
✅ Relative URLs → Absolute URLs (for external sites)
Needs manual review:
⚠️ Broken links (404, 410, 5xx) - requires correct URL
⚠️ HTTP with no HTTPS equivalent
⚠️ Timeouts or connection errors
⚠️ SSL certificate errors
⚠️ Authentication required (401, 403)
Preview Format:
[X] ✓ Auto-fix available
Location: [Page name or CMS item]
Element: [Element type + text]
Current: [Current URL]
New: [Proposed URL]
✅ Verification: [Status]
[Y] ⚠️ Manual review needed
Location: [Page name or CMS item]
Element: [Element type + text]
Current: [Current URL]
Issue: [Error description]
Suggestion: [What to do]
Granular Approval:
- Number each fix starting from 1
- Show all automatic fixes first
- Show manual review items separately
- Allow user to select specific fixes
- Options: "all", "none", or specific numbers
- Example: "1,3,5-10" applies fixes 1, 3, and 5 through 10
Phase 5: Execution Best Practices
Static Page Updates:
Requirements:
- Use data_pages_tool with action update_static_content
- Update nodes array with new URLs
- Process in batches of 20 links per page
- Verify updates after each batch
Error Handling:
- If Designer not connected: Report and skip static pages
- If update fails: Mark link and continue with others
- Report partial successes separately
CMS Updates:
For Link Fields:
- Direct update: fieldData[fieldName] = "new-url"
- Use data_cms_tool with action update_collection_items
- Option: update live or draft
For Rich Text Fields:
- Parse HTML content
- Find and replace <a> tags
- Preserve other HTML formatting
- Update fieldData[fieldName] with new HTML
Batch Processing:
- Process 50 items per batch
- Show progress for large collections
- Handle API rate limits gracefully
Publishing:
Ask user:
"Would you like to publish the changes immediately?"
- Yes: Use data_cms_tool with action publish_collection_items
- No: Leave as drafts
For static pages:
- Changes are immediate (Designer updates live)
- Warn user that static page changes are live
Phase 6: Verification Best Practices
Re-validation:
- Re-check all fixed links
- Confirm status changed (404 → 200, HTTP → HTTPS)
- Report any fixes that didn't work
- Calculate new health score
Failure Reporting:
If any fixes failed:
❌ Fixes that failed (X):
[1] Failed to update
Location: Contact page
Reason: Page content changed since last read (conflict)
Action: Re-fetch the page and retry
[2] URL still broken
Location: Blog post "Guide"
Reason: HTTPS version returned 404
Action: Manual correction needed
Success Reporting:
✅ Summary:
Before:
- Health Score: 76/100
- Broken links: 8
- Insecure links: 18
- Redirects: 6
After:
- Health Score: 95/100 (+19)
- Broken links: 2 (6 fixed, 2 need manual review)
- Insecure links: 0 (18 fixed)
- Redirects: 0 (6 fixed)
Changes:
- Static pages: 8 links updated on 5 pages
- CMS content: 16 links updated in 12 items
- Total fixes: 24 ✅
- Manual review: 2 ⚠️
Recommendations:
Always provide:
1. Schedule for next check (monthly/quarterly)
2. Monitoring suggestions for critical links
3. Best practices for avoiding broken links
4. URL redirect strategies if applicable
Example:
💡 Recommendations:
1. **Schedule regular checks**
- Run link checker monthly for active sites
- Run quarterly for static sites
- Set calendar reminder
2. **Monitor critical external links**
- Key partners: company-a.com, partner-site.com
- Documentation: docs.example.com
- Social media profiles
3. **Set up URL redirects**
- If changing URLs, create 301 redirects
- Test redirects before going live
- Keep redirect map updated
4. **Best practices**
- Test external links before adding
- Use relative URLs for internal links
- Avoid deep linking to external pages
- Verify links after major redesigns
Phase 7: Export Options
Report Formats:
Offer to export findings:
1. **Markdown** - Human-readable report
- Include all statistics
- List all issues found
- Show fixes applied
- Add recommendations
- Great for documentation
2. **CSV** - Spreadsheet format
- Columns: Location, Element, URL, Status, Issue, Fix Applied
- Easy to filter and analyze
- Good for sharing with team
3. **JSON** - Machine-readable data
- Complete raw data
- Useful for integrations
- Archive for historical tracking
Export Example (Markdown):
# Link Audit Report: Company Website
Date: January 10, 2026
## Summary
- Total links scanned: 247
- Health score: 95/100
- Links fixed: 24
- Manual review needed: 2
## Issues Found
### Broken Links (8)
1. About Us > Button "Visit Partner"
- URL: https://partner-old-site.com
- Status: 404 Not Found
- Fix: Manual review needed
...
## Recommendations
1. Schedule monthly link checks
2. Monitor key external links
3. Set up 301 redirects for URL changes
Phase 8: Performance Optimization
Batch Processing:
For large sites:
- Process pages in batches of 10
- Process CMS items in batches of 50
- Show progress: "Processing batch 1 of 5..."
- Timeout protection: Skip after 30s per batch
Caching Validation Results:
- Cache validation results by unique URL
- If same URL appears 10 times, validate once
- Report: "Checking 87 unique URLs (out of 247 total links)"
- Reduces validation time significantly
Parallel vs Sequential:
Parallel (faster):
- Link validation (test multiple URLs simultaneously)
- Page content extraction (fetch multiple pages)
Sequential (required):
- Link updates (one at a time to avoid conflicts)
- Publishing (one batch at a time)
Phase 9: Error Handling
Common Errors:
1. Designer Not Connected:
❌ Error: Cannot update static pages
Reason: Designer MCP app not connected
Solution:
1. Open Webflow Designer
2. Open the target site
3. Connect Designer MCP app
4. Retry static page fixes
Note: CMS fixes can proceed without Designer
2. Rate Limits:
⚠️ Warning: Rate limit reached
Pausing for 60 seconds...
Progress will resume automatically.
Current: 50/200 links validated
3. Timeout Errors:
⚠️ Link validation timeout
Link: https://very-slow-site.com
Timeout: 10 seconds exceeded
Marked for manual review.
Continuing with remaining links...
4. SSL Certificate Errors:
⚠️ SSL Certificate Error
Link: https://expired-cert-site.com
Issue: Certificate expired
Cannot verify HTTPS. Marked for manual review.
Phase 10: Edge Cases
Case 1: No Issues Found
🎉 Excellent! No Issues Found
All 247 links are working correctly!
Health Score: 100/100 ✨
Your site has:
✅ No broken links
✅ No insecure HTTP links
✅ No unnecessary redirects
💡 Recommendation:
Run this check monthly to maintain link health.
Case 2: All Links Broken
❌ Critical: Multiple Broken Links
Found 89 broken links across all pages.
This suggests a possible site-wide issue:
- Domain migration not configured?
- External service outage?
- Relative URL path issues?
🔍 Recommended Action:
1. Check if external services are down
2. Verify domain and SSL configuration
3. Test a few links manually
4. Contact Webflow support if needed
Shall I still proceed with individual link fixes? (yes/no)
Case 3: Mixed HTTP/HTTPS Site
⚠️ Mixed Content Warning
Your site uses HTTPS but has 18 HTTP links.
This creates:
- Security warnings in browsers
- SEO penalties
- Trust issues for visitors
🔧 Recommendation:
Upgrade all HTTP links to HTTPS (all 18 can be auto-fixed)
Proceed with upgrade? (yes/no)
Case 4: Redirect Chains
⚠️ Redirect Chain Detected
Link: https://example.com/old
→ 301 to: https://example.com/temp
→ 301 to: https://example.com/final
Recommendation: Update directly to final URL
- Improves page load speed
- Reduces redirect overhead
- Better for SEO
Fix: Update to https://example.com/final
Apply fix? (yes/no)
Production Checklist
Before considering link checker implementation complete:
✅ Discovery
✅ Link Extraction
✅ Validation
✅ Analysis
✅ Suggestion Generation
✅ Approval System
✅ Execution
✅ Verification
✅ Reporting
✅ Error Handling
✅ Performance
✅ User Experience