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

Community Questions - News

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.

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

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

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 requirements, then test the upgrade on staging before touching production. This article gives a clear, step-by-step checklist and decision framework so you can reduce risk and recover quickly if something goes wrong.


Quick answer: Will an automatic upgrade 'break' my site?

Short answer: not usually — but incompatible third-party extensions, outdated templates, or PHP mismatches are the most common causes of breakage. The Joomla core upgrade updates core files and database schema, but it does not automatically convert or fully guarantee third-party extensions will function under Joomla 4. The safest approach is to test the full upgrade on a staging clone and keep reliable backups so you can restore if needed.

What the core upgrade changes (and what it doesn't)

  • The core upgrade updates Joomla core files and runs required database migrations for the core system.
  • Third-party extensions generally remain installed but may become incompatible — they are not automatically rewritten for Joomla 4.
  • Some extensions include their own update scripts; behavior varies by vendor and must be confirmed per-extension.

Common symptoms if an extension fails after upgrade

  • Frontend errors such as blank pages, PHP warnings, or broken layouts where the extension displays.
  • Backend problems including administration pages failing to load or login errors caused by plugin conflicts.
  • Database errors if an extension relies on database structures that conflict with post-upgrade schema.

Practical examples: an unmaintained gallery extension might cause a blank frontend while the admin still loads; or a legacy payment plugin might trigger PHP fatal errors after the core update. These are avoidable by testing on staging and resolving incompatible items first.

Warnings: Do not run a live production upgrade without full backups and a tested staging upgrade. Avoid making large content edits on the live site during the upgrade window.

Preparation checklist before you touch the live site

Before you start any upgrade work, gather credentials, environment details, and make a plan. Treat this step as mandatory — missing information increases recovery time if things go wrong.

Files and data to record or copy

  • Full filesystem copy: site root including /administrator, /components, /templates, /images and configuration.php.
  • Database export (.sql) and a note of DB name, DB user, DB host and privileges.
  • Text file listing installed extensions, their versions, and the active template name(s).

Credentials and environment notes

  • Hosting panel (cPanel/Plesk) login, FTP/SFTP or SSH credentials, and Joomla administrator credentials.
  • Record the current PHP version and enabled PHP modules (using phpinfo() or the hosting panel).
  • Note any cron jobs, external services, payment gateways, or integrations that affect site behavior.

Checklist example: create backup-2026-05-XX.tar.gz (filesystem), backup-2026-05-XX.sql (database), configuration.php copy, extensions-list.txt, note PHP 7.4.33 and MySQL/MariaDB version.

Warnings: configuration.php contains live DB credentials — store backups securely. Do not leave backup archives in a publicly accessible webroot.

How to make reliable backups (files and database)

Make two independent backups and verify their integrity. If possible, store copies off-site (cloud storage, another server) to protect against host-level failures.

Backing up the database

  • Use phpMyAdmin Export → save a .sql file (Quick or Custom). For large databases, use an SSH-based export when available.
  • Verify the SQL file by opening the first few lines and checking for CREATE TABLE / INSERT statements.

Backing up files

  • Compress the site root to a .zip or .tar.gz using the hosting file manager or SSH.
  • Copy configuration.php separately and verify its permissions; do not expose it publicly.
  • Keep backups out of the webroot and remove them from the server after downloading if you must keep only local copies.

Using backup extensions

Well-known backup extensions such as Akeeba Backup can create full site archives and installer packages. Even when using a backup extension, download and store the archive in a secure location and test that it restores correctly on a separate environment.

Practical examples: phpMyAdmin export (select DB → Export → Format: SQL → Save), or use a hosting control panel to compress files. For large sites, prefer server-side exports to avoid PHP timeouts.

Warnings: Large sites may exceed phpMyAdmin limits — use SSH/mysqldump or a backup extension. After restoring, ensure file ownership and permissions are correct for your hosting environment.

Create a safe staging environment and why it matters

Staging is the place to do risky work. Never run your first upgrade attempt on production.

Step sequence to create a staging copy

  1. Create a staging location: a subdomain (a protected staging subdomain), a subdirectory, or a local development environment (XAMPP, Local, Docker).
  2. Create a new database for staging and import your SQL dump.
  3. Copy the filesystem into the staging folder and update configuration.php to point to the staging DB and base URL. Note: editing configuration.php must be done carefully — change only DB connection and live-site settings appropriate for staging.
  4. Block search engines and restrict access (HTTP auth or IP restriction) so staging is not indexed or used in production.

Testing the staging site

  • Verify front-end pages, admin login, and core functionality before attempting upgrades.
  • Take a fresh backup of staging before running the upgrade attempt so you have a known-good snapshot.

Practical example: create a subdomain via cPanel, create a DB, import backup.sql via phpMyAdmin, copy files to /public_html/staging, update configuration.php DB settings, then visit a protected staging subdomain and confirm it matches production.

Warnings: disable cron jobs and payment gateways on staging to avoid duplicate emails or transactions. Secure configuration.php and remove any temporary files like phpinfo.php after checking.

Check PHP and server requirements (what to verify)

Joomla 4 requires a newer PHP and specific modules. Verify exact minimums in the official Joomla documentation before changing server settings. Always test PHP changes on staging first.

How to check PHP version and modules

  • Create a temporary phpinfo.php file with a phpinfo() call on staging to view PHP version and enabled modules, or use your hosting panel's PHP info page.
  • Check the command-line (CLI) PHP version if you run cron jobs or command-line scripts on the server.

When to change PHP version and how

  • Many hosts allow you to select PHP per site or per folder in the control panel. Ask your host if you are unsure.
  • After changing PHP on staging, verify that extensions and templates still work before applying the change on production.

Practical example: upload phpinfo.php to staging, open it in your browser and confirm the PHP version and presence of modules such as mbstring, json, curl, xml and zip.

Warnings: Changing PHP on production without testing can break extensions that rely on older behavior. Remove phpinfo.php when finished to avoid exposing server details.

Verify exact Joomla 4 minimum and recommended PHP versions against the official Joomla documentation before making production changes.

Inventory and compatibility check for extensions, templates and plugins

Create a complete inventory and check compatibility status for each installed item. Prioritize mission-critical features for deeper assessment.

How to list installed extensions and record versions

  • Use Extension Manager → Manage to view installed extensions and copy names and version numbers into a spreadsheet.
  • Note the active template(s) and any template overrides — templates are frequent sources of incompatibility.

Tools and resources for compatibility checking

  • Check the Joomla Extensions Directory (JED) and vendor changelogs for Joomla 4 compatibility statements.
  • Contact vendors when compatibility is unclear and ask for upgrade paths or planned support for Joomla 4.

Practical example: build a spreadsheet with columns: Extension, Type (component/module/plugin), Installed version, Joomla 4 compatible? (Yes/No/Unknown), Action (Update/Replace/Disable/Port).

Warnings: Extensions marked as 'no longer maintained' are high risk. Do not rely solely on third-party or community claims — verify vendor documentation.

Options for incompatible extensions: update, replace, disable, or custom fix

When an extension is incompatible with Joomla 4, follow a decision flow: update → contact vendor → replace → disable → port/rebuild. Choose the path based on the extension's importance and availability of maintained alternatives.

Update or patch

  • Check vendor sites for updates and read changelogs for explicit Joomla 4 support.
  • Apply and test patches on staging before running the core upgrade.

Replacement options

  • Search JED for maintained alternatives and trial them on staging. Evaluate data migration needs.
  • Plan how to move existing data (CSV export/import, component migration tools, or manual migration).

Disable and mitigate

  • Temporarily disable non-critical extensions and test the site; document user-facing functionality loss and alternatives.
  • When disabling, be aware that data may remain in the database; plan cleanup or migration if needed.

Custom porting or rebuild

  • For custom extensions, request developer estimates to port to Joomla 4 APIs.
  • As a last resort, rebuild the feature with maintained extensions or custom development.

Practical decision matrix: If extension has a Joomla 4 update → update and test. If unmaintained and critical → replace or hire a developer. If unmaintained and non-critical → disable and accept reduced functionality until you can replace it.

Warnings: Disabling an extension without migrating or cleaning its data can leave orphaned database tables. Avoid ad-hoc edits to extension code to force compatibility — this can create future maintenance problems.

Step-by-step: Testing and performing the upgrade on staging

Follow this sequence on staging to reduce surprises when you upgrade production.

Pre-upgrade checks on staging

  • Confirm staging is a fresh clone with working backups.
  • Update Joomla 3.10 to the latest 3.10.x releases and apply all updates for extensions that explicitly support 3.10 → 4 migration.
  • Disable or remove extensions already identified as incompatible (document each change).
  • Enable error reporting on staging to capture warnings during the upgrade process.

Running the upgrade

  1. From Joomla Administrator, update Joomla 3.10 to the latest 3.10.x if required.
  2. Use Extension Manager → Update or the Joomla Update component to upgrade to Joomla 4 and follow on-screen steps carefully.
  3. Allow any database migrations to run; monitor the process and check logs for errors.

Post-upgrade validation checklist

  • Confirm admin login and ability to save configuration.
  • Open frontend pages, create and save an article, test forms and contact submissions.
  • Test mission-critical extensions (payments, membership, SEO tools) and check server error logs for PHP errors.
  • Take a new staging backup once the upgrade is confirmed successful.

Warnings: Do not attempt to migrate a site with unresolved critical incompatible extensions. Some templates may need Joomla 4-compatible versions; test templates and overrides thoroughly.

Verify the official Joomla upgrade guide for exact pre-upgrade and update sequencing before performing production upgrades.

If the upgrade fails: rollback and recovery steps

If the upgrade produces irreversible errors or an unusable site, restore the known-good backups and avoid further live edits. A clean rollback is usually faster and safer than attempting piecemeal repairs on production.

Restoring the database

  • Use phpMyAdmin Import or the server's MySQL import tools to restore the saved .sql backup into the original database or into a newly created database referenced by configuration.php.
  • Be cautious with partial DB backups — incomplete restores create mismatches and may require professional help.

Restoring files

  • Unpack the filesystem archive into the site root and ensure correct file ownership and permissions for your hosting environment.
  • Replace configuration.php with the backed-up copy and verify DB connection settings.

Common post-rollback checks

  • Clear Joomla caches and any server caches (Varnish, Cloudflare) after restore.
  • Check front-end and admin, and inspect PHP and web server error logs to confirm the site is operating normally.

Warnings: Restoring files without restoring a matching database (or vice versa) can produce a broken site. Keep backups matched by timestamp and avoid mixing states.

When to rebuild from backups or archive content

Sometimes an in-place upgrade is impractical. Rebuilding is often the right choice when many critical extensions are unmaintained or the site has accumulated complex, undocumented customizations.

Options for extracting content

  • Export core content (articles, categories, contacts) via SQL or CSV export tools so content can be imported into a fresh Joomla 4 install.
  • Use a backup extension that can create an installable package for a fresh install where possible, but verify compatibility of the installer with Joomla 4 before relying on it.

Planning a rebuild

  • Map old features to modern, maintained extensions or to Joomla 4 native functionality.
  • Prototype the rebuilt site on staging, import content, and validate design, SEO, and functionality before going live.

Warnings: Migrating only a DB often carries over obsolete extension tables and unused data. Rebuild projects usually require additional planning for SEO, URLs, and redirects to preserve search rankings.

When to call in professional help (and what to expect)

If key extensions are custom or you do not feel comfortable with backups, server access, or database imports, bring in a Joomla professional. Professionals can evaluate the upgrade on staging, provide costed plans, and execute complex porting safely.

What to prepare before contacting a developer

  • A package containing: full backups (files + DB), extension inventory, template name and any overrides, staging access, and a prioritized list of features to preserve.
  • Reproduction steps for site-critical features so the developer can verify fixes on staging.

Typical professional services and costs (guideline)

  • Expect an evaluation fee or time-based estimate for diagnosing incompatible extensions and proposing fixes.
  • Smaller fixes (single extension compatibility) usually cost less than full rebuilds; get a written scope, timeline, and rollback plan.

Warnings: Require staged work first and final approval before production changes. Ensure credentials are temporary or changed after the engagement for security.

FAQ

Will the site 'blow up' if I attempt the automatic Joomla upgrade?

Not usually — the core upgrade updates core files and the database schema. However, incompatible extensions, templates, or PHP mismatches can cause front-end or back-end errors. Test on staging and keep full backups to restore if needed.

What exactly should I back up before upgrading?

Back up the full filesystem (including configuration.php), a complete database export (.sql), and a list of installed extensions with versions. Store backups off-site and verify they restore successfully on a test environment.

How do I know which extensions are compatible with Joomla 4?

Check the Joomla Extensions Directory (JED), vendor changelogs, and the extension developer's website for explicit Joomla 4 compatibility notes. If unsure, test the extension on a staging clone or contact the vendor.

Do I need to lower PHP to upgrade?

No. You should run a PHP version that meets Joomla 4's minimum requirements on staging and production. Do not lower PHP to force an upgrade; instead, ensure your hosting environment supports the required PHP version. Verify exact Joomla 4 PHP requirements in the official documentation before changing versions.

How do I create a staging copy to test the upgrade safely?

Create a subdomain or local site, set up a new database, import your SQL dump, copy files to the staging folder, update configuration.php to point at the staging DB, and restrict public access. Test thoroughly on staging before any production changes.

What if an extension is incompatible?

Try updating it first. If no update exists, find a maintained replacement, disable the extension and test the site, or hire a developer to port custom code. Plan for data migration if you switch extensions.

How do I rollback if the upgrade goes wrong?

Restore the filesystem archive and configuration.php, then import the database backup. Clear caches and verify frontend and admin functionality. If you only have partial backups, consult a professional before proceeding.

When is it better to rebuild the site instead of upgrading in-place?

Rebuild when many critical extensions are unmaintained, the site has extensive undocumented custom patches, or a modern redesign and streamlined feature set would be faster and safer than porting legacy code.

Conclusion

Upgrading from Joomla 3.10 to Joomla 4 is achievable with a safety-first approach: collect credentials, make reliable backups, clone to staging, inventory extensions and templates, resolve incompatibilities, test the upgrade on staging, and have a tested rollback plan. When in doubt or for complex setups, hire a Joomla professional to avoid extended downtime or data loss. Always verify version-specific server requirements and upgrade steps against the official Joomla documentation before making production changes.

Page 5 of 9

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 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...

  • 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...

  • 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,...

  • 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...

  • 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...

  • 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...

  • 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...

  • 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 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 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...

  • 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...

  • 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...

  • 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...

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...