مشکل URL تصاویر پس از انتقال
هنگام انتقال سایت وردپرسی به دامنه یا هاست جدید، آدرس تصاویر همچنان به دامنه قدیمی اشاره میکنند. نتیجه: تصاویر نمایش داده نمیشوند یا از سرور قدیمی لود میشوند.
روش ۱: WP-CLI (بهترین)
wp search-replace 'http://old-domain.com/wp-content/uploads' 'https://new-domain.com/wp-content/uploads' --all-tables
این دستور serialized data را هم بهدرستی مدیریت میکند.
روش ۲: SQL در phpMyAdmin
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://old-domain.com/wp-content/uploads', 'https://new-domain.com/wp-content/uploads');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://old-domain.com/wp-content/uploads', 'https://new-domain.com/wp-content/uploads') WHERE meta_value LIKE '%old-domain.com%';
هشدار: کوئری SQL مستقیم serialized data را خراب میکند. از WP-CLI یا Better Search Replace استفاده کنید.
روش ۳: افزونه Better Search Replace
از پیشخوان: ابزارها > Better Search Replace. URL قدیم و جدید تصاویر را وارد و جداول wp_posts و wp_postmeta را انتخاب کنید.
روش ۴: تغییر Upload Path
اگر مسیر آپلود تغییر کرده:
UPDATE wp_options SET option_value = '/wp-content/uploads' WHERE option_name = 'upload_path';
تغییر HTTP به HTTPS برای تصاویر
wp search-replace 'http://yourdomain.com' 'https://yourdomain.com' wp_posts wp_postmeta
یا افزونه Really Simple SSL این کار را خودکار انجام میدهد.
بازسازی تصاویر
پس از تغییر URL، ممکن است thumbnail ها نیاز به بازسازی داشته باشند:
wp media regenerate --yes
نکات
قبل از هر تغییری بکاپ بگیرید. ابتدا با --dry-run تست کنید. پس از تغییر، کش CDN و مرورگر را پاک نمایید.
انتقال به هاست وردپرس میهن هاستینگ شامل تغییر URL تصاویر توسط تیم فنی است. سرور مجازی با WP-CLI.