link-checker
npx skills add https://github.com/webflow/webflow-skills --skill link-checker
Agent 安装分布
Skill 文档
Link Checker
Audit and fix broken or insecure links across your Webflow site to improve SEO and user experience.
Important Note
ALWAYS use Webflow MCP tools for all operations:
- Use Webflow MCP’s
webflow_guide_toolto get best practices before starting - Use Webflow MCP’s
data_sites_toolwith actionlist_sitesto identify available sites - Use Webflow MCP’s
data_sites_toolwith actionget_siteto retrieve site details - Use Webflow MCP’s
data_pages_toolwith actionlist_pagesto get all pages - Use Webflow MCP’s
data_pages_toolwith actionget_page_contentto extract links from static pages - Use Webflow MCP’s
data_pages_toolwith actionupdate_static_contentto fix links on static pages (requires Designer) - Use Webflow MCP’s
data_cms_toolwith actionget_collection_listto get all CMS collections - Use Webflow MCP’s
data_cms_toolwith actionget_collection_detailsto get collection schemas - Use Webflow MCP’s
data_cms_toolwith actionlist_collection_itemsto get CMS items with links - Use Webflow MCP’s
data_cms_toolwith actionupdate_collection_itemsto fix links in CMS (draft) - Use Webflow MCP’s
data_cms_toolwith actionpublish_collection_itemsto publish fixed CMS items - DO NOT use any other tools or methods for Webflow operations
- All tool calls must include the required
contextparameter (15-25 words, third-person perspective) - Designer connection required for static page link fixes
Instructions
Phase 1: Site Selection & Discovery
- Get site information: Use Webflow MCP’s
data_sites_toolwith actionlist_sitesto identify target site - Confirm scope: Ask user if they want to check:
- Static pages only
- CMS content only
- Both static pages and CMS content
- List pages: Use Webflow MCP’s
data_pages_toolwith actionlist_pagesto get all pages - List collections: Use Webflow MCP’s
data_cms_toolwith actionget_collection_listto get all CMS collections
Phase 2: Link Extraction & Validation
- Extract links from static pages: Use Webflow MCP’s
data_pages_toolwith actionget_page_contentfor each page- Identify all link elements (Link, Button, TextLink, LinkBlock)
- Capture: pageId, nodeName, URL, link text
- Extract links from CMS: Use Webflow MCP’s
data_cms_toolwith actionlist_collection_itemsfor each collection- Identify Link fields and Rich Text fields with links
- Capture: collectionId, itemId, fieldName, URL
- Validate each link: Test URL accessibility
- Check for 4xx/5xx errors (broken links)
- Check for HTTP vs HTTPS (insecure links)
- Test if HTTP has HTTPS equivalent available
- Flag redirects (3xx status codes)
- Categorize results:
- â Working links (2xx status)
- â Broken links (4xx/5xx errors)
- â ï¸ Insecure links (HTTP when HTTPS available)
- ð Redirects (3xx status)
- ⪠Manual review needed (timeouts, DNS errors, etc.)
Phase 3: Analysis & Reporting
- Calculate statistics:
- Total links scanned
- Links by type (internal vs external)
- Links by status (working, broken, insecure, redirects)
- Links by location (static pages vs CMS)
- Generate health score: Calculate link health (0-100)
- Working links: +1 point each
- Broken links: -5 points each
- Insecure links: -2 points each
- Redirects: -1 point each
- Normalize to 0-100 scale
- Identify critical issues: Prioritize fixes
- ð´ Critical: Broken links on high-traffic pages
- â ï¸ Warning: Insecure HTTP links
- ð¡ Suggestion: Optimize redirects
Phase 4: Suggestion Generation & Approval
- Generate fix suggestions: For each problematic link, suggest fix
- Broken links: Remove link or update to correct URL
- Insecure links: Upgrade HTTP to HTTPS
- Redirects: Update to final destination URL
- Show preview with validation:
[1] â Fix insecure link Page: About Us Element: Button "Learn More" Current: http://example.com Suggested: https://example.com â HTTPS version verified working [2] â ï¸ Fix broken link Page: Blog Post "Getting Started" Element: Text link Current: https://oldsite.com/page Suggested: [REMOVE LINK or provide correct URL] â URL returns 404 - manual review needed - Implement granular approval: Ask user which fixes to apply
- Type numbers to skip (e.g., “2,4”)
- Type “all” to proceed with all automatic fixes
- Type “none” to cancel
- Flag manual review items separately
Phase 5: Execution & Confirmation
- Apply fixes to static pages: Use Webflow MCP’s
pages_update_static_content- Requires Designer connection
- Update link URLs in nodes
- Process in batches of 20 links
- Apply fixes to CMS content: Use Webflow MCP’s
data_cms_toolwith actionupdate_collection_items- Update Link fields directly
- Update links in Rich Text fields
- Process in batches of 50 items
- Publish changes (if requested): Use Webflow MCP’s
data_cms_toolwith actionpublish_collection_items - Show progress: Display progress indicators for large operations
- Generate final report:
- Links scanned: X
- Links fixed: Y
- Links requiring manual review: Z
- Health score improvement: Before â After
Phase 6: Verification & Recommendations
- Verify fixes: Re-check fixed links to confirm success
- Report failures: Clearly identify any fixes that failed
- Provide recommendations:
- Schedule regular link checks (monthly/quarterly)
- Set up monitoring for critical external links
- Consider using 301 redirects for changed URLs
- Export report (optional): Offer to export findings
Examples
Example 1: Complete Site Audit
User prompt:
Run a complete link check on my site and fix any issues
Step 1: Site Selection
ð Link Checker: Site Selection
Available sites:
1. Company Website
2. Blog Site
3. Portfolio
Which site would you like to audit? (1/2/3)
Step 2: Scope Confirmation
ð Link Checker Scope
What would you like to check?
1. Static pages only (faster)
2. CMS content only
3. Both static pages and CMS content (comprehensive)
Recommendation: Option 3 for complete audit
Your choice? (1/2/3)
Step 3: Extraction & Validation
ð Scanning Links...
Progress: ââââââââââââââââââââ 100%
Found 247 links:
âââ Static pages: 89 links (15 pages)
âââ CMS content: 158 links (3 collections)
â âââ Blog Posts: 142 links
â âââ Team Members: 12 links
â âââ Products: 4 links
Validating links...
Progress: ââââââââââââââââââââ 100% (247/247 checked)
â
Working: 215 links (87%)
â Broken: 8 links (3%)
â ï¸ Insecure: 18 links (7%)
ð Redirects: 6 links (2%)
Step 4: Analysis Report
ð Link Health Report: Company Website
Overall Health Score: 76/100 â ï¸
## Issues Found:
### ð´ Critical: Broken Links (8)
âââ [1] Page: "About Us"
â âââ Link to: https://partner-site.com/old-page
â Status: 404 Not Found
â Impact: High (homepage)
â
âââ [2] CMS: Blog Post "Product Launch"
â âââ Link to: https://press-release.com/announcement
â Status: 404 Not Found
â Impact: Medium
â
âââ [3-8] 6 more broken links...
### â ï¸ Warning: Insecure Links (18)
âââ [9] Page: "Contact"
â âââ Link: http://social-media.com/company
â Fix: https://social-media.com/company
â â
HTTPS verified working
â
âââ [10] CMS: Blog Post "Getting Started"
â âââ Link: http://tutorial-site.com
â Fix: https://tutorial-site.com
â â
HTTPS verified working
â
âââ [11-26] 16 more insecure links...
### ð¡ Suggestion: Redirects (6)
âââ [27] Page: "Services"
â âââ Link: https://example.com/old-url
â Redirects to: https://example.com/new-url
â Suggestion: Update to final destination
â
âââ [28-32] 5 more redirects...
---
ð¡ Recommendations:
1. Fix 8 broken links immediately (SEO impact)
2. Upgrade 18 HTTP links to HTTPS (security)
3. Update 6 redirects to final URLs (performance)
Estimated time to fix: ~5 minutes
Step 5: Fix Preview
ð§ Proposed Fixes (26 total)
### Automatic Fixes Available (24):
[1] â Upgrade to HTTPS
Page: Contact
Element: Button "Follow Us"
Current: http://social-media.com/company
New: https://social-media.com/company
â
HTTPS verified working
[2] â Upgrade to HTTPS
CMS: Blog Posts > "Getting Started" > content field
Current: http://tutorial-site.com
New: https://tutorial-site.com
â
HTTPS verified working
[3] â Update redirect
Page: Services
Element: Text link "Learn more"
Current: https://example.com/old-url
New: https://example.com/new-url
â
Final destination verified
[4-24] ... 21 more automatic fixes
### Manual Review Required (2):
[25] â ï¸ Broken link - needs correction
Page: About Us
Element: Button "View Partner Site"
Current: https://partner-site.com/old-page
Issue: 404 Not Found
Action needed: Provide correct URL or remove link
[26] â ï¸ Broken link - needs correction
CMS: Blog Posts > "Product Launch" > content field
Current: https://press-release.com/announcement
Issue: 404 Not Found
Action needed: Update with correct URL or remove
---
Which fixes would you like to apply?
- Type "all" to apply all 24 automatic fixes
- Type numbers to skip (e.g., "3,5,7")
- Type "none" to cancel
Step 6: After User Approves “all”
â
Applying Fixes...
Progress: ââââââââââââââââââââ 100%
Static Pages:
- Updated 8 links on 5 pages
- â
Contact page: 3 links fixed
- â
Services page: 2 links fixed
- â
About page: 1 link fixed
- â
Blog page: 2 links fixed
CMS Content:
- Updated 16 links in 12 items
- â
Blog Posts: 14 links fixed
- â
Team Members: 2 links fixed
---
ð Link Fixes Complete!
Summary:
- Links scanned: 247
- Links fixed: 24 â
- Manual review needed: 2 â ï¸
- Failed: 0 â
Health Score: 76 â 95 (+19) â¨
---
â ï¸ Manual Review Items:
[1] About Us page - broken partner link
Current: https://partner-site.com/old-page
Action: Update or remove manually
[2] Blog post "Product Launch" - broken press release
Current: https://press-release.com/announcement
Action: Update or remove manually
---
ð¡ Next Steps:
1. Fix the 2 manual review items
2. Re-run link checker in 1 month
3. Set up monitoring for critical external links
4. Consider 301 redirects for any URL changes
Would you like to export this report? (yes/no)
Example 2: CMS-Only Link Check
User prompt:
Check all links in my blog posts
Step 1: Collection Selection
ð Link Checker: CMS Collections
Found 3 collections:
1. Blog Posts (47 items)
2. Team Members (8 items)
3. Categories (6 items)
You requested blog posts. Checking "Blog Posts" collection...
Step 2: Link Extraction
ð Extracting Links from Blog Posts...
Progress: ââââââââââââââââââââ 100% (47/47 items)
Found 142 links in Blog Posts:
âââ Link fields: 23 links
âââ Rich Text content: 119 links
âââ Total unique URLs: 87 (55 appear multiple times)
Validating links...
Progress: ââââââââââââââââââââ 100% (87/87 unique URLs checked)
Results:
â
Working: 79 links (91%)
â Broken: 3 links (3%)
â ï¸ Insecure: 5 links (6%)
ð Redirects: 0 links
Step 3: Issue Report
ð Blog Posts Link Health: 91/100 â
## Issues Found:
### ð´ Broken Links (3):
[1] Post: "Getting Started with Webflow"
Field: content (Rich Text)
Link: https://old-docs.example.com/guide
Status: 404 Not Found
Appears in: 3 posts
[2] Post: "Best Practices 2024"
Field: external-link (Link)
Link: https://expired-resource.com
Status: 410 Gone
[3] Post: "Tutorial Series Part 3"
Field: content (Rich Text)
Link: https://video-host.com/deleted-video
Status: 404 Not Found
### â ï¸ Insecure Links (5):
[4] Post: "Case Study: Company A"
Field: content (Rich Text)
Link: http://company-a-site.com
Fix: https://company-a-site.com
â
HTTPS available and working
[5-8] 4 more insecure links...
---
ð§ Proposed Fixes:
[1] â ï¸ Remove broken link (manual review)
Posts affected: 3 (Getting Started, Tutorial 1, Tutorial 2)
Link: https://old-docs.example.com/guide
Suggestion: Update to new docs URL if available
[2] â ï¸ Remove broken link (manual review)
Post: "Best Practices 2024"
Link: https://expired-resource.com
Suggestion: Remove or replace with alternative
[3] â ï¸ Remove broken link (manual review)
Post: "Tutorial Series Part 3"
Link: https://video-host.com/deleted-video
Suggestion: Update with new video URL
[4] â Upgrade to HTTPS
Post: "Case Study: Company A"
Current: http://company-a-site.com
New: https://company-a-site.com
â
HTTPS verified working
[5-8] ... 4 more HTTPS upgrades
---
Which fixes would you like to apply?
- Type "4-8" to apply only HTTPS upgrades
- Type "all" for all automatic fixes
- Type "none" to cancel
Example 3: Static Pages Only (Quick Check)
User prompt:
Quick check on my static pages for broken links
Response:
ð Quick Link Check: Static Pages
Scanning 15 static pages...
Progress: ââââââââââââââââââââ 100%
Found 89 links across 15 pages
Validation Results:
â
All links working! (89/89)
Health Score: 100/100 â¨
Your static pages have no broken or insecure links.
ð¡ Tip: Run a full audit including CMS content for comprehensive coverage.
Example 4: Fixing Specific Issues
User prompt:
I have some broken links on my About page. Can you fix them?
Response:
ð Checking Links on "About" Page...
Found 12 links on About page
Validation Results:
â
Working: 9 links
â Broken: 2 links
â ï¸ Insecure: 1 link
---
Issues Found:
[1] â Broken: Partner site link
Element: Button "Visit Partner"
Link: https://partner-old-site.com
Status: 404 Not Found
Fix: Manual review needed
[2] â Broken: Team member profile
Element: Text link "Meet Sarah"
Link: /team/sarah-old-profile
Status: 404 Not Found
Fix: Update to /team/sarah-johnson?
[3] â ï¸ Insecure: Social media link
Element: Link "Follow us"
Link: http://social.com/company
Fix: https://social.com/company
â
HTTPS verified
---
Which fixes would you like to apply?
- Type "3" to only fix the insecure link
- Type "2,3" to fix items 2 and 3
- Type "all" for automatic fixes
- Type "none" to cancel
Note: Item [1] requires manual correction with correct URL
Guidelines
Phase 1: Discovery Best Practices
Site Selection:
- Use
sites_listto get available sites - Never assume site ID
- Confirm site name with user
Scope Definition:
- Ask if checking static pages, CMS, or both
- Estimate time based on scope:
- Static pages only: 1-3 minutes
- CMS only: 2-5 minutes (depends on item count)
- Full site: 5-10 minutes
Collection Selection:
- List all collections with item counts
- If user specifies collection, focus on that
- If “all CMS”, check all collections
Phase 2: Link Extraction Best Practices
Static Page Link Extraction:
- Use
pages_get_contentto get page nodes - Look for these node types:
- Link (a tag)
- Button (with link)
- TextLink
- LinkBlock
- Extract href/url property
- Capture link text for reporting
- Track nodeId for fixing later
CMS Link Extraction:
- Use
collections_getto identify Link and Rich Text fields - Use
collections_items_list_itemsto get all items - For Link fields: Extract URL directly
- For Rich Text fields: Parse HTML to extract tags
- Track: collectionId, itemId, fieldName for fixing
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:
- Designer connection required
- Use pages_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 collections_items_update_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 collections_items_publish_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: Designer connection lost
Action: Reconnect Designer 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
- Sites listed with all details
- Scope confirmed (static/CMS/both)
- All pages retrieved
- All collections identified
- User understands time estimate
â Link Extraction
- Static page links extracted correctly
- CMS link fields identified
- Rich Text links parsed correctly
- All link elements captured (nodeId, URL, text)
- Duplicate URLs consolidated for validation
â Validation
- Each unique URL validated
- Status codes captured correctly
- HTTP/HTTPS checking works
- Redirects detected and final URLs captured
- Timeout handling implemented
- Error categorization accurate
â Analysis
- Health score calculated correctly
- Issues prioritized (Critical/Warning/Suggestion)
- Statistics complete and accurate
- Internal vs external links separated
- Location tracking (page/CMS) accurate
â Suggestion Generation
- Automatic fixes identified correctly
- Manual review items flagged
- HTTPS upgrades verified before suggesting
- Redirect final destinations verified
- Preview format clear and detailed
- Validation status shown for each fix
â Approval System
- Granular approval implemented
- User can select specific fixes
- “all”/”none”/numbers format works
- Manual review items separated
- Clear instructions provided
â Execution
- Static page updates work (Designer connected)
- CMS Link field updates work
- CMS Rich Text link updates work
- Batch processing implemented
- Progress indicators shown
- Error handling graceful
â Verification
- Fixed links re-validated
- New health score calculated
- Failures reported clearly
- Partial successes vs full failures separated
- Before/after comparison shown
â Reporting
- Final summary complete
- Statistics accurate
- Recommendations provided
- Export options offered
- Next steps clear
â Error Handling
- Designer disconnected handled
- Timeout errors handled
- Rate limits handled
- SSL errors handled
- [ [ ] Partial failures reported separately
â Performance
- Batch processing for scale
- URL deduplication for validation
- Progress indicators for long operations
- Timeout protection implemented
- Efficient API usage
â User Experience
- Clear feedback at each step
- Progress indicators shown
- Warnings shown before changes
- Success confirmation clear
- Recommendations actionable