آموزش کاهش حجم خودکار تصاویر در وردپرس با کد PHP و تکنیک‌های فشرده‌سازی حرفه‌ای

به انجمن تخصصی وبمستران خوش آمدید!

با عضویت در انجمن، به محتوای اختصاصی ویژه وبمستران دسترسی داشته باشید و از امکانات بی نظیر اعضای انجمن بهره مند شوید.

همین الان عضو شوید!

آموزش کاهش حجم خودکار تصاویر در وردپرس با کد PHP و تکنیک‌های فشرده‌سازی حرفه‌ای

نوشته‌ها
125
امتیاز پسند
0
امتیازها
586
جایزه‌ها
5
سن
30
محل سکونت
اصفهان
اعتبار
8,807‌ سکه
  • موضوع نویسنده
  • #1
یکی از مشکلات اساسی بسیاری از سایت‌های وردپرسی، حجم بالای تصاویر و تأثیر آن بر کاهش سرعت بارگذاری سایت است. اگر وب‌سایت شما روزانه میزبان چندین تصویر جدید است، قطعاً به راهکاری نیاز دارید تا این تصاویر به صورت خودکار پس از آپلود، بهینه و کم‌حجم شوند. این کار نقش مهمی در بهبود تجربه کاربری، افزایش رتبه سئو و کاهش مصرف پهنای باند دارد.

در این مقاله جامع، تمامی راه‌های کاهش حجم خودکار تصاویر در وردپرس با استفاده از کد PHP و تکنیک‌های مختلف فشرده‌سازی را بررسی خواهیم کرد. همچنین مزایای این روش نسبت به افزونه‌ها و نکات کلیدی آن را یاد می‌گیرید.

چرا کاهش حجم تصاویر وردپرس اهمیت دارد؟


افزودن تصاویر کم‌حجم به محتوا باعث می‌شود سرعت لود صفحات سایت چندین برابر شود و سئو سایت به شکل چشمگیری ارتقا یابد. گوگل نیز یکی از مهم‌ترین معیارهای رتبه‌بندی خود را بر اساس سرعت سایت قرار داده است. نکته دیگر، کاهش مصرف منابع سرور و پهنای باند مخصوصاً برای هاست‌های معمولی است.

روش‌های کاهش حجم تصاویر در وردپرس


دو راهکار اصلی برای بهینه‌سازی تصاویر وردپرس وجود دارد:
  • استفاده از افزونه‌های بهینه‌ساز تصاویر (مانند Smush، Imagify، ShortPixel)
  • کاهش حجم تصاویر با کد و اسکریپت‌های PHP بصورت خودکار پس از آپلود

در این مقاله، راهکار دوم را به شکل حرفه‌ای آموزش می‌دهیم؛ یعنی کاهش حجم اتوماتیک تصاویر بدون استفاده از افزونه!

کد کاهش حجم خودکار تصاویر آپلودی در وردپرس


می‌توانید با افزودن قطعه کد زیر به فایل functions.php قالب فرزند (Child Theme)، تمامی تصاویر jpg و jpeg که کاربران آپلود می‌کنند را به صورت خودکار با کیفیت کمتری ذخیره کنید:

PHP:
// کاهش کیفیت تصاویر jpg هنگام آپلود (به طور خودکار به 75 درصد)
add_filter( 'jpeg_quality', function( $arg ) {
    return 75; // کیفیت 75 درصد (قابل تغییر)
});

// برای نسخه‌های جدیدتر وردپرس
add_filter( 'wp_editor_set_quality', function( $quality ) {
    return 75;
});

این کد باعث می‌شود به‌محض آپلود تصاویر JPG روی سایت، حجم آنها کاهش پیدا کند در حالی که افت کیفی کمی مشاهده خواهد شد.

فشرده‌سازی تصاویر PNG و WebP با کد


وردپرس به طور پیش‌فرض کیفیت تصاویر PNG را پایین نمی‌آورد. برای این کار می‌توانید از افزودن کتابخانه‌های پردازش تصویر (مانند TinyPNG API یا imageoptim) با PHP استفاده کنید. برای مثال اگر بخواهید تصاویر به فرمت WebP تبدیل و فشرده شوند، از کد زیر می‌توانید استفاده کنید:
PHP:
// تبدیل خودکار تصاویر جدید به WebP (نیاز به افزونه یا افزونه نویسی اختصاصی و کتابخانه imagewebp)
function akarimi_convert_image_to_webp($metadata, $attachment_id) {
    $upload_dir = wp_upload_dir();
    $file_path = $upload_dir['basedir'] . '/' . $metadata['file'];
    $info = pathinfo($file_path);
    if (in_array(strtolower($info['extension']), array('jpg','jpeg','png'))) {
        $webp_path = $upload_dir['basedir'].'/'.$info['filename'].'.webp';
        $image = imagecreatefromstring(file_get_contents($file_path));
        imagewebp($image, $webp_path, 75);
        imagedestroy($image);
    }
    return $metadata;
}
add_filter('wp_generate_attachment_metadata', 'akarimi_convert_image_to_webp',10,2);
نکته: برای استفاده از این کد، کتابخانه GD یا Imagick باید روی سرور فعال باشد و باید دسترسی نوشتن برای وردپرس ایجاد شود.

کاهش حجم تصاویر موجود؛ راه حل کاربردی


اگر حجم زیادی تصویر قبلاً روی سایت شما آپلود شده و می‌خواهید همه را بهینه کنید، می‌توانید از خط فرمان یا افزونه‌هایی که فقط برای یک‌بار استفاده می‌شوند مثل "Regenerate Thumbnails" یا "Force Regenerate Thumbnails" کمک بگیرید و کد بالا را به صورت لوپ روی همه تصاویر پیاده‌سازی کنید.

آیا کاهش حجم خودکار تصاویر با کد بهتر از افزونه است؟


بله، چرا که شما کاملاً روی فرآیند تبدیل، کیفیت و اندازه فایل‌ها کنترل دارید و وابستگی به افزونه‌های سنگین یا پولی ندارید. افزونه‌ها ممکن است در هر بروزرسانی مشکلاتی ایجاد کنند، اما کد سفارشی از نظر سازگاری و امنیت کنترل بیشتری در اختیار شما می‌گذارد.

نکات کلیدی در بهینه‌سازی حجم خودکار تصاویر


  • همیشه کیفیت را روی 70 تا 80 درصد تنظیم کنید تا تفاوتی محسوس در ظاهر تصویر نداشته باشید.
  • از فرمت WebP برای تصاویر جدید و مهم سایت استفاده کنید تا سرعت لود چندین برابر شود.
  • برای آپلود تصاویر بزرگ (مثلاً اسکرین‌شات‌های طولانی یا عکس محصولات)، ابتدا تصویر اولیه را در ابزارهای آنلاین کم حجم کرده و سپس در سایت قرار دهید.
  • مراقب باشید حذف زیاد کیفیت به تجربه کاربری آسیب وارد نکند. همیشه تست کنید.

ارتباط با انجمن و دریافت مشاوره رایگان


برای دریافت راهنمایی تخصصی‌تر درباره بهینه‌سازی تصاویر و اطلاعات بیشتر در مورد کاهش حجم تصاویر وردپرس، کافیست به انجمن تخصصی احمدرضا کریمی مراجعه کنید یا مشاوره اختصاصی را در سایت اصلی دنبال نمایید.

جمع‌بندی


کاهش حجم خودکار تصاویر وردپرس با کد یک راهکار هوشمند و حرفه‌ای برای بهبود سرعت سایت، ارتقای سئو و صرفه‌جویی در منابع سرور است. فقط کافیست یکبار کد را در سایت خود درج کنید تا کیفیت و کارایی سایت را به بهترین شکل تضمین کنید. در صورت داشتن سؤالات بیشتر، در بخش انجمن پاسخگوی شما هستیم.
 
بازگشت
بالا پایین