Home > Link Analysis > Broken Link Checker

Broken Link Checker

Find and analyze broken links, redirects, and slow-loading links for better SEO and user experience

Enter the starting URL to check for broken links
How many levels deep to follow internal links
Include external links in the analysis (slower but more comprehensive)

About Broken Link Checking

Broken links negatively impact SEO rankings and user experience. This tool helps you:

  • Find Issues: Identify 404 errors, server errors, and connection problems
  • Track Redirects: Discover redirect chains that slow down page loading
  • Monitor Performance: Check response times for all your links
  • Improve SEO: Maintain link equity and crawl efficiency

Common Link Issues:

  • 404 Not Found: The most common broken link error
  • 500 Server Error: Server-side problems on the destination
  • Connection Timeout: Slow or unresponsive servers
  • Redirect Chains: Multiple redirects that slow loading
  • SSL Certificate Issues: HTTPS security problems

Best Practices:

  • Check for broken links regularly (monthly recommended)
  • Fix or remove broken internal links immediately
  • Update redirect links to point to final destinations
  • Monitor external links and replace unreliable sources
  • Use 301 redirects for permanently moved content
Note: This tool checks up to 10 pages and respects server limits. Large sites may require multiple scans or specialized crawling tools.
.checkbox-label { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; margin-bottom: 0.5rem; } .checkbox-custom { width: 18px; height: 18px; border: 2px solid var(--primary-gold); border-radius: 3px; position: relative; background: var(--white); } .checkbox-label input[type="checkbox"] { display: none; } .checkbox-label input[type="checkbox"]:checked+.checkbox-custom::after { content: '✓'; position: absolute; top: -2px; left: 2px; color: var(--primary-gold); font-weight: bold; } .summary-stats { margin: 2rem 0; } .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; margin-bottom: 1rem; } .stat-card { background: var(--white); padding: 1.5rem; border-radius: var(--border-radius); text-align: center; box-shadow: 0 2px 10px var(--shadow); border-left: 4px solid var(--gray); } .stat-card.status-success { border-left-color: var(--success); } .stat-card.status-error { border-left-color: var(--error); } .stat-card.status-warning { border-left-color: var(--warning); } .stat-icon { font-size: 2rem; margin-bottom: 0.5rem; } .stat-value { font-size: 2rem; font-weight: bold; color: var(--secondary-gold); display: block; } .stat-label { color: var(--gray-dark); font-weight: 500; margin-top: 0.5rem; } .analysis-info { background: var(--light-gold); padding: 1rem; border-radius: var(--border-radius); } .analysis-meta { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; } .meta-item { background: var(--white); padding: 0.5rem 1rem; border-radius: 20px; font-size: 0.9rem; color: var(--secondary-gold); } .health-section { text-align: center; margin: 2rem 0; padding: 2rem; background: var(--gray-light); border-radius: var(--border-radius); } .health-score { display: flex; align-items: center; justify-content: center; gap: 2rem; flex-wrap: wrap; } .score-circle { width: 120px; height: 120px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; border: 8px solid; } .score-circle.status-excellent { border-color: #28a745; } .score-circle.status-good { border-color: #28a745; } .score-circle.status-average { border-color: var(--warning); } .score-circle.status-poor { border-color: var(--error); } .score-value { font-size: 2rem; font-weight: bold; color: var(--secondary-gold); } .score-label { font-size: 0.9rem; color: var(--gray-dark); font-weight: 600; } .score-description { text-align: left; } .health-status { font-size: 1.2rem; font-weight: 600; color: var(--secondary-gold); } .feedback-section { margin: 2rem 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1rem; } .issues-box, .recommendations-box { padding: 1.5rem; border-radius: var(--border-radius); } .issues-box { background: var(--light-error); border-left: 4px solid var(--error); } .recommendations-box { background: var(--light-gold); border-left: 4px solid var(--primary-gold); } .issues-box h3 { color: var(--error); margin-bottom: 1rem; } .recommendations-box h3 { color: var(--secondary-gold); margin-bottom: 1rem; } .feedback-list { margin: 0; padding-left: 1.5rem; } .feedback-list li { margin-bottom: 0.5rem; } .links-section { margin: 2rem 0; } .links-filter { margin: 1rem 0; padding: 1rem; background: var(--gray-light); border-radius: var(--border-radius); } .filter-buttons { display: flex; gap: 0.5rem; flex-wrap: wrap; } .filter-btn { padding: 0.5rem 1rem; background: var(--white); border: 2px solid var(--gray-light); border-radius: 20px; cursor: pointer; transition: all 0.3s ease; font-size: 0.9rem; } .filter-btn:hover, .filter-btn.active { background: var(--primary-gold); color: var(--white); border-color: var(--primary-gold); } .filter-btn.status-error:hover, .filter-btn.status-error.active { background: var(--error); border-color: var(--error); } .filter-btn.status-warning:hover, .filter-btn.status-warning.active { background: var(--warning); border-color: var(--warning); } .filter-btn.status-success:hover, .filter-btn.status-success.active { background: var(--success); border-color: var(--success); } .links-list { display: grid; gap: 1rem; } .link-card { background: var(--white); border-radius: var(--border-radius); overflow: hidden; box-shadow: 0 2px 10px var(--shadow); border-left: 4px solid; display: none; } .link-card.visible { display: block; } .link-card.status-success { border-left-color: var(--success); } .link-card.status-error { border-left-color: var(--error); } .link-card.status-warning { border-left-color: var(--warning); } .link-card.status-timeout { border-left-color: var(--gray); } .link-header { background: var(--gray-light); padding: 1rem; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; } .link-status { display: flex; align-items: center; gap: 0.5rem; } .status-icon { font-size: 1.2rem; } .status-text { font-weight: 600; color: var(--secondary-gold); } .link-meta { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; } .link-type { padding: 0.25rem 0.5rem; border-radius: 12px; font-size: 0.8rem; font-weight: 600; } .link-type.internal { background: var(--info); color: var(--white); } .link-type.external { background: var(--warning); color: var(--white); } .response-time { padding: 0.25rem 0.5rem; border-radius: 12px; font-size: 0.8rem; background: var(--success); color: var(--white); } .response-time.slow { background: var(--error); } .link-content { padding: 1rem; } .link-url, .link-anchor, .link-source, .redirect-info, .error-message { margin-bottom: 0.75rem; font-size: 0.9rem; line-height: 1.4; } .link-text, .source-link, .redirect-link { color: var(--info); text-decoration: none; word-break: break-all; } .link-text:hover, .source-link:hover, .redirect-link:hover { text-decoration: underline; } .copy-btn { background: var(--primary-gold); color: var(--white); border: none; padding: 0.25rem 0.5rem; border-radius: 12px; font-size: 0.8rem; cursor: pointer; margin-left: 0.5rem; transition: background 0.3s ease; } .copy-btn:hover { background: var(--secondary-gold); } .redirect-count { color: var(--gray-dark); font-size: 0.8rem; } .error-message { background: var(--light-error); padding: 0.5rem; border-radius: var(--border-radius); border-left: 4px solid var(--error); color: var(--error); } .link-attributes { margin-top: 0.5rem; } .nofollow-tag { background: var(--gray); color: var(--white); padding: 0.25rem 0.5rem; border-radius: 12px; font-size: 0.8rem; font-weight: 600; } .no-links { text-align: center; padding: 4rem 2rem; background: var(--gray-light); border-radius: var(--border-radius); } .no-links-icon { font-size: 4rem; color: var(--gray); margin-bottom: 1rem; } .no-links-text { font-size: 1.2rem; color: var(--gray-dark); } .tool-note { background: var(--light-gold); padding: 1rem; border-radius: var(--border-radius); margin-top: 1rem; border-left: 4px solid var(--warning); } @media (max-width: 768px) { .health-score { flex-direction: column; gap: 1rem; } .score-description { text-align: center; } .link-header { flex-direction: column; align-items: flex-start; } .filter-buttons { justify-content: center; } .stats-grid { grid-template-columns: repeat(2, 1fr); } .analysis-meta { flex-direction: column; gap: 0.5rem; } .feedback-section { grid-template-columns: 1fr; }