🔗 Check wether or not a link is broken.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
.editorconfig
.gitattributes
.gitignore
.travis.yml
CHANGELOG.md
LICENSE
README.md
index.js
package.json
test.js

README.md

broken-link Build Status

Check wether or not a link is broken.

Install

$ npm install broken-link --save

Usage

var brokenLink = require('broken-link');

brokenLink('http://non-existing-domain-name.com')
          .then(function(answer) {
            console.log('link is%s broken', answer ? '' : ' not'); // link is broken
          });

API

To determine if a link is broken, some of the following must be true:

  1. Request fails with an error.
  2. Request response status code is 404.
  3. Response identified a redirect.
  4. Page URL matches options.match404Page.

Note that this is the default behavior but you can fully customize it.

brokenLink(url, [options])

Return: promise

url

Required Type: string

URL to test against.

options

Type: object

Available options.

options.allowRedirects

Type: boolean
Default: false

Wether or not to allow redirects.

options.allow404Pages

Type: boolean
Default: false

Wether or not 404 pages are allowed. To tell if it's a 404 page, it will test again the request URL. See options.match404Page.

options.allowSoft404

Type: boolean
Default: false

This is an alias to both options.allowRedirects and options.allow404Pages. For more information about soft 404's, click here.

options.ignoreErrors

Type: array
Defaults: an empty array

List of error codes that should be ignored.

options.ignoreStatusCodes

Type: array
Defaults: an empty array

List of status codes that should be ignored.

options.match404Page

Type: regexp
Default: /404|erro|page/i

Pattern that checks if a URL can be considered a 404 page.

License

MIT © Rafael Rinaldi