در این آموزش قدمبهقدم میآموزید چگونه آدرس دامنه سایت وردپرس را با ویرایش مقادیر url و home در جدول wp_options داخل phpMyAdmin تغییر دهید و پس از آن لینکها را با یک کوئری SQL جایگزین کنید. نکات پشتیبانگیری اولیه و گزینه تغییر با کنترلپنل هاست نیز پوشش داده شده است.
آیا تصمیم گرفتهاید آدرس دامنه وبسایت خود را تغییر دهید؟ شاید به دنبال یک ریبرندینگ (Rebranding) اساسی هستید، نام دامنهتان طولانی و سخت است، یا میخواهید پسوند دامنه خود را برای اعتبار بینالمللی از .ir به .com ارتقا دهید. تغییر آدرس دامنه سایت یکی از حساسترین، پیچیدهترین و در عین حال حیاتیترین جراحیهایی است که میتوانید روی کسبوکارتان انجام دهید.
تصور کنید فروشگاه فیزیکی پررونقی در یک خیابان اصلی دارید و ناگهان تصمیم میگیرید مکان آن را تغییر دهید. اگر تابلویی نصب نکنید و آدرس جدید را به مشتریان نگویید، آنها با یک مغازه خالی روبرو شده و برای همیشه میروند. در دنیای وب، این اتفاق بسیار سریعتر رخ میدهد. یک اشتباه کوچک تکنیکال در این فرآیند نه تنها باعث از دسترس خارج شدن سایت (Downtime) میشود، بلکه میتواند تمام زحمات چند ساله سئو، لینکسازیها و اعتبار دامنه (Domain Authority) شما را در یک شب بر باد دهد.
اما نگران نباشید؛ ما اینجا هستیم تا این مسیر پر پیچ و خم را برای شما هموار کنیم. در این مقاله جامع، برخلاف آموزشهای سطحی و ناقص، نقشه راه کامل و قدمبهقدم تغییر آدرس سایت وردپرس را با جزئیات فنی دقیق بررسی خواهیم کرد. از تنظیمات تکنیکال دیتابیس و مدیریت دادههای سریالسازی شده گرفته تا ترفندهای حیاتی فایل htaccess برای حفظ رتبه گوگل، همه چیز را موشکافی کردهایم.
آنچه در این مقاله می خوانید :
چرا تغییر آدرس دامنه سایت تا این حد حساس و ریسکپذیر است؟
قبل از اینکه دست به آچار شویم، باید عمق ماجرا را درک کنید. تغییر دامنه صرفاً خرید یک آدرس جدید و اتصال آن به هاست نیست. گوگل، کاربران و سایر وبسایتها، هویت دیجیتال شما را با آدرس فعلی میشناسند. اگر فرآیند تغییر آدرس دامنه سایت را به درستی و با استراتژی دقیق انجام ندهید، با فاجعههای زیر روبرو خواهید شد:
شکستن تمام لینکهای داخلی و تصاویر: تمام عکسهایی که در سالهای گذشته آپلود کردهاید و تمام لینکهایی که بین مقالات دادهاید، با آدرس قدیم ذخیره شدهاند. بدون اصلاح، کاربر با هزاران ارور ۴۰۴ و تصاویر لود نشده روبرو میشود.
از دست رفتن اعتبار سئو (Link Juice): بکلینکهایی که از سایتهای دیگر گرفتهاید، به دامنه قدیم اشاره دارند. اگر ریدایرکت اصولی انجام نشود، این اعتبار به دامنه جدید منتقل نشده و رتبههای شما سقوط آزاد میکنند.
قطع دسترسی به مدیریت: اگر آدرس را در تنظیمات اشتباه وارد کنید، وردپرس وارد یک چرخه بیپایان ریدایرکت (Redirect Loop) میشود و حتی خودتان هم نمیتوانید وارد پیشخوان شوید.
مشکلات دادههای سریالسازی شده: بسیاری از تنظیمات قالب و ابزارکها به روشی خاص ذخیره میشوند که تغییر دستی آنها باعث خرابی چیدمان سایت میشود.
ما در این آموزش، روشی را پیش میگیریم که کمترین ریسک و بیشترین پایداری را داشته باشد و سایت شما را در برابر تمام این خطرات بیمه کند.
پیشنیازهای حیاتی قبل از شروع (چکلیست ایمنی)
اکیداً توصیه میکنیم قبل از انجام هر کاری، حتی یک کلیک، این 3 مرحله را با وسواس طی کنید. نادیده گرفتن این بخش میتواند به قیمت از دست رفتن کل اطلاعات سایت تمام شود!
1. بکآپ کامل و مطمئن بگیرید
هرگز به بکآپهای خودکار هاستینگ اعتماد نکنید. قبل از شروع:
از طریق کنترل پنل هاست (DirectAdmin یا cPanel) به بخش Backup Wizard بروید و یک Full Backup تهیه کنید.
فایل بکآپ را دانلود کرده و روی کامپیوتر خود ذخیره کنید.
مطمئن شوید که هم از فایلهای موجود در public_html و هم از دیتابیس (MySQL) نسخه پشتیبان دارید.
مطمئن شوید دامنه جدید ثبت شده، فعال است و DNSهای آن دقیقاً روی همان هاستی که سایت فعلی قرار دارد، تنظیم شدهاند (Point شدهاند).
برای دامنههای .ir، حتماً وضعیت تایید را در ایرنیک چک کنید.
دسترسی FTP یا File Manager هاست را بررسی کنید تا در صورت بروز خطا، بتوانید فایلها را ویرایش کنید.
۳. غیرفعالسازی افزونههای امنیتی و کش
افزونههای امنیتی قدرتمند مثل iThemes Security، Wordfence و افزونههای کش مثل WP Rocket ممکن است تغییرات ناگهانی در آدرس سایت را به عنوان حمله شناسایی کرده و دسترسی شما را مسدود کنند یا فایلهای htaccess را قفل نگه دارند.
تمام افزونههای کش و امنیتی را موقتاً غیرفعال کنید.
کش مرورگر خود را نیز پاک کنید.
روش اول: تغییر آدرس دامنه از طریق تنظیمات وردپرس (سادهترین روش)
اگر هنوز به پیشخوان وردپرس دسترسی دارید و سایت با دامنه قبلی بالا میآید، این سادهترین و رسمیترین راه است. اما توجه کنید که این روش فقط آدرسهای اصلی پیکربندی وردپرس را تغییر میدهد و قدرت تغییر لینکهای داخل محتوا (Content) را ندارد.
نشانی سایت (URL): آدرسی که کاربران در مرورگر تایپ میکنند تا سایت شما را ببینند.
در هر دو فیلد، آدرس دامنه جدید خود را با دقت و بدون غلط املایی وارد کنید (حتماً پروتکل https:// یا http:// را در ابتدای آن بنویسید).
روی دکمه ذخیره تغییرات کلیک کنید.
نکته بسیار مهم: بلافاصله بعد از زدن دکمه ذخیره، وردپرس تلاش میکند شما را به آدرس جدید بفرستد. از آنجایی که سشن (Session) لاگین شما مربوط به دامنه قبلی بود، از سایت خارج میشوید و ممکن است با ارور مواجه شوید. این کاملاً طبیعی است. اکنون باید سعی کنید با آدرس جدید وارد سایت شوید (new-domain.com/wp-admin).
روش دوم: تغییر آدرس دامنه سایت از طریق دیتابیس (روش فنی و قطعی)
اگر به هر دلیلی به پیشخوان دسترسی ندارید (مثلاً سایت سفید شده یا وارد چرخه ریدایرکت شده است) یا میخواهید کار را مثل یک توسعهدهنده حرفهای انجام دهید، باید مستقیماً قلب وردپرس، یعنی دیتابیس را جراحی کنید.
گام 1: ویرایش جدول حیاتی wp_options
این جدول مغز متفکر تنظیمات وردپرس است.
وارد پنل هاست خود شوید و ابزار phpMyAdmin را باز کنید.
از ستون سمت چپ، دیتابیس مربوط به سایتتان را انتخاب کنید (اگر نام آن را نمیدانید، فایل wp-config.php را در فایل منیجر چک کنید).
جدول wp_options را پیدا کرده و روی آن کلیک کنید. (نکته: اگر هنگام نصب وردپرس پیشوند جدول را تغییر دادهاید، ممکن است نامی مثل site_options داشته باشد).
معمولاً در همان صفحه اول، دو ردیف با نامهای siteurl و home را خواهید دید. اینها همان فیلدهایی هستند که در روش اول در تنظیمات دیدید.
نمایی از جدول wp_optionsدر دیتابیس؛ برای تغییر آدرس باید مقادیر siteurlو home را ویرایش کنید.
جدول wp_options در دیتابیس
روی دکمه Edit (مداد) کلیک کرده و در کادر option_value، آدرس دامنه جدید را کامل وارد کنید.
روی Go کلیک کنید تا ذخیره شود.
گام ۲: اصلاح تمام لینکهای داخلی با کوئری SQL (تغییر کامل)
تا اینجا فقط “تابلوی سر در مغازه” عوض شده است، اما روی تمام اجناس داخل مغازه (لینکهای داخلی، تصاویر آپلود شده در پستها) هنوز برچسب آدرس قدیمی خورده است. برای تغییر آدرس دامنه سایت به صورت کامل و یکپارچه، باید از دستورات قدرتمند SQL استفاده کنید تا در کسری از ثانیه تمام دیتابیس را اسکن و جایگزین کند.
در همان محیط phpMyAdmin، روی تب SQL در بالای صفحه کلیک کنید. کد زیر را کپی کرده و در کادر متنی وارد کنید.
نکات مهم:
قبل از اجرا، حتماً به جای old-domain.com آدرس قدیم و به جای new-domain.com آدرس جدید را قرار دهید.
در صورتی که پیشوند جداول سایت شما مقداری بجز wp_ می باشد، بجای wp_، پیشوند دیتابیس خود را وارد نمایید.
UPDATE wp_options SET option_value = REPLACE(option_value, 'https://www.old-domain.com/', 'new-domain.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = REPLACE(guid, 'https://www.old-domain.com/','new-domain.com');
UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://www.old-domain.com/', 'new-domain.com');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value,'https://www.old-domain.com/','new-domain.com');
UPDATE wp_comments SET comment_author_url = REPLACE(comment_author_url, 'https://www.old-domain.com/', 'new-domain.com');
سپس دکمه Go را بزنید. پیامی مبنی بر اینکه “X سطر تحت تاثیر قرار گرفت” نمایش داده میشود که نشاندهنده موفقیت عملیات است.
روش سوم: استفاده از افزونه Better Search Replace (پیشنهاد متخصصان)
یک چالش فنی بزرگ در روش دیتابیس دستی (روش دوم) وجود دارد که اکثر آموزشها به آن اشاره نمیکنند: دادههای سریالسازی شده (Serialized Data).
داده سریالسازی شده چیست؟
وردپرس و بسیاری از قالبها/افزونهها، آرایهها و آبجکتهای پیچیده را به صورت یک رشته متنی خاص در دیتابیس ذخیره میکنند. این رشته شامل تعداد کاراکترهای هر مقدار است.
مثال: s:18:”http://old-site.com”; (عدد ۱۸ طول آدرس است).
اگر شما با SQL دستی آدرس را به http://new-website.com تغییر دهید، طول رشته تغییر میکند اما عدد ۱۸ ثابت میماند.
نتیجه: دیتابیس این داده را خراب (Corrupt) تشخیص میدهد و تنظیمات قالب، ابزارکها و منوهای شما ناپدید میشوند.
برای حل این مشکل، تنها راه اصولی استفاده از ابزاری است که قابلیت “unserialize” کردن دادهها را داشته باشد. افزونه Better Search Replace دقیقاً همین کار را میکند:
ابتدا با روش اول یا ویرایش دستی siteurl و home در دیتابیس، امکان ورود به پیشخوان را فراهم کنید.
افزونه Better Search Replace را از مخزن وردپرس نصب و فعال کنید.
به مسیر ابزارها > Better Search Replace بروید.
در فیلد Search for، نام دامنه قدیمی را وارد کنید.
در فیلد Replace with، نام دامنه جدید را وارد کنید.
در کادر Select tables، تمام جداول دیتابیس را انتخاب کنید (میتوانید با نگه داشتن Ctrl یا Shift همه را انتخاب کنید).
محیط افزونه Better Search Replace؛ انتخاب تمام جداول و وارد کردن آدرسهای قدیم و جدید.
تغییر تغییر آدرس دامنه سایت با افزونه Better Search Replace
تست قبل از اجرا: تیک گزینه Run as dry run را بزنید. این گزینه فقط عملیات را شبیهسازی میکند و به شما میگوید چند مورد پیدا شد، بدون اینکه تغییری اعمال کند.
اگر نتایج جستجو منطقی بود، تیک “Dry run” را بردارید و دکمه Run Search/Replace را بزنید.
این افزونه هوشمندانه تمام دیتابیس را شخم میزند، دادههای سریالسازی شده را باز میکند، آدرس را تغییر میدهد، طول رشته را آپدیت میکند و دوباره میبندد. این یعنی تضمین سلامت ۱۰۰٪ دادهها.
گام حیاتی برای سایتهای طراحی شده با المنتور
اگر سایت شما با صفحهساز محبوب المنتور (Elementor) ساخته شده است، کارتان هنوز تمام نشده. المنتور فایلهای CSS خود را به صورت استاتیک ذخیره میکند و آدرسهای قدیمی ممکن است در فایلهای جیسون (JSON) یا استایلهای کش شده باقی بمانند. عدم انجام این مرحله باعث بهم ریختگی ظاهری شدید سایت میشود.
به پیشخوان وردپرس بروید.
مسیر المنتور > ابزارها > تب جایگزینی URL را طی کنید.
ابزار اختصاصی المنتور برای بهروزرسانی آدرسها در فایلهای CSS و تنظیمات طراحی.
تغییر آدرس دامنه سایت در المنتور
آدرس قدیم و جدید را وارد کرده و دکمه جایگزینی URL را بزنید.
سپس به تب کلی (در همان بخش ابزارها) بروید و دکمه بازسازی فایلهای CSS و دادهها (Regenerate CSS & Data) را کلیک کنید.
کش المنتور پاک شده و استایلها با آدرس جدید ساخته میشوند.
جلوگیری از افت سئو پس از تغییر دامنه (استراتژی ریدایرکت ۳۰۱)
این مهمترین بخش برای نجات کسبوکارتان است. شما باید به رباتهای گوگل به صراحت بگویید: “این صفحه برای همیشه به آدرس جدید منتقل شده است، لطفاً اعتبار آن را هم منتقل کن”. اگر این کار را نکنید، گوگل با هزاران صفحه تکراری یا حذف شده مواجه میشود و سایت شما را جریمه میکند.
برای این کار باید فایل .htaccess در هاست دامنه قدیمی را ویرایش کنید. (دقت کنید: فایلِ دامنه قدیمی، نه جدید. اگر دامنه جدید روی همان هاست “Park” یا “Alias” شده است، این فایل مشترک است).
RewriteEngine On: موتور بازنویسی آدرس را روشن میکند.
RewriteCond: شرط میگذارد که اگر کاربر دامنه قدیمی (با یا بدون www) را درخواست کرد…
RewriteRule: او را به همان آدرس دقیق در دامنه جدید بفرست. متغیر $1 تضمین میکند که اگر کاربر old.com/blog/seo را زد، دقیقاً به new.com/blog/seo هدایت شود، نه به صفحه اصلی.
[R=301,L]: کد ۳۰۱ به معنی “انتقال دائم” است (حیاتی برای سئو) و L به معنی “Last” است، یعنی قوانین بعدی را اجرا نکن.
اقدامات نهایی و چکلیست طلایی پس از انتقال
کار فنی تمام شده است، اما کار مدیریتی تازه شروع میشود. به عنوان یک وبمستر حرفهای، باید موارد زیر را مو به مو اجرا کنید:
۱. اعلام تغییر آدرس به گوگل (Change of Address Tool)
گوگل ابزاری اختصاصی برای این شرایط دارد.
دامنه جدید را به عنوان یک Property جدید در سرچ کنسول گوگل (Google Search Console) ثبت و تایید کنید.
وارد پراپرتی (Property) مربوط به دامنه قدیمی شوید.
از منوی سمت چپ، بخش Settings را باز کنید.
گزینه Change of Address را پیدا کنید.
ابزار Change of Addressگوگل؛ محلی که به موتور جستجو فرمان انتقال اعتبار به دامنه جدید را میدهید.
تغییر آدرس دامنه سایت در گوگل کنسول
در مرحله اول، پراپرتی دامنه جدید را از لیست انتخاب کنید.
روی Validate & Update کلیک کنید. گوگل ریدایرکتهای ۳۰۱ شما را چک میکند و اگر همه چیز درست باشد، پروسه انتقال ایندکسها را تسریع میکند. این پروسه ممکن است تا ۱۸۰ روز فعال بماند.
۲. بررسی گواهینامه SSL و محتوای ترکیبی (Mixed Content)
مطمئن شوید که SSL روی دامنه جدید به درستی نصب شده است. سایت را باز کنید و روی قفل کنار آدرس کلیک کنید.
اگر هشدار زرد رنگ یا پیام “Not Secure” میبینید (حتی با وجود SSL): احتمالاً دچار خطای Mixed Content شدهاید. یعنی صفحه با HTTPS باز شده اما برخی عکسها یا فایلهای JS هنوز با HTTP فراخوانی میشوند. برای رفع این مشکل، مجدداً از افزونه Better Search Replace استفاده کنید و http://new-domain.com را به https://new-domain.com تبدیل کنید.
۳. بهروزرسانی سرویسهای جانبی
فراموش نکنید که آدرس سایت شما در دهها سرویس دیگر ثبت شده است:
Google Analytics (GA4): در بخش Admin > Data Streams آدرس جدید را وارد کنید.
اینماد و درگاههای پرداخت: این مورد بسیار حیاتی است. آیپی و دامنه شما در درگاه پرداخت بانکی ست شده است. بلافاصله پس از تغییر دامنه، باید درخواست تغییر دامنه را به شرکت پرداخت یار یا بانک ارسال کنید، وگرنه تراکنشهای مالی انجام نمیشوند.
تبلیغات گوگل (Google Ads): کمپینهای فعال را متوقف و آدرس مقصد را ویرایش کنید.
۴. ایجاد نقشه سایت (Sitemap) جدید
وارد تنظیمات افزونه سئو (Rank Math یا Yoast SEO) شوید و نقشه سایت را یک بار غیرفعال و فعال کنید تا با آدرسهای جدید ساخته شود. سپس لینک نقشه سایت جدید را در سرچ کنسول (در پراپرتی جدید) ثبت کنید.
سوالات متداول و نکات تکمیلی
آیا تغییر دامنه باعث افت رتبه سایت میشود؟
حتی در بهترین حالت، ممکن است یک نوسان کوتاه مدت (به نام “SEO Dancing”) را تجربه کنید که معمولاً بین ۲ هفته تا ۲ ماه طول میکشد. گوگل باید مطمئن شود که این تغییر دائمی است. اگر ریدایرکت ۳۰۱ را به درستی انجام دهید و محتوا تغییر نکند، اعتبار شما کاملاً بازمیگردد و حتی ممکن است به دلیل برندینگ بهتر، رشد کنید.
آیا نیاز است هر دو دامنه (قدیم و جدید) را نگه دارم؟
بله، این یک باید است! حداقل تا ۱ سال (و ترجیحاً برای همیشه) دامنه قدیمی را تمدید کنید. اگر دامنه قدیمی منقضی شود، ریدایرکتها از کار میافتند و تمام بکلینکهای قدیمی شما تبدیل به لینک شکسته میشوند. همچنین ممکن است رقیبان دامنه قدیمی شما را ثبت کنند و از اعتبار آن سوءاستفاده کنند.
تکلیف ایمیلهای سازمانی چه میشود؟
با تغییر دامنه، ایمیلهایی مثل info@old-domain.com دیگر دریافت نخواهند داشت. باید در هاست خود اکانتهای ایمیل جدید با دامنه جدید بسازید (info@new-domain.com). برای اینکه ایمیلهای مشتریان را از دست ندهید، میتوانید یک Email Forwarder در کنترل پنل هاست تنظیم کنید تا تمام ایمیلهای دامنه قدیم، به صورت خودکار به ایمیل جدید فوروارد شوند.
سخن پایانی
تغییر آدرس دامنه سایت فرآیندی است که نیاز به دقت جراحان و حوصله استراتژیستها دارد. اگر مراحل بالا را به ترتیب و با دقت انجام دهید، سایت شما مثل ساعت در خانه جدیدش کار خواهد کرد و ترافیک ارزشمندتان حفظ میشود. فراموش نکنید که بکآپ گرفتن قبل از شروع کار، تنها راه بازگشت در صورت بروز حوادث غیرمترقبه است.
این راهنما حاصل تجربه انتقال صدها وبسایت وردپرسی است. امیدواریم با استفاده از آن، مهاجرت سایت خود را با موفقیت و بدون استرس انجام دهید. اگر در هر مرحله دچار چالش شدید، بخش نظرات همین صفحه بهترین مکان برای پرسیدن سوالات شماست.