An utility used to decide whether to exclude an object based on your exclusion rules.
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());
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.
Run the following command:
npm test