Seo.js 3.71 KB
import { cleanImage } from "../../components/imageHandling";
import Head from "next/head";
import React from "react";
const Seo = (props) => {
  const imgUrl = cleanImage(props?.seo?.metaImage?.data?.attributes?.url);
  const schema = props?.seo?.schema;
  const Bschema = props?.seo?.BodySchema;

  return (
    <>
      <Head>
        <meta name="robots" content="index, follow" />
        <meta name="googlebot" content="index, follow" />
        <title>
          {props?.seo?.metaTitle == null
            ? props?.seo?.metaTitle
            : props?.seo?.metaTitle}
        </title>
        <meta
          name="keywords"
          content={props?.seo?.keywords == null ? "" : props?.seo?.keywords}
        />
        <meta
          name="description"
          content={
            props?.seo?.metaDescription == null
              ? ""
              : props?.seo?.metaDescription
          }
        />
        <link
          rel="canonical"
          href={
            props?.seo?.canonicalURL == null ? "" : props?.seo?.canonicalURL
          }
        />
        <link
          rel="alternate"
          href={
            props?.seo?.canonicalURL == null ? "" : props?.seo?.canonicalURL
          }
          hreflang="en-in"
        />

        {/* <meta
          name="robots"
          content={props?.seo?.metaRobots == null ? "" : props?.seo?.metaRobots}
        />
        <meta
          name="googlebot"
          content={props?.seo?.googlebots == null ? "" : props?.seo?.googlebots}
        /> */}
        <meta
          property="og:title"
          content={props?.seo?.metaTitle == null ? "" : props?.seo?.metaTitle}
        />
        <meta
          property="og:description"
          content={
            props?.seo?.metaDescription == null
              ? ""
              : props?.seo?.metaDescription
          }
        />

        {/*twitter card*/}

        <meta
          name="twitter:title"
          content={props?.seo?.metaTitle == null ? "" : props?.seo?.metaTitle}
        />

        <meta
          name="twitter:description"
          content={
            props?.seo?.metaDescription == null
              ? ""
              : props?.seo?.metaDescription
          }
        />

        {/*twitter card*/}

        <meta property="og:type" content="website" />
        <meta
          property="og:url"
          content={
            props?.seo?.canonicalURL == null ? "" : props?.seo?.canonicalURL
          }
        />
        <meta property="og:image" content={imgUrl == null ? "" : imgUrl} />
        {/* <script type="application/ld+json">{JSON.stringify(props?.seo?.structuredData) == null ? "" : JSON.stringify(props?.seo?.structuredData)}</script> */}
        {schema &&
          schema.map((item, index) => {
            // console.log("item", item);
            return (
              <script
                key={"websiteJSON" + index}
                type="application/ld+json"
                dangerouslySetInnerHTML={{
                  __html: JSON.stringify(item?.jsonSchema, null, 2)
                    ? JSON.stringify(item?.jsonSchema, null, 2)
                    : "",
                }}
              ></script>
            );
          })}
      </Head>
      <>
        {Bschema &&
          Bschema.map((item, index) => {
            // console.log("item", item);
            return (
              <script
                key={"websiteJSON" + index}
                type="application/ld+json"
                dangerouslySetInnerHTML={{
                  __html: JSON.stringify(item?.jsonSchema, null, 2)
                    ? JSON.stringify(item?.jsonSchema, null, 2)
                    : "",
                }}
              ></script>
            );
          })}
      </>
    </>
  );
};
export default Seo;