https://github.com/ijustdev/seolytics
CLI that verifies the SEO integrity of content.
https://github.com/ijustdev/seolytics
analytics nodejs seo-optimization seotools
Last synced: 7 months ago
JSON representation
CLI that verifies the SEO integrity of content.
- Host: GitHub
- URL: https://github.com/ijustdev/seolytics
- Owner: IJustDev
- Created: 2020-08-14T23:48:16.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-09-01T14:35:49.000Z (about 5 years ago)
- Last Synced: 2025-01-23T14:43:15.404Z (9 months ago)
- Topics: analytics, nodejs, seo-optimization, seotools
- Language: JavaScript
- Homepage:
- Size: 38.1 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
Seolytics
Library for SEO analysis

## What?
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][config]:
```yaml
# example/seolytics.yml
keyword: "SEO"
actions:
- checker.keyword.amount
```and this command:
```sh
$ seolytics check example/test.txt -js -c example/seolytics.yml
```And get an analysis like this:
```json
[
{
"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"
}
}
]
```## Installation
```sh
$ npm i -g seolytics
```## CLI Usage
```sh
$ 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]
``````sh
$ seolytics check example/test.txt -c example/seolytics.yml
```### Actions
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
```## Getting started
If you want to create your own action or your own cli, here is a sample Getting started snippet.```javascript
// 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
```sh
$ node index.js
```and expect following output
```json
[
{
"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"
}
}
]
```## Current features
- check German [Flesch Reading Ease][fre]
- check keyword density
- check lsi keyword occourance
- check meta description[fre]: https://de.ryte.com/wiki/Flesch-Reading-Ease
[config]: ./example/seolytics.yml