# CLAUDE.md ## Overview Schema markup generator: create JSON-LD structured data from templates for various content types. ## Quick Start ```bash pip install -r scripts/requirements.txt # Generate Organization schema python scripts/schema_generator.py --type organization --url https://example.com # Generate from template python scripts/schema_generator.py --template templates/article.json --data article_data.json ``` ## Scripts | Script | Purpose | |--------|---------| | `schema_generator.py` | Generate schema markup | | `base_client.py` | Shared utilities | ## Supported Schema Types | Type | Template | Use Case | |------|----------|----------| | Organization | `organization.json` | Company/brand info | | LocalBusiness | `local_business.json` | Physical locations | | Article | `article.json` | Blog posts, news | | Product | `product.json` | E-commerce items | | FAQPage | `faq.json` | FAQ sections | | BreadcrumbList | `breadcrumb.json` | Navigation path | | WebSite | `website.json` | Site-level info | ## Usage Examples ### Organization ```bash python scripts/schema_generator.py --type organization \ --name "Company Name" \ --url "https://example.com" \ --logo "https://example.com/logo.png" ``` ### LocalBusiness ```bash python scripts/schema_generator.py --type localbusiness \ --name "Restaurant Name" \ --address "123 Main St, City, State 12345" \ --phone "+1-555-123-4567" \ --hours "Mo-Fr 09:00-17:00" ``` ### Article ```bash python scripts/schema_generator.py --type article \ --headline "Article Title" \ --author "Author Name" \ --published "2024-01-15" \ --image "https://example.com/image.jpg" ``` ### FAQPage ```bash python scripts/schema_generator.py --type faq \ --questions questions.json ``` ## Output Generated JSON-LD ready for insertion: ```html ``` ## Template Customization Templates in `templates/` can be modified. Required fields are marked: ```json { "@context": "https://schema.org", "@type": "Article", "headline": "{{REQUIRED}}", "author": { "@type": "Person", "name": "{{REQUIRED}}" }, "datePublished": "{{REQUIRED}}", "image": "{{RECOMMENDED}}" } ``` ## Validation Generated schemas are validated before output: - Syntax correctness - Required properties present - Schema.org vocabulary compliance Use skill 13 (schema-validator) for additional validation. ## Dependencies ``` jsonschema>=4.21.0 requests>=2.31.0 python-dotenv>=1.0.0 ``` ## Notion Output (Required) **IMPORTANT**: All audit reports MUST be saved to the OurDigital SEO Audit Log database. ### Database Configuration | Field | Value | |-------|-------| | Database ID | `2c8581e5-8a1e-8035-880b-e38cefc2f3ef` | | URL | https://www.notion.so/dintelligence/2c8581e58a1e8035880be38cefc2f3ef | ### Required Properties | Property | Type | Description | |----------|------|-------------| | Issue | Title | Report title (Korean + date) | | Site | URL | Audited website URL | | Category | Select | Technical SEO, On-page SEO, Performance, Schema/Structured Data, Sitemap, Robots.txt, Content, Local SEO | | Priority | Select | Critical, High, Medium, Low | | Found Date | Date | Audit date (YYYY-MM-DD) | | Audit ID | Rich Text | Format: [TYPE]-YYYYMMDD-NNN | ### Language Guidelines - Report content in Korean (한국어) - Keep technical English terms as-is (e.g., SEO Audit, Core Web Vitals, Schema Markup) - URLs and code remain unchanged ### Example MCP Call ```bash mcp-cli call notion/API-post-page '{"parent": {"database_id": "2c8581e5-8a1e-8035-880b-e38cefc2f3ef"}, "properties": {...}}' ```