Fruti Serialized Data Audit

Fruti Serialized Data Audit

Details
View on WordPress

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.

Usage

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

Privacy

Uploaded SQL files are processed locally on the WordPress server and are not stored or transmitted
by the plugin.

The file 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 and sends no telemetry.

Contact

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

Details

Plugin code:
fruti-serialized-data-audit
Plugin version:
1.0.0
Author:
Outdated:
No
WP version:
6.0 or higher
PHP version:
8.1 or higher
Test up to WP version:
7.1.2
Total installations:
0
Last updated:
2026-09-28
Rating:
Times rated:
0
database
debug
migration
serialization
tools