Simple SEO managment that makes managing SEO easier in NextJS v13+ projects.
This project was based to garmeeh/next-seo.
With npm
npm install --save @meluiz/next-seo
Or yarn
yarn add --save @meluiz/next-seo
// app/head.jsx
import React from "react";
import { seo } from "@meluiz/next-seo";
export default function Head() {
return <React.Fragment>{seo.render()}</React.Fragment>;
}
// app/head.jsx
import React from "react";
import { seo } from "@meluiz/next-seo";
export default function Head() {
seo.default({ ...SEOProps });
return <React.Fragment>{seo.render()}</React.Fragment>;
}
// app/page.jsx
import React from "react";
import { seo } from "@meluiz/next-seo";
export default function Page({ children }) {
seo.make({ ...SEOProps });
return <div>{children}</div>;
}
The default
and make
method work with this bollow props:
Property | Type |
---|---|
title | string |
titleTemplate | string |
noindex | boolean |
nofollow | boolean |
robots | Robots |
description | string |
cononical | string |
themeColor | string |
metatag | Array<Metatag> |
linktag | Array<Linktag> |
opengraph | Opengraph |
Property | Type |
---|---|
nosnippet | boolean |
maxSnippet | number |
maxImagePreview | "none", "standard" or "large" |
maxVideoPreview | number |
noarchive | boolean |
unavailableAfter | string |
noimageindex | boolean |
notranslate | boolean |
Property | Type |
---|---|
authors | Array<string> |
isbn | string |
releaseDate | string |
tags | Array<string> |
Property | Type |
---|---|
role | string |
profile | string |
Property | Type |
---|---|
actors | Array<VideoActor> |
directors | Array<string> |
writers | Array<string> |
duration | number |
releaseDate | string |
tags | Array<string> |
series | string |
Property | Type |
---|---|
publishedTime | string |
modifiedTime | string |
expirationTime | string |
authors | Array<string> |
section | string |
tags | Array<string> |
Property | Type |
---|---|
firstName | string |
lastName | string |
username | string |
gender | string |
Property | Type |
---|---|
url | string |
type | string |
title | string |
description | string |
siteName | string |
locale | string |
book | Book |
video | Video |
article | Article |
profile | Profile |
images | Media[] |
videos | Media[] |
audio | Media[] |
defaultImageHeight | number |
defaultImageWidth | number |
defaultOpenGraphVideoWidth | number |
defaultOpenGraphVideoHeight | number |
Property | Type |
---|---|
name | string |
property | string |
httpEquiv | "content-security-policy", "content-type", default-style", "x-ua-compatible" or "refresh" |
content | string |
keyOverride | string |
Property | Type |
---|---|
rel | string |
href | string |
sizes | string |
media | string |
type | string |
color | string |
keyOverride | string |
as | string |
crossOrigin | string |
Property | Type |
---|---|
site | string |
handle | string |
cardType | "summary", "summary_large_image", "app" or "player" |
Property | Type |
---|---|
url | string |
type | string |
title | string |
description | string |
siteName | string |
locale | string |
book | Book |
video | Video |
article | Article |
profile | Profile |
images | Array<Media> |
videos | Array<Media> |
audio | Array<Media> |
defaultImageHeight | number |
defaultImageWidth | number |
defaultOpenGraphVideoWidth | number |
defaultOpenGraphVideoHeight | number |