Skip to content

Flexible library for writing SEO issues detecting rules

Notifications You must be signed in to change notification settings

phucpnt/seo-verify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Requirements

  • Node >= 8.0, npm >= 5.0

How to use this library

Write your own seo rules

  • By default this library came with basic seo rules as the following snippet:
    seoVerify([
      rule('img', attrs => !attrs.alt, '<img /> missing alt'),
      rule('a', attrs => !attrs.rel, '<a /> missing rel'),
      rule('head meta', countLessThan(1)(attrs => attrs.name === 'description'), '<meta name="description" /> not found'),
      rule('head meta', countLessThan(1)(attrs => attrs.name === 'keywords'), '<meta name="keywords" /> not found'),
      rule('strong', countMoreThan(15)(() => true), '<strong> use more than 15 times'),
      rule('h1', countMoreThan(1)(() => true), '<h1> use more than 1 time'),
      rule('title', countLessThan(1)(() => true), '<title> not found'),
    ], yourInputHtml);
  • A seo rule will need:
    1. A html tag or css element element selector
    2. A function for catching seo issue
      if you just need to validate a html tag exits just put a function that return true
    3. A message to print out seo issues on your console.
  • Example for adding new rules:
    const {seoVerify , defaultRules, rule, countLessThan} = require('seo-verify');
    const inputHtml = `
    <!-- your html string -->
    `;
    seoVerify(defaultRules.concat([
      rule('head meta', countLessThan(1)(attrs => attrs.name = 'robot'), '<meta name="robot" /> not found')
      // more rules...
    ]), inputHtml)

About

Flexible library for writing SEO issues detecting rules

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published