Title: Fruti Serialized Data Audit
Author: frutilabs
Published: <strong>September 28, 2026</strong>
Last modified: September 28, 2026

---

Search plugins

![](https://ps.w.org/fruti-serialized-data-audit/assets/banner-772x250.png?rev=3717392)

![](https://ps.w.org/fruti-serialized-data-audit/assets/icon-256x256.png?rev=3717392)

# Fruti Serialized Data Audit

 By [frutilabs](https://profiles.wordpress.org/frutilabs/)

[Download](https://downloads.wordpress.org/plugin/fruti-serialized-data-audit.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/fruti-serialized-data-audit/#description)
 * [Reviews](https://wordpress.org/plugins/fruti-serialized-data-audit/#reviews)
 *  [Installation](https://wordpress.org/plugins/fruti-serialized-data-audit/#installation)
 * [Development](https://wordpress.org/plugins/fruti-serialized-data-audit/#developers)

 [Support](https://wordpress.org/support/plugin/fruti-serialized-data-audit/)

## Description

A plain find-and-replace on a WordPress database, or a hand-edited export, changes
the text inside
 serialized values but not the byte-length prefix PHP stored with
every string. The import then reports success, and widgets, theme settings, page-
builder layouts or plugin options quietly disappear. This plugin reads a `.sql` 
dump, parses every serialized payload it finds, and lists the ones that are structurally
broken, with the line number, the table it belongs to, the reason and a short snippet.

Detected structural problems:

 * `string_length_mismatch` – a string’s declared byte length no longer matches 
   its content, the
    classic result of a naive search-and-replace or of a UTF-8/
   latin1 conversion.
 * `count_mismatch` – an array or object declares more items than it contains.
 * `truncated` – the payload ends in the middle of a structure.
 * `invalid_type` – a payload starts but the expected next token is not a valid 
   serialized value.

Supported serialization tokens: `N`, `b`, `i`, `d`, `s`, `a`, `O`, `r`, `R`, `E`
and `C`, in both
 plain and `mysqldump`-escaped form. `C:` payloads are treated 
as opaque bytes and are never parsed recursively.

The plugin never modifies your data. It does not import the dump, does not connect
to the database,
 does not execute SQL and does not write a repaired file. It only
reports.

#### How to use it

 1. Export the database you are about to import: `mysqldump -u user -p dbname > dump.
    sql`.
 2. Open Tools -> Fruti Serialized Data Audit, choose that `.sql` file and press Run
    Audit.
 3. Read the summary and the list of broken payloads: status, table, line, reason and
    snippet.
 4. Fix the cause with `wp search-replace` or a serialization-aware replacement, export
    a fresh dump
     and audit it again.

#### Privacy

The uploaded SQL file is processed locally on your own WordPress server. It is analysed
in PHP’s
 upload temporary file: it is not copied into the media library, not placed
in `wp-content/uploads`, not saved in the plugin directory, not stored in the database
and not written to logs or cache. The plugin makes no network requests, sends no
telemetry and does not transmit the dump anywhere.

#### Support

Questions, bug reports and support: hello@fruti.lt

## Screenshots

[⌊The audit result after a run: how many structurally broken payloads were found
in the uploaded dump.⌉⌊The audit result after a run: how many structurally broken
payloads were found in the uploaded dump.⌉[

The audit result after a run: how many structurally broken payloads were found in
the uploaded dump.

[⌊The findings table: line, table, reason and snippet for every broken payload, 
read-only and nothing changed.⌉⌊The findings table: line, table, reason and snippet
for every broken payload, read-only and nothing changed.⌉[

The findings table: line, table, reason and snippet for every broken payload, read-
only and nothing changed.

## Installation

 1. Upload the plugin folder to `/wp-content/plugins/`, or install the ZIP through 
    Plugins -> Add New -> Upload Plugin.
 2. Activate the plugin through the Plugins screen.
 3. Go to Tools -> Fruti Serialized Data Audit.

## FAQ

### Does the plugin change or repair my dump?

No. It is strictly read-only and reports findings only. Fix the underlying cause(
use
 wp search-replace or a serialization-aware replacement), then export a new 
dump and audit it again.

### Which file types are accepted?

Only `.sql`. Archives such as `.zip` or `.gz` are not unpacked: extract the dump
first.

### What happens with very large dumps?

The dump is read into memory for analysis, so extremely large files may exceed the
memory limit of
 your server. The plugin refuses files above 256 MB and shows a 
message; split larger dumps and audit the parts separately.

### Does the plugin send my dump anywhere?

No. Everything happens inside your own admin request on your own server. There is
no external
 service, no account, no API call and no telemetry, and the uploaded
file is discarded when the request ends.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Fruti Serialized Data Audit” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ frutilabs ](https://profiles.wordpress.org/frutilabs/)

[Translate “Fruti Serialized Data Audit” into your language.](https://translate.wordpress.org/projects/wp-plugins/fruti-serialized-data-audit)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/fruti-serialized-data-audit/),
check out the [SVN repository](https://plugins.svn.wordpress.org/fruti-serialized-data-audit/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/fruti-serialized-data-audit/)
by [RSS](https://plugins.trac.wordpress.org/log/fruti-serialized-data-audit/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * First release. Bundles parser core 1.0.4, which supports `N`, `b`, `i`, `d`, `
   s`, `a`, `O`, `r`,
    R, `E` and `C` tokens in plain and `mysqldump`-escaped form.

## Meta

 *  Version **1.0.0**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [database](https://wordpress.org/plugins/tags/database/)[debug](https://wordpress.org/plugins/tags/debug/)
   [migration](https://wordpress.org/plugins/tags/migration/)
 *  [Advanced View](https://wordpress.org/plugins/fruti-serialized-data-audit/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/fruti-serialized-data-audit/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/fruti-serialized-data-audit/reviews/)

## Contributors

 *   [ frutilabs ](https://profiles.wordpress.org/frutilabs/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/fruti-serialized-data-audit/)