diff --git a/src/components/Layout/Layout.tsx b/src/components/Layout/Layout.tsx index 779687f77152..edee5d2e291c 100644 --- a/src/components/Layout/Layout.tsx +++ b/src/components/Layout/Layout.tsx @@ -8,6 +8,7 @@ import {CONTENT_WRAPPER_ID, DEFAULT_THEME, MENU_ID} from '../../constants'; import {EnvironmentContext} from '../../contexts'; import {useLocale} from '../../hooks/useLocale'; import {block} from '../../utils'; +import type {JsonLd} from '../../utils/structuredData'; import {CustomScrollbar} from '../CustomScrollbar'; import {Footer} from '../Footer/Footer'; import {Menu} from '../Menu/Menu'; @@ -31,6 +32,8 @@ export type LayoutProps = { noScroll?: boolean; meta?: MetaProps; hideLocalePicker?: boolean; + /** Schema.org blocks rendered as JSON-LD inside . */ + jsonLd?: JsonLd[]; }; export const Layout: React.FC = ({ @@ -43,6 +46,7 @@ export const Layout: React.FC = ({ noScroll = false, hideLocalePicker = false, meta = {}, + jsonLd, }) => { const locale = useLocale(); @@ -104,6 +108,13 @@ export const Layout: React.FC = ({ {`Gravity UI${title ? ` – ${title}` : ''}`} + {jsonLd?.map((item, index) => ( +