docs: update CHANGELOG and README for v2.0 release
Universal: Auto Version Bump / Version Bump (push) Successful in 25s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 26s

Add all v2.0 features: 11+ JSON-LD types, 6 preview cards, AI
generation, XML sitemap, per-platform images, SEO scoring, PHPUnit
tests, OpenAPI spec, coverage dashboard, custom schema builder.
This commit is contained in:
Jonathan Miller
2026-06-23 13:05:15 -05:00
parent a578ac3bb3
commit f1c6eb8f6e
2 changed files with 43 additions and 2 deletions
+25
View File
@@ -20,6 +20,21 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- LinkedIn social preview card in article/menu editor alongside Facebook and Twitter/X previews (#61)
- `og:video` meta tag support with per-article video URL field, auto-detect MIME type for YouTube/Vimeo/direct files (#59)
- Pinterest rich pin tags: `article:tag` from Joomla content tags, `product:availability` from MokoSuiteShop stock (#60)
- FAQ JSON-LD schema with auto-detection from article h3/h4 headings (#62)
- HowTo JSON-LD schema with auto-detection from ordered lists (#63)
- Event JSON-LD schema with per-article event fields (dates, venue, tickets) (#64)
- LocalBusiness JSON-LD schema with global plugin configuration (#65)
- Recipe JSON-LD schema with per-article fields (times, ingredients, nutrition) (#66)
- VideoObject JSON-LD schema for articles with video URLs (#67)
- SEO content scoring panel with 7 checks and pass/fail indicators (#68)
- Discord, Mastodon, and Slack social preview cards in editor (#69)
- Custom JSON-LD schema builder — per-article textarea for any schema.org type (#70)
- AI-powered meta tag generation with Claude and OpenAI API support (#71)
- XML sitemap generation on article save, respects noindex directives (#72)
- OG coverage dashboard in tag manager with coverage percentage (#73)
- Per-platform image resizing: Twitter 1200x600, Pinterest 1000x1500, WhatsApp 400x400 (#74)
- PHPUnit test suite with 16 unit tests for JsonLdBuilder (#75)
- OpenAPI 3.0 specification for REST API (#80)
- Site-wide default OG title and description plugin parameters
- Discord embed color via `theme-color` meta tag (color picker in plugin config)
- LinkedIn article tags: `article:published_time`, `article:modified_time`, `article:author`
@@ -45,6 +60,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- Facebook App ID and Telegram channel support
- Database table `#__mokoog_tags` with multilingual unique key
### Fixed
- Add exception logging to BatchController batch skip (#76)
- Align form maxlength attributes with DB schema limits (#77)
- Add `strip_tags()` input sanitization on OG text fields (#79)
- Only emit `og:video:secure_url` for HTTPS URLs
- Only emit `og:video:width/height` for direct files, not embeds
- Consolidate duplicate MokoSuiteShop product blocks
- Fix stale `com_virtuemart` reference in SQL comment
- Use component language keys for og_video field in tag.xml
### Changed
- Consolidated article DB queries into single cached lookup — 5 queries reduced to 1 (#38)
- Dynamic `og:image:width`/`og:image:height` from actual image dimensions instead of hardcoded (#39)
+18 -2
View File
@@ -16,6 +16,9 @@ MokoSuiteOpenGraph gives you full control over how your Joomla content appears w
- **LinkedIn** — `article:published_time`, `article:modified_time`, `article:author`
- **Discord** — Custom embed color via `theme-color` meta tag
- **Telegram** — `telegram:channel` for link previews
- **Mastodon/Fediverse** — `fediverse:creator` for author attribution (first extension on any CMS)
- **Pinterest** — Rich pin tags: `article:tag`, `product:availability`, `product:price`
- **og:video** — Per-article video URLs with auto MIME type detection (YouTube/Vimeo/direct)
- **Facebook** — `fb:app_id` support, `og:image:width`/`og:image:height` for instant previews
### Content Management
@@ -31,7 +34,8 @@ MokoSuiteOpenGraph gives you full control over how your Joomla content appears w
- **Meta description** — Per-page meta description control
- **Robots directive** — Per-page noindex/nofollow settings
- **Canonical URL** — Custom canonical URL overrides
- **JSON-LD structured data** — Article, Product, WebPage, BreadcrumbList, Organization schemas
- **JSON-LD structured data** — Article, Product, WebPage, BreadcrumbList, Organization, FAQ, HowTo, Event, Recipe, LocalBusiness, VideoObject, and custom schemas
- **SEO content scoring** — 7-check analysis panel with pass/fail indicators in the editor
### Admin Tools
- **Tag manager dashboard** — View and manage all OG records centrally
@@ -39,13 +43,20 @@ MokoSuiteOpenGraph gives you full control over how your Joomla content appears w
- **CSV import/export** — Bulk manage OG data via CSV files
- **SEO health badges** — Visual indicators for missing descriptions, long titles, noindex
- **Debug links** — Quick links to Facebook Debugger, LinkedIn Inspector, Google Rich Results
- **Live preview** — Real-time Facebook and Twitter/X card preview in the editor
- **Live preview** — Real-time Facebook, Twitter/X, LinkedIn, Discord, Mastodon, and Slack card previews in the editor
- **Character count indicators** — Green/yellow/red warnings on OG and SEO text fields
- **OG coverage dashboard** — Coverage percentage and missing field counts
- **AI meta generation** — Generate OG titles and descriptions with Claude or OpenAI
### Developer Features
- **REST API** — Full CRUD via Joomla Web Services (`/api/v1/mokoog/tags`)
- **MokoSuiteShop integration** — Auto-generated OG/JSON-LD for product pages with pricing meta
- **Plugin event** — `onMokoOGAfterRender` for third-party plugins to add custom social tags
- **OG image generator** — Text overlay on template backgrounds with auto-resize to 1200x630
- **Per-platform image resizing** — Twitter 1200x600, Pinterest 1000x1500, WhatsApp 400x400
- **XML sitemap** — Auto-generates sitemap.xml on article save, respects noindex
- **OpenAPI spec** — Full REST API documentation at `openapi.yaml`
- **PHPUnit tests** — 16 unit tests for JsonLdBuilder schema outputs
## Installation
@@ -63,6 +74,11 @@ Navigate to **Extensions → Plugins → System - MokoSuiteOpenGraph** to config
- Facebook App ID
- Discord embed color
- Telegram channel
- Fediverse/Mastodon creator handle
- LocalBusiness schema (address, phone, hours, geo)
- XML sitemap generation
- AI meta generation (Claude/OpenAI API key)
- Per-platform image resizing
- Auto-generation, image resize, JSON-LD, and description length settings
## License