Hello,
The behaviour you describe normally means that the #__sppagebuilder table no longer has a valid unique primary key on the idcolumn. Because two physical rows contain the same idand asset_id, SP Page Builder cannot distinguish between them, so deleting or trashing one record affects both.
I created a small Joomla repair installer for this specific situation. as I belive this would help you.. :-)
Before running it, please create a complete Akeeba Backup of the website and database. Ideally, also test the repair on a staging copy first.
The installer:
- Supports Joomla 3.10.x, 4.x, 5.x, and 6.x.
- Is intended for SP Page Builder 6.x.
- Creates a database backup table before making changes.
- Checks duplicate
#__sppagebuilder.id records.
- Deletes additional rows only when the duplicate records are completely identical.
- Restores the primary key and
AUTO_INCREMENT property on the id column.
- Checks the Joomla
#__extensions.extension_id structure as well, because a damaged primary key there can prevent Joomla extensions from installing.
- Stops without deleting anything if duplicate rows with the same ID contain different data.
- Leaves the database backup tables in place after the repair.
You can install it through:
System → Install → Extensions → Upload Package File
Installer package:
files_agon_sppb_duplicate_page_repair_1.0.0_j3-j6.zip - I can link it via our deposit if you like.
https://vault.agon-solution.ch/#/shared/19382987A0E3DF85828DC0E365F08A343FEAEB50145B71F2B6E291CD1A54C895
But it is protected. The Joomshaper Team which I share the SECRET can pass it to you.
Creator: AGON PARTNERS INNOVATION AG
Author: Tobi Gurtner
After installation, please check the Joomla installer messages, then verify that:
- Each SP Page Builder page appears only once.
- Existing pages can be opened and edited.
- Trashing one page no longer affects another page.
- A newly created page receives a new unique ID.
- The frontend pages continue to work correctly.
This is a focused repair for exact duplicate records and missing primary-key definitions. If the attack duplicated records across many other Joomla tables, the safer approach is to restore a known-good backup and perform a full security cleanup rather than repairing every table automatically.
This is an independent emergency repair tool and not an official JoomShaper package.