Products
Discover standout essentials and everyday favorites in our Products category — featuring stylish, high-quality T-shirts and more. Whether you're looking for bold graphic tees, soft basics, or statement designs that express your individuality, you'll find pieces that combine comfort, durability, and personality. We also spotlight other must-have items to complement your lifestyle, with honest reviews, trend updates, and helpful buying tips. Perfect for those who value both form and function in what they wear and use.
LinkedIn Service
- Details
Share articles to your LinkedIn profile or company page. Uses the LinkedIn Share API v2 with OAuth 2.0 authorization.
X / Twitter Service
- Details
Post tweets automatically when you publish articles. Uses the Twitter API v2 with OAuth 1.0a authentication. All four keys are required — Bearer tokens cannot create tweets.
Facebook / Meta Service
- Details
Connect your Facebook Page to MokoJoomCross to automatically share articles as page posts. Uses the Meta Graph API v19.0 with Page Access Token authentication.
Troubleshooting MokoSuiteCross
- Details
Common issues with MokoJoomCross and how to resolve them. Check the Activity Logs for detailed error messages.
Service Setup Guides
- Details
Quick setup guides for the most popular MokoJoomCross services. Each guide shows you exactly which credentials you need and where to find them.
Per-Article Cross-Posting Controls
- Details
MokoJoomCross gives you control over cross-posting on a per-article basis. You can skip cross-posting entirely for certain articles, or choose exactly which services should receive each article.
Managing the Post Queue
- Details
The Post Queue is where you monitor all cross-posts — queued, in-progress, completed, and failed. It gives you full visibility into what has been sent, what is waiting, and what needs attention.
Message Templates
- Details
Message templates control how your articles appear when cross-posted to each platform. You can create different templates for different services — a short message for Twitter, a longer summary for LinkedIn, or a rich email for Mailchimp.
Adding a Service
- Details
Services are the platforms MokoJoomCross sends your articles to. Each service represents a single connection, for example your Facebook page, your Telegram channel, or your Mailchimp audience.
Installing MokoSuiteCross
- Details
MokoJoomCross is installed as a Joomla package extension containing the core component, system plugins, and all 34 service plugins. Installation takes just a few minutes.
What is MokoSuiteCross?
- Details
MokoJoomCross is a Joomla extension that automatically cross-posts your articles to social media, email marketing platforms, and chat services when you publish them. Instead of manually sharing each article to Facebook, Twitter, Telegram, and your newsletter, MokoJoomCross does it all at once.
Setting Up Hero Images
- Details
Configure MokoJoomHero to display rotating banner images on your site.
Step 1: Upload Images
Upload your hero images to a folder in /images/, for example /images/heroes/. Recommended size: 1920x600px or wider for full-width banners.
Step 2: Configure the Module
- Go to Content > Site Modules
- Find MokoJoomHero and click to edit
- Set the Image Folder to your upload path (e.g.
images/heroes) - Assign it to a template position (e.g.
bannerortop) - Set the module to published and save
Supported Formats
JPG, PNG, WebP, and GIF images are supported. SVG is not supported for security reasons.
What is MokoSuiteHero?
- Details
MokoJoomHero is a Joomla module that displays a random hero image from a folder on your server. Perfect for dynamic homepage banners that change on every page load.
Features
- Random Images — Displays a different image from your folder on each page load
- Configurable Folder — Point it at any folder in your Joomla images directory
- Responsive — Images scale to fit any screen size
- Lightweight — No JavaScript required, pure server-side rendering
Installation
Install from the Moko Extensions manager, then assign the module to a position in your template.
MokoSuiteBackup Plugins & Automation
- Details
Plugin Overview
MokoJoomBackup is a Joomla package that ships with seven plugins alongside the main component. All plugins are auto-enabled on installation.
| Plugin | Type | Purpose |
|---|---|---|
| plg_system_mokojoombackup | System | Auto-cleanup of old backups and web cron endpoint |
| plg_task_mokojoombackup | Task | Joomla Scheduled Tasks integration |
| plg_quickicon_mokojoombackup | Quickicon | Dashboard status widget |
| plg_console_mokojoombackup | Console | CLI commands (run, list, restore, cleanup, profiles) |
| plg_content_mokojoombackup | Content | Automatic pre-install/pre-update backups |
| plg_actionlog_mokojoombackup | Action Log | Logs profile and backup actions to Joomla action logs |
| plg_webservices_mokojoombackup | Web Services | REST API endpoints |
Auto-Cleanup (System Plugin)
Automatically removes old backup records and archive files based on age and count limits.
- Max Age — Delete backups older than N days (default: 30, range: 1–365)
- Max Backups — Keep only the N newest backups (default: 10, range: 1–100)
- Runs once per hour on admin page loads (not AJAX), throttled via session
- Age-based deletion runs first, then count-based enforcement
- Both the archive file and the database record are removed
Configure in System > Plugins > System — MokoJoomBackup.
Dashboard Widget (Quickicon Plugin)
Adds a status widget to the Joomla Home Dashboard showing:
- Time since last backup (e.g. "2h ago", "3d ago")
- Total backup count and total storage used
- Warning states: no backups exist, recent failures, or stale backups (older than 7 days)
Automatic Pre-Update Backups (Content Plugin)
Triggers an automatic backup before Joomla extension installs or updates.
- Backup Before Install — Triggers before installing a new extension (default: disabled)
- Backup Before Update — Triggers before updating an extension (default: enabled)
- Profile — Which backup profile to use for automatic backups
- Throttled to one auto-backup per hour to prevent excessive backups
- Non-fatal: if the backup fails, a warning is shown but the install/update proceeds
Configure in System > Plugins > Content — MokoJoomBackup.
Action Logging (Action Log Plugin)
Records MokoJoomBackup actions in Joomla's User Action Logs (Users > User Actions Log):
- Profile created, updated, or deleted
- Backup record deleted
- Backup completed or failed
Each log entry includes: user, IP address, item ID, and timestamp.
MokoSuiteBackup Placeholders
- Details
Overview
Placeholders are tokens enclosed in square brackets that are resolved at backup time. Use them in the Backup Directory and Archive Name Format fields of a backup profile to create dynamic, portable paths and filenames.
Available Placeholders
| Placeholder | Resolves To | Example |
|---|---|---|
[DEFAULT_DIR] | Default backup directory | administrator/components/com_mokojoombackup/backups |
[host] | Server hostname (sanitised) | www.example.com |
[site_name] | Joomla site name (sanitised) | My-Joomla-Site |
[date] | Date as Ymd | 20260607 |
[time] | Time as His | 143025 |
[datetime] | Date and time | 20260607_143025 |
[year] | Four-digit year | 2026 |
[month] | Two-digit month | 06 |
[day] | Two-digit day | 07 |
[hour] | Two-digit hour (24h) | 14 |
[minute] | Two-digit minute | 30 |
[second] | Two-digit second | 25 |
[profile_id] | Backup profile ID | 1 |
[profile_name] | Profile title (sanitised) | Daily-Full |
[type] | Backup type | full, database, files, differential |
[random] | Random 6-character hex string | a3f2b1 |
Examples
Archive Name Format
Default: [host]_[datetime]_profile[profile_id]
Result: www.example.com_20260607_143025_profile1.zip
Custom: [site_name]_[type]_[date]_[random]
Result: My-Joomla-Site_full_20260607_a3f2b1.zip
Backup Directory
Default: [DEFAULT_DIR] (resolves to the component's backups folder inside the web root)
Outside web root: /home/user/backups/[host]/[year]/[month]
Result: /home/user/backups/www.example.com/2026/06/
Organised by profile: /var/backups/joomla/[profile_name]
Result: /var/backups/joomla/Daily-Full/
Notes
- Placeholders are resolved at backup time — the directory is created automatically if it doesn't exist
- The
[DEFAULT_DIR]placeholder makes profiles portable across different server paths - Directory paths containing unresolved placeholders skip permission checks in the dashboard (they can't be validated until backup time)
- Sanitisation removes special characters, keeping only alphanumerics, dots, hyphens, and underscores
MokoSuiteBackup Restore & MokoRestore
- Details
Restore Methods
MokoJoomBackup supports three ways to restore a backup:
- Admin Panel — Select a backup record and click Restore in the toolbar
- CLI —
php cli/joomla.php mokojoombackup:restore <record-id> - MokoRestore — Standalone restore script for bare-server deployment (no Joomla required)
Admin Panel Restore
The built-in restore engine runs a six-step process:
- Extract archive to a temporary staging directory
- Preserve configuration.php so database credentials and paths survive the restore
- Restore files from the archive to the Joomla root
- Import database from the SQL dump (if present)
- Restore configuration.php with the preserved version
- Clean up the staging directory
Supports ZIP, tar.gz, and JPA (Akeeba Backup) archive formats. Encrypted archives are supported with a password prompt.
MokoRestore Standalone Script
When Include MokoRestore is enabled in a backup profile, the archive is packaged as:
outer.zip
├── restore.php (standalone installer)
└── site-backup.zip (the actual backup)
Upload both files to any PHP server and open restore.php in a browser. The wizard guides you through:
Step 1: Preflight Checks
- PHP version (8.1+ required)
- Required extensions: ZipArchive, PDO MySQL, mbstring, JSON
- Backup file exists and is readable
- Directory is writable
- Free disk space (500 MB minimum)
- PHP memory limit
Step 2: Extract
Extracts the site backup archive. Pre-reads any existing configuration.php to pre-fill database credentials. Supports encrypted archives.
Step 3: Test Database
Enter database credentials and test the connection before proceeding.
Step 4: Import Database
Imports database.sql with foreign key checks disabled. Reports statements executed and any errors.
Step 5: Configuration
Updates or creates configuration.php with your database credentials, paths, a fresh secret key, site name, and live site URL.
Step 6: Admin Management
Lists super administrator accounts and optionally lets you reset a password using bcrypt hashing.
Step 7: Cleanup
Removes restore.php, site-backup.zip, and database.sql artifacts from the server with a self-delete mechanism.
Security
- MokoRestore includes CSRF token protection on all forms
- Encrypted archive support (AES-256)
- Self-contained in a single PHP file — no dependencies
- Always delete restore.php after use
MokoSuiteBackup Notifications
- Details
Overview
MokoJoomBackup can send email notifications when backups complete or fail. Notifications are configured per profile, giving you fine-grained control over who gets notified and when.
Configuration
Open a backup profile and go to the Notifications tab:
| Field | Description |
|---|---|
| Notification Email | Comma-separated email addresses to receive notifications |
| Notify User Groups | Select Joomla user groups — all members will receive notifications |
| Notify on Success | Send email when backup completes successfully (default: No) |
| Notify on Failure | Send email when backup fails (default: Yes) |
Email addresses and user group members are combined. Duplicate addresses are automatically filtered.
Email Content
Subject Line
[MokoJoomBackup] SUCCESS: Daily Full Backup — My Joomla Site
[MokoJoomBackup] FAILED: Daily Full Backup — My Joomla Site
Email Body Includes
- Site name and URL
- Backup status (success/failure)
- Profile name and backup type
- Backup description and origin (backend, CLI, scheduled, web cron)
- Archive filename and total size
- Duration, start time, and end time
- Remote filename (if uploaded to FTP/S3/Google Drive)
- File count and table count
On failure, the last 30 lines of the backup log are appended to help diagnose the issue.
Tips
- For critical production sites, enable Notify on Failure and add the site admin's email
- Use user group notifications to automatically include new team members
- Notification errors are logged but never block the backup process — a failed email won't cause a backup failure
MokoSuiteBackup CLI Commands
- Details
Overview
MokoJoomBackup provides five CLI commands via the Joomla console plugin. All commands are run through Joomla's CLI entry point:
php cli/joomla.php <command> [options]
Commands
mokojoombackup:run
Run an immediate backup.
php cli/joomla.php mokojoombackup:run --profile=1
php cli/joomla.php mokojoombackup:run -p 2 --description="Pre-deploy backup"
| Option | Short | Default | Description |
|---|---|---|---|
--profile | -p | 1 | Backup profile ID |
--description | -d | (auto) | Backup description |
mokojoombackup:list
List backup records.
php cli/joomla.php mokojoombackup:list
php cli/joomla.php mokojoombackup:list --status=complete --limit=10
| Option | Short | Default | Description |
|---|---|---|---|
--limit | -l | 20 | Max records to show |
--status | -s | (all) | Filter: complete, fail, running |
Output columns: ID, Profile, Status, Type, Size, Origin, Started.
mokojoombackup:profiles
List all backup profiles.
php cli/joomla.php mokojoombackup:profiles
Output columns: ID, Title, Type, Published.
mokojoombackup:restore
Restore a backup by record ID.
php cli/joomla.php mokojoombackup:restore 42
Requires interactive confirmation. Validates that the record exists, is marked complete, and the archive file is present on disk.
mokojoombackup:cleanup
Clean up old backup records and archive files.
php cli/joomla.php mokojoombackup:cleanup
php cli/joomla.php mokojoombackup:cleanup --max-age=14 --max-count=5
php cli/joomla.php mokojoombackup:cleanup --dry-run
| Option | Default | Description |
|---|---|---|
--max-age | 30 | Delete backups older than N days |
--max-count | 10 | Keep only the N newest backups |
--dry-run | false | Show what would be deleted without deleting |
Cron Integration
Combine CLI commands with system cron for fully automated backup management:
# Daily full backup at 2 AM
0 2 * * * /usr/bin/php /path/to/joomla/cli/joomla.php mokojoombackup:run -p 1
# Weekly cleanup on Sundays
0 3 * * 0 /usr/bin/php /path/to/joomla/cli/joomla.php mokojoombackup:cleanup --max-age=30 --max-count=10
MokoSuiteBackup Scheduled Tasks & Web Cron
- Details
Joomla Scheduled Tasks
MokoJoomBackup integrates with Joomla's built-in Scheduled Tasks (System > Scheduled Tasks). This is the recommended way to automate backups.
Creating a Scheduled Backup
- Go to System > Scheduled Tasks > New
- Select MokoJoomBackup — Run Backup Profile as the task type
- Choose which backup profile to run from the dropdown
- Set your schedule (e.g. daily at 2:00 AM, weekly on Sundays)
- Save and enable the task
You can create multiple scheduled tasks pointing to different profiles. For example: a daily database-only backup and a weekly full backup.
Joomla Cron Setup
Joomla's Scheduled Tasks require a system-level cron job to trigger the task runner. Add this to your server's crontab:
*/5 * * * * /usr/bin/php /path/to/joomla/cli/joomla.php scheduler:run --all
Web Cron (Shared Hosting)
If you don't have access to system cron (common on shared hosting), MokoJoomBackup provides a web cron URL that can be triggered by external cron services.
Setup
- Go to Components > MokoJoomBackup > Options (toolbar gear icon)
- Enable Web Cron
- Set a Web Cron Secret — a long random string that acts as a password
- Optionally restrict by IP with the IP Whitelist field
Web Cron URL Format
https://yoursite.com/index.php?mokojoombackup_cron=YOUR_SECRET&profile_id=1
| Parameter | Description |
|---|---|
mokojoombackup_cron | Your web cron secret (required) |
profile_id | Which backup profile to run (optional, falls back to default profile) |
External Cron Services
Use any external cron service (cron-job.org, EasyCron, UptimeRobot, etc.) to hit the web cron URL on your desired schedule. The endpoint returns a JSON response with the backup result.
Security
- The web cron secret is compared using timing-safe string comparison to prevent timing attacks
- IP whitelist support restricts which addresses can trigger backups
- PHP execution limits are automatically overridden (max_execution_time=0, memory_limit=512M)
MokoSuiteBackup Dashboard
- Details
Dashboard Overview
The Dashboard is the default landing page when you open MokoJoomBackup in the Joomla administrator. It gives you a real-time overview of your backup status, system health, and quick access to common actions.
Status Cards
Four clickable cards appear at the top of the dashboard:
| Card | Shows | Links To |
|---|---|---|
| Last Backup | Date, profile name, and file size of your most recent completed backup | Backup detail view |
| Next Scheduled | Date/time and task name of the next scheduled backup | Joomla Scheduled Tasks |
| Total Backups | Total count of all completed backup records | Backup Records list |
| Storage Used | Total disk space used by all backup archives, plus a failure count badge for the last 7 days | Backup Records list |
Quick Actions
The Quick Actions panel provides:
- Backup Now — Select a profile from the dropdown and click to start an immediate backup. A progress modal shows real-time step completion.
- Navigation links — Direct access to Backup Records, Backup Profiles, Scheduled Tasks, and Update Sites.
System Health
The System Health panel runs automated checks and displays pass/fail status for:
- PHP Version — Must be 8.1 or higher
- ZipArchive — Required PHP extension for ZIP archives
- AES-256 Encryption — Requires libzip 1.2.0+ for encrypted archives
- Backup Directory — Checks the configured directory exists and is writable
- Free Disk Space — Warns if less than 1 GB free
Default Directory Warning
If any published profile stores backups in the default directory inside the web root (administrator/components/com_mokojoombackup/backups), a warning banner is displayed. For better security, configure a backup directory outside the web root.
Migrating from Akeeba Backup Pro
- Details
One-Click Import
- Install MokoJoomBackup alongside Akeeba
- Go to Components > MokoJoomBackup > Backup Profiles
- Click Import from Akeeba
- All profiles, filters, credentials, and history are imported
- Akeeba plugins and scheduled tasks are disabled automatically
What Gets Imported
- Profile names, backup types, compression settings
- Directory, file, and table exclusion filters
- FTP, Google Drive, and S3 credentials
- Backup history with profile ID remapping
JPA Support
MokoJoomBackup can restore from Akeeba .jpa files directly. The engine auto-detects JPA vs ZIP format.
MokoSuiteBackup Security, Encryption & Integrity
- Details
AES-256 Encryption
Set an encryption password in the profile Archive Settings. Archives use WinZip-compatible AES-256. Requires PHP 7.2+ with libzip 1.2.0+.
SHA-256 Integrity
Checksum computed after archive creation. Use the Verify Integrity button to detect corruption or tampering.
MokoRestore Restore Script
Self-contained restore.php with CSRF protection, pre-flight checks, and encrypted archive support. Upload to any PHP server for bare-server restore.
Backup Directory
Protected with .htaccess (Deny from all) and index.html.
MokoSuiteBackup REST API & MCP Integration
- Details
REST API Endpoints
Auth: Authorization: Bearer <joomla-api-token>
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/index.php/v1/mokobackup/backup | Start backup (body: profile ID + description) |
| GET | /api/index.php/v1/mokobackup/backups | List backup records |
| DELETE | /api/index.php/v1/mokobackup/backup/:id | Delete backup record + archive |
| GET | /api/index.php/v1/mokobackup/backup/:id/download | Download archive (base64) |
| GET | /api/index.php/v1/mokobackup/profiles | List backup profiles |
MCP Server
The mcp_mokobackup MCP server supports both Akeeba and MokoJoomBackup. Set target type to "mokobackup" in config. The existing akeeba_* tools auto-detect the backend.
CLI
php administrator/components/com_mokobackup/cli/mokobackup.php --profile=1
php administrator/components/com_mokobackup/cli/mokobackup.php --profile=2 --description="Pre-deploy"
MokoSuiteBackup Remote Storage (FTP, Google Drive, S3)
- Details
Storage Backends
| Backend | Features |
|---|---|
| FTP/FTPS | Passive mode, SSL, recursive dir creation, size verification |
| Google Drive | OAuth2 refresh tokens, resumable upload (5 MB chunks), no SDK |
| Amazon S3 | AWS Signature V4, multipart upload (10 MB parts), custom endpoints |
S3-Compatible Services
- AWS S3: leave endpoint blank
- Wasabi:
https://s3.wasabisys.com - Backblaze B2:
https://s3.us-west-001.backblazeb2.com - MinIO: your server URL
All uploaders use pure PHP with cURL. No SDK dependencies.
MokoSuiteBackup Backup Profiles & Types
- Details
Backup Types
| Type | Database | Files | Use Case |
|---|---|---|---|
| Full | Yes | All files | Complete site snapshot |
| Database Only | Yes | No | Quick DB backup before changes |
| Files Only | No | All files | Code/media backup |
| Differential | Yes (full) | Changed only | Fast daily backups between weekly fulls |
Profile Tabs
- General: title, description, backup type
- Archive Settings: format, compression, split size, backup dir, encryption password, MokoRestore toggle
- Exclusion Filters: directories, files (wildcards), database tables (newline-separated)
- Notifications: email recipients, notify on success/failure
- Remote Storage: FTP/FTPS, Google Drive, Amazon S3 with individual credential fields
Differential Backups
Compares current filesystem against a manifest from the last full backup. Only new/modified files are included. Database is always fully dumped. Falls back to full backup if no base manifest exists.
MokoSuiteBackup Installation & Setup
- Details
Installation
- Download
pkg_mokobackup-*.zipfrom Releases - Go to System > Install > Extensions in Joomla Administrator
- Upload the package ZIP
- All five plugins are auto-enabled on install
Package Contents
| Extension | Type | Purpose |
|---|---|---|
| com_mokobackup | Component | Admin backend with backup engine, profiles, and records |
| plg_system_mokobackup | System Plugin | Auto-cleanup of expired backups |
| plg_task_mokobackup | Task Plugin | Joomla Scheduled Tasks integration |
| plg_quickicon_mokobackup | Quickicon Plugin | Dashboard status widget |
| plg_webservices_mokobackup | WebServices Plugin | REST API for MCP server |
Requirements
- Joomla 4.0+ (4.1+ for Scheduled Tasks)
- PHP 8.1+
- PHP extensions: ext-zip, ext-curl, ext-ftp, ext-mbstring, ext-pdo_mysql
First Backup
- Navigate to Components > MokoJoomBackup
- A default backup profile is pre-configured
- Select the profile from the dropdown and click Backup Now
- The progress bar shows real-time step completion
MokoSuiteBackup Overview
- Details
What is MokoJoomBackup?
MokoJoomBackup is a comprehensive backup and restore solution for Joomla 4/5/6, built as a complete replacement for Akeeba Backup Pro. It provides full-site backups (database + files), multiple backup profiles, scheduled tasks, remote storage (FTP, Google Drive, S3), AES-256 encryption, and a standalone restore script.
Key Features
- Full, database-only, files-only, and differential backup types
- Multiple backup profiles with independent settings
- Joomla Scheduled Tasks integration for automated backups
- Remote storage: FTP/FTPS, Google Drive, Amazon S3 (+ Wasabi, B2, MinIO)
- AES-256 archive encryption for GDPR compliance
- MokoRestore standalone restore script for bare-server restores
- SHA-256 integrity verification
- Email notifications on success/failure
- REST API compatible with MokoBackup MCP server
- AJAX step-based engine for shared hosting
- One-click Akeeba Backup Pro migration
- JPA archive format import
- Admin dashboard status widget
Documentation
Full documentation is available on the MokoJoomBackup Wiki.
Subcategories
MokoOnyx Template
MokoOnyx is a modern Joomla site template with dark mode support, custom page layouts, responsive design, and deep MokoSuite integration for white-label branding. Successor to MokoCassiopeia.
MokoSuiteCross
Cross-posting Joomla content to social media, email marketing, and chat platforms.
MokoSuiteHero
MokoSuiteHero is a Joomla module that displays a random hero image from a configurable folder. Ideal for dynamic homepage banners and portfolio showcases.
MokoSuiteBackup
Full-site backup and restore for Joomla 4/5/6. A complete replacement for Akeeba Backup Pro.