WP-cliの文字列置換は単純な文字列置換でなくてPHPシリアライズも対応しているよ!
WordPressは悪名高きPHPシリアライズでデータを保存するプラグインが多いです。
問題の内容
なので単純に文字列データだけを置換すると、その記録されたデータの大きさと不整合が起きてエラーとなるようです。
しかし wp-cli で下記のようにDBデータ置換を行うと、上記のphpシリアライズの問題も処理して文字列置換します。
--dry-run はテストのみなので、ちゃんとテストから実行しましょう。
wp search-replace --dry-run 'https://hoge.dev' 'https://honban.jp'
その他にも置換してDBダンプファイルを出力する等も出来るので素直に使うべきですね。
wp search-replace --export 'https://hoge.dev' 'https://honban.jp' > ~/tmp/replace.sql
文字列置換で専用ツールいらんやろーとか思っていた自分を殴りたい。 orz
参考URL
WordPressの引っ越しに便利な wp search-replace | Gatespace's Blog
https://gatespace.jp/2014/12/02/wp-cli-wp-search-replace/
wp search-replace | WP-CLI Command | WordPress Developer Resources
https://developer.wordpress.org/cli/commands/search-replace/
PHP: serialize - Manual
https://www.php.net/manual/ja/function.serialize.php