/** * Schema Generator * * This module generates JSON-LD structured data markup for WordPress content. * It supports all major Schema.org types and provides intelligent content extraction * and schema optimization for better search engine understanding. * * Supported Schema Types: * - Article, BlogPosting, NewsArticle * - Product, Offer, AggregateRating * - FAQ, Question, Answer * - HowTo, HowToStep, HowToDirection * - Organization, LocalBusiness, Person * - Website, WebPage, BreadcrumbList * - Event, Recipe, Course, VideoObject * * @since 2.7.0 */ import type { SchemaMarkup, SEOToolParams } from "../../../types/seo.js"; import type { WordPressPost } from "../../../types/wordpress.js"; /** * Schema generation options */ interface SchemaOptions { /** Include author information */ includeAuthor?: boolean; /** Include organization data */ includeOrganization?: boolean; /** Include breadcrumbs */ includeBreadcrumbs?: boolean; /** Include images */ includeImages?: boolean; /** Custom schema properties to merge */ customProperties?: Record; /** Site-specific configuration */ siteConfig?: { name?: string; url?: string; logo?: string; description?: string; socialProfiles?: string[]; contactInfo?: { telephone?: string; email?: string; address?: string; }; }; } /** * Schema Generator Class */ export declare class SchemaGenerator { private logger; constructor(); /** * Generate schema markup for a WordPress post */ generateSchema(post: WordPressPost, params: SEOToolParams, options?: SchemaOptions): Promise; /** * Generate Article schema markup */ private generateArticleSchema; /** * Generate Product schema markup */ private generateProductSchema; /** * Generate FAQ schema markup */ private generateFAQSchema; /** * Generate HowTo schema markup */ private generateHowToSchema; /** * Generate Organization schema markup */ private generateOrganizationSchema; /** * Generate LocalBusiness schema markup */ private generateLocalBusinessSchema; /** * Generate Website schema markup */ private generateWebsiteSchema; /** * Generate BreadcrumbList schema markup */ private generateBreadcrumbSchema; /** * Generate Event schema markup */ private generateEventSchema; /** * Generate Recipe schema markup */ private generateRecipeSchema; /** * Generate Course schema markup */ private generateCourseSchema; /** * Generate VideoObject schema markup */ private generateVideoSchema; /** * Generate Person schema markup */ private generatePersonSchema; /** * Generate Review schema markup */ private generateReviewSchema; /** * Extract plain text from HTML content */ private extractTextContent; /** * Extract images from HTML content */ private extractImages; /** * Count words in text */ private countWords; /** * Get author name from post */ private getAuthorName; /** * Get author URL from post */ private getAuthorUrl; /** * Get publisher information */ private getPublisherInfo; /** * Extract product information from content */ private extractProductInfo; /** * Extract FAQ items from content */ private extractFAQItems; /** * Extract HowTo steps from content */ private extractHowToSteps; /** * Extract duration from content */ private extractDuration; /** * Extract supplies from content */ private extractSupplies; /** * Extract tools from content */ private extractTools; /** * Extract business information from content */ private extractBusinessInfo; /** * Extract breadcrumbs from post */ private extractBreadcrumbs; /** * Extract event information from content */ private extractEventInfo; /** * Extract recipe information from content */ private extractRecipeInfo; /** * Extract course information from content */ private extractCourseInfo; /** * Extract video information from content */ private extractVideoInfo; /** * Extract person information from content */ private extractPersonInfo; /** * Extract review information from content */ private extractReviewInfo; /** * Validate generated schema markup */ validateSchema(schema: SchemaMarkup): { valid: boolean; errors: string[]; }; } export {}; //# sourceMappingURL=SchemaGenerator.d.ts.map