seologs-exclusion-checker

1.0.5 • Public • Published

An utility used to decide whether to exclude an object based on your exclusion rules.

Usage

Consider an object that contains exclusion rules that looks like this:

{
    url: "\.(css|js)"
}

Or :

{
    url: [
        "\.css",
        "\.js"
    ]
}

Consider an object that looks like this:

{
    url: "https://sub.domain/assets/style.css",
    userAgent: "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0",
    domain: "sub.domain"
}

You can check if your object should be excluded based to the rules defined.

Example:

const { Excluder } = require('seologs-exclusion-checker');

const exclusionChecker = new Excluder();

let exclusions = {
    url: "\.(css|js)"
    // url: ["\.css", "\.js"]
};

let data = {
    url: "http://website/assets/style.css"
};

let result = exclusionChecker.check(data, exclusions);

if (true === result) {
    // exclude the object
}

// print a report of all done exclusions
console.log(exclusionChecker.getReport());

Exclusion rules

The exclusion rules are defined in an object that accepts the following properties:

  • domain
  • ip
  • url
  • userAgent

The value of each property is a the pattern to search for, as a regular expression string or an array of regex.

Example:

{
    url: "\.(css|js)",
    userAgent: "^Mozilla/5.0 \(compatible; bingbot/2.0; \+http://www.bing.com/bingbot.htm\)$"
}

Or :

{
    url: [
        "\.css",
        "\.js"
    ],
    userAgent: "^Mozilla/5.0 \(compatible; bingbot/2.0; \+http://www.bing.com/bingbot.htm\)$"
}

These exclusion rules are defined in SEO Logs backoffice as an ini string.

Example:

[exclude]
url = "\.(css|js)"
userAgent: "^Mozilla/5.0 \(compatible; bingbot/2.0; \+http://www.bing.com/bingbot.htm\)$"

Or :

[exclude]
url[] = "\.css"
url[] = "\.js"
userAgent: "^Mozilla/5.0 \(compatible; bingbot/2.0; \+http://www.bing.com/bingbot.htm\)$"

Case sensitive?

No.

Test

Run the following command:

npm test

Readme

Keywords

none

Package Sidebar

Install

npm i seologs-exclusion-checker

Weekly Downloads

1

Version

1.0.5

License

ISC

Unpacked Size

11.2 kB

Total Files

5

Last publish

Collaborators

  • nahoy31