تغییر لینکها در محتوای وردپرس
هنگام انتقال سایت به دامنه جدید، تغییر HTTP به HTTPS یا تغییر ساختار لینکها، نیاز دارید تمام لینکهای داخل محتوای نوشتهها را یکجا تغییر دهید.
روش ۱: کوئری SQL در phpMyAdmin
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://old-domain.com', 'https://new-domain.com');
برای تغییر در متادیتا هم:
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://old-domain.com', 'https://new-domain.com') WHERE meta_value LIKE '%old-domain.com%';
روش ۲: WP-CLI (توصیهشده)
wp search-replace 'http://old-domain.com' 'https://new-domain.com' --all-tables --dry-run
اگر نتیجه صحیح بود، بدون --dry-run اجرا کنید:
wp search-replace 'http://old-domain.com' 'https://new-domain.com' --all-tables
روش ۳: افزونه Better Search Replace
از پیشخوان وردپرس: ابزارها > Better Search Replace. متن قدیم و جدید را وارد کنید. جداول مورد نظر را انتخاب و اجرا نمایید.
روش ۴: افزونه Velvet Blues Update URLs
این افزونه مخصوص تغییر URL سایت است و بهسادگی تمام لینکها را جایگزین میکند.
نکات مهم
حتماً قبل از هر تغییری بکاپ بگیرید! ابتدا با dry-run تست کنید. serialized data را با WP-CLI یا Better Search Replace تغییر دهید (نه SQL مستقیم). پس از تغییر، کش سایت و مرورگر را پاک کنید.
تغییر HTTP به HTTPS
رایجترین کاربرد:
wp search-replace 'http://yourdomain.com' 'https://yourdomain.com' --all-tables
هاست وردپرس میهن هاستینگ هنگام انتقال رایگان سایت، تمام URL ها را تغییر میدهد. سرور مجازی با WP-CLI.