seologs-exclusion-checker
v1.0.5
Published
An utility used to decide whether to exclude an object based on your exclusion rules.
Readme
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