Ketika sebuah website WordPress terkena hack atau malware, salah satu hal yang paling penting untuk diselamatkan adalah konten, seperti artikel (posts), halaman (pages), dan struktur kategorinya (categories).

Dalam banyak kasus, malware hanya menginfeksi file atau menyisipkan script jahat, sementara data di database (terutama konten post) masih aman. Jika ini terjadi, kita bisa menyelamatkan konten dengan hanya mengekspor dan mengimpor tabel penting yang menyimpan semua data postingan.

Tabel Postingan

WordPress menyimpan data konten dalam lima tabel utama:

  1. wp_posts: postingan, halaman, dan custom post type
  2. wp_postmeta: metadata tambahan (custom fields, dsb)
  3. wp_terms: nama kategori dan tag
  4. wp_term_taxonomy: hubungan kategori/tag
  5. wp_term_relationships: relasi antara post dan kategori/tag

Ekspor Tabel Postingan

Gunakan mysqldump untuk mengekspor database semua tabel sebagai backup utama, lalu mengekspor tabel yang menyimpan postingan:

mysqldump -u db_user -p db_lama wp_posts wp_postmeta wp_terms wp_term_taxonomy wp_term_relationships > backup_posts.sql

Hapus Tabel di WordPress Baru

Setelah menginstal WordPress baru, hapus kelima tabel bawaan agar bisa digantikan dengan data dari backup_posts.sql:

USE db_baru;
DROP TABLE IF EXISTS 
  wp_posts,
  wp_postmeta,
  wp_terms,
  wp_term_taxonomy,
  wp_term_relationships;

Import Tabel

Setelah menghapus tabel, jalankan impor tabel yang menyimpan data konten lama:

mysql -u db_user -p db_baru < backup_posts.sql

Verifikasi

Setelah proses impor selesai:

  1. Buka dashboard WordPress → Posts, semua artikel lama seharusnya muncul kembali
  2. Pages dan struktur kategori juga harus tetap utuh
  3. Link dan slug harus normal

Penutup

Dengan strategi ini, kita bisa menyelamatkan konten penting dari WordPress yang terkena hack tanpa harus mengimpor keseluruhan database yang mungkin sudah terkontaminasi. Langkah ini sangat berguna ketika kamu hanya perlu kontennya saja.