252d75c44f68e94731fd3641c0816db3f6c76f2f
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Generic: Repo Health / Report Issues (push) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Blocked by required conditions
Joomla: Extension CI / PHPStan Analysis (pull_request) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Access control (push) Successful in 2s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 4s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 4s
Universal: Security Audit / Dependency Audit (pull_request) Successful in 4s
Joomla: Extension CI / Lint & Validate (pull_request) Successful in 9s
Universal: PR Check / Validate PR (pull_request) Successful in 8s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
- fix(batch): use offset=0 for self-consuming LEFT JOIN query that excludes already-processed articles, preventing chunk skips - fix(license): move session flag after DB query succeeds so a failed check retries on next page load instead of silently giving up - fix(og:image): detect actual image dimensions via getimagesize() instead of hardcoding 1200x630 which was wrong for unresized, small, or external images - fix(i18n): use mb_strlen() consistently with mb_substr() for multibyte-safe description truncation across all 4 call sites - fix(ImageGenerator): guard wrapText truncation when third line is shorter than 3 characters to prevent broken output Authored-by: Moko Consulting Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
MokoJoomOpenGraph
Open Graph, Twitter Card, and social sharing meta tag management for Joomla 4/5/6.
Overview
MokoJoomOpenGraph gives you full control over how your Joomla content appears when shared on Facebook, Twitter/X, LinkedIn, Discord, WhatsApp, Telegram, and other social platforms. Set custom titles, descriptions, and images per article, menu item, and category — or let the extension auto-generate them from your existing content.
Features
Social Meta Tags
- Open Graph tags —
og:title,og:description,og:image,og:url,og:type,og:site_name,og:locale - Twitter/X Cards — Summary and Summary with Large Image card types
- LinkedIn —
article:published_time,article:modified_time,article:author - Discord — Custom embed color via
theme-colormeta tag - Telegram —
telegram:channelfor link previews - Facebook —
fb:app_idsupport,og:image:width/og:image:heightfor instant previews
Content Management
- Per-article control — Custom OG fields tab in the article editor
- Per-menu-item control — Custom OG fields in the menu item editor
- Per-category control — Category-level OG tag overrides
- Multilingual support — Per-language OG data with language-aware fallback
- Auto-generation — Builds tags from article content, title, and images automatically
- Site-wide defaults — Default OG title, description, and image for all pages
SEO
- SEO title override — Custom
<title>tag per page - 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, WebPage, BreadcrumbList, Organization schemas
Admin Tools
- Tag manager dashboard — View and manage all OG records centrally
- Batch generation — Auto-generate OG tags for all existing articles
- 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
Developer Features
- REST API — Full CRUD via Joomla Web Services (
/api/v1/mokoog/tags) - Content type adapters — Extensible architecture for K2, VirtueMart, HikaShop
- Plugin event —
onMokoOGAfterRenderfor third-party plugins to add custom social tags - OG image generator — Text overlay on template backgrounds with auto-resize to 1200x630
Installation
- Download the latest
pkg_mokoog-*.zipfrom Releases - In Joomla Administrator → Extensions → Install → Upload Package File
- All plugins are enabled automatically on install
Configuration
Navigate to Extensions → Plugins → System - MokoJoomOpenGraph to configure:
- Site name override
- Default OG title and description (site-wide fallback)
- Default fallback image
- Twitter Card type and @username
- Facebook App ID
- Discord embed color
- Telegram channel
- Auto-generation, image resize, JSON-LD, and description length settings
License
GPL-3.0-or-later — See LICENSE for details.
Author
Description
Open Graph, Twitter Card, and social sharing meta tag management for Joomla
https://mokoconsulting.tech/support/products/mokojoomopengraph
1.2 MiB
Languages
PHP
69.7%
Shell
16.5%
Makefile
13.8%