Broken links in your website mean that your site is not reliable, and it does not offer a good, satisfying user experience.
The broken links are not just visible to your visitors, they are checked and monitored by search engines, which leads to bad SEO.
Broken links can be internal to a site's internal page or external to external websites or resources. That's does not matter much, they have still broken links.
They are also known as “Dead links”, you can consider them a dead weight that drags your site ranking into the dark abyss of SEO. Certainly, you do not want that.
A broken link can be:
- A Typo: htt://googl.ecom
- A deleted page (internal or external)
- A moved page without a proper redirect.
How to fix broken “Dead” links?
The first step to fix these broken links is: finding them. This step can be done through a broken links checker script or an app that scans your website's pages for these links.
The second step is to fix the broken link, which will is primary about fixing the cause: a type; fix the URL, enable or publish the page again, a redirect, or delete the broken link.
Before, we start our post, we recommend checking this amazing tool:
Free Broken Link Checker
As an alternative to open-source tools, you can use Free Broken Link Checker by Sitechecher. It is a functional tool that helps to identify broken links. You can use this tool to check URLs and get a report identifying all the dead links. You will also be able to address and fix them. It’s as easy to use their broken link scanner to check the health and SEO of your website as copy and paste your website’s URL.
Free online broken link checker helps you by:
- Conducting a scan of 150 web pages
- Reporting error codes for any broken URLs —including 404 and 502 errors and 301 redirects
- Fixing end-user usability issues to remove problematic redirects
- Providing high-value links for your website through broken link outreach features
- Offering full functionality without creating an account or downloading any software
In this list, we present you with several open-source and tools to check for
Open-source broken (dead) links checkers
Site Inspector is a free open-source web-based tool to check your website for spelling errors, grammatical errors, and broken links. It is built on top Ruby on Rails framework and Vue.js.
Octopus is a free CLI (command-line script), the open-source script built on top of Node.js.
Octopus can work in salient mode, notify a Slack channel through a webhook, ignore no-follow links or external URLs, and include or exclude images.
SEOMacroscope is a website scanning for broken links, images, and more. It is released under (GPL v3.0). It scans the links, redirects and summarizes reports about metadata for every URL, isolates and scans URL subsets, extracts phone numbers and emails, and search for other SEO-related issues.
Linkcheck is a command-line app to check broken links. It can be installed on Windows, Linux, and macOS. Built by Dart language and requires it to work. But, if you can run it using Docker with simple commands.
This is a fast script that goes beyond broken link checkers, as it checks for images, different link types, and respects robot.txt exclusions. This script supports a pause and resumes at any time.
LinkChecker is an open-source (GPL) features-rich link checker and validator. It is written with Python and requires Python 2.7 (Python 3 is not supported yet). This app (LinkChecker) supports many protocols as HTTP, HTTPS, FTP, mailto, nntp, Telenet. Furthermore, it supports authentications, cookies, multithreaded and recursive checking, and more.7- LinkChecker comes with 3 different clients: a command-line interface, GUI client, and CGI web client.
hyperlink is yet another command-line tool to find broken links in static and dynamic sites. It supports <base> tag, and unlike LinkChecker it does not respect or honor robot.txt links.
The ssblc (Static Site Broken Link Checker) is a Node.js command-line script, built to help web admins check internal and external links recursively.
LinkCrawler is an open-source, free C# console app to crawl webpages for images and hyperlinks. It offers webhook support, reporting to CSV files, report to slack, and optional image check.
Linkinator helps you to scan and crawl websites for broken links. It can be configurable with specific regex patterns to skip, scan markdown files, supports redirect, relative and absolute links, and scan remote or local files.
12- Broken Link Checker plugin for WordPress
This is a WordPress plugin (extension) to check the WordPress install for broken links. It is released as an open-source project under GPL-2.0 License.
brök is a Haskell-built useful tool that finds and identifies broken links in any text document. It currently supports both HTTP:// and HTTPS://. You can run it with a Docker container.
mlc is yet another broken link checker for markup and text files. It currently supports HTML and markdown files. mlc is built with Rust programming language.
Linkchecker helps you find broken URLs and broken fragments in any URLs. It can be used as a library to add broken link checkers in any Node.js app.
PyAnchor is a script to find a broken link for any website. It requires Python 3. The script can target a single page, a website, or use a sitemap to look for all site links.
Another dead links checker built on top of Node.js. After it finishes, the website scan generates a rich summary and a report in HTML format.
PHP-linkchecker checks for dead broken links in HTML, JSON, sitemap.xml, markdown, and robots.txt files. It also can be embedded in PHP projects.
W3CLink is a Node.js command-line app to validate and check websites for links.
20- LinkChecker Bookmarklet
LinkChecker is a library and framework to check for the health of URLs. It can be used as a bookmarklet tool.
21- BrokenLinks (Java)
BrokenLinks is a Java app to crawl and find broken links, 404 errors, and 301 redirects in any website.
Our primary goal of this list is to provide you with as many free open-source usable alternatives as possible.
If you know of any other open-source tool or script that does the same, please let us know.