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

128 lines (118 loc) 2.26 kB
/** * SEO Plugin tip tanımları */ /** * SEO Plugin konfigürasyonu */ export interface SEOPluginConfig { defaultTitle?: string; defaultDescription?: string; defaultImage?: string; defaultTwitterCard?: 'summary' | 'summary_large_image' | 'app' | 'player'; ogSiteName?: string; twitterHandle?: string; siteLanguage?: string; apiUrl?: string; } /** * SEO Meta verileri */ export interface SEOMetaData { title: string; description: string; keywords?: string; allowIndex?: boolean; allowFollow?: boolean; canonicalUrl?: string; ogTitle?: string; ogDescription?: string; ogImage?: string; ogType?: string; twitterTitle?: string; twitterDescription?: string; twitterImage?: string; twitterCard?: 'summary' | 'summary_large_image' | 'app' | 'player'; language?: string; focusKeyword?: string; } /** * SEO başlık bileşeni props */ export interface SEOHeadProps { title?: string; description?: string; ogImage?: string; pageUrl?: string; meta?: SEOMetaData; schema?: JSONLDSchema[]; languageMetadata?: LanguageMetadata; } /** * Dil metadata bilgileri */ export interface LanguageMetadata { primary?: string; alternate?: Array<{ hrefLang: string; href: string; }>; } /** * JSON-LD şema tipi */ export type SchemaType = | 'WebSite' | 'Organization' | 'LocalBusiness' | 'Person' | 'Product' | 'Article' | 'BlogPosting' | 'Event' | 'FAQ' | 'HowTo' | 'BreadcrumbList' | 'Recipe' | 'VideoObject'; /** * JSON-LD şema */ export interface JSONLDSchema { type: SchemaType; data: Record<string, any>; } /** * SEO puanı */ export interface SEOScore { overall: number; metadata: number; content: number; pageSpeed: number; social: number; schema: number; details?: Record<string, number>; } /** * SEO sorunu */ export interface SEOIssue { id: string; type: 'error' | 'warning' | 'info'; message: string; details?: string; pageId?: string; url?: string; fixSuggestion?: string; } /** * İçerik analiz sonuçları */ export interface ContentAnalysisResult { score: number; wordCount: number; readability: number; keywordDensity?: number; recommendations: string[]; issues: SEOIssue[]; }