Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
seo-checker
Advanced tools
Readme
A library for checking basic SEO signals on a web page
Install with npm npm install seo-checker --save
Require the library and then all the methods listed below will be made available to you.
var seochecker = require('seo-checker');
var pageBody = seochecker.load('http://google.com');
This library does not interpret SEO signals itself. It needs you to write the rules. What it does do is crawl and parse one or more web pages and returns an object or an array of object containing data you can use to determine the quality of a page's SEO.
To parse a single page use the load
and meta
methods in sequence. load
will fetch the contents of a URL as a string and pass its result to the callback you specify. Call meta
inside of your callback to parse the page data.
var page = seochecker.load('https://google.com', function(response) {
if(!response) { // response will be false on error
// error
} else {
// Do stuff with response object. See below for properties
}
});
You can crawl a website and gather SEO data on any number of pages at once before parsing the results and returning a result. The crawl
method takes a URL, an options object, and an optional (recommended) callback function.
seochecker.crawl('https://google.com', {htmlOnly: true}, function(pages) {
var util = require('util');
console.log(util.inspect(pages));
});
The object returned will look like the example below when using the meta
or crawl
methods. If you use the crawl
method the value will be wrapped inside of an array you can iterate over otherwise only a single object with these properties are returned.
// Example of response for a single page (not a crawl)
{
title: 'Page title tag value',
description: 'Meta description value from page',
author: 'Meta author attribute',
keywords: null, // Null when empty or the string contained in the <meta name="keywords" /> tag
heading1: 'First H1 Tag on Page',
totalHeadings: 1, // Number of H1 tags on the page
imgAccessibility: 100 // Image accessibility score
}
Most of the items in the returned object are self explanatory. Here are the ones that may not be obvious:
heading1
: This is the text of the first H1 heading tag on the pagetotalHeadings
: Counts how many H1 tags on a pageimgAccessibility
- This is the percentage of images on a page that have no alt
or title
attributes.git clone https://github.com/Clever-Labs/seo-checker.git && cd seo-checker
npm install
Now you can develop!
SEO Checker's tests are written with Nodeunit. Run grunt nodeunit
or npm test
to run them. All tests must pass in the master
branch before we release new versions.
We would especially appreciate anyone who contributes more/better tests for the code that already exists.
Contributions are very welcome! This is a project we created to fulfill a pretty specific use case. Although we tried to make it as generic as possible we think we can improve. So if you want to expand on our work and make this library appeal to a broader range of use cases or platforms then please share your pull requests and we'll accept them.
Branching
We have two main branches we use for development; master
and develop
. master
is our latest stable release and develop
contains changes that'll make it to next release. When contributing, do not commit to either of these branches. Instead, create a branch off of the develop
branch and make your changes there. After that we'll merge your changes into develop
before finally releasing the next version by merging those changes into master
. The develop
branch is stable enough to use and develop against but the master
branch is what you want if you only intend to use the library and not contribute.
Requirements for pull requests
develop
(see above).editorconfig
file that'll get your 90% of the way there if your editor supports EditorConfig.Broken or missing tests won't necessarily get a pull request rejected but it'll probably take quite a bit of time before we can fix it and merge it into the existing code.
FAQs
A library for checking basic SEO signals of a website
The npm package seo-checker receives a total of 300 weekly downloads. As such, seo-checker popularity was classified as not popular.
We found that seo-checker demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.