SEO / HTML Meta Tags Module for Nuxt.js by Tiago Danin.
SEO / HTML Meta Tags Module for Nuxt.js
Module available through the npm registry. It can be installed using the npm or yarn command line tool.
# Yarn (Recomend)
yarn add nuxt-seo
# NPM
npm install nuxt-seo --save
nuxt-seo to modules section of your nuxt.config.js{
modules: [
'nuxt-seo'
],
seo: {
// Module options
baseUrl: 'https://myWebSite',
name: '<name of site>',
title: '<title default>',
templateTitle: '%name% - %title%',
description: '<description default>',
canonical: 'auto',
isForcedTrailingSlash: false
//...
}
}
charsetutf-8baseUrlnamefalsetitleTITLEdescriptionfalsekeywords[]langenlanguageEnglishcanonicalThe auto this will automatically generate according to the route, or put the route manually
autoisForcedTrailingSlashCanonical force URL end with trailing slash
trueimagefalseauthorfalseopenGraph[type]urlfalse{...all}charset, lang, language, copyright, name, subtitle, author, replyTo, description, keywords, url, noindex.ids.0, noindex.ids.1, noindex.ids, noindex.value.0, noindex.value.1, noindex.value, noindex, robots.ids.0, robots.ids.1, robots.ids, robots, openGraph.name, openGraph.title, openGraph.description, openGraph.locale, openGraph.url, openGraph.type, openGraph.profile.firstName, openGraph.profile.lastName, openGraph.profile.username, openGraph.profile.gender, openGraph.profile, openGraph.article.publishedTime, openGraph.article.modifiedTime, openGraph.article.expirationTime, openGraph.article.author.multi, openGraph.article.author, openGraph.article.section, openGraph.article.tag.multi, openGraph.article.tag, openGraph.article.authors.multi, openGraph.article.authors, openGraph.article.tags.multi, openGraph.article.tags, openGraph.article, openGraph.image.multi, openGraph.image.url, openGraph.image.width, openGraph.image.height, openGraph.image.alt, openGraph.image, openGraph.book.author.multi, openGraph.book.author, openGraph.book.isbn, openGraph.book.releaseDate, openGraph.book.tag.multi, openGraph.book.tag, openGraph.book.authors.multi, openGraph.book.authors, openGraph.book.tags.multi, openGraph.book.tags, openGraph.book, openGraph.price.currency, openGraph.price.amount, openGraph.price, openGraph.images.multi, openGraph.images.url, openGraph.images.width, openGraph.images.height, openGraph.images.alt, openGraph.images, openGraph, facebook.appId, facebook.pageId, facebook, twitter.title, twitter.description, twitter.card, twitter.type, twitter.site, twitter.creator, twitter, article.publishedTime, article.modifiedTime, article.expirationTime, article.author.multi, article.author, article.section, article.tag.multi, article.tag, article.authors.multi, article.authors, article.tags.multi, article.tags, article, book.author.multi, book.author, book.isbn, book.releaseDate, book.tag.multi, book.tag, book.authors.multi, book.authors,
book.tags.multi, book.tags, book, image.multi, image.url, image.width, image.height, image.alt, image, images.multi, images.url, images.width, images.height, images.alt, images, og.name, og.title, og.description, og.locale, og.url, og.type, og.profile.firstName, og.profile.lastName, og.profile.username, og.profile.gender, og.profile, og.article.publishedTime, og.article.modifiedTime, og.article.expirationTime, og.article.author.multi, og.article.author, og.article.section, og.article.tag.multi, og.article.tag, og.article.authors.multi, og.article.authors, og.article.tags.multi, og.article.tags, og.article, og.image.multi, og.image.url, og.image.width, og.image.height, og.image.alt, og.image, og.book.author.multi, og.book.author, og.book.isbn, og.book.releaseDate, og.book.tag.multi, og.book.tag, og.book.authors.multi, og.book.authors, og.book.tags.multi, og.book.tags, og.book, og.price.currency, og.price.amount, og.price, og.images.multi, og.images.url, og.images.width, og.images.height, og.images.alt, og.images, og, fb.appId, fb.pageId, fb
head: function({ $seo }) { $seo(options) }head: function() { this.$seo(options) }<template>
<h1>Hello World</h1>
</template>
<script>
export default {
head: function() {
return this.$seo({
name: 'Name app',
title: 'Home Page',
templateTitle: '%name% - %title%',
description: 'Hello World Page'
})
}
}
</script>
NOTE: Do not use in Server-Side Rendering (SSR) mode. In SSR you should use the Nuxt Head Context.
asyncData: function({ seo }) { seo(options) }asyncData: function({ $seo }) { $seo(options) }asyncData: function() { this.seo(options) }asyncData: function() { this.$seo(options) }<template>
<h1>Hello World</h1>
</template>
<script>
export default {
asyncData: function(ctx) {
ctx.seo({
name: 'Name app',
title: 'Home Page',
templateTitle: '%name% - %title%',
description: 'Hello World Page'
})
}
}
</script>
To run the test suite, first install the dependencies, then run test:
# Using Yarn
yarn test
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue. List of all contributors.
JavaScript
73