Lompat ke konten
Tools

SQL Cari & Ganti

Ubah URL situs Anda tanpa merusak data terserialisasi

Berjalan di browser kamu. Tidak ada yang diunggah.

The change

Read this before you run anything

WordPress stores many options as PHP-serialized strings, and a serialized string records its own byte length — s:19:"http://old-site.com". A plain SQL replace changes the text but not the length, so PHP can no longer unserialize the row. It does not error. The value just silently becomes empty.

What you lose: widget configuration, theme mods, and most plugin settings. Usually you do not notice until days later, and by then the backup you would have restored is gone too.

This is why the queries below deliberately do not touch wp_options.

What are you moving?
search-replace.sql

Take a database backup first. Not 'consider taking one' — take one. There is no undo for an UPDATE.

Tentang SQL Cari & Ganti

Cari-dan-ganti SQL yang naif pada basis data WordPress merusak setiap opsi terserialisasi yang tersentuh, karena panjang string yang tersimpan tidak lagi cocok. Alat ini menghasilkan kueri yang aman, dan menjelaskan dengan tepat mana yang tidak.

FAQ

Pertanyaan

Bisakah saya mengubah URL situs WordPress dengan find and replace SQL?

Tidak dengan aman, dan ini adalah saran buruk yang paling banyak dibagikan di dunia WordPress. Banyak opsi disimpan sebagai string ter-serialize PHP yang mencatat panjang byte-nya sendiri. Replace SQL biasa mengubah teksnya tapi bukan panjangnya, jadi PHP diam-diam gagal meng-unserialize baris itu dan nilainya begitu saja hilang — membawa serta pengaturan widget, theme mods, dan konfigurasi plugin.

Apa yang sebaiknya saya pakai sebagai gantinya?

WP-CLI: 'wp search-replace old new --all-tables --dry-run' dulu, lalu tanpa --dry-run. Ia memahami serialisasi dan menulis ulang prefix panjangnya dengan benar. Kalau kamu tidak punya akses CLI, plugin Better Search Replace melakukan hal yang sama dari admin.

Haruskah saya mengupdate kolom GUID?

Tidak. GUID adalah identifier unik permanen untuk sebuah post, bukan link, dan feed reader mengandalkannya. Menulis ulangnya membuat setiap subscriber melihat setiap post lama sebagai baru sama sekali. Dokumentasi WordPress secara tegas menyatakan jangan mengubahnya.