@nightmaregaurav/react-meta-tags
Version:
Simple react meta tags component.
43 lines (42 loc) • 2.77 kB
JavaScript
import React from "react";
const RenderMetaTags = ({ title = "", description = "", image = "favicon.ico", currentUrl = window.location.href, keywords = "", }) => {
keywords = keywords.split(",").map(keyword => keyword.trim()).join(", ") + `, ${title}`;
return (React.createElement(React.Fragment, null,
React.createElement("meta", { charSet: "UTF-8" }),
React.createElement("meta", { name: "viewport", content: "width=device-width, initial-scale=1.0" }),
React.createElement("meta", { charSet: "utf-8" }),
React.createElement("meta", { name: "viewport", content: "width=device-width, initial-scale=1" }),
React.createElement("meta", { name: "title", content: title }),
React.createElement("meta", { name: "description", content: description }),
React.createElement("meta", { name: "author", content: title }),
React.createElement("meta", { name: "keywords", content: keywords }),
React.createElement("meta", { name: "robots", content: "index, follow" }),
React.createElement("meta", { name: "theme-color", content: "#ffffff" }),
React.createElement("link", { rel: "canonical", href: currentUrl }),
React.createElement("meta", { property: "og:type", content: "website" }),
React.createElement("meta", { property: "og:url", content: currentUrl }),
React.createElement("meta", { property: "og:title", content: title }),
React.createElement("meta", { property: "og:description", content: description }),
React.createElement("meta", { property: "og:image", content: image }),
React.createElement("meta", { property: "og:site_name", content: title }),
React.createElement("meta", { property: "og:locale", content: "en_US" }),
React.createElement("meta", { property: "og:updated_time", content: new Date().toISOString() }),
React.createElement("meta", { property: "twitter:card", content: "summary_large_image" }),
React.createElement("meta", { property: "twitter:url", content: currentUrl }),
React.createElement("meta", { property: "twitter:title", content: title }),
React.createElement("meta", { property: "twitter:description", content: description }),
React.createElement("meta", { property: "twitter:image", content: image }),
React.createElement("script", { type: "application/ld+json" }, JSON.stringify({
"@context": "https://schema.org",
"@type": "WebPage",
"name": title,
"description": description,
"image": image,
"url": currentUrl,
"author": {
"@type": "Person",
"name": title
}
}))));
};
export default RenderMetaTags;