වෙබ් අඩවියක් නව ඩොමේනයකට හෝ HTTPS වෙත මාරු කරන විට, "සියලු Plugin සැකසුම් අතුරුදන් වුණා" කියා පෙනෙන ගැටලුව බොහෝ WordPress පරිශීලකයන්ට හමුවේ. මේ ගැටලුවේ මූලික හේතුව, දත්ත ගබඩාවේ සරල string replacement ක්රියාවලිය PHP serialized data එකට ගැලපෙන්නේ නැති වීමයි.
WordPress තුල Plugin සැකසුම්, custom fields, widget settings වැනි දත්ත PHP serialization ආකාරයෙන් ගබඩා වේ. phpMyAdmin හෝ sed වැනි SQL‑මට්ටමේ find‑and‑replace මෙවලම්, සෙවූ string එකේ අක්ෂර ගණන (length) පෙන්වන s:N: ප්රතිලේඛය වෙනස් නොකර තවත් අක්ෂර ගණනක් එක් කරයි. ඒ නිසා unserialize() ක්රියාවලිය අසාර්ථක වෙලා, Plugin එකට false value එකක් ලැබෙයි. එමෙන්ම Plugin එකේ සැකසුම් “ඇතැම් වෙලාවේ අතුරුදන්” වැනි අමුතු ප්රතිඵලයක් දක්වයි.
wp‑cli හි wp search-replace මෙය PHP මට්ටමේ කරයි. එය සෑම column එකක්ම කියවා, is_serialized() මගින් serialized දත්ත හඳුනාගනී, unserialize() කරලා array/object එකට පරිවර්තනය කරයි. පසුගිය string replacement එක එම වස්තු තුළ ක්රියාත්මක කර, නැවත serialize() කරමින් නව length prefix ගණන ගණනය කරයි. එවිට දත්ත ගබඩාව සම්පූර්ණයෙන්ම නව URL එකට අනුකූල වේ.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ WordPress පදනම්ව බ්ලොග්, e‑commerce, ආයතනික වෙබ් අඩවි වැඩි වශයෙන් භාවිතා කරන නිසා, මෙම තාක්ෂණික ගැටලුවට වේගවත් විසඳුමක් අවශ්ය වේ.
- ඩිවෙලොපර්ලා – Serialized data හඳුනාගෙන නිවැරදිව replace කිරීමේ ක්රමය ඉගෙනගැනීම, migration පසුදෝෂ රහිතව සිදු කිරීමට උපකාරී.
- ව්යාපාරිකයන් – Plugin සැකසුම් අතුරුදන් වීමෙන් වෙබ් අඩවියේ කාර්ය සාධනය අඩු වීමක් නොවෙයි, SEO හා ගනුදෙනුකාරී අත්දැකීම රැකගත හැක.
- සිසුන් – Serialization, wp‑cli, database backup වැනි මූලික තාක්ෂණික සංකල්ප ඉගෙන ගැනීම, IT පාඨමාලා වල ප්රායෝගික උදාහරණයක් වේ.
ඒ නිසා, migration කරන පෙර wp db export මගින් backup එකක් ගන්න, --dry-run flag එකෙන් බලපොරොත්තු වුනු rows ගණන පරීක්ෂා කර, අවශ්ය tables පමණක් replace කිරීම, guid column එක skip කිරීම වැනි පියවර අනුගමනය කිරීම ඉතා වැදගත්.
අවසානයේ, wp search-replace භාවිතයෙන් ඔබේ site එකේ URL වෙනස් කිරීම, Plugin සැකසුම් අහිමි නොවී, සුරක්ෂිතව සිදු කරගත හැකිය. මෙය WordPress migration වල නවීන, ආරක්ෂිත මාර්ගයක් ලෙස ශ්රී ලංකාවේ තාක්ෂණික පරිසරයට මහත් ප්රයෝජන ගෙන දෙනු ඇත.