{"id":7370,"library":"linkchecker","title":"LinkChecker","description":"LinkChecker is a free, GPL-licensed website validator that checks links in web documents or full websites. It supports recursive and multithreaded checking, various output formats (text, HTML, SQL, CSV, XML), proxy support, and honors the robots.txt exclusion protocol. The current version is 10.6.0 and it is actively maintained with frequent releases, often multiple times a year.","status":"active","version":"10.6.0","language":"en","source_language":"en","source_url":"https://github.com/linkchecker/linkchecker","tags":["web","link-checking","cli","validation","website","crawler","broken-links"],"install":[{"cmd":"pip install linkchecker","lang":"bash","label":"Install with pip"},{"cmd":"pipx install linkchecker","lang":"bash","label":"Install with pipx (recommended for CLI tools)"}],"dependencies":[{"reason":"Requires Python 3.9 or later.","package":"Python","optional":false},{"reason":"Used for parsing HTML; minimum version 4.8.1 required since v10.0.1.","package":"BeautifulSoup4","optional":false}],"imports":[{"note":"The 'linkchecker' package itself is typically used as a standalone command-line executable, not as a Python library for direct function calls. Trying to `import linkchecker` will likely result in a `ModuleNotFoundError` or expose an internal API not intended for public use.","wrong":"import linkchecker","symbol":"linkchecker","correct":"This is primarily a command-line tool. Direct programmatic import of the main 'linkchecker' utility is not the standard usage pattern. Instead, execute it as a shell command."}],"quickstart":{"code":"linkchecker https://www.example.com","lang":"bash","description":"To check a website for broken links, execute the `linkchecker` command followed by the URL in your terminal. This command will recursively validate pages starting from the given URL and check external links without recursing into them."},"warnings":[{"fix":"Ensure you are running Python 3.9+ and install LinkChecker version 10.0.0 or later.","message":"LinkChecker transitioned from Python 2 to Python 3 with version 10.0.0. Older versions (pre-10.0.0) are incompatible with Python 3 environments.","severity":"breaking","affected_versions":"<10.0.0"},{"fix":"Upgrade your Python environment to 3.9 or newer before installing LinkChecker.","message":"The minimum required Python version has progressively increased. LinkChecker 10.4.0 and later requires Python 3.9+. Earlier versions had lower requirements (e.g., 3.7 for v10.2.0, 3.8 for v10.3.0).","severity":"breaking","affected_versions":"<10.4.0"},{"fix":"If you rely on NNTP or Telnet link checking, you will need to use an older version of LinkChecker or find an alternative solution for these protocols.","message":"Support for checking NNTP and Telnet links was removed in version 10.3.0.","severity":"deprecated","affected_versions":">=10.3.0"},{"fix":"Upgrade to LinkChecker 10.6.0 or later to ensure proper HTTPS certificate verification for redirected links.","message":"Prior to version 10.6.0, LinkChecker did not verify the SSL/TLS certificate of the HTTPS connection when an HTTP URL redirected to HTTPS. This could lead to security vulnerabilities.","severity":"gotcha","affected_versions":"<10.6.0"},{"fix":"To suppress these warnings, use the `--ignore-warnings=http-redirected` command-line option or configure `ignorewarningsforurls` in your `.linkcheckerrc` configuration file (available since v10.5.0).","message":"LinkChecker often reports HTTP 301 (Moved Permanently) redirects as warnings by default, which can result in verbose output.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Increase the default timeout duration using the `--timeout=SECONDS` command-line option (e.g., `--timeout=300` for 5 minutes).","message":"When checking slow or under-development sites, LinkChecker may report many timeouts.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"last_verified":"2026-04-16T00:00:00.000Z","next_check":"2026-07-15T00:00:00.000Z","problems":[{"fix":"Ensure your shell's PATH includes the directory where pip/pipx installs executables. If using `pipx`, verify `pipx ensurepath` has been run. You can also try running `python -m linkchecker --help`.","cause":"The `linkchecker` executable is not in your system's PATH, or the installation via pip/pipx was not properly completed/sourced.","error":"linkchecker: command not found"},{"fix":"Review your configuration file and any cookie files for syntax errors or malformed content. Ensure they are valid and readable.","cause":"Since v10.4.0, LinkChecker will explicitly exit if it encounters issues parsing the configuration file (`~/.linkchecker/linkcheckerrc`) or a specified cookie file. Older versions might have raised an exception instead.","error":"Error: problems with a configuration file or cookie file detected on startup"},{"fix":"Upgrade LinkChecker to version 10.3.0 or later to resolve known issues with FTP link checking.","cause":"Prior to version 10.3.0, the FTP checker module had bugs, including raising `TypeError` and ignoring `maxfilesizedownload`.","error":"TypeError: 'NoneType' object is not iterable (or similar FTP related errors)"},{"fix":"Upgrade to LinkChecker 10.3.0 or later. If using configuration files for credentials, verify the format as login entries may have changed (v10.0.0).","cause":"In versions prior to 10.3.0, the `-p`/`--password` command-line option for specifying passwords was ignored.","error":"linkchecker: error: argument -p/--password: ignored"}]}