JoomlaForever.com!
  • Home
  • News
  • Test & Reviews
  • Tutorials
  • Tips & Tricks
  • Login

Community Questions - News

Upgrading from Joomla 3.10 to Joomla 4 — A Calm, Safe Checklist When Extensions Block the Update

Details
Written by: Bjørn Ove Bremnes
Parent Category: Community Questions
Category: Community Questions - News
Published: 27 May 2026

If you see warnings about extensions while preparing to upgrade Joomla 3.10 to Joomla 4, don’t panic. The core upgrade path exists, but third-party extensions, templates and page-builders are often the source of trouble. This guide gives a safe, step-by-step workflow: audit, backup, clone to staging, test the upgrade, decide how to handle incompatible extensions, and execute the production upgrade with a rollback plan.

Follow these steps yourself or hand the checklist to a contractor. The goal here is to limit risk and make the upgrade predictable rather than sudden.


Quick overview: Risks and realistic outcomes

Upgrading Joomla core from 3.10 to 4.x is supported, but the result depends on installed third-party code. Expect one of these realistic outcomes:

  • Successful in-place upgrade with all extensions working (ideal).
  • Partial breakage: layout or styling issues because the template or page-builder is incompatible.
  • Admin area errors from system plugins or admin extensions that use deprecated APIs.
  • More serious issues: database errors or broken critical functionality (forms, checkout, logins) if an extension alters schema or uses removed APIs.

What can go wrong: common failure modes

  • Frontend layout breaks due to templates or page-builders that are not Joomla 4 compatible.
  • Admin area errors preventing site administration because an admin extension is incompatible.
  • Database issues from extensions that change schema or rely on deprecated database access methods.
  • Dynamic features like forms, memberships, or e-commerce checkouts failing after upgrade.

Practical example: an automated core upgrade succeeds but pages built with an unsupported page-builder show blank sections or broken module positions.

Warnings:
  • Do not run a production upgrade without a verified full backup and a staging test.
  • Changing the PHP version on production before testing can cause immediate site failure for older extensions—test first on staging.

Step 1 — Prepare: backups, environment and version requirements

Preparation is the largest factor in a safe upgrade. A complete, tested backup plus an accurate environment snapshot are mandatory.

How to create a full backup (files + database) — checklist

  1. Backup site files via SFTP or your hosting file manager — download the entire Joomla root (including configuration.php and media folders).
  2. Export the database (SQL) with phpMyAdmin, MySQL client, or your host’s backup tool.
  3. If available, create a hosting snapshot or full server image and record the snapshot timestamp.
  4. Store copies off-server (local disk or cloud) and test a restore on a staging server to confirm the backups are usable.

Which PHP versions Joomla 3.10 and Joomla 4 require

Matching PHP and database versions matters because extensions and core rely on language features and APIs. Exact supported PHP versions for Joomla 3.10 and Joomla 4 change over time; verify current requirements on the official Joomla documentation before making production changes.

Preparation checklist card
  • Full files backup — downloaded and stored off-site
  • Full DB export — SQL file saved off-site
  • Hosting snapshot (if available)
  • Admin access, FTP/SFTP, control panel and DB credentials noted securely
  • Test restore completed on staging
Warnings:
  • Backups that are not tested may be unusable—always verify by restoring to staging.
  • Upgrading PHP on production before testing can prevent the site from loading.

Step 2 — Inventory installed extensions, templates and plugins

Before you upgrade, build a complete inventory of all installed third-party code and templates. This becomes the roadmap for testing and decision-making.

How to list installed extensions and note versions

  1. In Joomla admin go to Extensions → Manage → Manage. Use the filters to list components, modules, plugins, templates and languages.
  2. Copy or export the list (screenshot if necessary). Include the extension name, type, and version.
  3. Record the active template name and any framework or builder (e.g., Helix, Gantry, SP Page Builder) used by the site.
  4. For each entry, record the vendor website or support link for follow-up.

Example audit table (columns): Extension name | Type | Current version | Vendor URL | Joomla 4 compatibility (Yes/No/Unknown) | Recommended action

Practical example:

SP Page Builder — Component/Plugin — v3.x — vendor.your production domain — Unknown — Test on staging / consider replacement.

Warnings:
  • Some extensions are bundled inside templates or installed as part of the template package—inspect template package contents.
  • Custom code or overrides in templates can be overlooked; check template overrides and custom system plugins.

Step 3 — Check compatibility and collect update sources

Use vendor pages and the Joomla Extensions Directory (JED) to determine which extensions are Joomla 4-ready. Classify each extension and plan an action.

Where to find compatibility information

  • Joomla Extensions Directory (JED) extension pages often note compatibility.
  • Vendor release notes, changelogs and support pages indicate Joomla 4 support.
  • Contact vendors directly when compatibility is unclear.

Interpreting compatibility flags and vendor statements

Treat vendor claims carefully: "Joomla 4 compatible" should list tested Joomla versions and minimum PHP version. Beta or experimental compatibility should be treated as "test-only" until the vendor indicates stable support.

Classification and actions
  • Compatible: schedule update on staging.
  • Update available: plan staged update, test on staging first.
  • Unsupported/discontinued: consider replacement or removal.
  • Unknown: contact vendor and mark for staged testing.
Warnings:
  • Absence of vendor updates does not mean an extension is safe—it may use deprecated APIs.
  • Unofficial forks or beta releases may be unstable—test thoroughly on staging.

Step 4 — Build a safe staging/test site and test the upgrade

Never perform the upgrade directly on production without a tested staging run. The staging server is where you discover problems safely.

Creating a copy of your live site on a staging server or local environment

  • Options: hosting-provided staging, manual clone (SFTP + DB import) or local development (Docker/XAMPP/Local).
  • After cloning, update configuration.php to use the staging DB and path; set site URL to the staging domain.
  • Protect staging with noindex and basic auth to avoid SEO indexing and accidental payments.

Testing content, forms, e-commerce and page-builder pages

  1. Enable Joomla debug and error reporting on staging to capture warnings and deprecation notices.
  2. Run the Joomla core upgrade on the staging copy using the Joomla Update component.
  3. Document and screenshot any errors during the upgrade and runtime after the upgrade.
  4. Execute a test plan: visit key pages, submit forms, create a test order if e-commerce, check user login and admin tasks.
Testing checklist (staging)
  • Homepage and top landing pages render correctly
  • Admin login and common admin operations work
  • Contact forms and site forms submit correctly
  • E-commerce checkout flow completes using test credentials
  • Page-builder pages display sections and modules as expected
  • Examine logs for deprecation notices or PHP fatal errors
Warnings:
  • Server differences (PHP version, extensions) can hide or produce extra problems—record server settings for both environments.
  • Do not run live cron jobs or payment gateways on staging unless using sandbox/test credentials.

Step 5 — Handling unsupported extensions and page builders

When an extension is unsupported, you have four practical options: update, replace, remove, or port (custom development).

Options for unsupported extensions: update, replace, remove, or custom porting

  • Update: apply vendor-provided updates tested on staging.
  • Replace: pick a maintained extension offering the same features and plan data migration where possible.
  • Remove: if the feature is non-essential, remove the extension and adapt templates/UI.
  • Custom porting: hire a developer to update the extension to Joomla 4 APIs—this preserves functionality but increases cost.

Testing migration of page-builder content

Page-builders can control most of the page markup, which makes migration work-heavy. Document which pages use the builder and prioritize converting the most important pages first.

Practical examples
  • Replace a discontinued slider component with a modern slider and recreate slides from the admin or import where supported.
  • Triage page-builder pages: re-create the top 10 landing pages in a supported builder or template and leave low-traffic pages for later.
Warnings:
  • Data migration is not always automatic—expect manual cleanup and mapping work.
  • Removing extensions may leave orphaned database tables—keep backups and plan a cleanup after a successful upgrade.

Step 6 — Perform the production upgrade with a rollback plan

When staging tests are successful, schedule the production upgrade during low-traffic hours and ensure your rollback tools are ready.

How to use Joomla update tools safely (pre-update checks and warnings)

  • In Joomla admin, use Joomla Update → Options and run the Pre-Update Check. Review all warnings before proceeding.
  • Apply extension updates that were validated on staging in the tested sequence (core first, then compatible extensions).
  • Put the site into maintenance mode and temporarily disable non-essential scheduled jobs.

Rollback steps: restore backup or restore hosting snapshot

  1. If major issues appear, immediately restore files and database from the tested backups or revert the hosting snapshot.
  2. After rollback, keep a detailed record of errors and adjust the staging tests and action plan before attempting again.
Smoke test for post-upgrade verification
  • Homepage, login, contact form, checkout (if relevant), admin access
  • Inspect logs and search for PHP fatal errors or repeated exceptions
Warnings:
  • Rollback must include both files and DB to restore the full state—partial restores cause data mismatch.
  • If live data changed between the backup and the upgrade, plan for data reconciliation after rollback.

When to choose a migration or rebuild

An in-place upgrade is efficient for well-maintained sites. Choose a fresh install and migration when the site is heavily dependent on unsupported tools or has many custom hacks.

Signs that a fresh install + migration is safer

  • More than a quarter of installed third-party extensions are unsupported or require custom porting.
  • The site relies on a discontinued page-builder that controls most content markup.
  • There are numerous template overrides, custom patches, or poorly documented custom code.

How to scope and plan a migration

  • Inventory the data to move: articles, users, menus, e-commerce orders, and uploaded media.
  • Decide which extensions to replace and create field-to-field mapping for content migration.
  • Plan a phased migration: rebuild templates, import content, recreate critical pages first, then adjust secondary pages.
Warnings:
  • Content IDs and extension-specific fields often do not map cleanly—expect manual reconciliation.
  • Migrations can alter URL structures—plan redirects and preserve SEO where possible.

Estimated timeline and cost considerations

Estimate project effort based on site complexity. These are general ranges—get quotes for precise figures.

  • Small site (few extensions): a few hours to one day.
  • Medium site (several extensions, some page-builder pages): 1–5 days.
  • Large or complex site (many custom extensions, e-commerce, deep page-builder usage): multiple weeks.

How to scope and hire professional help (what to tell a contractor)

Provide the contractor with:

  • Extension inventory and versions
  • Staging access and backup availability
  • List of critical pages and functions
  • Desired acceptance criteria and rollback requirements
Warnings:
  • Avoid selecting contractors solely on low price—require a staging/test-first approach and written deliverables.
  • Request fixed-price milestones for assessment, staging upgrade, and production upgrade to limit scope creep.

Resources and next steps

Next steps you can take right away:

  1. Create and verify a full files + DB backup.
  2. Build your extension inventory and record versions and vendor links.
  3. Clone the site to staging, test the Joomla 3.10 → 4 upgrade, and document any errors.
  4. Decide on each incompatible extension: update, replace, remove, or port.
  5. Schedule the production upgrade with a rollback plan or hire a contractor with the inventory and staging access.

Where to find help: community, vendors, and freelancers

Start with vendor documentation for each extension. Use official Joomla docs and the Joomla Extensions Directory for compatibility notes. For paid help, hire Joomla-experienced freelancers or agencies and provide them with your inventory and staging site.

FAQ

Will my site 'blow up' if I click Upgrade from Joomla 3.10 to Joomla 4?

Not necessarily. Many sites upgrade without major issues, but extension, template or PHP incompatibilities can break parts of the site. Always back up and test on staging before upgrading production.

How can I check which extensions are incompatible with Joomla 4?

Export your extensions inventory from Extensions → Manage, then check the Joomla Extensions Directory and vendor release notes for Joomla 4 compatibility. Contact vendors for clarification when needed and mark unknowns for staging tests.

What if the original developer is not available?

You can audit and test the site on staging yourself, replace unsupported extensions, or hire a Joomla specialist. Provide the contractor with your extension inventory and staging access for accurate quotes.

Do I always need a fresh reinstall and migration?

No. In-place upgrades work for many sites. Choose a fresh install and migration when there are many unsupported extensions, a discontinued page-builder controls most content, or extensive custom hacks exist.

How do I roll back if something goes wrong?

Restore both files and the database from a tested backup or revert the hosting snapshot. Verify the restore on staging before returning to production and document the issues to plan the next attempt.

Conclusion — steady, documented steps reduce risk

Upgrading from Joomla 3.10 to Joomla 4 can be straightforward or require careful remediation depending on your extensions and templates. Follow the calm checklist: make and test full backups, inventory extensions, clone to staging, test the upgrade, choose how to handle unsupported extensions, and then perform the production upgrade with a clear rollback plan. If in doubt, document everything and consult a Joomla specialist with your inventory and staging access.

When publishing this article to production, verify PHP and database version requirements and other environment-specific details against the official Joomla documentation before applying changes to a live site.

Troubleshooting SP Page Builder purchases: how to cancel, request refunds and avoid vendor headaches

Details
Written by: Bjørn Ove Bremnes
Parent Category: Community Questions
Category: Community Questions - News
Published: 27 May 2026

If you purchased SP Page Builder (or another commercial Joomla extension) and cannot cancel the subscription or obtain a refund, this guide provides a practical, step-by-step workflow. It covers immediate actions in the first 24–48 hours, how to document evidence, escalation routes (vendor → payment processor → PayPal/bank), and preventative checks to reduce the risk of future problems. Follow the steps carefully and verify vendor-specific policies before taking irreversible actions on a production site.


Overview: the problem and what to do first

Typical scenario: you bought a license or subscription and later decide not to keep it, but vendor support is slow, unclear, or appears non-responsive. Quick action preserves options: dispute deadlines and auto-renew windows can limit what you can do later.

Immediate actions in the first 24–48 hours

  • Log into the vendor account (JoomShaper/SP Page Builder) and take screenshots of the account dashboard, purchases, subscriptions, and billing pages.
  • Save all receipts, invoice emails and confirmation messages—download PDFs where possible.
  • Record transaction details from your payment method (PayPal transaction ID or card statement merchant name).
  • Note exact timestamps for purchase and each contact attempt; create a simple timeline document (text file or spreadsheet).
  • Set a short follow-up schedule: plan reminders at 48–72 hours and 5–7 business days if you get no response.

Why evidence and timing matter

Dispute channels (PayPal, card chargebacks) and vendor refund policies often have strict time windows. A complete evidence package—screenshots, invoices, message logs—makes disputes and escalations much more likely to succeed. Keep copies in two locations (local disk and cloud storage).

Checklist (practical example)

  1. Screenshot account > Purchases/Subcriptions pages.
  2. Download invoice PDF from vendor or payment processor email.
  3. Copy merchant name and transaction ID from PayPal or bank statement.
  4. Save sent emails and support responses; include ticket numbers.
  5. Create timeline entry: “2026-05-01 10:15 UTC — Purchased via FastSpring, transaction ID FS-123456. PDF saved as 2026-05-01_JoomShaper_invoice_FS-123456.pdf”.

Warnings: redact or do not share full card numbers or CVV values. Be careful not to cancel other subscriptions when you manage multiple vendor accounts.

Step-by-step: canceling a paid extension subscription (what to collect and where to look)

This section shows where to look for subscription details and what to collect before attempting cancellation.

Where to find purchase receipts and license/activation emails

  • Search your email for vendor name keywords: “JoomShaper”, “SP Page Builder”, and payment processor names such as “FastSpring”.
  • Check Joomla administrator > Extensions > Manage for installed extension details. Some extensions show license and support links in the component’s control panel.
  • Download invoice PDFs from the vendor account area or from the payment processor email you received after purchase.

How to check account and subscription settings on vendor sites

Typical vendor account navigation is: Account (or Dashboard) → Purchases / Invoices → Subscriptions or Licenses. Look for Manage Subscription, Cancel Renewal or similar controls and take screenshots before clicking any button.

Immediate cancellation steps if you find an active subscription

  • If an online cancel option exists, use it and save the confirmation page (screenshot and PDF if possible).
  • If no online option is available, send a clear cancellation & refund request to vendor support and save the sent message.
  • As a temporary measure, you may be able to deactivate the license in Joomla admin to stop updates; however, do not uninstall or remove the extension without a full backup—this can break site pages built with the extension.

Warnings: Deactivating or removing a page builder from a live site can cause layout breakage and content loss. Always take a full site backup and test on staging first.

Practical filename example: 2026-05-01_JoomShaper_invoice_FS-123456.pdf

Documenting communications: a checklist and sample email/subject lines

Neat, neutral documentation helps when you escalate to the payment processor or your bank.

What to keep

  • All sent and received emails (save as PDF if possible).
  • Support ticket IDs and web contact form confirmations.
  • Screenshots of account subscription pages and any error messages.
  • A short timeline that lists date, time, action and attached evidence filename.

What to include in a clear cancellation request

Essential fields for your message:

  • Full name and account email
  • Order ID / invoice number / transaction ID
  • Date of purchase
  • Concise reason (one sentence) and the outcome you request: cancel + refund
  • Request written confirmation and a timeline for the refund

Sample email templates (neutral and factual)

Initial cancellation & refund request

Subject: Cancellation and refund request — Order [ORDER ID] — [Your Name]

Message (short):

Dear Support Team,

I purchased SP Page Builder on [DATE], Order ID [ORDER ID], using [payment method]. Please cancel the subscription associated with account [account email] and issue a full refund to the original payment method. I request written confirmation of cancellation and an expected refund timeline.

Thank you,

[Your Name]

Follow-up if no response after 48–72 hours

Subject: Follow-up: Cancellation and refund request — Order [ORDER ID]

Message (short):

I am following up on my cancellation request sent on [DATE]. Please confirm receipt and provide a timeline. If no response is received within 5 business days I will escalate this to the payment processor and my payment provider.

Organizing evidence and timestamps

  • Suggested folder structure: /evidence/joomshaper/YYYY-MM-DD_files
  • Screenshot tip: include browser address bar and timestamped system clock in the capture when possible.
  • Keep one master timeline document (example: timeline.txt) that references each file by filename and date.

Warnings: Do not send full credit card numbers or CVV in emails. Include only the last four digits if requested by support.

Escalate: contacting the payment processor (FastSpring) and what to expect

Many vendors use third-party payment platforms. FastSpring is commonly used by digital-product vendors, but verify whether they appear on your receipt before contacting them.

How to locate and interpret a FastSpring receipt

  • Look for merchant of record, order ID and a link to the invoice in the email receipt.
  • Note fields relevant to disputes: transaction ID, merchant name and the date.

How to contact FastSpring and what information to provide

If the receipt shows FastSpring (or another processor), provide them with:

  • Invoice PDF
  • Email thread showing you attempted to cancel with the vendor
  • Clear request: refund and cancellation on Order ID [X]

Sample escalation timeline

  1. Day 0: Purchase and initial evidence capture.
  2. Day 1–2: Send cancellation request to vendor.
  3. Day 5–7: If no substantive response, contact payment processor with the evidence package.
  4. Day 7+: If processor cannot resolve, prepare to file a PayPal dispute or a bank chargeback within the provider’s allowed window.

Warnings: Payment processors may act only as the processor and require merchant authorization to issue refunds. Confirm FastSpring’s role on your receipt. Do not start a chargeback before attempting reasonable escalations—some providers expect proof you tried to resolve the issue first.

If that fails: opening disputes with PayPal or your card issuer

If vendor and processor do not resolve the issue, dispute channels remain: PayPal disputes or card chargebacks. Choose the one that matches your payment method and the provider’s time limits.

How to prepare evidence for a PayPal dispute

  • Attach invoice, screenshots, and the vendor correspondence timeline.
  • Use PayPal’s dispute form to state the problem clearly and request a refund amount.
  • Retain the PayPal case ID and follow the deadlines listed in the case.

How to prepare for a card issuer chargeback

  • Contact your bank promptly—chargeback windows can be strict and vary by network.
  • Provide a timeline and evidence that you attempted to resolve the matter with merchant and processor.
  • Expect multi-week investigations and possible requests for more documentation.

Managing expectations and next steps

Disputes may produce temporary credits while the case is investigated. Merchants can rebut disputes; maintain clear, accurate documentation. If disputes fail and the amount is significant, consider consumer protection agencies or legal options in your jurisdiction.

Warnings: Chargebacks are serious—use them only with accurate documentation. Repeated unjustified chargebacks can harm your payment profile.

Preventative checklist: what to check before buying commercial Joomla extensions

Reduce future vendor headaches with a short pre-purchase routine tailored for Joomla site owners.

Pre-purchase checklist and how to verify each item

  • Refund policy: Locate and read the vendor’s refund/return terms. Note any time limits.
  • Trial/demo: Prefer extensions with a free trial or demo so you can test before committing.
  • Payment processor & merchant: Look for sample receipts or payment pages to identify the merchant of record (FastSpring, Paddle, etc.).
  • Support channels: Confirm support methods (ticket, email, forum) and test responsiveness with a pre-sale question.
  • Compatibility & updates: Check changelog entries and explicit support statements for Joomla 4 (if that is your target).

Questions to ask about Joomla 4 compatibility before buying

  • Does the vendor publish an explicit Joomla 4 compatibility statement in the docs or changelog?
  • Has the vendor listed the tested Joomla versions and minimum PHP requirements?
  • Can you test the extension on a staging site before deploying to production?

Red flags and trust indicators

  • Red flags: no clear refund policy, missing merchant details on receipts, infrequent updates, poor forum activity.
  • Trust indicators: clear changelog, up-to-date docs, transparent license model, and prompt pre-sale replies.

Warnings: Marketing compatibility claims may be optimistic—always verify in documentation and by testing on staging.

Compatibility and migration: SP Page Builder, Joomla 4 and rebuilding options

This section helps you evaluate whether to stay on Joomla, rebuild in Joomla 4, or migrate to another platform such as WordPress.

How to check compatibility safely

  • Test on a local or staging copy of your site; do not update production before testing.
  • Review the extension’s changelog and official compatibility notes on the vendor site.
  • Consult community forums for recent reports, but verify issues against official docs before making decisions.

Migration considerations: rebuild in Joomla vs migrate to WordPress

  • Consider: extension availability, long-term maintenance, hosting, team skills and content migration tools.
  • Costs: time to rebuild templates, retrain editors, and manually reconstruct builder-specific layouts.
  • Plan: staging migration, content export/import tests, and a rollback strategy.

Alternatives to SP Page Builder for Joomla

There are other Joomla page builders and template frameworks. Before selecting an alternative, verify their support policies, update cadence and Joomla 4 compatibility. Trial on staging first.

Warnings: Do not update or migrate a live site without backups and testing. Builder-specific layouts rarely transfer cleanly between products or CMS platforms.

Alternatives and choosing a page builder or extension vendor

When evaluating builders and vendors, use consistent criteria to compare support, licensing, updates and community activity.

How to compare page builders

  • Test support responsiveness with a pre-sale query.
  • Check update frequency and changelog transparency.
  • Validate license model: single-site, multi-site, or subscription-based.
  • Review community activity (forums, issue trackers) for unresolved critical bugs.

When to consider switching platforms (Joomla vs WordPress)

Switching platforms is a strategic decision. Use a short feasibility checklist: plugin parity, theme/template requirements, hosting constraints, available migration tools, and the team's familiarity with the target CMS.

Warnings: Avoid blanket statements that one CMS is always better; focus on trade-offs and site-specific needs.

Resources: official links, templates and next steps

This section lists suggested templates, next steps and how to organize evidence. Verify all external links and policy statements against vendor and payment processor documentation before taking action.

Templates and downloadable checklists

  • Cancellation & refund request email (use the sample above as a starting point).
  • Escalation message to payment processor with attached invoice and timeline.
  • Evidence checklist: screenshot, invoice PDF, transaction ID, timeline document, saved emails.
  • Pre-purchase extension evaluation checklist and decision matrix template.

Suggested next steps and timelines

  1. Immediate (0–48 hours): collect evidence and send an initial cancellation request.
  2. Short-term (5–7 business days): follow up and escalate to payment processor if the vendor does not respond.
  3. If unresolved: open a PayPal dispute or contact your bank before the provider's dispute window closes.

Warnings: Templates are not legal advice. For high-value disputes or complex jurisdictional rules, consider contacting consumer protection authorities or legal counsel.

FAQ

Can I get a refund for SP Page Builder after starting a trial or purchase?

Refund and trial policies vary by vendor and payment processor. Check the vendor’s refund policy and the purchase receipt for instructions. Start with a vendor support ticket, then escalate to the payment processor (if shown on the receipt) and finally to PayPal or your bank if the vendor is unresponsive. Verify the vendor’s published refund policy before publishing or relying on it.

What if the vendor doesn’t respond to my cancellation request?

If the vendor does not respond, escalate to the payment processor (FastSpring or similar) with your invoice and correspondence. If that fails, open a PayPal dispute (if paid via PayPal) or contact your card issuer for a chargeback—observe the provider’s dispute deadlines.

How do I find the details I need to open a payment dispute?

Gather: order ID, invoice PDF, merchant name from the bank or PayPal statement, screenshots of the vendor account/subscription pages, and a timeline of your contact attempts.

Is SP Page Builder compatible with Joomla 4?

Compatibility claims should be verified against the vendor’s documentation and changelog and tested on a staging site. Do not run compatibility checks on production. See the technical claims to verify below before publishing or acting on compatibility statements.

When should I open a PayPal dispute versus contacting my bank for a chargeback?

Use PayPal’s dispute mechanism if you paid with PayPal. Cardholders can contact banks for chargebacks. Always follow the dispute path associated with your payment method and adhere to provider-specific time limits. Attempt resolution with vendor and payment processor first.

Should I switch to WordPress if SP Page Builder causes problems?

Switching CMS is a significant decision. Evaluate plugin parity, maintenance costs, the learning curve, and the availability of migration tools. Test on staging and weigh the time and expense before migrating.

Conclusion

When a paid Joomla extension purchase goes wrong, follow a clear escalation path: collect evidence immediately, request cancellation from the vendor, escalate to the payment processor if unresponsive, and use PayPal or your bank as a last resort. Use the pre-purchase checklist to reduce future risk, always test on staging, and keep full backups before making changes. Verify vendor-specific policies and payment processor details before acting.

For JoomlaForever readers: consider backing up your site before installing or testing new builders, and use the templates and checklists suggested here to keep your records organized.

Safe path to upgrade Joomla 3.10 to Joomla 4 when extensions show compatibility warnings

Details
Written by: Bjørn Ove Bremnes
Parent Category: Community Questions
Category: Community Questions - News
Published: 27 May 2026

Upgrading a Joomla 3.10 site to Joomla 4 can feel daunting when the admin shows compatibility warnings for extensions or templates. The good news: this is a solvable, repeatable process. With a clear inventory, a staging clone, verified backups, and a simple decision tree for each extension, you can minimize downtime and avoid data loss. This guide gives a practical, beginner-friendly checklist and step-by-step workflow to test and perform the upgrade safely.


Overview: What can go wrong upgrading from Joomla 3.10 to Joomla 4

Before you start, it helps to set expectations. Common issues when upgrading include front-end errors, broken admin screens, database migration problems, visual/layout regressions, and third-party integrations failing. Extensions and templates are the most frequent causes of trouble because Joomla 4 includes API changes and modern PHP practices that older code may not follow.

Risks to watch for

  • Front-end pages showing errors or blank screens due to incompatible modules or plugins.
  • Administrator area errors or inability to log in if an admin plugin misbehaves.
  • Database migration errors that change schema in ways that complicate simple rollbacks.
  • Template and CSS layout regressions caused by different core markup or removed helpers.
  • Broken third-party integrations such as payment gateways, forms, or analytics that stop working after upgrade.

Practical examples

Example 1: A module that used a deprecated Joomla 3 controller method may fail to render after the upgrade, causing the whole page to error. Example 2: A custom payment plugin that calls old APIs could stop processing orders, so testing commerce flows is essential.

Warning:

Database schema changes performed by the upgrade can make manual rollbacks unsafe. Always take an independent database snapshot before running migrations.

Pre-upgrade checklist (backups, hosting/PHP, versions)

Do not skip preparation. The following preflight items reduce risk and make rollback practical.

Backups: file system and database

  • Take a complete file system backup and a full database dump. Use a tested method such as your host snapshot, Akeeba Backup, or a manual tar + mysqldump archive.
  • Store backups offsite (downloaded copy or cloud storage) and verify you can restore them to a separate environment.
  • Label backups with date and a short note (e.g., "pre-upgrade-2026-05-16"). Keep the pre-upgrade backup until the site has been stable post-upgrade for a reasonable period.

Server checklist: PHP and extensions

  • Verify your hosting environment meets Joomla 4 requirements before attempting the upgrade: check PHP version, MySQL/MariaDB version, and required PHP extensions such as mbstring, JSON, and PDO. (See "technical claims to verify" below for items that need confirmation against the official docs.)
  • Ensure you have access to your hosting control panel, SSH, or a method to restore snapshots. Know how to increase PHP limits and modify php.ini or .user.ini if needed on staging.
  • Update your Joomla 3.10 installation to the latest available 3.10.x release (perform this on staging first) and then take another backup before moving toward Joomla 4.
  • Reserve sufficient disk space and check file permissions so the updater can write temporary and new files.
Warning: Do not run the Joomla 4 updater on the live site before completing staging tests and having verified backups. Some hosts restrict PHP settings which can interrupt upgrades; check with your host if unsure.

Inventory your site: extensions, templates, and custom code

An accurate inventory lets you prioritize which items require testing, vendor contact, or replacement.

Generate an extensions inventory

  1. Open Extensions → Manage → Manage to see installed components, modules, plugins, templates, and languages. Export a list if your admin or a reporting extension supports CSV export.
  2. Create a simple CSV or spreadsheet with columns: name, type (component/module/plugin/template), enabled (yes/no), version, vendor URL, and notes (where it's used on the site).
  3. Mark which extensions are actively used on key pages (forms, checkout, login, etc.).

How to identify custom vs third-party extensions

  • Custom or in-house extensions often lack a vendor URL, have nonstandard naming, or were installed by copying files into the Joomla folders. Check the extension manifest XML for author and version details.
  • If you find code in /components, /modules, or /plugins that lacks packaging information, flag it as custom and place the folder under version control before editing.

Practical inventory example: a CSV row might read: "mod_contact_custom, module, yes, 1.0.0, (no vendor), used on contact page, custom code — requires review."

Warning: Do not remove extensions from the live site until you have tested their removal on staging. Removing an extension may break site pages or orphan database tables.

Assess compatibility: how to check extensions and templates

For each item in your inventory determine whether there is a Joomla 4-compatible release, a suitable replacement, or if the extension is custom and needs code work.

How to check for extension updates and vendor compatibility statements

  • Check the vendor’s site or the Joomla Extensions Directory for mention of Joomla 4 compatibility or a dedicated Joomla 4 release.
  • Look at changelogs and release notes for explicit "Joomla 4" support or modern PHP compliance.
  • Contact the vendor/support if compatibility is unclear — provide the extension version, your Joomla version, PHP version, and any error messages.

Template compatibility checks

  • Determine whether your template vendor provides a Joomla 4 update. If not, expect CSS and override updates will be necessary.
  • If you use template overrides, note their locations and test them in a Joomla 4 staging environment; overrides are a common source of layout regressions.
Warning: Do not assume vague vendor promises mean an extension will work on Joomla 4 — always test on staging.

Plan your upgrade: staging, version control and timelines

A migration plan reduces surprises. Create a staging environment and use version control for all custom code.

Use a staging site or local clone (methods and quick setup options)

  • One-click staging (if your host provides it) is fastest. Alternatively, restore a pre-upgrade backup to a subdomain (a protected staging subdomain) and update configuration.php database credentials.
  • Local environments (MAMP/XAMPP, Docker) are useful for debugging but ensure PHP/MySQL versions match production to avoid misleading test results.

Version control and change tracking

  • Keep custom extensions and templates in Git where possible. Tag the pre-upgrade state so you can compare and revert changes later.
  • Keep a changelog of extension updates and test results to document what you changed on staging and why.

Typical timeline guidance: small sites — a few hours; medium sites — 1–2 days; complex sites or custom-heavy sites — several days to weeks. These are estimates; always pad your schedule for testing and vendor communication.

Handling incompatible extensions and plugins

For each incompatible extension decide whether to update, replace, remove, or commission a fix. Use this simple decision tree:

  1. Is a Joomla 4-compatible version available from the vendor? If yes — test and update on staging.
  2. If not, can you replace it with a maintained alternative? If yes — plan migration of settings/data.
  3. If it’s custom and critical, consider hiring a developer to port it to Joomla 4 APIs or patch it yourself after placing code under version control.
  4. If the extension is cosmetic or unused, consider removing it after verifying no dependencies exist.

Handling orphaned or vendorless custom extensions

  • Document the extension behavior and export any configuration or data it holds. Put the code into version control before making changes.
  • If the extension is small, rewriting to use Joomla 4 APIs may be faster than trying to fix many compatibility errors. For large extensions, obtain professional help.
Warning: Removing an extension can leave orphaned database tables or template overrides. Inspect the database and file structure before deletion, and always perform removal tests in staging first.

Step-by-step upgrade workflow (safe path for beginners)

Follow this repeatable checklist on your staging clone before touching production.

  1. Update Joomla 3.10 to the latest 3.10.x release on staging and make a fresh backup.
  2. Ensure all extensions that have Joomla 4 releases are updated on staging first.
  3. Take a separate file + DB snapshot of the staging instance (label it pre-J4-upgrade).
  4. Run the Joomla 4 updater on staging (Components → Joomla Update is the GUI location in most installs). Document any warnings the updater shows.
  5. Monitor PHP error logs and Joomla logs while the updater runs. Enable debugging on staging if you need stack traces to investigate failures.
  6. Run the post-upgrade test checklist (see next section). Fix issues iteratively and retest until all critical flows are working.
  7. When staging is stable, schedule a maintenance window for the live upgrade, re-run the pre-upgrade checklist on production, and repeat the upgrade steps with the production backups ready for immediate restore if needed.

Logs and troubleshooting

  • Check PHP error logs, webserver logs, and Joomla logs for fatal errors. On staging, enable debug mode temporarily to capture more details.
  • If an extension causes errors, try disabling it on staging to confirm the site returns to a usable state, then address it separately.
Warning: Do not enable debug mode on production; only use it on staging or local copies. If the upgrade runs database migrations, assume a DB restore is the safest rollback to the pre-upgrade state.

Post-upgrade validation and common fixes

After upgrade, run a focused validation checklist to confirm the site is functional and performant.

Testing checklist after upgrade

  • Front-end: visit key pages, check forms, and exercise dynamic content.
  • Admin: verify login, create/edit content, and confirm key components show correctly.
  • Integrations: perform test transactions, check email delivery, and verify analytics data flow.
  • SEO checks: ensure URLs, metadata, robots.txt, and redirects are intact.
  • Performance: check page load times and review PHP or server error spikes.

Common fixes and how to approach them

  • Template issues: update template overrides in /templates/your_template/html to match new core markup. Compare override files to the core templates and adapt changes carefully.
  • Plugin deprecations: replace or patch plugins that call removed APIs. Prefer applying fixes in a controlled, versioned way.
  • Database notices: if migrations warn about indexes or missing fields, review the migration logs on staging and consult vendor guidance before applying fixes on production.
Warning: Avoid editing core Joomla files. Use overrides and plugin event hooks so future updates remain manageable and reversible.

Rollback and recovery plan

Always have a tested rollback plan. The most reliable method is restoring the full file system and database backup taken immediately before the upgrade.

Restoring from backup/snapshot

  1. Put the site into maintenance mode if possible.
  2. Restore files and the database from the pre-upgrade backup or hosting snapshot.
  3. Clear caches and check configuration.php database credentials if restoring to a different host or path.
  4. Verify the site functions as expected after restore.

When database changes prevent simple rollback

If live data (orders, registrations) changed after the upgrade, restoring a pre-upgrade DB will lose that new data. In those cases:

  • Export critical data (orders, users) from the upgraded site before restoring the pre-upgrade DB.
  • Plan targeted data migration to re-import those items into the restored site.
Warning: Restoring older backups may cause data loss for actions taken after the backup. Communicate this risk to stakeholders prior to rollback.

When to hire help or get professional support

Consider hiring a Joomla professional if you see many incompatible critical extensions, large custom codebases, or you must minimize downtime.

How to communicate with extension vendors

  • Provide: extension name and version, Joomla version, PHP version, server environment, and any error logs or screenshots. Describe steps to reproduce the issue on staging.
  • Ask whether a Joomla 4-compatible release exists, whether there is a migration guide, and whether the vendor offers paid migration services.

Choosing a Joomla developer

  • Look for developers experienced with Joomla 4 migrations, sample work, and references. Ask about their testing and rollback approach.
  • Prepare a concise brief for the developer: access to staging, the extension inventory CSV, prioritized features, and current backups.
Warning: Do not accept a quote without a defined rollback plan and staging testing process. Ask for milestone-based deliverables so you can validate progress before approving production changes.

FAQ

Will the site break if I click the automatic Joomla upgrade?

Not necessarily, but there is risk. Incompatible extensions and templates are the main causes of breakage. Always test on a staging clone and have full, verified backups before attempting an upgrade on production.

How do I find out which extensions are incompatible and whether updates exist?

Export an extensions inventory from Extensions → Manage, then check each vendor’s site or the Joomla Extensions Directory for Joomla 4 compatibility information. Contact vendors for clarification if needed.

What should I do with a custom extension whose developer is gone?

Document and extract the extension, add it to version control, and decide whether to replace it with a maintained alternative or commission a developer to update it for Joomla 4.

Can I upgrade the core and leave incompatible extensions disabled?

Yes—on staging, disable noncritical incompatible extensions, perform the core upgrade, and test. On production, proceed cautiously: some extensions are integral to functionality and require a replacement or fix first.

How long should I budget for the upgrade?

Small sites: a few hours; medium sites with several third-party extensions: 1–2 days; complex or heavily customized sites: several days to weeks. Allow time for vendor responses and iterative testing.

How do I roll back if the upgrade fails?

Restore the pre-upgrade files and database from backups or host snapshots. If live data exists on the upgraded site, export it before restoring so you can plan a re-import into the restored site.

Conclusion

Upgrading from Joomla 3.10 to Joomla 4 while facing compatibility warnings is manageable with a systematic approach: create a full inventory, clone to staging, test updates and fixes, and only upgrade production once staging is stable. Keep clear backups and a rollback plan, and if you encounter many orphaned custom extensions, consider professional help. When in doubt, verify steps against the official Joomla documentation before making production changes.

Quick practical checklist (copy this before you start)

  • Take full file + DB backup and verify restore.
  • Create a staging clone and match PHP/MySQL versions to production.
  • Export an extensions inventory (CSV) and mark critical items.
  • Check vendors and JED for Joomla 4 compatibility; contact vendors where unclear.
  • Update extensions that have Joomla 4 releases on staging first.
  • Run Joomla 4 upgrade on staging, test thoroughly, and fix issues iteratively.
  • When staging is stable, schedule production upgrade with backups and rollback ready.

Version Control for Joomla Extensions: Git Workflow, Packaging & When to Build a Module vs Component

Details
Written by: Bjørn Ove Bremnes
Parent Category: Community Questions
Category: Community Questions - News
Published: 27 May 2026

This practical guide helps Joomla beginners adopt version control and modern build practices for extensions (modules and components). You will learn how to structure a repository, use a simple Git branching strategy, create reproducible installer zips, automate packaging with CI, publish updates, manage database changes safely, and decide when a feature should be a module or a component.

Throughout the article you will find concrete examples, checklists and warnings for steps that can break a live Joomla site. Verify Joomla-specific configuration details against the official Joomla documentation before applying changes to production.


Why use version control for Joomla extensions?

Benefits of Git: history, collaboration, rollbacks and code review

Version control systems such as Git provide core benefits that apply directly to extension development:

  • Change history: see who changed what and why, and link commits to issues.
  • Branching: isolate features, bug fixes or experiments on separate branches.
  • Revertability: roll back problematic releases quickly.
  • Code review and CI: use pull requests and CI checks to improve quality before merging.
  • Reproducible releases: tags and release artifacts (zips) make releases repeatable and traceable.

Common beginner concerns and quick wins

  • Start small: one repository per extension (module or component) is a good default.
  • Use a simple branching model: main (stable), feature/* branches, and release tags (v1.0.0).
  • Use .gitignore to avoid committing local configs, build outputs and credentials.
  • Automate the zip creation in CI rather than zipping by hand — this reduces human error.

Practical examples

  • Example flow: create a feature branch, modify a module view, open a pull request, run CI checks, merge to main and tag v1.0.0 for release.
  • Example .gitignore entries: node_modules/, vendor/ (if you rebuild vendor), .env, build/, and .idea/ or other IDE folders.

Warnings

  • Never commit site configuration or admin credentials to a public repo.
  • Avoid storing full database dumps in the repository; prefer migration scripts or backups stored separately.

Repo layout and workflows: single-repo vs per-extension

Tradeoffs and recommended default

Two common layouts are monorepo (many extensions in one repo) and per-extension repos. For most beginners, a per-extension repo is simpler: smaller clones, focused CI and independent release cadence. Consider a monorepo only when extensions are tightly coupled and you need atomic cross-extension changes.

Monorepo pros and cons

  • Pros: unified dependency management, easier coordinated changes, single CI pipeline.
  • Cons: larger repo, more complex CI, harder to manage permissions per-extension, and possible longer build times.

Per-extension repos pros and cons

  • Pros: focused CI, simpler permissions and releases, fast clones and clearer ownership.
  • Cons: cross-extension changes require coordination across repositories.

Example repo structure guidelines

Keep the source layout roughly reflecting the eventual installer zip to simplify packaging.

Minimal module repo tree
mod_example/
  mod_example.xml
  mod_example.php
  tmpl/default.php
  language/en-GB/mod_example.ini
  build/package.sh
  README.md

Minimal component repo tree
com_example/
  site/
  admin/
  com_example.xml
  sql/install.mysql.sql
  build/package.sh
  README.md
  

Warnings

  • Do not include vendor libraries in the repo unless you intentionally ship them — prefer rebuilding dependencies during packaging or using Composer when appropriate.
  • Avoid committing large binaries that will bloat repository history.

Recommended Git workflow and branching strategy

Branching model

A practical, beginner-friendly model:

  • main (stable, protected): only merged changes via PRs after CI passes.
  • feature/*: short-lived branches for new features or fixes.
  • Tags like v1.2.0 identify releases and should correspond to packaged artifacts.

Versioning conventions

Use Semantic Versioning as a guideline: MAJOR.MINOR.PATCH. Document your version policy in the repository README.

Practical commands

git checkout -b feature/settings-panel
git commit -m "Add settings panel"
# merge via PR, then tag a release
git tag -a v1.1.0 -m "Release 1.1.0"
git push origin main --follow-tags

Warnings

  • Ensure the version in your extension's manifest matches the release tag before publishing; mismatches can cause update problems.
  • Protect the main branch and require CI to succeed before allowing merges to avoid shipping broken code.

Packaging a Joomla extension: manifest, files and creating the zip

What to include in the installer zip

The installer zip should contain only runtime files the Joomla installer expects: PHP source files, language files, assets, templates, and any SQL install/update files. The manifest XML (module or component) controls what gets installed and must be included in the package at the location Joomla expects.

What to exclude

  • Development-only files: tests, CI configs, source maps.
  • Local config files and credentials.
  • .git directories and other VCS metadata.

Build script basics

Create a reproducible build script (bash, Node or PHP) that:

  1. Creates a clean temporary build directory.
  2. Copies only the runtime files into that directory in the correct layout.
  3. Updates the manifest version if required.
  4. Creates a zip archive with the proper root structure for Joomla installer.

Practical example (bash outline)

mkdir -p build/package
cp -r mod_example/* build/package/
# optional: update version in manifest using a script or sed
cd build && zip -r ../mod_example-v1.0.0.zip package

Warnings

  • Verify the zip root folders match Joomla's installer expectations; an incorrect structure causes installation failures.
  • Do not include .git or CI secrets in the zip.

Please verify the exact manifest elements required for modules and components against the official Joomla documentation before publishing packages.

Automating releases: CI/CD examples to build zips and publish

CI job stages

A typical CI pipeline for extensions includes steps to:

  1. Checkout the repository.
  2. Install build dependencies (if any).
  3. Run linters and tests.
  4. Run the build script to assemble the package zip.
  5. Upload the zip as an artifact and optionally publish it to a release or file server.

Tag-driven releases

Configure CI to trigger the packaging job on pushed tags (for example, tags starting with v). This ensures the built artifact version matches the git tag and helps keep releases traceable.

GitHub Actions / GitLab CI outline

Example YAML outline (conceptual):

on:
  push:
    tags:
      - 'v*'

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@vX
      - name: Build
        run: ./build/package.sh
      - uses: actions/upload-artifact@vX
        with:
          name: package
          path: mod_example-v*.zip

Security and publishing

  • Store publishing credentials in CI secret stores and avoid printing them in logs.
  • Publish artifacts to appropriate targets: GitHub Releases, an internal file server, S3 or a dedicated update server based on your distribution needs.

Warnings

  • Do not expose secrets in logs. Rotate tokens regularly.
  • If you publish to a public channel, ensure licensing and attribution comply with Joomla Extensions Directory (JED) rules.

Distributing updates: Joomla update manifests, update servers and Composer

How Joomla update discovery works (concept overview)

Joomla can discover extension updates via update manifests or update server endpoints that point to new package URLs. You typically publish a small update XML that lists available versions and download URLs; Joomla's Extension Manager checks these endpoints and lists updates in the admin UI.

Update server workflow

  1. CI produces a release zip (e.g., v1.2.0).
  2. You upload the zip to your server or storage (S3, CDN, etc.).
  3. You update the update.xml (or equivalent) to include the new version entry pointing to the zip URL.
  4. Joomla sites configured to check your update URL will see the new version available.

Composer vs installer zip distribution

Composer distribution is an alternative for sites that use Composer-based Joomla installations. It provides fine-grained dependency management for developer-oriented setups, but many site administrators still prefer the standard installer zip. If you offer Composer packages, provide clear instructions and consider supporting both distribution methods when practical.

Warnings

  • Ensure the update XML's version and download URL are accurate—incorrect entries can prevent updates or show incorrect versions to users.
  • Do not enable automatic updates in production for critical extensions without staged testing and rollouts.

Verify the exact format and fields required for Joomla update manifests with the official documentation before integrating automated update publishing.

Module vs Component: a decision checklist

Use this practical checklist to decide whether to implement a feature as a module or a component.

High-level rule

Components are for application-like functionality with multiple views, backend management, and usually custom DB tables. Modules are for small frontend widgets or blocks that are assigned to template positions.

Decision checklist (6 questions)

  1. Does the feature need a dedicated admin UI? If yes → lean component.
  2. Does the feature require custom database tables? If yes → consider component.
  3. Is the output a small block that appears in template positions? If yes → module.
  4. Will you need multiple views and custom routing? If yes → component.
  5. Is granular ACL integration required? If yes → component.
  6. Would a hybrid approach (component for data/manage, module for widgets) be cleaner? If yes → consider both.

Examples

  • Announcements banner across the site — module.
  • Event management with bookings, reports and admin screens — component.
  • Component + module hybrid: component stores events and provides APIs; small modules render upcoming events in positions.

Warnings

  • Avoid implementing complex business logic only inside modules; maintainability and testing will suffer compared with components.
  • If you plan to use custom DB tables, verify Joomla's recommended locations and naming for SQL install/update files before publishing.

Handling database changes and migrations safely

Approaches

Two common approaches for schema and data migrations:

  • SQL install/update files that run declarative SQL changes.
  • Installer script classes (PHP) for complex or conditional migrations.

Best practices

  • Make migration steps idempotent where possible (safe to re-run without breaking).
  • Keep update files ordered by version and document the sequence clearly.
  • Test all migrations on staging with a copy of production-like data.
  • Always take backups before applying migrations to production.

Practical example (organization)

Place sequential update files in a versioned folder like sql/updates/mysql/ and name them by target version (for example, 1.1.0.sql). Reference the update files from the manifest as required by Joomla.

Warnings

  • Database migrations can irreversibly change production data — require staging tests and a recovery plan.
  • Do not rely on untested installer scripts for major data transformations.

Confirm Joomla conventions for SQL update file locations and naming in the official docs before releasing upgrades that change the database schema.

Practical tools, starter kits and resources

Developer tooling examples

  • Scaffolders: use a generator to create a standardized module or component skeleton to speed development.
  • Packaging helpers: small scripts to copy runtime files into a build folder and create zip archives.
  • Static analysis: PHPStan or Psalm to catch issues early; integrate into CI.
  • Testing: add PHPUnit or integration tests where feasible and run them in CI.

Where to find starters and docs

Consult the official Joomla Extension Development documentation, manifest guides and update server documentation for authoritative details. Check community starter kits and scaffolding projects, but verify they follow current Joomla best practices.

Warnings

  • Verify tool versions for compatibility with the Joomla version you target.
  • Be cautious using third-party starters with outdated patterns; review the code before adopting.

Step-by-step example: from dev repo to release zip

End-to-end sequence

A concise, reproducible sequence for a release:

  1. Create feature branch: git checkout -b feature/x.
  2. Implement changes and open a pull request.
  3. Run CI checks and merge to main after approval.
  4. Bump the manifest version (e.g., to 1.2.0) and update CHANGELOG.
  5. Create an annotated tag: git tag -a v1.2.0 -m "Release 1.2.0" and push tags.
  6. CI detects the tag, builds the zip and uploads it as a release artifact.
  7. Update your update.xml on the update server pointing to the new zip URL so Joomla sites can discover the update.

Release checklist

  • All tests and linters passed in CI.
  • Manifest version matches the git tag.
  • Changelog updated and release notes created.
  • Release artifact (zip) attached to the git tag/release.
  • Update server entry updated (if applicable).

Warnings

  • Do not push a tag without ensuring CI will create and attach the corresponding artifact — mismatched tags and missing zips confuse users.
  • Confirm update server updates are atomic and tested to prevent leaving users with broken update entries.

FAQ

Do I need Git for Joomla extension development?

Yes. Git offers history, safe branching, rollbacks and reliable release tagging. Even single developers benefit from tags and repeatable packaging.

Should each extension have its own repository or should I use a monorepo?

Both approaches are valid. Per-extension repos are simpler for beginners and independent releases. Use a monorepo if extensions are tightly coupled and you need atomic, cross-extension changes.

How do I create the zip install package for Joomla from my codebase?

Create a reproducible build script that copies only runtime files into a clean folder, ensures the manifest version is correct, and zips the folder. Automate this in CI to reduce errors.

When should I build a component instead of a module?

Choose a component when you need admin interfaces, multiple views/controllers or custom DB tables. Use a module for simple frontend blocks or widgets. Consider a hybrid when a component manages data and a module renders small pieces of that data.

How do I handle database schema updates for my extension?

Use Joomla SQL update files for straightforward schema changes and installer script classes for complex migrations. Test migrations on staging and keep backups. Verify Joomla naming and placement conventions before releasing updates that change the schema.

Conclusion

Adopting Git and simple CI for Joomla extension development makes releases reproducible, traceable and safer to maintain. For most beginners, a per-extension repository, a minimal branching policy and an automated packaging script are the best starting point. Use the module vs component checklist to pick the appropriate extension type, and treat database migrations and update publishing with extra care. Before applying Joomla-specific configurations (manifest fields, update XML format, SQL file placement), verify the details against the official Joomla documentation.

Additional checklist (quick reference)

  • One repo per extension (default) or monorepo if tightly coupled.
  • Protect main and require CI for merges.
  • Automate packaging and publish artifacts from CI on tags.
  • Keep only runtime files in the installer zip; exclude dev artifacts.
  • Test database migrations on staging and keep backups.
  • Verify all Joomla-specific manifest and update-server details against official docs before publishing.

Page 8 of 13

  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • How to Manage Multiple Joomla (and WordPress) Sites with Claude Desktop and AI Site Managers

    Managing a portfolio of Joomla (and WordPress) sites is repetitive work: check core and PHP versions, review extensions, confirm backups, and produce client reports. Modern site-management platforms combined with AI desktop clients (for example, MCP-capable clients) can reduce friction by...

  • How to Recover a Deleted Joomla Site from a 2022 Backup (Beginner's Guide)

    If your long-running Joomla site was deleted from a host and all you have is a backup from 2022, you can often recover and test it safely. This guide walks beginners through identifying the backup type, restoring to a safe environment (local or staging), troubleshooting common issues, and planning a...

  • How to Find and Fix the JCE Profiles Hack Using mySites.guru (June 2026)

    This guide explains, in plain language, how to detect and remove rogue JCE editor profiles and any associated backdoors using a monitoring and remediation workflow that includes mySites.guru. It covers a safe, repeatable sequence you can follow now: snapshot → backup → export evidence → run...

  • How to restore a Joomla 3.10 backup when your host won’t let you install older Joomla

    Finding a Joomla 3.10 backup after your old host deleted the account is stressful — especially if your new host blocks installing older Joomla versions via Softaculous or similar installers. This guide gives a practical, step-by-step roadmap you can follow safely: what to gather, how to perform a...

  • How to Use the Joomla Museum: Find, Download and Submit Joomla 3/4 Extensions Safely

    The Joomla Museum is an archive-style repository that preserves historical and current Joomla extensions. It can be a useful resource for site owners, developers and researchers who need discontinued extensions, older releases or reference code. This guide explains how to find and download Joomla 3...

  • How to restore an old Joomla 3.10 backup when your host won't install Joomla 3

    Discovering that a long-running Joomla website was deleted is stressful, especially when all you have is a backup from 2022 and your host or installer refuses to install Joomla 3.x. This guide gives practical, step-by-step options to minimize further loss, inspect your backup, restore the site...

  • How to Rescue and Restore a Joomla 3.10 Backup After Your Host Deleted the Site (Beginner's Guide)

    If your host removed a long-running Joomla site and all you have is a backup from 2022 (Joomla 3.10), don’t panic. This guide gives a practical, step-by-step rescue plan you can follow yourself or hand to a technician. You will learn how to preserve the backup, inspect its contents, choose an...

  • Upgrading from Joomla 3.10 to Joomla 4 — A Beginner's Safe Checklist (When Extensions Cause Warnings)

    If your Joomla 3.10 site shows warnings about extensions when preparing to upgrade to Joomla 4, you are not alone. The Joomla core provides an upgrade path, but third-party extensions, templates and server settings are the usual sources of post-upgrade breakage. This article gives a step-by-step,...

  • DC Liquid Alerts for Joomla 6 — A Beginner’s Guide to Animated Liquid-Border Alerts

    If you find standard site alerts easy to miss, animated liquid-border alerts can help important messages stand out. DC Liquid Alerts is a small content plugin designed to transform shortcodes into visually prominent alerts with an organic animated border. This guide walks Joomla 6 beginners...

  • How to Upgrade from Joomla 3.10 to Joomla 4 Safely (When Extensions & Plugins Look Problematic)

    Upgrading from Joomla 3.10 to Joomla 4 is a valuable move for security, performance and long-term compatibility — but many site owners pause when third‑party extensions or custom code show compatibility warnings. This guide gives a clear, practical workflow for beginners: how to prepare, create a...

  • DC Carousel Articles v1.1.0 — Configure Filtering, Multilanguage & UI in Joomla

    This guide explains what changed in DC Carousel Articles v1.1.0 and shows Joomla beginners how to install or update the module, use its new stacked filtering options, configure multilanguage behavior, and adjust the UI (navigation buttons and styling). Follow the step-by-step instructions on a...

  • How to Upgrade from Joomla 3.10 to Joomla 4 — A Safe, Beginner-Friendly Checklist

    Upgrading from Joomla 3.10 to Joomla 4 is a worthwhile move for security, performance, and long-term support — but it can feel risky if your site uses third‑party extensions or a custom template. This guide gives a practical, beginner-friendly checklist you can follow to reduce risk: gather system...

  • Upgrading from Joomla 3.10 to Joomla 4: A Practical, Low‑Risk Checklist When Extensions Block the Update

    This guide is a practical, step‑by‑step checklist for Joomla site owners and beginner developers who want to upgrade a Joomla 3.10 site to Joomla 4 but are stopped by extension or template compatibility warnings. Follow the ordered steps below to minimise downtime and risk: inventory your site,...

  • Is JoomLMS Still in Business? How to Check & Protect Your Joomla Client Sites

    Many Joomla site owners depend on third-party extensions such as JoomLMS for critical functionality. When vendor support becomes unresponsive it creates uncertainty for you and your clients. This guide gives a step-by-step workflow you can follow immediately: a quick vendor triage you can do in...

  • How to Upgrade Joomla 3.10 to Joomla 4 When Extensions Are Warning or Broken

    If your Joomla 3.10 site shows warnings about extensions or some plugins appear broken when you try to move toward Joomla 4, you are not alone. Upgrading the Joomla core is a safe and common process — the risk usually comes from third‑party extensions that rely on older APIs or older PHP versions. This...

  • What are components/com_remository pages? Interpreting 'Files Search Results' and 'Last Searches' on archived Joomla sites

    If you found archived URLs like /index.php?option=com_remository showing headings such as "Files Search Results" and a list called "Last Searches," it's understandable to be concerned. These pages typically come from a Joomla extension, but an archive snapshot alone does not prove current exposure or...

  • Upgrading from Joomla 3.10 to Joomla 4: a practical, safety-first checklist for beginners

    This guide walks a Joomla site owner through a safety-first, non-technical approach to upgrading from Joomla 3.10 to Joomla 4. It focuses on practical checkpoints: creating a full inventory of extensions and templates, preparing a verified backup and staging copy, identifying compatibility risks,...

  • How to Control Where Users Are Redirected After Login in Joomla (Beginner’s Guide)

    It’s common to see a successful login but the site sends users to the wrong page or an error after sign-in. This guide shows where Joomla decides the post-login destination, how to create a stable landing page (menu item recommended), how to configure the core Login module, how to detect...

  • How to Safely Upgrade from Joomla 3.10 to Joomla 4 When Extensions Block the Way

    This guide helps Joomla site owners move from Joomla 3.10 to Joomla 4 when third-party extensions or PHP requirements appear to block the way. Follow a staged, test-first workflow: audit extensions, make reliable backups, create a staging copy, run the upgrade there, and only deploy to production when the...

  • Upgrading from Joomla 3.10 to Joomla 4: A Practical, Risk‑Reducing Checklist for Beginners

    Upgrading from Joomla 3.10 to Joomla 4 is an important step for improved security, modern features and longer support life. The most common upgrade problems arise from incompatible third‑party extensions, outdated templates or untested server configurations. This guide gives a practical,...

  • Are AI Coding Tools Helpful for Joomla Development? A Beginner’s Guide

    If you are building or maintaining Joomla sites you may be wondering whether AI coding assistants ("coding robots") can speed your work or whether they introduce more risk than benefit. This guide explains, in practical terms, what AI tools do well for Joomla projects, where they commonly fail,...

  • How to Safely Upgrade Joomla 3.10 to Joomla 4 When Extensions Warn or Won't Auto‑Update

    If your site still runs Joomla 3.10 and the pre‑update checker shows warnings for extensions, you are not alone. Upgrading the core is usually straightforward, but incompatible extensions, templates or page builders can break a site. This guide gives a practical, low‑risk workflow you can follow:...

  • Upgrading from Joomla 3.10 to Joomla 4: A Practical, Low‑Risk Checklist for Beginners

    If your site is on Joomla 3.10 and you see compatibility warnings when preparing to move to Joomla 4, you are not alone. The upgrade is a common and manageable task provided you follow a methodical plan: inventory extensions and templates, create reliable backups, run the upgrade on a staging...

  • Upgrading from Joomla 3.10 to Joomla 4 — a practical, beginner-friendly checklist

    Upgrading a Joomla site from 3.10 to Joomla 4 is a sensible move for long‑term security and features, but it often scares site owners because of third‑party extensions, custom templates and PHP version changes. This guide gives a practical, beginner‑friendly checklist and a safe sequence to...

  • How many clicks to create a new Joomla category — Baseline, shortcuts

    When you're writing or editing an article in Joomla and realize you need a new category, the default admin workflow often forces a context switch. That can mean saving, navigating to Category Manager, creating the category, and returning to the article to assign it. The result is extra clicks,...

  • Upgrading from Joomla 3.10 to Joomla 4: A Practical Pre‑Upgrade Checklist When Extensions Warn or Won’t Auto‑Upgrade

    Upgrading a Joomla 3.10 site to Joomla 4 can be straightforward when your site uses primarily core features. Problems usually appear when third‑party extensions, templates with overrides, or custom code are present. This guide gives a practical, non‑technical checklist to audit extensions, create a...

  • Upgrading from Joomla 3.10 to Joomla 4: A Beginner’s Safe Checklist When Extensions Show Warnings

    If you see compatibility warnings while preparing to upgrade from Joomla 3.10 to Joomla 4, you are not alone. Many site owners worry that clicking "Upgrade" will break a live site—especially if the original developer is unavailable. This guide gives a calm, practical, step-by-step workflow: gather...

  • Of Course I Found a Critical Bug on Launch Day — Joomla Extension Pre‑Launch Checklist & Fast Debug Guide

    Finding a critical bug right as you’re about to launch is stressful but common. Environment differences, packaging mistakes, missing assets, database migration issues, or unexpected dependency changes often surface only during final validation or under production load. The goal in the first hour is...

  • Upgrading from Joomla 3.10 to Joomla 4 — A Calm, Safe Checklist When Extensions Block the Update

    If you see warnings about extensions while preparing to upgrade Joomla 3.10 to Joomla 4, don’t panic. The core upgrade path exists, but third-party extensions, templates and page-builders are often the source of trouble. This guide gives a safe, step-by-step workflow: audit, backup, clone to...

  • Troubleshooting SP Page Builder purchases: how to cancel, request refunds and avoid vendor headaches

    If you purchased SP Page Builder (or another commercial Joomla extension) and cannot cancel the subscription or obtain a refund, this guide provides a practical, step-by-step workflow. It covers immediate actions in the first 24–48 hours, how to document evidence, escalation routes (vendor →...

  • Safe path to upgrade Joomla 3.10 to Joomla 4 when extensions show compatibility warnings

    Upgrading a Joomla 3.10 site to Joomla 4 can feel daunting when the admin shows compatibility warnings for extensions or templates. The good news: this is a solvable, repeatable process. With a clear inventory, a staging clone, verified backups, and a simple decision tree for each extension, you...

  • Version Control for Joomla Extensions: Git Workflow, Packaging & When to Build a Module vs Component

    This practical guide helps Joomla beginners adopt version control and modern build practices for extensions (modules and components). You will learn how to structure a repository, use a simple Git branching strategy, create reproducible installer zips, automate packaging with CI, publish updates, manage...

  • Upgrading from Joomla 3.10 to Joomla 4 — a safe, step-by-step checklist for beginners

    Upgrading a site from Joomla 3.10 to Joomla 4 can feel risky, especially if you inherited a site with unknown extensions or a missing developer. Follow a safety-first workflow: take full backups, clone the site to a staging environment, inventory extensions and templates, verify server...

  • How to Restore a Joomla 3.10 Backup When Your Host Deleted the Site (Beginner's Guide)

    If your host deleted a long-running Joomla site and the only thing you have is a 2022 backup (Joomla 3.10), don’t panic. You can usually restore that backup safely if you proceed carefully. This guide gives a clear, step-by-step path for beginners: inspect the backup, restore to a safe test...

  • Upgrading from Joomla 3.10 to Joomla 4 — What to Do When Extensions and Plugins Warn You

    This article gives a calm, practical, step-by-step checklist for Joomla 3.10 site owners who see compatibility warnings for extensions and plugins when preparing to upgrade to Joomla 4. If your original developer is unavailable, or you see many warnings in the pre-update checks, follow the...

  • When AI Makes You Furious: A Joomla User’s Guide to Staying Calm and Productive

    Feeling anger or exasperation when an AI assistant gives you bad advice, incorrect code, or vague instructions is common — especially when you're managing a live CMS like Joomla. This guide is written for Joomla users and site owners who want to keep their temper and their website intact. You will...

  • Upgrading from Joomla 3.10 to Joomla 4: A beginner’s checklist when extensions block the way

    Upgrading from Joomla 3.10 to Joomla 4 can bring performance, security, and UX improvements — but legacy or custom extensions often block the way. This guide walks beginners through a safe, practical workflow: back up, stage, audit extensions, decide whether to update/replace/remove custom or...

  • RCA AddMenuItem (J4/J5/J6): What it is, how to install it and how to migrate from Regular Labs Add to Menu

    RCA AddMenuItem is presented as a modern refactor of the legacy "Add to Menu" automation used on many Joomla 3 sites. If you are preparing to upgrade from Joomla 3 or want an actively maintained way to automatically create and manage menu items when content is published, this guide explains what RCA...

  • How to safely upgrade from Joomla 3.10 to Joomla 4 when extensions show "incompatible" warnings

    Moving from Joomla 3.10 to Joomla 4 is a common and supported migration path, but many site owners see "incompatible" warnings for third‑party extensions and templates. This guide walks you through a low‑risk, step‑by‑step plan: take reliable backups, create a staging copy, audit and triage...

  • Upgrading from Joomla 3.10 to Joomla 4 — A Beginner’s Safety-First Guide

    Upgrading a live Joomla site can be nerve-wracking. This guide takes a safety-first approach to upgrading from Joomla 3.10 to Joomla 4. You will get a practical checklist, a decision framework for extensions and templates, and concrete steps to test on staging before touching your production site....

  • RocketTheme Closed in 2025: Which Templates & Extensions Will Joomla Sites Miss — And What To Do Next

    If your Joomla site uses RocketTheme templates or extensions, the vendor closure in 2025 raises immediate questions about support, security, and upgrades. This guide helps beginners and site owners take practical steps: inventory what you have, score risk, choose whether to replace or refactor,...

  • How to Integrate Nova Poshta with VirtueMart (Joomla 3) — A Beginner's Guide

    This practical guide helps Joomla site owners and VirtueMart users add Nova Poshta pickup point selection to the VirtueMart checkout on Joomla 3. It walks you through prerequisites, safe installation, configuration (API key, shipment mapping, city autocomplete and warehouse selection), testing on...

  • How to Upgrade from Joomla 3.10 to Joomla 4 — A Beginner’s Safe-Upgrade Checklist

    Upgrading from Joomla 3.10 to Joomla 4 is a worthwhile step: Joomla 4 brings a modernized codebase, improved security and user experience improvements that matter for long-term support. However, the upgrade affects not only the core CMS but also templates, third-party extensions and any custom...

  • Introducing 3DBug for Joomla: What it Is, How to Use It, and Who It’s For

    3DBug is a recently released Joomla extension that brings interactive 3D scenes and models into Joomla pages. This guide is written for site owners, designers and beginner developers who want a practical, Joomla‑centric walkthrough: how to evaluate, install and test 3DBug safely on a staging site,...

  • How to Upgrade from Joomla 3.10 to Joomla 4 When Extensions and Plugins Cause Warnings

    If your Joomla 3.10 site shows warnings about extensions or plugins when preparing to upgrade to Joomla 4, you are not alone. These warnings are often a sign that third‑party code needs attention before the core upgrade. Rushing the process can break your site; this guide gives a safety‑first,...

  • How to Manage Joomla Users Faster: Practical Workflows, Tools and Safety Tips

    Administering users is one of the most repetitive tasks on many Joomla sites. Opening individual profiles, applying the same change dozens of times, running ad-hoc exports and double-checking permissions can eat hours each week. This guide gives beginner-friendly, practical workflows to save time...

  • Upgrading from Joomla 3.10 to Joomla 4 — a practical, worry-free checklist for beginners

    Upgrading a live website can feel risky, especially when the original developer is unavailable and the administration interface shows warnings about extensions. This guide gives a clear, practical checklist for non-developers to move a Joomla 3.10 site to Joomla 4 with minimal risk. You will learn...

  • A Practical Protocol to Refactor Joomla 3 Extensions for Joomla 4/5/6

    This article documents a practical, repeatable protocol to migrate Joomla 3 extensions to modern Joomla versions (4, and forward toward 5/6). It is written for site owners, designers and junior developers who need a structured workflow that reduces risk and helps produce stable releases. The...

  • How to Upgrade from Joomla 3.10 to Joomla 4 Safely (When Extensions Warn "Incompatible")

    If you manage a Joomla 3.10 site and the Pre-Update Checker or Extension Manager shows many extensions as “incompatible”, don’t panic. This is a common situation. In most cases an orderly process—inventory, backups, staging, targeted fixes, and a tested live migration—lets you upgrade without...

  • How to Integrate n8n with Joomla — Step‑by‑Step Workflows for Content, Users, and Automation

    Intro image for How to Integrate n8n with Joomla — Step‑by‑Step Workflows for Content, Users, and Automation

    N8n Joomla integration: learn what the latest Joomla release adds, how to upgrade safely, developer notes, system checks and roadmap guidance for site owners.

  • What is coming for Joomla in 2026: Joomla 6.1, features and roadmap

    Intro image for What is coming for Joomla in 2026: Joomla 6.1, features and roadmap

    Joomla in 2026: learn what Joomla 6.1 adds, how to upgrade safely, developer notes, system checks and roadmap guidance for site owners.

  • Joomla 6.0.4 and 5.4.4 Updates: Comprehensive Guide to What's New and How to Upgrade

    Comprehensive guide to Joomla 6.0.4 and 5.4.4: learn what's new, security and performance fixes, compatibility notes, and a step-by-step safe upgrade checklist with staging, backups, troubleshooting and rollback instructions.

  • Ultimate Guide to Joomla Migration: Seamless Website Transition Strategies

    Ultimate Guide to Joomla Migration: Seamless Website Transition Strategies

    Ultimate Joomla migration guide: step‑by‑step planning, backups, core/template and extension migration, database transfer, SEO-preserving 301 redirects, staging tests, performance and security checks, plus recommended tools and best practices.

  • Mastering Joomla Content Editor (JCE) Setup & Features

    Mastering Joomla Content Editor (JCE) Setup & Features

    The Joomla Content Editor (JCE) is a powerful extension designed to simplify and enhance content creation within the Joomla content management system. Joomla’s default editor options can be limiting, especially for users who need more control over formatting, multimedia management, and layout...

  • Mastering Joomla Automation: Tools, Tips & Trends

    Mastering Joomla Automation: Tools, Tips & Trends

    Automation tools streamline repetitive tasks, allowing users to save time and reduce manual errors. Popular no-code automation platforms include Zapier, Make.com (formerly Integromat), and IFTTT.

  • Creating Secure and Effective Joomla Extensions: A Guide

    Joomla Exctension Creation

    Joomla is a widely-used, open-source content management system (CMS) recognized globally for its flexibility, scalability, and ease of use. It powers millions of websites ranging from personal blogs to large-scale corporate portals and government websites. Joomla provides a robust framework that...

  • Admin Tools Review: Akeeba's Security and Maintenance Suite (updated 2025)

    Admin Tools Review: Akeeba's Security and Maintenance Suite (updated 2025)

    Admin Tools by Akeeba Ltd is one of the most respected and powerful administrative extensions available for Joomla. It serves as an all-in-one toolkit aimed at improving your site's security, performance, and day-to-day management.

  • Complete Review: Akeeba Backup (updated 2025)

    Akeba Backup Review

    one name consistently stands out when discussing Joomla website backups: Akeeba Backup. Developed by Akeeba Ltd.. Whether you are managing a personal blog or a commercial enterprise website, safeguarding your data is paramount, and Akeeba Backup rises to this challenge with robust features,...

  • How to Create a Form Using RS Form in Joomla 5

    Build a form using RS Form Pro

    Creating a form using RS Form in Joomla 5 is a straightforward process.

    Follow the steps below to create your form easily:

    Step 1: Install RS Form

    1. Log in to your Joomla 5 administrator panel.
    2. Navigate to Extensions > Manage > Install.
    3. Upload the RS Form package file and click on Install.

    Step 2:...

  • Top Joomla Questions for 2025: What You Need to Know

    Top Joomla Questions for 2025: What You Need to Know

    Joomla continues to be a leading content management system (CMS), celebrated for its flexibility, scalability, and robust community support.

  • RS Form - Streamline Form Submissions with RS Form Pro and Google Integration in Joomla 5

    RS Form - Streamline Form Submissions with RS Form Pro and Google Integration in Joomla 5

    RS FORM from RS Joomla is a powerful extension form builder with many extra and underrated features. In this article, we will explore some of these features, from using Google Docs and Google Sheets to using the inbuilt .PDF solution in RS Form.

  • 10 Common Misconceptions about Joomla!

    10 Common Misconceptions about Joomla!

    Discover the truth behind Joomla!, the renowned content management system empowering countless websites globally. Unraveling prevalent misconceptions, this article delves into Joomla! 's functionality and user-friendliness to offer valuable insights. By debunking the top ten myths surrounding...

  • MigrateMe 4: Is this the best way to migrate from Joomla 3 to Joomla 4?

    MigrateMe 4: Is this the best way to migrate from Joomla 3 to Joomla 4?

      MigrateMe 4 is a commercial extension that can migrate Joomla websites from Joomla 3 to Joomla 4. It is a relatively easy-to-use extension that can migrate all files and data from a Joomla website, including the content, the modules, the plugins, and the settings.

  • Regular Labs - Advanced Module Manager: A powerful and easy-to-use extension that can help you take control over your Joomla Modules

    Regular Labs -  Advanced Module Manager: A powerful and easy-to-use extension that can help you take control over your Joomla Modules

    Regular Labs - Advanced Module Manager is an extension designed to enhance the administration of Joomla modules. With its powerful features and user-friendly interface, it aims to give users more control over their modules and provide them with a better overall experience.

  • Regular Labs - Articles Anywhere: A Critical Review of a Joomla Extension for Dynamic Content Display

    Regular Labs - Articles Anywhere: A Critical Review of a Joomla Extension for Dynamic Content Display

    Articles Anywhere is a powerful Joomla plugin that allows you to insert articles anywhere on your site, including within modules, 3rd party components, and even inside other articles. You can place complete articles and only specific data (like Title, Readmore Link, Text, Images, Custom Fields,...

  • Regular Labs DB Replacer: A powerful tool that can be used to make a variety of changes to your Joomla website

    Regular Labs - DB Replacer:  A powerful tool that can be used to make a variety of changes to your Joomla website

    Regular Labs' DB Replacer is a Joomla extension that allows you to search and replace text in any table in your Joomla database. It even supports searching with case sensitivity and using regular expressions. DB Replacer is a great way to save time and effort when you need to change a large amount of...

  • Regular Labs - ReReplacer: A powerful tool that can be used to search and replace text in a variety of contexts

    Regular Labs - ReReplacer:  A powerful tool that can be used to search and replace text in a variety of contexts

    Regular Labs' ReReplacer is a powerful tool that allows users to search and replace text in various contexts. With its advanced features, ReReplacer will enable users to efficiently manipulate content using regular expressions (regex).

  • Regular Labs -Content Template: An easy way to make reusable templates for your content

    Create a template to your articles

      Content will be of significant importance in 2024. Sometimes we often write the same code repeatedly, but with the Content templater Extension from Regular Labs, you can import a template just by clicking a button.

  • Icons are great: Learn how to create a override for using Font Awesome in a Custom Field

    Collection of random icons

    Icons have a significant visual effect to have on your website. Did you know that using an icon as a Custom Field is possible? - Creating an override for the Field layout is done in minutes.


    Since Font Awesome is included in Joomla's Cassiopeia template, we will use a template override for the...

  • Need some different custom characters in your articles? - Customize CSS styles using JCE

    Plain graphics

    Using custom characters in JCE Editor can be challenging, especially if you want to use symbols, not on the JCEs default list. There are two ways to do this.


     

    Special characters are often used in content to show something, but could you please explain how a field is inserted into an article? You know...

  • Failed login Attempts - Override the look of how the IPs are shown

    NO IMAGE!

    The Failed Login Attempts plugin gives you an overview of your failed logins, but you can make it even better by applying a simple override. The override provides a link to more information about who has tried to log in, and you can therefore use other extensions to block the user or take...

  • Failed Login Attempts - A great extension to see failed logins to your site

    Person sitting in darkness

     

     If you own a website, you probably know that not all visitors have legit reasons to visit your website. There are both bots and humans that daily tries to get into your website without having an account.

  • Bootstrap: A powerfull Framework all built into Joomla By default

    Bootstrap

    Joomla 4 comes packed with features by the core version. One of these features is the Bootst6rap Framework, which Joomla has added by default.


    Bootstrap has been around since 2011 and part of Joomla since version 3. The latest version, 5.1, is prebuilt into Joomla 4. When this is said, most of...

  • Making a Joomla site on a Budget? It's Not as Hard as You Think

    Bowel of money

    You’ve probably heard that Joomla is a “free” platform. That’s true, but it doesn’t tell the whole story. You can download the software for free, and you can host Joomla sites for free on specific hosting platforms. However, if you want the best possible performance and security, you’ll need to...

  • Override: How do I get a Subform to look better

    Notebook with lines

    Subform fields are mighty, but did you know they look like a list? - Here, I will show you how you can spice up the look of your Subform.


    Although Subforms are not a new feature in Joomla 4 but were available already in Joomla 3, in Joomla 3, they were introduced as "Repeatable-Fields". But...

  • Override: The Invalidate Cache Admin module.

    Template Layout

     In Joomla, it is relatively easy to create CSS overrides. If you would like to change the color of the Invalidate Cache button, you can read on.


    How to create a CSS override in Joomla 4 Administrator (Atum - Template)?

    Joomla is built with the intention of user customization of how it looks. CSS...

  • Invalidate Cache in Joomla - A way to always have an Up-to-date site

    Invalidate Cache - Picture

    Site caching is sometimes a web developer's nightmare. You can control the site reset using Invaliade Cache, a simple free module in the Administrator of Joomla.

  • Useful Joomla resources - Where to get inspiration for Joomla sites

    A few resources on Joomla

    Finding top resources for Joomla on the Web is not as easy as it seems, but I have gathered a few good places to start here.

  • 5 Reasons Joomla Will Change the Way You Think About Using a CMS for a website

    Why should i......?

    Joomla is a fully grown CMS system that will be up-to-date on everything. The Joomla 4 version will be a considerable step toward WordPress popularity.

  • How to override the output of the default subform in Joomla 4

    Coding

    In Joomla 4, we were introduced to “subforms”, which are great for creating more user-friendly fields for your articles or page, containing the fields in the subform.


    The problem is that when you create a subform, the fields in the subform are divided by a comma. This doesn’t look good on your...

  • How do I get access to more folders in Joomla using JCE Editor

    Filesystem

    JCE Editor is more than a basic Editor for Joomla. You can give access to specific folders on the ROOT or even subfolders using the “Filesystem” in the JCE Profiles.

  • 10 of the most useful Joomla Extensions in 2023

    Useful extensions for Joomla in  2023

    With the ability to use extensions in Joomla, it is often prevalent to install more extensions than necessary; this will usually result in a slower site. So here are my recommendations for the ten best Joomla extensions every Joomla site should have.in 2023.

  • SEO Extension: 4SEO - A Modern way to Manage SEO on Joomla sites

    SEO or Search Engine Optimization is essential for becoming successful online. There are a high number of tools to help you in reaching your SEO goals. One of these tools is 4SEO from Weeblr.

  • How to change the Modules in the backend of Joomla

    The backend of Joomla can be very boring to look at. You can customize it as you like, by adding and replacing modules on the page.


    When you install the Joomla 3.x out off the box, you get two backend templates preinstalled, the main and mostly used template is Isis, this will be used in this...

  • How to get JCE Editor to display full URLs

    Girl infront of PC with images - Photo by picjumbo.com from Pexels

    JCE Editor is the best and most used Editor in Joomla; only TinyMCE as the core editor can beat it. Every Joomla site should have the JCE Editor installed because it is free and easy to use.

  • Hosting: Where and how should i host my Joomla site / sites in 2022

    Web Hosting in 2022

    Having a good web hosting solution for your sites, either it is static or based on a CMS like Joomla, WordPress, or others, you have a lot of considerations to take into a factor. I will try in this article to guide you in the right direction towards modern hosting in 2022.

  • 3 Common Reasons Why Your Joomla site Isn't Working

    Common reasons to a faulty website

    When you have a new Joomla Installation, the most annoying thing is that it doesn’t work as you would prefer. You may end up spending hours after hours trying to find the fault but end up banging your head in the wall. Here are 3 common reasons why your site Joomla site isn’æt working.

  • How to add styles in Joomla without HTML Code in JCE Editor

    Howto use JCE Editor to add CSS class in content without using HTML

    If you have a custom.css file and would like to use JCE Editor to insert the CSS style classes to trigger CSS, this is how you can do this without knowing any HTML. Just follow these easy steps. 

     

  • Joomla Hack - A Better Way to insert a Menu Separator, or?

    Silenced Hacking

    Is it possible to do things in Joomla Backend that is considered a hack! This tip from Basic Joomla is the answer, Yes!, there are several hidden possibilities in Joomla if you put your fingers into it.? - Here is how to use a hack for doing better Menu separator in Joomla. Here are two ways to do...

  • How to use Dark Mode in the Backend of Joomla 3, custom CSS

    Picture of hand drowning into the Dark Water

    The dark mode is the new Black, and it keeps your eyes from getting light exhausting. And it also looks great in the browser. The Dark mode is not native in either Joomla 3 or Joomla 4 (as of my knowledge). But there is a solution if you don’t want to use a plugin for your browser. You can simply...

  • Don't Make This Silly Mistake In 2021 With Your Joomla-website

    Data Management

    One of the most common mistakes when creating a new Joomla site is not securing the Joomla-site both with Backup and Security Extensions. Having up-to-date security is essential for every site on the Internet, whether it’s a plain HTML site or a complex CMS system like Joomla or WordPress offers. But...

  • 10 Must have Extensions for Joomla in 2021

    There are many Extensions for Joomla, both free and with a paid license. But there are a few that should be mandatory for every installation of Joomla. I will here make a list of those I think is essential when you start a website.

  • How to use CSS to personalize each page in Joomla, see how

    Web engineering

    In Joomla, it’s possible to use CSS more effectively than most people realize. You can, if wanted personalize each page just by adding a CSS class to the menu link.


    Joomla offers in most modern templates the ability to target either the title or the page’s alias. It makes customized CSS very easy,...

  • Quick Tip: How to reduce spam using Forms in Joomla

    Are you tired of getting a huge amount of SPAM using forms like RS Form or others?

  • Customize the Back-end of your Joomla template using CSS

    Dual Screens - Responsive

    Let's state it once and for all, the backend in Joomla is quite boring, but what if you can give it a more interactive and interesting look. This is quite easy to do using the backend modules and CSS. 


    The reason for this article offsprings from a Youtube Video that shows the benefits of haveing an...

  • How to make a dropdown content slider? - Pure HTML and CSS

    CSS

    Is it possible to make content sliders using pure CSS & HTML only? - Read through and find out more. I will show you some smart tricks that make an awesome reusable slider using only HTMl & CSS.


    Have you ever written a long article with mutch specifications inside? - These articles have their way to become...

  • Three ways optimize the use of CSS in content with Joomla

    Man in front of a Computer screen

    <

    CSS has from the age of the Internet been a part of doing websites. It is an easy but useful way to design an article. There are several ways to write CSS in Joomla, you can use an external file to store all CSS codes in, you can use an extension to include the code, or you can write CSS directly in the content. In this article, I will give some look into how I do it.


    In this article, I will show you three different ways to use CSS in an article. The easiest thing is to use an extension to add CSS to the article. There are several extensions in the JED (Joomla Extensions Directory) that gives this opportunity. One of the popular is Sourcerer from Regular Labs. But its also possible to do in-line CSS coding in every article, but this can be very ineffective in large articles, the third and maybe most used is to put the CSS codes into the template as eighter an external file or in the CSS capabilities of the template itself. In modern template-Framework is this common, the disadvantage of this is that you always need access to the backend to add extra CSS in your site.

    W3C CSS verifiedW3C CSS verified: W3c.org is setting the standards for CSS

    1 Code directly as you go (Hard coding the articles)

    If you prefer to do the CSS coding inline as you write an article, you must bear in mind that you will NOT be able to reuse the CSS on any other articles and you must repeat the same thing for every content with the same code. This could look like this:

    <a href="/home" style="background-color:#ff0000;color:#ffffff;">Home</a>

    This will output: Home

    2. Use an external file

    If you use an external file as a CSS source, it is normally located under the css folder in your template directory. And its usually called custom.css or user.css, the downside with this is that you need access to either FTP or bee logged in to the backend as a Super Administrator.

    3 Use an extension to add CSS code in the article

     If you want to use an extension to insert CSS in an article, you can not reuse the CSS codes without having it in every article that contains the same style.

    What do I recommend?

    A combination of the option 2 and 3, will give the easiest result and you can standardize some of the CSS styles in a file and add styles in that applies to certain articles at one addon at the end of the written article.

    Comments wanted

    - LET ME KNOW IF YOU KNOW ANY OTHER WAYS TO DO THIS IN THE COMMENTS BELOW -

  • How do I hide the annoying page title using pure CSS?

    Have you ever made a website with Joomla and you are getting the title "Home" with a large h1-header-tag? You can either hide the tag completely on all content, or you must specify it to be hidden on every page/article you make. There is a third and maybe smarter way to do this. 


    Joomla Menu options

    When you add a...

  • How to fix white space under an image using CSS and HTML

    Have you ever been frustrated by styling a page for then realize that every image contains a white line underneath, I saw this trick on Youtube and tried it with Joomla. The result was that line disappeared. This issue resides from the early internet when we've to use inline images in the text.


    IN...

  • Tutorial: How to change forgotten admin password in Joomla

    Password reset

    When you are about to change passwords in other ways that it's intended to do, you should always take in mind that it always is a security risk. You should therefore use extra care when you need to use these steps. These ways work in Joomla 2.5, 3.x, and 4.x. The tutorial is based on Joomla Docs.

  • Regular Labs Sourcerer - A Great way to include Code in articles

    Office Chair in front of Screens

    Extensions from Regular Labs is very easy to use, they come with great documentation, and are for the most self-explanatory. This is almost the case for this extension too. However, I decided to write a review and give you my thoughts.

  • Regular Labs - DB Replacer - Take control over your database

    Regular Labs: DB Replacer

    The DB Replacer is another good extension from Regular Labs, this extension gives you complete control over the DataBase that your Joomla install is based on, without going into tools like phpMyAdmin that require a lot more knowledge.

  • RSForm - Send customized HTML emails to admins and users

    The RSForm component from RSJoomla is a very powerful form-creator in Joomla. Besides collecting data to the database, you can send customized emails to both users and admins, and even to others.

  • RSForm - How to display values in emails based on selection

    HTML Forms

    RSForm from RSJoomla is a powerful Formmaker for Joomla, it gives many extras options, one of them, is the ability to send values in emails based on certain selections.

  • Basic Tutorial: Admin Tools - How to Allow editing Users in back-end for Administrators

    404 Error Graphics

    The Akeeba Admin Tools is a great addition to securing your Joomla CMS. But there are some features that need some tweaking for running smoother. One of these is an admin's ability to change a user in the back-end.

  • Custom Fields - Display predefined content in articles/pages

    Custom Fields in Joomla

    Custom Fields in Joomla is the new holy grail of customizing the look of your Joomla content. Its power lies in displaying prepared info into articles that can be specified by the author in all cases. 

  • Template Overrides - See how to make overrides in Joomla

    No image!

    A template is the holy grail of a CMS-system; it lays out the structure of your website. But it's always possible to tweak the content and make it look better. All Modules, Components, or Plugins in Joomla can be changed using overrides.


    Though many sites may look good with the Core template or a...

  • Akeeba Backup - The best solution for backing up Joomla

    Akeeba Backup

    One of the most important things to have in mind when you deploy a new website is Backup policy. Akeeba Backup is a free Component from AkeebaBackup, which allows you to do secure backups and maintaining them for your Joomla site.

  • Akeeba Admin Tools - A security Component for your Jooml site

    Akeeba Admin Tools

    A tool for doing the heavy overview of how the admin area is secured is always useful to have. Admin Tools from Akeeba is one of these tools. With this Component, you will take the security up quite a few notches.

  • Why use TinyMCE? - Here is 3 alternative Editors for Joomla

    Three editors for Joomla

    We have collected 3 of the best Editors, some both come in free and paid versions. They all have great add-ons.

Community Questions

  • A Practical Protocol to Refactor Joomla 3 Extensions for Joomla 4/5/6

    This article documents a practical, repeatable protocol to migrate Joomla 3 extensions to modern Joomla versions (4, and forward toward 5/6). It is written for site owners, designers and junior...

  • Are AI Coding Tools Helpful for Joomla Development? A Beginner’s Guide

    If you are building or maintaining Joomla sites you may be wondering whether AI coding assistants ("coding robots") can speed your work or whether they introduce more risk than benefit. This guide...

  • DC Carousel Articles v1.1.0 — Configure Filtering, Multilanguage & UI in Joomla

    This guide explains what changed in DC Carousel Articles v1.1.0 and shows Joomla beginners how to install or update the module, use its new stacked filtering options, configure multilanguage...

  • DC Liquid Alerts for Joomla 6 — A Beginner’s Guide to Animated Liquid-Border Alerts

    If you find standard site alerts easy to miss, animated liquid-border alerts can help important messages stand out. DC Liquid Alerts is a small content plugin designed to transform shortcodes into...

  • How many clicks to create a new Joomla category — Baseline, shortcuts

    When you're writing or editing an article in Joomla and realize you need a new category, the default admin workflow often forces a context switch. That can mean saving, navigating to Category...

  • How to Control Where Users Are Redirected After Login in Joomla (Beginner’s Guide)

    It’s common to see a successful login but the site sends users to the wrong page or an error after sign-in. This guide shows where Joomla decides the post-login destination, how to create a stable...

  • How to Find and Fix the JCE Profiles Hack Using mySites.guru (June 2026)

    This guide explains, in plain language, how to detect and remove rogue JCE editor profiles and any associated backdoors using a monitoring and remediation workflow that includes mySites.guru. It...

  • How to Integrate Nova Poshta with VirtueMart (Joomla 3) — A Beginner's Guide

    This practical guide helps Joomla site owners and VirtueMart users add Nova Poshta pickup point selection to the VirtueMart checkout on Joomla 3. It walks you through prerequisites, safe...

  • How to Manage Joomla Users Faster: Practical Workflows, Tools and Safety Tips

    Administering users is one of the most repetitive tasks on many Joomla sites. Opening individual profiles, applying the same change dozens of times, running ad-hoc exports and double-checking...

  • How to Manage Multiple Joomla (and WordPress) Sites with Claude Desktop and AI Site Managers

    Managing a portfolio of Joomla (and WordPress) sites is repetitive work: check core and PHP versions, review extensions, confirm backups, and produce client reports. Modern site-management platforms...

About us

JF Logo

JoomlaForever.com is an independent source publishing news and tests about Joomla CMS.

Contact info

  • JoomlaForever.com!
  • Contact owner:  Bjørn Ove Bremnes
  • General info:
Social Medial:
  • JoomlaForever on Facebook
  • JoomlaForever on Twitter / X

Useful links

  • Home
  • Contact
  • Terms and Conditions
  • Disclaimer
  • Privacy Policy
  • Copy our Articles?
  • Special Thanks
Subscribe to our Digest Newsletter

This site is sponsored by:
Bredc.com logo

All our content is original, and therefore it's copyrighted by JoomlaForever.com!

If you wish to use our content on another site, you will need explicit allowance from JoomlaForever.com! You can do this by emailing  or by using our form (see "Useful links")!

ALL RIGHTS © 2019 - 2026.
JoomlaForever.com!, and this site is not affiliated with or endorsed by The Joomla! Project™. Any products and services provided through this site are not supported or warrantied by The Joomla! Project or Open Source Matters, Inc. Use of the Joomla!® name, symbol, logo and related trademarks is permitted under a limited license granted by Open Source Matters, Inc...