49d644566a
- Custom JSON-LD schema builder: per-article textarea for arbitrary structured data with JSON validation. Closes #70 - AI-powered meta generation: Generate with AI buttons for OG title and description, supports Claude and OpenAI APIs. Closes #71 - XML sitemap: auto-generates sitemap.xml on article save, respects noindex directives. Closes #72 - Per-platform image resizing: Twitter 1200x600, Pinterest 1000x1500, WhatsApp 400x400 alongside default Facebook 1200x630. Closes #74 - DB migration 01.05.00: adds custom_schema column
31 lines
1.4 KiB
SQL
31 lines
1.4 KiB
SQL
--
|
|
-- MokoJoomOpenGraph - Database Schema
|
|
-- Copyright (C) 2026 Moko Consulting. All rights reserved.
|
|
-- License: GPL-3.0-or-later
|
|
--
|
|
|
|
CREATE TABLE IF NOT EXISTS `#__mokoog_tags` (
|
|
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`content_type` VARCHAR(100) NOT NULL DEFAULT '' COMMENT 'e.g. com_content, menu, com_mokoshop',
|
|
`content_id` INT(11) UNSIGNED NOT NULL DEFAULT 0,
|
|
`og_title` VARCHAR(255) NOT NULL DEFAULT '',
|
|
`og_description` TEXT NOT NULL,
|
|
`og_image` VARCHAR(512) NOT NULL DEFAULT '',
|
|
`og_type` VARCHAR(50) NOT NULL DEFAULT 'article',
|
|
`og_video` VARCHAR(512) NOT NULL DEFAULT '',
|
|
`event_data` TEXT NULL,
|
|
`recipe_data` TEXT NULL,
|
|
`custom_schema` TEXT NULL,
|
|
`seo_title` VARCHAR(70) NOT NULL DEFAULT '',
|
|
`meta_description` VARCHAR(200) NOT NULL DEFAULT '',
|
|
`robots` VARCHAR(100) NOT NULL DEFAULT '',
|
|
`canonical_url` VARCHAR(512) NOT NULL DEFAULT '',
|
|
`language` CHAR(7) NOT NULL DEFAULT '*',
|
|
`published` TINYINT(1) NOT NULL DEFAULT 1,
|
|
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `idx_content_lang` (`content_type`, `content_id`, `language`),
|
|
KEY `idx_published` (`published`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|