Search and replace training in phpMyAdmin
اگر میخواهید کلمه یا لینک خاصی را در چندین صفحه وبسایت جایگزین کنید، بهترین راه استفاده از جستجو و جایگزینی در phpMyAdmin است.
گاهی اوقات بر حسب شرایط ممکن است قصد داشته باشید عبارت، تصویر و حتی یک لینک را در وبسایت خود با محتوایی جدید جایگزین کنید. در این حالت هیچ نیازی نیست که تمامی وبسایت خود را جستجو کنید و کلمات و محتوای مورد نظر را تغییر دهید. قطعا چنین کاری زمانبر و حوصله سر بر است.
برای انجام این کار میتوانید از پلاگینهای موجود برای وردپرس استفاده کنید. یا حتی با استفاده از جستجو و جایگزینی پیشفرض phpMyAdmin این کار را انجام دهید. در ادامه به این موضوع میپردازیم که چطور میتوان این کار را انجام داد. همراه ما باشید.
چه مواقعی از جستجو و جایگزین کردن استفاده کنیم؟
ابتداییترین پرسشی که باید به آن پاسخ دهیم این است. چه زمانی از جستجو و جایگزین کردن استفاده میکنیم؟
اجازه دهید برخی از احتمالات را بررسی کنیم. فرض کنید زمانی شما در وبسایت خود از لینک، کلمه، تصویر یا هر محتوای دیگری به طور مکرر استفاده کردهاید. اما بعد از مدتی قصد دارید تا این محتوا با محتوایی جدید جایگزین شود. اولین راهی که به ذهن میرسد بررسی تک تک پستها و صفحات است.
هرچقدر هم که دقیق باشید و زمان بگذارید، احتمال اینکه در این میان تعدادی از آنها از چشم شما پنهان بمانند خیلی زیاد است. به همین خاطر استفاده از یک کوئری خاص در phpMyAdmin یا استفاده از یک پلاگین بسیار عاقلانهتر است.
جستجو و جایگزینی در phpMyAdmin
همانطور که اشاره کردیم برای جستجو و جایگزینی علاوه بر پلاگین از phpMyAdmin نیز میتوانید استفاده کنید. برای جستجو و جایگزینی در phpMyAdmin اولین کاری که باید انجام دهید لاگین کردن به پنل هاست وبسایتتان است.
بعد از وارد شدن به پنل هاست به بخش Database بروید و از آن جا روی phpMyAdmin کلیک کنید. بعد از اینکه وارد قسمتphpMyAdmin بشوید باید روی دیتابیس مربوط به وبسایت خود کلیک کنید. در نهایت در پنجره جدید باز شده روی گزینه SQL از نوار ابزار کلیک کنید.
حال باید کوئری مربوط به جستجو و جایگزینی در phpMyAdmin را در این بخش با فرمت زیر وارد کنید:
[php]update TABLE_NAME set FIELD_NAME =
replace(FIELD_NAME, ‘Text to find’, ‘text to replace with’);[/php]
برای مثال فرض کنید قرار است با استفاده از جستجو و جایگزینی یک عبارت یا کلمه خاص را در پستهای وبسایت خود جستجو کنید. در این حالت باید دستور بالا را به شکل زیر در پنجره مربوط به کوئریها وارد کنید:
[php]update wp_posts set post_content =
replace(post_content,’Text to find’,’text to replace with’);[/php]
همان طور که در این کوئری مشخص است به ازای مقدار text to find باید عبارت و کلمهای که قصد دارید جستجو کنید را وارد کنید. سپس به ازای عبارت text to replace with محتوای جدیدی که قصد دارید جایگزین کنید را وارد کنید.
در نهایت هم روی گزینه Go کلیک کنید تا کوئری مورد نظر اجرا شود. بعد از اجرا شدن این کوئری پیغامی مبنی بر اینکه چه تعداد کلمه جایگزین شدهاند از سوی phpMyAdmin برای شما نمایش داده میشود.
جستجو و جایگزینی دیتابیس با استفاده از پلاگین
علاوه بر جستجو و جایگزینی در phpMyAdmin به طور مستقیم، شما میتوانید از پلاگینهایی که برای این منظور طراحی و ساخته شدهاند نیز استفاده کنید. در ادامه برخی از این پلاگینها را بررسی میکنیم.
افزونه Better Search Replace
افزونه Better Search Replace یکی از افزونههای جستجو و جایگزینی است. برای استفاده از این افزونه ابتدا باید آن را از وبسایت رسمی وردپرس دانلود، نصب و در نهایت فعال کنید. بعد از فعالسازی افزونه لازم است تا به صفحه تنظیمات آن بروید و آن را شخصی سازی کنید.
برای دسترسی به تنظیمات افزونه به داشبورد وردپرس بروید. به مسیر تنظیمات بروید. در این بخش گزینهای جدید با عنوان Better Search Replace برای شما نمایان میشود. بر روی این گزینه کلیک کنید. در این بخش تعدادی تب مشاهده میکنید که عبارت هستند از Search/Replace، Settings و Help.
تب اول یا همان Search/Replace مربوط به عملیات جستجو و جایگزینی است. در این صفحه به ازای گزینه Search for باید مقداری که قصد دارید جستجو کنید را وارد نمایید. سپس در کادر پایین (Replace with) مقدار جدیدی که قصد دارید جایگزین شود را وارد کنید.
سپس در بخش Select Table شما باید جداولی که قصد دارید در دیتابیس وبسایت شما مورد جستجو قرار بگیرند را انتخاب کنید. این کار، جستجو و جایگزینی را به این جداول محدود میکند.
در نهایت با فعال کردن گزینه Run as dry run میتوانید قبل از اینکه عملیات نهایی جایگذاری انجام شود یک گزارش از تعداد کلمات موجود دریافت کنید. فراموش نکنید که فعال کردن این گزینه باعث عدم انجام عملیات جایگزینی میشود. پس برای اینکه این اقدام صورت بگیرد کافی است تا تیک این گزینه را غیر فعال کنید.
افزونه Search and Replace
پلاگین دیگری که با استفاده از آن میتوانید عملیات جستجو و جایگزینی را انجام دهید افزونه Search and Replace است. بعد از نصب و فعالسازی این افزونه به صفحه تنظیمات پلاگین بروید. در این صفحه نیاز است تا برخی از تنظیمات را سفارش سازی کنید.
در صفحه تنظیمات در تب مربوط به Search and Replace میتوانید جستجو و جایگزینی را انجام دهید. درست مشابه به پلاگین Better Search Replace، کافی است که عبارت مورد نظر خود را در کادرهای موجود تایپ کنید، جدولها را انتخاب کنید و بر روی گزینه Do Replace کلیک کنید.
جستجو و جایگزینی یک آدرس در دیتابیس وردپرس
قبل از اینکه برای جایگزینی یک آدرس در دیتابیس وردپرس اقدام کنید، توصیه میکنیم از اطلاعات خود بک آپ بگیرید.
هرچقدر هم که از درست پیش رفتن روند جایگزینی آدرس مطمئن باشید باز احتمال بروز خطا وجود دارد. با بک آپ گرفتن از اطلاعات هیچ نگرانی برای از دست رفتن دیتای وبسایت و یا خرابی آن ندارید. میتوانید به صورت دستی یا با استفاده از یک افزونه مناسب از وردپرس بکاپ بگیرید. فرقی نمیکند از کدام روش استفاده میکنید، فقط بک آپ گرفتن را فراموش نکنید.
روشها و تکنیکهای متعددی برای جستجو و جایگزینی یک آدرس در دیتابیس وردپرس وجود دارد. در ادامه به تعدادی از این روشها اشاره میکنیم:
جستجو و جایگزینی به صورت دستی (برای وبسایتهای کوچک)
این روش فقط زمانی جواب میدهد که یک وبسایت کوچک و شخصی داشته باشید. وبسایتی که تعداد صفحات زیادی نداشته باشد. در این روش شما به صورت دستی صفحات و محتوا را جستجو میکنید و به دنبال لینکهایی که قبلا درج کردهاید میگردید. در نهایت نسخههای قدیمی را با لینکهای جدید جابجا میکنید.
جستجو و جایگزینی به طور مستقیم در دیتابیس
در این روش کاربران نگرانی بیشتری برای اشتباه پیش رفتن مسیر دارند. در حالت کلی ممکن است دو نوع آدرس را جستجو و جایگزین کنید:
- ممکن است بخواهید آدرسهای قدیمی را جایگزین کنید که علاوه بر پستها در منوها و ویجتهای وبسایت نیز قرار دارند. در صورت تغییر دستی، ممکن است تعدادی از آدرسها جا بیافتند.
- ممکن است بخواهید آدرسهای اشتباه ویدیوها یا تصاویر را تصحیح کنید. اگر آدرس تصویر تغییر کند، باید کدهای آن را نیز در سایت تصحیح کنید تا تصویر مجددا نمایش داده شود.
به یاد داشته باشید که آدرسها ممکن است در جداول مختلفی از دیتابیس وبسایت شما ذخیره شوند. به همین خاطر زمانی که به صورت دستی قصد دارید این آدرسها را تغییر دهید باید تمامی جدولها را به دقت جستجو کنید. در ادامه به لیستی از مکانهایی که ممکن است آدرسها و لینکها در آن جا ذخیره شوند، اشاره میکنیم:
- در پست و صفحات وبسایت: فلید “posts_content” در جدول “wp_posts”
- لینک منیجیر قدیمی: فلید “link_url” و “link_image” در جدول “wp_links”
- لینکهای مربوط به منوها: فلید “meta_value” در جدول “wp_postmeta”
- گزینهها، قالبها و پلاگینها: فلید “option_value” در جدول “wp_options”
- لینکهای درون دیدگاهها: فلید “comment_content” در جدول “wp_comments”
اگر که قصد دارید به صورت دستی این جستجو و جایگزینی را انجام دهید، باید بدانید که مسیر طولانی در پیش دارید. به این دلیل که قرار است تک تک، تمامی جدولهای موجود در دیتابیس را برای پیدا کردن لینک مورد نظرتان جستجو کنید.
به همین خاطر برای اینکه این مسیر بی خطر و بدون بروز مشکل طی شود، توصیه میکنیم از پلاگینهای مناسب این کار استفاده کنید.
استفاده از اسکریپتهای MySQL برای جستجو و جایگزینی در دیتابیس
روش دیگری که برای جستجو و جایگزینی آدرسهای قدیمی در دیتابیس وجود دارد استفاده از اسکریپتهای MySQL است. این روش زمانی که وبسایت شما بزرگ و گسترده باشد، بسیار کاربردی است.
با استفاده از این اسکریپت در MySQL میتوانید به راحتی آدرسهای قدیمی را با آدرسهای جدید جایگزین کنید:
update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, ‘find string’, ‘replace string’);
این دستور اجرایی، برای جستجو و جایگزینی URLهای موجود در جداول دیتابیس وبسایت شما است. اگر که قصد دارید آدرسهای موجود در تمامی جداول را تغییر دهید ابتدا وارد پنل phpMyAdmin هاست خود شوید. دیتابیس مربوط به وبسایت خود را انتخاب کنید. از نوار ابزار تب SQL را باز کنید و قطعه کد زیر را در پنجره باز شده وارد کنید:
UPDATE wp_options SET option_value = replace(option_value, 'Existing URL', 'New URL') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET post_content = replace(post_content, 'Existing URL', 'New URL');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'Existing URL','New URL');
UPDATE wp_usermeta SET meta_value = replace(meta_value, 'Existing URL','New URL');
UPDATE wp_links SET link_url = replace(link_url, 'Existing URL','New URL');
UPDATE wp_comments SET comment_content = replace(comment_content , 'Existing URL','New URL');
اگر که در وبسایت خود در پستها تصاویری را نیز درج کرده باشید، برای تغییر آدرس آنها باید دستورات زیر را نیز اجرا کنید:
برای عکسهای موجود در یک پست:
UPDATE wp_posts SET post_content = replace(post_content, 'Existing URL', 'New URL');
برای عکسهایی که به صورت پیوست در پست قرار گرفتهاند:
UPDATE wp_posts SET guid = replace(guid, 'Existing URL','New URL');
برای عکسهایی که در آدرس منیجر قدیمی لینک داده شدهاند:
UPDATE wp_links SET link_image = replace(link_image, 'Existing URL','New URL');
در پایان بعد از وارد کردن دستورات مورد نیاز در پنجره SQL روی GO کلیک کنید تا دستورات اجرا شوند. در نهایت تمامی آدرسهای قدیمی با آدرسهای جدیدی که شما وارد کردهاید، جایگزین میشوند.