Cloner Smart Image Optimizer & Auto WebP
Automatic WordPress image optimization & WebP conversion with bulk processing, backups, and a bilingual RTL admin panel.
by Cloner (Shayan) · github.com/chubpanj/smart-optimizer · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/chubpanj/smart-optimizer/archive/refs/heads/main.zipReadme
🌐 زبان / Language
🇮🇷 فارسی (صفحهٔ فعلی) ❘ 🇬🇧 Read in English
🖼️ بهینهساز هوشمند تصاویر و تبدیل خودکار به WebP
Cloner Smart Image Optimizer & Auto WebP
هر تصویری که در وردپرس آپلود میکنید، خودکار کوچک، فشرده و به WebP تبدیل میشود.
امکانات • نصب • راهنمای استفاده • تنظیمات • سوالات متداول
📖 معرفی
بهینهساز هوشمند تصاویر Cloner همان لحظهای که تصویری در کتابخانهٔ رسانهٔ وردپرس آپلود میشود، آن را بهینه میکند. تصاویر بیشازحد بزرگ را کوچک میکند، فشردهشان میکند، اطلاعات اضافی را حذف میکند و با استفاده از موتورهای تصویر خود وردپرس (Imagick و در صورت نبود، GD) به فرمت WebP تبدیلشان میکند.
بدون نیاز به سرویس خارجی. بدون محدودیت ماهانه. هیچ تصویری از سرور شما خارج نمیشود.
توسعه و پشتیبانی توسط Cloner (شایان) — clonerr.ir
✨ امکانات
موتور بهینهسازی
- پردازش خودکار هنگام آپلود — تشخیص ← اعتبارسنجی ← اصلاح جهت ← تغییر اندازه ← فشردهسازی ← تبدیل به WebP ← بهروزرسانی متادیتا
- فرمتهای پشتیبانیشده — JPG، JPEG، PNG، BMP و GIF (فریم اول)
- کیفیت قابل تنظیم WebP (پیشفرض
85) به همراه حالت Lossless (مخصوص Imagick) - تغییر اندازهٔ هوشمند — حداکثر عرض/ارتفاع، حفظ نسبت ابعاد، جلوگیری از بزرگنمایی بیمورد
- حذف متادیتا و EXIF با قابلیت حفظ پروفایل رنگی ICC
- طراحی ایمن — در صورت بروز هر خطایی، فایل اصلی دستنخورده میماند و خطا در لاگ ثبت میشود
یکپارچگی با کتابخانهٔ رسانه
- ستون بهینهسازی شامل حجم اولیه، حجم نهایی، درصد صرفهجویی، وضعیت WebP و تاریخ پردازش
- عملیات سریع روی هر تصویر —
بهینهسازی فوری،بهینهسازی مجدد،بازگرداندن نسخهٔ اصلی - پشتیبانگیری اختیاری از فایل اصلی در مسیر
wp-content/uploads/sio-backups/
پردازش گروهی و گزارشگیری
- صفحهٔ بهینهسازی گروهی زیر منوی رسانه با نوار پیشرفت زنده، زمان تخمینی و دکمههای توقف / ادامه / لغو
- ویجت پیشخوان با آمار کلی میزان صرفهجویی
- لاگ دقیق از شروع/پایان عملیات، فایلهای ردشده و خطاها
ایمنی
- گزینهٔ رد کردن فایلهای حجیم (مگابایت) برای محافظت از حافظهٔ سرورهای اشتراکی
- فایلهای پشتیبان هرگز هنگام حذف افزونه پاک نمیشوند
🌍 رابط کاربری دوزبانه (فارسی / انگلیسی)
تمام صفحات مدیریتی افزونه دوزبانه هستند و یک کلید تعویض زبان در بالای هر صفحه قرار دارد:
| گزینه | عملکرد |
|---|---|
| فارسی | رابط کاملاً فارسی با استایل اختصاصی RTL |
| English | رابط کاملاً انگلیسی (چپبهراست) |
| تبعیت از زبان سایت | از زبان پیشفرض وردپرس پیروی میکند |
❗ این تغییر زبان فقط روی صفحات خود افزونه اثر دارد و بقیهٔ سایت شما دستنخورده میماند.
📋 پیشنیازها
| پیشنیاز | حداقل نسخه |
|---|---|
| وردپرس | 5.6 |
| PHP | 7.4 |
| کتابخانهٔ تصویر | Imagick (توصیهشده) یا GD با پشتیبانی WebP |
| تستشده تا | وردپرس 6.6 |
🚀 نصب
روش ۱ — آپلود فایل ZIP (سادهترین روش)
- آخرین نسخهٔ
smart-image-optimizer.zipرا از بخش Releases دانلود کنید. - در وردپرس به افزونهها ← افزودن افزونه ← بارگذاری افزونه بروید.
- فایل ZIP را انتخاب کنید و هماکنون نصب کن را بزنید.
- روی فعالسازی کلیک کنید.
روش ۲ — دستی (FTP / سیپنل)
- فایل ZIP را دانلود و اکسترکت کنید.
- پوشهٔ
smart-image-optimizerرا در مسیر/wp-content/plugins/آپلود کنید. - افزونه را از بخش افزونهها فعال کنید.
روش ۳ — کلون کردن (مخصوص توسعهدهندگان)
cd wp-content/plugins
git clone https://github.com/Shayan-alinezhad/smart-image-optimizer.git
🎯 راهنمای استفاده
۱. تنظیم افزونه
به بهینهساز تصاویر Cloner ← تنظیمات بروید و کیفیت، حداکثر ابعاد و وضعیت پشتیبانگیری را مشخص کنید.
۲. عکس را معمولی آپلود کنید
هر تصویر جدید به صورت خودکار بهینه میشود. کار دیگری لازم نیست.
۳. تصاویر قدیمی را بهینه کنید
به رسانه ← بهینهسازی گروهی بروید، دکمهٔ شروع را بزنید و نوار پیشرفت را تماشا کنید.
۴. تنظیم دقیق روی یک تصویر خاص
در کتابخانهٔ رسانه، موس را روی هر ردیف نگه دارید و از گزینههای بهینهسازی فوری، بهینهسازی مجدد یا بازگرداندن نسخهٔ اصلی استفاده کنید.
⚙️ تنظیمات
| تنظیم | پیشفرض | توضیح |
|---|---|---|
| کیفیت WebP | 85 |
عددی بین ۱ تا ۱۰۰. بالاتر = کیفیت بهتر، حجم بیشتر |
| حالت Lossless | خاموش |
فقط با Imagick. کیفیت کامل، حجم بالاتر |
| حداکثر عرض | 2560 |
تصاویر عریضتر کوچک میشوند |
| حداکثر ارتفاع | 2560 |
تصاویر بلندتر کوچک میشوند |
| حفظ نسخهٔ اصلی | روشن |
قبل از پردازش، فایل اصلی بکاپ میشود |
| حذف متادیتا | روشن |
اطلاعات EXIF/IPTC پاک میشود |
| حفظ پروفایل ICC | روشن |
دقت رنگ حفظ میشود |
| رد کردن فایلهای حجیم (MB) | 0 |
0 یعنی بدون محدودیت |
| فعالسازی لاگ | روشن |
ثبت تمام عملیات و خطاها |
| زبان رابط کاربری | تبعیت از سایت |
فارسی / English / تبعیت از زبان سایت |
🗂️ ساختار پروژه
smart-image-optimizer/
├── smart-image-optimizer.php # فایل راهانداز افزونه
├── uninstall.php # عملیات پاکسازی هنگام حذف
├── readme.txt # فایل راهنمای WordPress.org
├── includes/
│ ├── class-autoloader.php # بارگذاری خودکار کلاسها
│ ├── class-plugin.php # کلاس اصلی و راهاندازی
│ ├── class-settings.php # مدیریت تنظیمات
│ ├── class-logger.php # موتور لاگ
│ ├── class-stats.php # محاسبهٔ آمار
│ ├── class-i18n.php # ترجمه و کلید تعویض زبان
│ ├── helpers.php # توابع کمکی
│ ├── image/
│ │ ├── class-processor.php # مدیریت زنجیرهٔ پردازش
│ │ └── class-optimizer.php # تغییر اندازه / فشردهسازی / WebP
│ ├── media/
│ │ ├── class-upload-handler.php
│ │ ├── class-columns.php
│ │ └── class-row-actions.php
│ ├── admin/
│ │ ├── class-admin.php
│ │ ├── class-settings-page.php
│ │ ├── class-bulk-page.php
│ │ ├── class-logs-page.php
│ │ ├── class-dashboard-widget.php
│ │ └── class-ajax.php
│ └── setup/
│ ├── class-activator.php
│ └── class-deactivator.php
├── templates/ # قالبهای نمایشی
├── assets/
│ ├── css/ (admin.css, admin-rtl.css)
│ └── js/ (admin.js, bulk.js)
└── languages/ # فایل .pot و ترجمهٔ فارسی
❓ سوالات متداول
آیا حتماً باید Imagick داشته باشم؟خیر. افزونه از تابع
wp_get_image_editor() استفاده میکند که اول سراغ Imagick میرود و در صورت نبود، خودکار از GD استفاده میکند. فقط یکی از این دو باید با پشتیبانی WebP کامپایل شده باشد.
عکسهای اصلی من چه میشوند؟
اگر گزینهٔ حفظ نسخهٔ اصلی روشن باشد، یک کپی در مسیر
wp-content/uploads/sio-backups/ ذخیره میشود و هر زمان از کتابخانهٔ رسانه قابل بازگرداندن است. اگر خاموش باشد، پس از تبدیل موفق به WebP، فایل اصلی حذف میشود.
آیا بکاپها هنگام حذف افزونه پاک میشوند؟
خیر. تنظیمات و متادیتای بهینهسازی حذف میشوند، اما فایلهای پشتیبان عمداً دستنخورده باقی میمانند تا هرگز دادهای از دست ندهید. در صورت تمایل، پوشهٔ
uploads/sio-backups/ را دستی پاک کنید.
چطور زبان افزونه را عوض کنم؟
در گوشهٔ بالای هر صفحهٔ افزونه، سه دکمه وجود دارد: فارسی، English و تبعیت از زبان سایت. همچنین میتوانید از تنظیمات ← عمومی ← زبان رابط کاربری آن را تنظیم کنید. آیا به تصاویر فعلی من آسیب میزند؟
خیر. تمام عملیات داخل مدیریت خطا انجام میشود — اگر مشکلی پیش بیاید، فایل اصلی دستنخورده میماند و خطا در لاگ ثبت میشود.
🤝 مشارکت در توسعه
از مشارکت شما استقبال میکنیم! لطفاً قبل از ارسال Pull Request، فایل CONTRIBUTING.md را مطالعه کنید.
۱. ریپازیتوری را Fork کنید
۲. یک شاخه بسازید — git checkout -b feature/amazing-feature
۳. تغییرات را ثبت کنید — git commit -m 'feat: add amazing feature'
۴. شاخه را ارسال کنید — git push origin feature/amazing-feature
۵. یک Pull Request باز کنید
🔒 امنیت
اگر آسیبپذیری پیدا کردید، لطفاً آن را به صورت عمومی گزارش ندهید. راهنمای گزارش مسئولانه در SECURITY.md آمده است.
📝 تاریخچهٔ تغییرات
فهرست کامل نسخهها در CHANGELOG.md قابل مشاهده است.
📄 مجوز
این پروژه تحت مجوز GNU General Public License v2.0 یا بالاتر منتشر شده است — جزئیات در فایل LICENSE.
👤 توسعهدهنده
Cloner (شایان)
- وبسایت — clonerr.ir
- پشتیبانی — clonerr.ir/support
اگر این افزونه برای شما مفید بود، یک ⭐ به پروژه بدهید
ساختهشده با ❤️ توسط Cloner