
Security News
/Research
Wallet-Draining npm Package Impersonates Nodemailer to Hijack Crypto Transactions
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
react-metamanager-plugin
Advanced tools
Meta tag update & schema markup/structured data deployment
Meta tag update & schema markup/structured data deployment for your React/Next.js frontend.
metamanager platform is connected to websites in order to update meta tags (title, description...) and insert schema markup/structured data for each internal page/URL.
As a frontend developer your can create your account and manage websites in which you want to implement this plugin... And let webmarketers doing the rest of the job: meta tag & schema markup edition...
You can install Metamanager React SEO via NPM:
npm i @metamanager/react-seo
Import @metamanager/react-seo in 4 steps into your React/Next.js project.
Set 3 properties for the provider:
/src/_app.tsx
import { HelmetProvider } from '@metamanager/react-seo';
import { metaManagerContext } from '../context';
export default function App({ Component, pageProps }) {
return (
<HelmetProvider context={metaManagerContext} webSiteId={process.env.MM_WEBSITE_ID} authToken={process.env.MM_TOKEN}>
<Component {...pageProps} />
</HelmetProvider>
);
}
Initialize the Metamanager context here:
/src/context.ts
import { HelmetContextData } from "@metamanager/react-seo";
export const metaManagerContext : HelmetContextData={}
Fetch & display meta tags & schema markup in the document template:
/src/_document.tsx
import { HelmetContextData } from "@metamanager/react-seo";
import { metaManagerContext } from "../context";
import Document, { Html, Head, Main, NextScript } from "next/document";
import { ReactNode } from "react";
class MyDocument extends Document<{ metaManagerContext: HelmetContextData }> {
static async getInitialProps(ctx: any) {
const initialProps = await Document.getInitialProps(ctx);
/** Use this logic to wait for API call */
const data = new Promise((resolve, _) => {
let timeOut = 7;
let interval_time = 5000;
const interval = setInterval(() => {
timeOut -= 1;
if (metaManagerContext.apiData || !(timeOut > 0)) {
resolve(metaManagerContext);
clearInterval(interval);
}
}, interval_time);
});
const _hc = await data;
/** return initialProps along with the context data */
return { ...initialProps, metaManagerContext: _hc };
}
render() {
return (
<Html>
{/** Use the data to display meta tags */}
{
this.props.metaManagerContext?.helmet?.title?.toComponent() as ReactNode
}
{
this.props.metaManagerContext?.helmet?.meta?.toComponent() as ReactNode
}
{
this.props.metaManagerContext?.helmet?.script?.toComponent() as ReactNode
}
<Head></Head>
<body>
<Main />
<NextScript />
</body>
</Html>
);
}
}
export default MyDocument;
Import & insert SEO Helmet component from @metamanager/react-seo to display meta tags & schema markups for the relevant page path.
/src/pages/index.tsx
import { Helmet } from '@metamanager/react-seo';
export default function Home() {
return (
<>
{/** meta tags inside the Helmet wrapper will be updated automatically by metamanager API */}
<Helmet path="/" />
<main>Add your components here...</main>
</>
);
}
To make the plugin work, an account must be created in https://metamanager.io.
This platform allows users to work on meta data and schema markup which will be sent to your website. You will also receive the website ID & API token to configure the plugin.
FAQs
Meta tag update & schema markup/structured data deployment
We found that react-metamanager-plugin 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
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.