1.0.1 • Published 5 years ago
seo-tags-helper v1.0.1
SEO Tags Helper
Generates Meta Tags for SEO, Facebook Open Graph, Twitter Cards
Installation
npm i seo-tags-helperGetting Started
// Node.js
const seoHelper = require('seo-tags-helper')Usage
seoHelper.print( meta = {}, config = {} )Returns the constructed HTML Output String, using data specified in meta.
metaAn object containing data for meta tags, values specified here override the default values (if specified)Refer Here for a list of possible keys for
metaconfigAn object containing configuration options, values specified here override the global configurationRefer Here for a list of possible configuration options
seoHelper.setConfig( config = {} )Sets Global Configuration
Refer Here for a list of possible configuration options
seoHelper.setDefault( defaultMeta = {} )Sets default values for meta tags data, default values are used as fallbacks for keys not specified in seoHelper.print
Refer Here for a list of possible keys for defaultMeta
Example with ejs
// Controller
const seoHelper = require("seo-tags-helper");
// Set Default Value, acts as fallback
seoHelper.setDefault({ title: "Dummy Title" });
// Set Global Config
seoHelper.setConfig({ enableRobots: false, enableFacebookOg: false });
module.exports.dummy = (req, res) => {
const metaData = {
title: "Lorem Ipsum",
favicon: "https://picsum.photos/60",
desc: "Lorem ipsum dolor sit amet consectetur adipisicing elit. ",
twitterTitle: "Twitter - Dummy Title",
twitterDesc: "Twitter - Lorem ipsum dolor sit amet consectetur adipisicing elit",
twitterImage: "https://picsum.photos/400",
twitterUrl: "https://www.lipsum.com/",
};
// Pass Data To view
res.render("view", { metaData, seoHelper });
});
};<!-- View -->
<html>
<head>
<!-- Pass config as the second argument, overrides global config -->
<%- seoHelper.print(metaData, { useGeneralAsDefault: false } ) %>
</head>
<body>
Hello World
</body>
</html>Configuration Options
| Option | Default | Description |
|---|---|---|
| enableGeneral | true | Enable General Meta Tags |
| enableFacebookOg | true | Enable Tags for Facebook Open Graph |
| enableTwitter | true | Enable Tags for Twitter Cards |
| enableRobots | true | Allow / Disallow Robots |
| useGeneralAsDefault | true | Use General tags as default for Facebook and Twitter |
Meta Tags Data Reference
| Key | Description |
|---|---|
| title | Meta Title |
| desc | Meta Description |
| image | Image to be used for Facebook and Twitter if ogImage or twitterImage is missing and enableGeneralAsDefault is set to true |
| imageAlt | Alt Text for Image |
| url | Url to be used for Facebook and Twitter if ogUrl or twitterUrl are missing and enableGeneralAsDefault is set to true |
| favicon | Link to Favicon Image |
| ogTitle | Title to be used for Facebook Open Graph, defaults to title if enableGeneralAsDefault is set to true |
| ogType | Type to be used for Facebook Open Graph - article, audio, video etc. |
| ogDesc | Description to be used for Facebook Open Graph, defaults to desc if enableGeneralAsDefault is set to true |
| ogImage | Image to be used for Facebook Open Graph, defaults to image if enableGeneralAsDefault is set to true |
| ogImageAlt | Alt Text for ogImage |
| ogUrl | Url to be used for Facebook Open Graph, defaults to url if enableGeneralAsDefault is set to true |
| ogFbAppId | Facebook App ID |
| twitterTitle | Title to be used for Twitter Card, defaults to title if enableGeneralAsDefault is set to true |
| twitterDesc | Description to be used for Twitter Card, defaults to desc if enableGeneralAsDefault is set to true |
| twitterUrl | Url to be used for Twitter Card, defaults to url if enableGeneralAsDefault is set to true |
| twitterImage | Image to be used for Twitter Card, defaults to image if enableGeneralAsDefault is set to true |
| twitterImageAlt | Alt Text for twitterImage |