مواد پر جائیں
ٹولز

تلاش و تبدیلی SQL

serialized ڈیٹا کو خراب کیے بغیر اپنی سائٹ کا URL بدلیں

آپ کے براؤزر میں چلتا ہے۔ کچھ بھی اپ لوڈ نہیں ہوتا۔

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.

تلاش و تبدیلی SQL کے بارے میں

WordPress ڈیٹابیس پر ایک سادہ SQL find-and-replace ہر اس serialized آپشن کو خراب کر دیتا ہے جسے یہ چھوتا ہے، کیونکہ محفوظ شدہ string کی لمبائی اب میل نہیں کھاتی۔ یہ وہ queries بناتا ہے جو محفوظ ہیں، اور بالکل واضح کرتا ہے کہ کون سی محفوظ نہیں۔

FAQ

سوالات

کیا میں SQL find and replace سے اپنی WordPress سائٹ کا URL بدل سکتا ہوں؟

محفوظ طریقے سے نہیں، اور یہ WordPress میں سب سے زیادہ شیئر کیا گیا برا مشورہ ہے۔ بہت سے options، PHP-serialized strings کے طور پر محفوظ ہوتے ہیں جو اپنی byte length خود ریکارڈ کرتے ہیں۔ ایک سادہ SQL replace متن بدلتا ہے مگر length نہیں، لہٰذا PHP خاموشی سے رَو کو unserialize کرنے میں ناکام رہتا ہے اور اقدار محض غائب ہو جاتی ہے — ویجٹ سیٹنگز، theme mods اور پلگ ان config کو ساتھ لے کر۔

مجھے اس کے بجائے کیا استعمال کرنا چاہیے؟

WP-CLI: پہلے 'wp search-replace old new --all-tables --dry-run'، پھر --dry-run کے بغیر۔ یہ serialization کو سمجھتا ہے اور length prefixes کو درست طور پر دوبارہ لکھتا ہے۔ اگر آپ کے پاس CLI رسائی نہیں، تو Better Search Replace پلگ ان ایڈمن سے وہی کام کرتا ہے۔

کیا مجھے GUID کالم اپڈیٹ کرنا چاہیے؟

نہیں۔ GUID کسی پوسٹ کا ایک مستقل منفرد شناخت کنندہ ہے، لنک نہیں، اور فیڈ ریڈرز اسی سے چلتے ہیں۔ اسے دوبارہ لکھنا ہر سبسکرائبر کو ہر پرانی پوسٹ بالکل نئی دکھاتا ہے۔ WordPress دستاویزات واضح طور پر کہتی ہیں کہ اسے مت بدلیں۔