تغییر پیشوند جدول در وردپرس بدون افزونه
همانطور که اطلاع دارید دیتابیس یکی از مهمترین اجزای سایت وردپرسی است. تمام اطلاعات حیاتی، از رمزهای عبور و نامهای کاربری گرفته تا نوشتهها، تنظیمات و ساختار کلی سایت، در دیتابیس ذخیره میشود. به همین دلیل میتوان دیتابیس را «مغز اصلی وردپرس» دانست؛ مغزی که اگر آسیبی ببیند، کل سایت شما مختل خواهد شد. پس مهم است که تغییر پیشوند جدول در وردپرس بدون افزونه را یاد بگیرید.
به همین دلیل، حفاظت از دیتابیس اهمیت فوقالعادهای دارد. هکرها معمولاً تلاش میکنند از روشهایی مثل SQL Injection برای نفوذ به دیتابیس استفاده کنند و اطلاعات را تغییر دهند. حالا شما باید شرایطی ایجاد کنید که حتی اگر هکر تلاش به اجرای SQL Injection کرد، این حمله روی سایتتان اثری نداشته باشد.
یکی از بهترین روشها برای خنثی کردن این نوع حملات، تغییر مسیرهایی است که هکر دنبال میکند. هکرها میدانند که ساختار پیشفرض دیتابیس وردپرس چیست، نام جدولها چیست و اطلاعات در کجا ذخیره میشود. اگر همان مسیر پیشفرض را حفظ کنید، کار را برای آنها راحت کردهاید. اما اگر این مسیرها را تغییر دهید، هکر عملاً در بنبست قرار میگیرد!
اما چطور و چگونه میتوان این مسیرها را تغییر داد تا نقشه هکر ناکام بماند؟
همچنین مقاله جلوگیری از حملات بروت فورس در وردپرس Brute Force را در این صفحه مطالعه کنید.
تغییر پیشوند جدول در وردپرس بدون افزونه
تغییر پیشوند جدول در وردپرس بدون افزونه یکی از بخشهای مهم و البته مؤثر در افزایش امنیت سایت است. هنگام نصب وردپرس یک گزینه با عنوان Table Prefix یا همان پیشوند جداول نمایش داده میشود که بهصورت پیشفرض روی wp_ قرار دارد. شاید ساده به نظر برسد، اما همین بخش کوچک نقش مهمی در جلوگیری از حملات هکری مخصوصاً SQL Injection دارد.
در آموزش نصب وردپرس همیشه تأکید میکنیم که این پیشوند را تغییر دهید، زیرا هکرها معمولاً فرض میکنند که سایت شما همان پیشوند پیشفرض را دارد. وقتی پیشوندها ثابت و قابلحدس باشند، مسیر دسترسی به جداول دیتابیس برای هکر کاملاً روشن است. اما با تغییر این پیشوند، عملاً مسیر جداول را عوض میکنید و هکر را به یک «بنبست کامل» میفرستید!
در واقع پیشوند هر جدول قبل از نام آن قرار میگیرد. مثلاً جدول users با پیشوند پیشفرض به شکل wp_users است. اما اگر پیشوند را تغییر دهید، جدول مثلاً تبدیل میشود به:
abc123_users
در این حالت کسی که قصد حمله دارد دیگر نمیتواند مسیر درست را حدس بزند و اجرای دستور SQL مخرب روی دیتابیس شما بیاثر میشود.
بنابراین، سرراستترین و هوشمندانهترین راه برای جلوگیری از نفوذ SQL Injection این است که مسیر استانداردی که هکر دنبال میکند را تغییر دهید تا هیچ راه مشخص و قابلحدسی برای دسترسی به جداول وجود نداشته باشد.
همچنین مقاله جلوگیری از ارسال اسپم به سایت وردپرس با افزونه Zero Spam را در این صفحه مطالعه کنید.
آموزش تتغییر پیشوند جدول در وردپرس بدون افزونه
برای تغییر پیشوند جدولهای وردپرس، چند مرحلهی ساده اما مهم را باید پشتسر بگذارید. در ادامه این مراحل را به صورت مرحلهبهمرحله توضیح میدهم تا با خیال راحت آن را انجام دهید.
گام اول: تهیه نسخه پشتیبان از دیتابیس
چرا بکاپ؟ برای جلوگیری از هرگونه خطای احتمالی و اطمینان از امکان بازگشت، قبل از هر تغییری حتماً از دیتابیس خود بکاپ بگیرید.
چطور بکاپ بگیریم؟ میتوانید از آموزشهای مربوط به بکاپ وردپرس استفاده کنید. اگر عضو «وبمستر طلایی» هستید، احتمالاً با این فرآیند آشنا بوده و نیازی به آموزش اضافی نخواهید داشت.
ویرایش پیشوند جداول در فایل wp-config.php
پس از تهیه نسخه پشتیبان از پایگاه داده وردپرس، نوبت به مرحلهی بعدی میرسد: ورود به فایل پیکربندی اصلی وردپرس یعنی wp-config.php. این فایل در دایرکتوری ریشهی سایت شما قرار دارد، معمولاً در مسیر public_html.
برای شروع، فایل را با یک ویرایشگر مناسب باز کنید. سپس عبارت table_prefix را پیدا کنید. این خط معمولاً به شکل زیر نوشته شده است و وظیفهاش تعیین پیشوند جداول دیتابیس وردپرس است:
$table_prefix = ‘wp_’;
در این مرحله، کافیست مقدار پیشوند جداول را در فایل wp-config.php تغییر دهید. بهعنوان مثال، میتوانید عبارت wp_ را به چیزی مثل mw_ تغییر دهید. با این کار، وردپرس از این پس جداول پایگاه داده را با پیشوند جدید شناسایی و استفاده خواهد کرد.
🔒 نکته مهم: در انتخاب پیشوند جدید، میتوانید از حروف، اعداد و علامت زیرخط (_) استفاده کنید. اما توجه داشته باشید که استفاده از نمادهایی مانند $ یا % مجاز نیست و ممکن است باعث بروز خطا شود.
تغییر پیشوند جداول دیتابیس از طریق phpMyAdmin
برای انجام این مرحله باید وارد کنترلپنل هاست خود شوید. اگر هاست شما از cPanel استفاده میکند، ابتدا وارد صفحه ورود سیپنل شوید و سپس به بخش phpMyAdmin دسترسی پیدا کنید. از اینجا میتوانید جداول دیتابیس وردپرس را مشاهده کرده و پیشوند آنها را مطابق با تنظیمات جدید تغییر دهید.
پس از ورود به محیط cPanel هاست، کافیست از میان گزینههای موجود، بخش phpMyAdmin را انتخاب کنید. این ابزار به شما امکان مدیریت مستقیم پایگاه داده وردپرس را میدهد و از همینجا میتوانید تغییرات مربوط به پیشوند جداول را اعمال کنید.

وقتی وارد محیط phpMyAdmin شدید، از منوی سمت چپ لیست تمامی دیتابیسهای موجود روی هاست را مشاهده میکنید.

حالا که دیتابیس خود را انتخاب کردید، وقت آن است که وارد بخش اجرای دستورات SQL شوید تا بتوانیم پیشوند جداول را تغییر دهیم.
حالا این عبارت را در بخش SQL وارد کنید.
RENAME table wp_commentmeta TO mw_commentmeta;
RENAME table wp_comments TO mw_comments;
RENAME table wp_links TO mw_links;
RENAME table wp_options TO mw_options;
RENAME table wp_postmeta TO mw_postmeta;
RENAME table wp_posts TO mw_posts;
RENAME table wp_terms TO mw_terms;
RENAME table wp_termmeta TO mw_termmeta;
RENAME table wp_term_relationships TO mw_term_relationships;
RENAME table wp_term_taxonomy TO mw_term_taxonomy;
RENAME table wp_usermeta TO mw_usermeta;
RENAME table wp_users TO mw_users;
با انجام این کار، نام تمام جداول دیتابیس شما از wp_ به mw_ تغییر پیدا میکند. این موضوع باعث میشود مسیر پیشفرضی که هکرها برای انجام حملات SQL Injection دنبال میکنند تغییر کرده و به یک بنبست کامل برسند.
البته توجه داشته باشید که:
🔹 اگر دیتابیس شما دارای جداول اضافی باشد
(مثلاً جداول مربوط به افزونهها)
باید برای هر جدول اضافی یک خط جدید در دستور SQL اضافه کنید تا پیشوند همه جداول بهدرستی تغییر کند.
همچنین فراموش نکنید:
🔹 مقدار mw_
باید دقیقاً همان پیشوند جدیدی باشد که قبلاً در فایل wp-config.php وارد کردهاید.
در نهایت، پس از اطمینان از این موارد، روی دکمه Go کلیک کنید تا تمام دستورات اجرا شده و نام تمامی جداول دیتابیس شما با موفقیت تغییر پیدا کند.
همچنین مقاله عدم نمایش نام نویسنده در سایت وردپرس با افزونه یا جلوگیری از Enumeration را در این صفحه مطالعه کنید.
جدول options در دیتابیس
جدول wp_options شامل مقادیر و تنظیمات مهمی است که وردپرس برای اجرای صحیح سایت از آنها استفاده میکند. برخی از این مقادیر، نام جداول را در خود ذخیره کردهاند و بنابراین پس از تغییر پیشوند دیتابیس، باید آنها را هم ویرایش کنیم.
برای این کار، دستور زیر را در محیط SQL دیتابیس خود اجرا کنید:
SELECT * FROM mw_options WHERE option_name LIKE ‘%wp_%’
جدول options در دیتابیس
یکی از مهمترین جداول وردپرس، جدول wp_options است.
این جدول تعدادی ردیف دارد که نام آنها با همان پیشوند قبلی (مثلاً wp_) ذخیره شدهاند.
برای اینکه تغییر پیشوند شما کامل و اصولی انجام شود، باید این ردیفها نیز بهروز شوند.
برای این کار، کافیست دستور زیر را در بخش SQL اجرا کنید:
SELECT * FROM mw_usermeta WHERE meta_key LIKE ‘%wp_%’
تست نهایی و نکات مهم
در این مرحله از آموزش تغییر پیشوند جدول در وردپرس بدون افزونه پس از انجام تمام تغییرات، وقت آن است که سایت وردپرسی خود را تست کنید. صفحات مختلف، ورود به پیشخوان، بخش نوشتهها و افزونهها را بررسی کنید تا مطمئن شوید همه چیز بهدرستی کار میکند و اختلالی در عملکرد سایت ایجاد نشده است.
اگر هرگونه خطا یا مشکل مشاهده کردید، نگران نباشید. کافی است بکآپ دیتابیس که در ابتدای کار تهیه کردید را بازگردانی کنید و دوباره مراحل را با دقت بیشتری انجام دهید.
به این نکته مهم هم توجه داشته باشید: در این آموزش از پیشوند mw_ استفاده شد. اگر شما پیشوند دیگری انتخاب کردهاید، باید در تمام دستورات SQL، فایل wp-config.php و تغییرات دیتابیس، پیشوند مخصوص خودتان را جایگزین کنید. کوچکترین اشتباه در یک حرف یا کاراکتر میتواند باعث خطای جدی در سایت شود.
با انجام این مراحل، شما یک لایه امنیتی قدرتمند به دیتابیس وردپرس خود اضافه کردهاید و مسیر SQL Injectionها را کاملاً تغییر دادهاید. حالا هکر با یک مسیر بنبست روبهرو میشود و شناسایی دیتابیس سایت شما برای او بسیار دشوارتر خواهد بود.
موفق و سربلند باشید.