UNPKG

@dijitrak/react-nextjs-seo-plugin

Version:

A modern, user-friendly SEO plugin for React and Next.js with multilingual support and comprehensive optimization tools

65 lines (54 loc) 1.58 kB
/** * React entegrasyonu için SEO bileşenleri */ import { generateMetaTags, generateHreflangTags } from '../core/meta.js'; import { generateJSONLD } from '../core/jsonld.js'; /** * SEO başlık ve meta etiketleri bileşeni * @param {object} props Component props * @returns {JSX.Element} React component */ export function SEOHead(props) { const { title, description, pageUrl, ogImage, meta, schema, languageMetadata } = props; // Meta verilerini hazırla const metaData = meta || { title: title || '', description: description || '', ogImage: ogImage || '', canonicalUrl: pageUrl || '' }; // Meta etiketlerini oluştur const metaTags = generateMetaTags(metaData); // Hreflang etiketlerini oluştur const hreflangTags = languageMetadata ? generateHreflangTags(languageMetadata) : ''; // JSON-LD şemalarını oluştur const jsonldTags = schema ? generateJSONLD(schema) : ''; // HTML'i güvenli bir şekilde render et return ( <> <div dangerouslySetInnerHTML={{ __html: metaTags }} /> <div dangerouslySetInnerHTML={{ __html: hreflangTags }} /> <div dangerouslySetInnerHTML={{ __html: jsonldTags }} /> </> ); } /** * JSON-LD şema bileşeni * @param {object} props Component props * @returns {JSX.Element} React component */ export function JSONLDSchema({ schemas }) { if (!schemas || schemas.length === 0) { return null; } const jsonldTags = generateJSONLD(schemas); return <div dangerouslySetInnerHTML={{ __html: jsonldTags }} />; }