Seolytics is an library with included CLI that analysis content from a SEO point of view.
Basically it allows you to analyse a text like this:
# example/test.txt
Das ist ein einfacher Test.
with the help of this config:
# example/seolytics.yml
keyword: "SEO"
actions:
- checker.keyword.amount
and this command:
$ seolytics check example/test.txt -js -c example/seolytics.yml
And get an analysis like this:
[
{
"name": "Flesch reading ease",
"result": {
"errorCode": 0,
"value": 99,
"message": "Text is perfect"
}
},
{
"name": "Keyword Density",
"result": {
"errorCode": 2,
"value": 0,
"message": "Out of bounds. Keyword density should be between 3% and 1.5%"
}
},
{
"name": "Check LSI Keywords",
"result": {
"errorCode": 0,
"value": null,
"message": "All keywords included"
}
}
]
$ npm i -g seolytics
$ seolytics --help
seolytics [command]
Commands:
seolytics check [filename] Verifies SEO integrity of the files' content.
Options:
--help Show help [boolean]
--version Show version number [boolean]
--config, -c Defines a config file that is used throughout the content
check. [string]
--json
--keyword, -k The keyword the content checker should look out for. [string]
$ seolytics check example/test.txt -c example/seolytics.yml
Actions are certain functions that can be called to determine the SEO rating of your content.
You can define these actions in your config (check the [example config][example-config])
checker.keyword.density
checker.keyword.amount
checker.lsi.amount
checker.meta.validity
checker.flesch.score
counter.words
counter.sentences
counter.chars
If you want to create your own action or your own cli, here is a sample Getting started snippet.
// index.js
const {
ContentChecker,
FleschReadingEase,
} = require('seolytics');
const content = 'Das ist ein einfacher Test';
const actions = [
new FleschReadingEase(),
];
const params = {
content,
keyword: 'Test',
lsiKeywords: ['einfacher']
}
const kwchecker = new ContentChecker(params, actions);
console.log(JSON.stringify(kwchecker));
Run it with
$ node index.js
and expect following output
[
{
"name": "Keyword Density",
"result": {
"errorCode": 2,
"value": 9.090909090909092,
"message": "Out of bounds. Keyword density should be between 3% and 1.5%"
}
},
{
"name": "Check LSI Keywords",
"result": {
"errorCode": 0,
"value": null,
"message": "All keywords included"
}
},
{
"name": "Flesch reading ease",
"result": {
"errorCode": 0,
"value": 71.625,
"message": "Text is perfect"
}
}
]
- check German Flesch Reading Ease
- check keyword density
- check lsi keyword occourance
- check meta description