آموزش استفاده از WP CLI برای مدیریت وردپرس
- مقالات آموزشی
- بروزرسانی شده در
بسیاری از مدیران سایتهای وردپرسی، مدیریت سایت را فقط در محیط گرافیکی «پیشخوان» خلاصه میبینند. اما تصور کنید ابزاری در اختیار دارید که به شما اجازه میدهد بدون باز کردن مرورگر و درگیر شدن با لود شدن صفحات سنگین، مستقیماً با قلب تپنده سایتتان صحبت کنید. WP-CLI یا همان واسط خط فرمان وردپرس، دقیقاً همین نقش را ایفا میکند. این ابزار به شما قدرت میدهد تا کارهایی که در حالت عادی ۱۰ تا ۲۰ دقیقه زمان میبرند (مثل بهروزرسانی دهها افزونه یا اصلاح لینکها در دیتابیس) را تنها با تایپ چند کلمه در کمتر از چند ثانیه به سرانجام برسانید.
آنچه در این مقاله میخوانید
آموزش استفاده از WP CLI (مقدمه و پیشنیازها)
در این مقاله، ما قرار است از سطح مبتدی شروع کنیم و گامبهگام به سمت حرفهای شدن حرکت کنیم. هدف ما این است که شما یاد بگیرید چطور با استفاده از دستورات خط فرمان، مدیریت سایت خود را خودکار کنید، سرعت عملتان را چند برابر کنید و در مواقع بحرانی (مثل زمانی که دسترسی به پیشخوان به دلیل تداخل افزونهها قطع شده است)، سایتتان را در کوتاهترین زمان ممکن نجات دهید. پس اگر آمادهاید که از یک کاربر معمولی به یک مدیر سیستم وردپرسی تبدیل شوید، در این مسیر با ما همراه باشید.
به دسترسی سرور نیاز دارید! (بررسی دسترسی SSH)
اولین و حیاتیترین قدم برای ورود به دنیای WP-CLI، داشتن کلید ورود به سرور یا همان دسترسی SSH (Secure Shell) است. برخلاف افزونههای معمولی که از داخل خود وردپرس نصب میشوند، WP-CLI یک نرمافزار سیستمی است که باید روی سیستمعامل سرور شما بنشیند. بنابراین، اگر از هاستهای اشتراکی بسیار ارزان یا محدود استفاده میکنید که اجازه دسترسی به ترمینال را به شما نمیدهند، عملاً نمیتوانید از این ابزار استفاده کنید. قبل از هر اقدامی، باید مطمئن شوید که هاستینگ شما دسترسی SSH را برای پلن شما فعال کرده است.
پس از اطمینان از دسترسی، شما به یک نرمافزار واسط مانند PuTTY (برای ویندوز) یا ترمینال پیشفرض (در مک و لینوکس) نیاز دارید تا به سرور متصل شوید. به خاطر داشته باشید که WP-CLI مستقیماً با فایلهای هسته وردپرس و جداول دیتابیس در سطح سیستمعامل درگیر میشود. به همین دلیل، امنیت در اینجا حرف اول را میزند؛ شما باید از نام کاربری و رمز عبوری استفاده کنید که اجازه تغییر فایلها را داشته باشد، اما پیشنهاد میشود تا حد امکان از کاربر root برای اجرای دستورات عمومی وردپرس استفاده نکنید تا امنیت دیتابیس و فایلهای حساس به خطر نیفتد.
پیشنیازهای حیاتی: سرور شما باید چه ویژگیهایی داشته باشد؟
قبل از اینکه آستینها را بالا بزنید و به سراغ نصب بروید، باید مطمئن شوید که محیط سرور شما با استانداردهای این ابزار سازگاری دارد. WP-CLI برای اجرا شدن به حداقلهایی نیاز دارد که اگر رعایت نشوند، با خطاهای عجیبی روبرو خواهید شد. اول از همه، سیستمعامل سرور شما باید از خانواده یونیکس (Unix-like) باشد؛ توزیعهای مختلف لینوکس مثل Ubuntu، CentOS یا Debian و حتی سیستمعامل macOS بهترین میزبانها برای این ابزار هستند. البته نصب آن روی ویندوز هم با استفاده از ابزارهایی مثل WSL امکانپذیر است، اما اگر به دنبال پایداری و عملکرد بینقص هستید، محیط لینوکسی حرف اول را میزند.
از نظر فنی، شما به نسخه PHP ۵.۶ یا بالاتر نیاز دارید، هرچند که اکیداً توصیه میکنم برای امنیت و سرعت بهتر، از نسخههای بهروز مثل PHP 8.1 یا 8.2 استفاده کنید. همچنین نسخه وردپرس سایت شما نباید قدیمیتر از ۳.۷ باشد. نکتهای که اکثر کاربران از آن غافل میشوند، میزان حافظه محدود شده برای PHP در خط فرمان (CLI memory limit) است؛ گاهی اوقات این مقدار با حافظهای که برای وبسرور تنظیم شده متفاوت است و اگر دستورات سنگینی مثل پردازش تصاویر را اجرا کنید، ممکن است با خطای کمبود حافظه مواجه شوید. پس قبل از شروع، از مدیر سرور بخواهید محدودیتهای اجرایی در محیط CLI را بررسی کند.
چرا خط فرمان؟ مقایسه سرعت مدیریت وردپرس در پیشخوان در مقابل WP-CLI
شاید از خودتان بپرسید: «وقتی پیشخوان وردپرس با محیطی زیبا در دسترس است، چرا باید خودم را با کدهای سیاه و سفید ترمینال درگیر کنم؟». پاسخ در دو کلمه خلاصه میشود: سرعت و بهرهوری. وقتی شما از طریق مرورگر افزونهای را آپدیت میکنید، درخواست شما باید از لایههای مختلف وبسرور (مثل Apache یا Nginx) عبور کند، کدهای جاوااسکریپت سنگین لود شوند و در نهایت پس از کلی انتظار، نتیجه را ببینید. اما در WP-CLI، شما مستقیماً با مفسر PHP صحبت میکنید. این یعنی حذف تمام بارهای اضافی گرافیکی که باعث میشود عملیاتی مثل بهروزرسانی هسته وردپرس، به جای ۲ دقیقه، در کمتر از ۵ ثانیه انجام شود.
علاوه بر سرعت، موضوع «پایداری عملیات» مطرح است. حتماً برایتان پیش آمده که هنگام آپدیت یک افزونه سنگین یا در حین خروجی گرفتن از دیتابیس در محیط پیشخوان، با خطای Timeout یا بسته شدن ناگهانی مرورگر مواجه شوید و سایتتان در حالت «تعمیرات» گیر کند. در خط فرمان، این اتفاق تقریباً غیرممکن است؛ چرا که پردازشها در سطح سیستمعامل مدیریت میشوند و حتی اگر ارتباط اینترنت شما برای لحظهای قطع شود، فرآیند روی سرور تا پایان به کار خود ادامه میدهد. این ابزار به شما اجازه میدهد مدیریت سایت را از حالت یک فعالیت تفننی و کند، به یک فرآیند حرفهای و صنعتی تبدیل کنید.
آموزش نصب WP CLI بر روی انواع سرور
نصب WP-CLI برخلاف بسیاری از نرمافزارهای پیچیده، فرآیند بسیار ساده و سرراستی دارد. در واقع شما با دانلود یک فایل اجرایی کوچک با پسوند .phar (مخفف PHP Archive)، تمام قدرت این ابزار را به سرور خود اضافه میکنید. بسته به اینکه سرور شما چطور مدیریت میشود و چه ابزارهایی روی آن نصب است، دو روش اصلی برای این کار وجود دارد. روش اول استفاده از Composer است که بیشتر برای توسعهدهندگان حرفهای کاربرد دارد و روش دوم استفاده از دستور curl است که روش عمومی و پیشنهادی برای اکثر کاربران محسوب میشود. در ادامه هر دو روش را قدمبهقدم بررسی میکنیم.
روش اول: نصب WP-CLI با استفاده از Composer
اگر شما یک توسعهدهنده هستید که پروژههای خود را با مدیریت پکیج Composer پیش میبرید، این روش برای شما ایدهآل است. کامپوزر به شما اجازه میدهد تا WP-CLI را به عنوان یک وابستگی (Dependency) در سطح کل سیستم یا فقط برای یک پروژه خاص مدیریت کنید. با این کار، بهروزرسانی ابزار هم همزمان با سایر پکیجهای شما انجام میشود. با این حال، باید توجه داشته باشید که در این روش، مدیریت مسیرهای اجرایی (Path) کمی حساستر است و باید مطمئن شوید که پوشه vendor/bin در مسیرهای شناختهشده سیستمعامل شما قرار دارد.
برای شروع، ابتدا باید مطمئن شوید که Composer روی سرور شما نصب است. اگر نصب نیست، ابتدا دستورالعملهای سایت رسمی آن را دنبال کنید. پس از اطمینان از نصب بودن آن، ترمینال را باز کرده و دستور زیر را اجرا کنید:
composer require wp-cli/wp-cli
این دستور، آخرین نسخه پایدار ابزار را دانلود و در پوشه پروژه شما قرار میدهد. اگر میخواهید آن را به صورت سراسری نصب کنید تا در همه جای سرور در دسترس باشد، از دستور global استفاده کنید. مزیت این روش این است که تمام کتابخانههای مورد نیاز به صورت خودکار مدیریت میشوند و احتمال تداخل نسخهها به حداقل میرسد.
روش دوم: نصب با استفاده از دستور curl (روش مستقیم و رایج)
این روش، روشی است که اکثر مدیران سرور و کاربران وردپرس از آن استفاده میکنند؛ چرا که بسیار سریع است و نیاز به هیچ پیشنیاز اضافهای جز خودِ PHP ندارد. در این روش ما فایل اجرایی را مستقیماً از مخزن گیتهاب WP-CLI دریافت میکنیم و آن را به یک فرمان سیستمی تبدیل میکنیم. این کار باعث میشود که شما در هر پوشهای از سرور که باشید، فقط با تایپ کلمه wp بتوانید دستورات خود را اجرا کنید.
برای نصب به این روش، این سه مرحله را با دقت انجام دهید:
- دانلود فایل اصلی: ابتدا با دستور زیر فایل اجرایی را دانلود کنید:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
- تغییر دسترسی (Permission): فایل دانلود شده در ابتدا اجازه اجرا شدن ندارد. با دستور زیر، آن را به یک فایل اجرایی تبدیل میکنیم:
chmod +x wp-cli.phar
- انتقال به مسیر سیستم: برای اینکه مجبور نباشید هر بار آدرس کامل فایل را تایپ کنید، آن را به پوشه برنامههای سیستم منتقل کرده و نامش را به wp تغییر میدهیم:
sudo mv wp-cli.phar /usr/local/bin/wp
حالا برای تست موفقیتآمیز بودن نصب، کافی است دستور wp –info را تایپ کنید. اگر مشخصات نسخه و PHP را مشاهده کردید، تبریک میگویم؛ شما حالا یک جادوگر خط فرمان هستید!
شروع کار و مدیریت اجزای اصلی سایت
حالا که WP-CLI با موفقیت نصب شده، وقت آن است که دستبهکار شوید. مدیریت اجزای اصلی وردپرس یعنی افزونهها، قالبها و هسته اصلی، بیشترین وقت یک مدیر سایت را میگیرد. در محیط پیشخوان، شما مدام باید بین صفحات جابهجا شوید، اما در اینجا همهچیز متمرکز است. نکتهای که باید به خاطر داشته باشید این است که تمام دستورات WP-CLI با کلمه کلیدی wp شروع میشوند. این ابزار به قدری هوشمند است که اگر دستوری را اشتباه تایپ کنید یا ناقص بنویسید، خودش به شما پیشنهاد میدهد که منظورتان چه بوده است.
در ادامه یاد میگیرید که چطور لیستهای طولانی از افزونهها را در یک چشم به هم زدن مدیریت کنید. یکی از مزایای بزرگ استفاده از خط فرمان در این بخش، امکان “اجرای دستهجمعی” است. یعنی شما میتوانید به جای یکییکی آپدیت کردن، دستور بدهید که تمام افزونههای غیرفعال حذف شوند یا تمام افزونههای موجود بهروزرسانی شوند؛ آن هم بدون اینکه نگران محدودیتهای زمانی (Execution Time) در مرورگر باشید.
آموزش استفاده از دستورات پایه WP CLI برای شروع کار
قبل از اینکه به سراغ کارهای پیچیده برویم، باید یاد بگیرید که چطور با این ابزار صحبت کنید. ساختار تمام دستورات در WP-CLI از یک الگوی مشخص پیروی میکند: wp <command> <subcommand> [options]. بخش اول یعنی wp فراخوانی ابزار است، بخش دوم (command) مشخص میکند که با کدام قسمت وردپرس کار دارید (مثلاً پستها، دیتابیس یا کاربران) و بخش سوم (subcommand) عملیات مورد نظر شما را تعیین میکند (مثل حذف، اضافه یا لیست کردن). درک این ساختار باعث میشود حتی اگر دستوری را بلد نباشید، بتوانید با حدس زدن و استفاده از راهنمای خودِ ابزار، آن را پیدا کنید.
یکی از بهترین و کاربردیترین دستورات برای شروع، دستور wp help است. اگر پشت نام هر دستوری کلمه help را بیاورید، یک دفترچه راهنمای کامل شامل تمام پارامترها و مثالهای عملی برای شما باز میشود. برای مثال اگر میخواهید بدانید با بخش نوشتهها چه کارهایی میتوانید انجام دهید، کافی است تایپ کنید wp help post. این ویژگی باعث میشود که شما نیازی به حفظ کردن صدها دستور نداشته باشید و هر جا که گیر کردید، خودِ ترمینال مثل یک معلم دلسوز شما را راهنمایی کند.
یک دستور پایه و بسیار مهم دیگر که همیشه باید در ابتدای کار از آن استفاده کنید، wp –info است. این دستور به شما میگوید که آیا WP-CLI به درستی به فایلهای وردپرس شما متصل شده است یا خیر. همچنین مسیر فایل php.ini و نسخهی فعال PHP را به شما نشان میدهد. نکته طلایی برای شروع کار این است: همیشه قبل از اجرای دستورات روی سایت اصلی، با دستوراتی مثل wp post list یا wp user list تمرین کنید تا فقط اطلاعات را مشاهده کنید و با محیط آشنا شوید. وقتی ترس شما از محیط سیاه ترمینال ریخت، آن وقت میتوانید به سراغ دستوراتی بروید که تغییرات واقعی در سایت ایجاد میکنند.
مدیریت افزونهها مثل یک حرفهای: نصب، فعالسازی و بهروزرسانی دستهجمعی
افزونهها قلب تپنده وردپرس هستند، اما مدیریت آنها گاهی کلافهکننده است. با WP-CLI، نصب یک افزونه جدید فقط به اندازه تایپ نام آن زمان میبرد. نیازی نیست به مخزن وردپرس بروید یا فایل ZIP آپلود کنید. برای مثال، اگر بخواهید افزونه محبوب Yoast SEO را نصب و بلافاصله فعال کنید، کافی است دستور زیر را بزنید:
wp plugin install wordpress-seo --activate
اما قدرت واقعی در دستور list نهفته است. با اجرای wp plugin list شما یک جدول تمیز و مرتب از تمام افزونهها، وضعیت فعال بودنشان و اینکه آیا نسخه جدیدی برایشان آمده یا نه، مشاهده میکنید. برای بهروزرسانی تمام افزونههای سایت به صورت یکجا، فقط یک خط کافی است:
wp plugin update --all
این دستور مخصوصاً برای سایتهایی که تعداد افزونههای زیادی دارند، معجزه میکند و ریسک بروز خطا در حین آپدیت را به حداقل میرساند.
خداحافظی با پنل مدیریت: مدیریت قالبها تنها با چند کلیک در ترمینال
مدیریت قالبها (Themes) هم دقیقاً به سادگی افزونههاست. گاهی اوقات پیش میآید که پس از فعالسازی یک قالب جدید، سایت با خطا مواجه شده و پیشخوان وردپرس از دسترس خارج میشود (همان صفحه سفید معروف). در این شرایط، WP-CLI نجاتدهنده شماست. شما میتوانید بدون نیاز به پنل مدیریت، لیست قالبها را ببینید و سریعاً قالب پیشفرض وردپرس را فعال کنید تا سایت به حالت عادی برگردد:
wp theme activate twentytwentyfour
همچنین برای تمیز نگه داشتن هاست و افزایش امنیت، بهتر است قالبهای اضافی را حذف کنید. با دستور wp theme delete [theme-name] میتوانید قالبهای بلااستفاده را در چند ثانیه پاک کنید. اگر هم به دنبال نصب یک قالب از مخزن وردپرس هستید، دستور wp theme install [name] کار شما را راه میاندازد. با این روش، شما کنترل کامل بر ظاهر سایت دارید، حتی اگر به مرورگرتان دسترسی نداشته باشید.
بهروزرسانی هسته وردپرس: امنترین روش برای آپدیت نسخه اصلی سایت
بهروز نگه داشتن هسته وردپرس برای امنیت سایت حیاتی است، اما بسیاری از کاربران از ترس خراب شدن سایت، آپدیتها را به تعویق میاندازند. بهروزرسانی از طریق WP-CLI به مراتب امنتر و پایدارتر از دکمه “بهروزرسانی” در پیشخوان است؛ چرا که فایلها مستقیماً در سطح سرور جایگزین میشوند و احتمال ناقص ماندن فرآیند به دلیل قطع اتصال اینترنت یا خطای مرورگر وجود ندارد. برای آپدیت وردپرس به آخرین نسخه پایدار، از دستور زیر استفاده کنید:
wp core update
اگر از نسخههای قدیمی استفاده میکنید و میخواهید فقط آپدیتهای کوچک و امنیتی (Minor) را دریافت کنید تا ریسک تداخل با قالبهای قدیمی کمتر شود، دستور زیر را به کار ببرید:
wp core update –minor
پس از بهروزرسانی فایلها، یادتان باشد که دیتابیس هم ممکن است نیاز به بهروزرسانی داشته باشد که با دستور wp core update-db در کمتر از یک ثانیه انجام میشود. این یعنی یک مدیریت بینقص، سریع و کاملاً حرفهای.
مدیریت پایگاه داده و محتوا به سبک حرفهایها
بسیاری از مدیران سایتها از دستکاری دیتابیس وحشت دارند، چون یک اشتباه کوچک در phpMyAdmin میتواند کل سایت را از دسترس خارج کند. اما WP-CLI مدیریت دیتابیس را به یک کار لذتبخش و ایمن تبدیل کرده است. در این بخش، ما از لایه ظاهری وردپرس عبور میکنیم و مستقیماً به سراغ مغز متفکر سایت میرویم. شما یاد میگیرید که چطور بدون نیاز به ابزارهای جانبی، از دادههایتان محافظت کنید، آنها را پاکسازی کنید و حتی در مواقع اضطراری که دسترسیتان به پنل ادمین قطع شده، قدرت را دوباره در دست بگیرید.
مدیریت کاربران و تغییر رمز عبور فراموش شده در کمتر از ۲۰ ثانیه
یکی از بدترین اتفاقاتی که میتواند برای یک مدیر سایت بیفتد، فراموشی رمز عبور یا هک شدن دسترسی مدیریت است. در حالت عادی باید به سراغ دیتابیس و جدول users بروید و رمز را به صورت MD5 تغییر دهید که فرآیندی زمانبر و حساس است. اما با WP-CLI، شما پادشاه سایت هستید. با دستور زیر میتوانید رمز هر کاربری را در چند ثانیه عوض کنید:
wp user update [username] –user_pass=”new_password_here”
اگر حتی نام کاربری خود را هم فراموش کردهاید، ابتدا با wp user list لیست تمام کاربران را ببینید. حتی اگر هیچ دسترسیای ندارید، میتوانید یک مدیر جدید با ایمیل خودتان بسازید:
wp user create newadmin admin@yoursite.com –role=administrator
این قابلیت در پروژههایی که کارفرما دسترسی را گم کرده است، مثل یک معجزه عمل میکند و شما را یک متخصص واقعی جلوه میدهد.
جادوی جستجو و جایگزینی (Search & Replace): انتقال سایت بدون دردسر دیتابیس
اگر تا به حال سایت وردپرسی را از یک دامنه به دامنه دیگر (مثلاً از localhost به سرور اصلی) منتقل کرده باشید، میدانید که تغییر لینکها چقدر عذابآور است. دیتابیس وردپرس دادهها را به صورت “Serialized” ذخیره میکند و اگر با یک جستجو و جایگزینی ساده در فایل SQL آدرسها را عوض کنید، تنظیمات قالب و ویجتهای شما از کار میافتند. اما دستور search-replace در WP-CLI این مشکل را به طور هوشمندانه حل میکند.
این دستور ابتدا دادهها را از حالت فشرده خارج کرده، جایگزینی را انجام میدهد و دوباره آنها را به صورت استاندارد ذخیره میکند. برای تغییر دامنه سایت، کافی است این دستور را اجرا کنید:
wp search-replace ‘http://old-site.test’ ‘https://new-site.com’
نکته حرفهای: قبل از اجرای نهایی، از پارامتر –dry-run استفاده کنید. این پارامتر به شما میگوید که چه تعداد تغییر در کدام جداول قرار است انجام شود، بدون اینکه واقعاً تغییری ایجاد کند. این کار به شما اطمینان میدهد که همهچیز طبق نقشه پیش میرود.
مدیریت دیتابیس بدون نیاز به phpMyAdmin: از بکآپگیری تا بهینهسازی جداول
چرا باید وقت خود را در محیط کند phpMyAdmin تلف کنید وقتی میتوانید تمام کارهای دیتابیس را در ترمینال انجام دهید؟ گرفتن نسخه پشتیبان (Export) از دیتابیس قبل از هر تغییر بزرگی، اولین قانون حرفهایهاست. با دستور زیر، کل دیتابیس شما در یک فایل SQL ذخیره میشود:
wp db export backup.sql
همچنین اگر بخواهید دیتابیسی را وارد کنید (Import)، کافی است از دستور wp db import file.sql استفاده کنید. علاوه بر این، پس از مدتی کار با سایت، جداول دیتابیس دچار پراکندگی میشوند که سرعت سایت را کاهش میدهد. با اجرای دستور wp db optimize تمام جداول بهینه شده و فضای اضافی آنها آزاد میشود. این دستورات نه تنها سریع هستند، بلکه به دلیل اجرا در سطح سیستم، محدودیتهای حجمی که در آپلود فایل از طریق مرورگر دارید را هم ندارند.
پاکسازی دیتابیس: حذف نسخههای قدیمی نوشتهها (Revisions) و نظرات اسپم
وردپرس به صورت پیشفرض هر تغییری که در نوشتهها ایجاد میکنید را به عنوان یک نسخه (Revision) ذخیره میکند. در سایتهای بزرگ، این کار میتواند هزاران سطر اضافی و بیهوده در دیتابیس ایجاد کند که نتیجهاش کندی سایت است. با WP-CLI میتوانید به راحتی این دادههای اضافی را حذف کنید. برای حذف تمام نسخههای قدیمی نوشتهها، میتوانید از دستورات زیرمجموعه post استفاده کنید.
علاوه بر این، نظرات اسپم یکی دیگر از عوامل سنگینی دیتابیس هستند. به جای اینکه در پیشخوان وردپرس دانهدانه آنها را پاک کنید، با یک دستور ساده تمام نظراتی که در وضعیت اسپم قرار دارند را برای همیشه حذف کنید:
wp comment delete $(wp comment list --status=spam --format=ids)
این کار باعث سبک شدن دیتابیس و بهبود کوئریهای SQL در سایت شما میشود، بدون اینکه نیازی به نصب افزونههای پاکسازی (که خودشان سایت را سنگین میکنند) داشته باشید.
ابزارهای پیشرفته برای توسعهدهندگان
در دنیای حرفهای توسعه وردپرس، زمان ارزشمندترین دارایی است. بخش ابزارهای پیشرفته WP-CLI به شما اجازه میدهد از کارهای تکراری و خستهکننده فاصله بگیرید. فرقی نمیکند بخواهید یک سایت را برای تست زیر فشار محتوای زیاد قرار دهید یا بخواهید فایلهای پیکربندی اصلی سایت را بدون باز کردن ویرایشگر متن تغییر دهید؛ این ابزارها برای سادهسازی پیچیدگیها طراحی شدهاند. در ادامه، با قدرت اتوماسیون در وردپرس بیشتر آشنا میشویم.
تنظیمات پیکربندی (wp-config.php) را از داخل ترمینال مدیریت کنید
فایل wp-config.php حساسترین فایل وردپرس است. یک اشتباه کوچک در سینتکس این فایل میتواند کل سایت را با خطای بحرانی مواجه کند. با استفاده از دستورات wp config شما میتوانید بدون باز کردن مستقیم فایل و با کمترین ریسک، تنظیمات آن را تغییر دهید. این روش بسیار امنتر است چون WP-CLI قبل از اعمال تغییرات، ساختار دستور شما را بررسی میکند.
برای مثال، اگر در حال عیبیابی سایت هستید و نیاز دارید حالت دیباگ را فعال کنید، به جای ویرایش دستی فایل، کافی است دستور زیر را بزنید:
wp config set WP_DEBUG true --raw
همچنین میتوانید مقدار ثابتهای دیتابیس یا هر تنظیم سفارشی دیگری را بهروزرسانی کنید. این قابلیت برای زمانی که میخواهید اسکریپتهای نصب خودکار بنویسید، فوقالعاده کاربردی است و فرآیند پیکربندی اولیه سایت را به کلی دگرگون میکند.
تولید محتوای تست (Dummy Content) با دستور wp generate
یکی از چالشهای طراحان قالب و توسعهدهندگان افزونه، تست کردن عملکرد سایت در شرایطی است که محتوای زیادی دارد. ساختن دستی دهها نوشته، برگه یا کاربر، ساعتها وقت میگیرد. دستور wp generate این کار را در چند ثانیه برای شما انجام میدهد. این دستور میتواند برای شما پست، کاربر، منو و حتی ترمهای دستهبندی تستی بسازد.
مثلاً اگر میخواهید چیدمان صفحه اصلی سایت را با ۵۰ نوشته مختلف تست کنید، از این دستور استفاده کنید:
wp post generate --count=50
شما حتی میتوانید مشخص کنید که این نوشتهها توسط کدام کاربر ساخته شوند یا عنوان آنها چه الگویی داشته باشد. با این ابزار، شما در سریعترین زمان ممکن یک “دموی واقعی” از سایت خواهید داشت تا باگهای احتمالی در نمایش محتوا یا صفحهبندی (Pagination) را پیدا کنید.
معرفی دستورات کاربردی و مخفی (مثل بازسازی ابعاد تصاویر)
در WP-CLI دستوراتی وجود دارد که شاید در نگاه اول به چشم نیابند اما در مواقع خاص، نجاتدهنده هستند. یکی از معروفترین آنها دستور بازسازی تصاویر بندانگشتی (Regenerate Thumbnails) است. اگر قالب سایت را عوض کنید و ابعاد تصاویر بهم بریزد، به جای نصب افزونههای سنگین، کافی است از این دستور استفاده کنید:
wp media regenerate --yes
این دستور تمام تصاویر کتابخانه چندرسانهای را بر اساس ابعاد جدید قالب، دوباره برش میزند. همچنین دستوراتی مثل wp cron event list برای مشاهده زمانبندی کارهای خودکار وردپرس یا wp cache flush برای خالی کردن آنی حافظه کش سرور، از دیگر ابزارهای “دمِدستی” اما قدرتمندی هستند که هر مدیر سایت حرفهای باید در جعبهابزار خود داشته باشد.
استفاده از WP-CLI در اسکریپتهای اتوماسیون (Bash Scripting)
قدرت واقعی زمانی نمایان میشود که شما چندین دستور WP-CLI را در قالب یک Bash Script ترکیب کنید. تصور کنید ۱۰ سایت وردپرسی دارید و میخواهید هر هفته همهی آنها را آپدیت کنید، از دیتابیسشان بکآپ بگیرید و کش آنها را پاک کنید. به جای اینکه این کارها را تکتک انجام دهید، یک فایل اسکریپت میسازید که تمام این دستورات را به ترتیب اجرا میکند.
این کار نه تنها خطای انسانی را به صفر میرساند، بلکه به شما اجازه میدهد مدیریت انبوه سایتها (Bulk Management) را به راحتی انجام دهید. با استفاده از حلقهها در لینوکس، میتوانید WP-CLI را مجبور کنید که در تمام پوشههای هاست شما بگردد و هر جا که وردپرسی پیدا کرد، آن را بهروزرسانی کند. این همان سطحی از حرفهایگری است که یک ادمین معمولی را از یک مهندس DevOps وردپرس متمایز میکند.
عیبیابی و امنیت در محیط خط فرمان
کار با وردپرس همیشه بدون دردسر نیست. گاهی یک آپدیت ناسازگار یا یک کد مخرب میتواند دسترسی شما را به کل پیشخوان قطع کند. در چنین شرایطی، اکثر وبمسترها به فکر بازگرداندن بکآپ میافتند، اما یک حرفهای از WP-CLI برای جراحی و رفع مشکل استفاده میکند. علاوه بر عیبیابی، مدیریت سایت از طریق خط فرمان ملاحظات امنیتی خاص خود را دارد که نادیده گرفتن آنها میتواند کل سرور را به خطر بیندازد. در این بخش یاد میگیرید چطور در مواقع بحرانی، سایت را دوباره زنده کنید.
رفع خطاهای رایج هنگام کار با WP-CLI (Troubleshooting)
یکی از رایجترین کابوسهای وردپرسی، «صفحه سفید مرگ» یا همان خطای ۵۰۰ است که معمولاً به دلیل تداخل افزونهها رخ میدهد. وقتی به پیشخوان دسترسی ندارید، WP-CLI بهترین ابزار برای عیبیابی است. شما میتوانید با یک دستور، تمام افزونهها را غیرفعال کنید تا ببینید آیا سایت بالا میآید یا خیر:
wp plugin deactivate --all
اگر مشکل حل شد، افزونهها را یکییکی فعال کنید تا مقصر اصلی پیدا شود. همچنین اگر دستورات WP-CLI با خطای کمبود حافظه (Memory Limit) مواجه شدند، احتمالاً تنظیمات PHP در محیط CLI با محیط وب متفاوت است. در این مواقع، بررسی فایل php.ini مخصوص نسخه CLI ضروری است. یک خطای رایج دیگر، پیام Error establishing a database connection است؛ با دستور wp db check میتوانید سلامت جداول و صحت اطلاعات اتصال در wp-config.php را بدون واسطه بررسی کنید.
امنیت در WP-CLI: چطور از دسترسی غیرمجاز جلوگیری کنیم؟
قدرت زیاد، مسئولیت زیادی هم به همراه دارد. از آنجایی که WP-CLI دسترسی مستقیم به دیتابیس و فایلهای سیستمی دارد، باید به شدت مراقب دسترسی به SSH باشید. اولین نکته امنیتی این است: هرگز WP-CLI را با کاربر Root اجرا نکنید. اگر مجبور به این کار هستید، حتماً از پارامتر –allow-root استفاده کنید، اما راهکار بهتر این است که دستورات را با همان کاربری اجرا کنید که مالک فایلهای سایت (مثل www-data) است.
همچنین، پس از اتمام کار با دستوراتی که فایلهای حساس ایجاد میکنند (مثل wp db export)، بلافاصله فایلهای SQL تولید شده را از روی هاست پاک کنید یا آنها را به پوشهای خارج از دسترس عمومی (Public_html) منتقل کنید. باقی ماندن یک بکآپ کامل از دیتابیس در روت سایت، مثل گذاشتن کلید خانه پشت در است! همیشه از رمزهای عبور پیچیده برای SSH استفاده کنید و در صورت امکان، ورود به SSH را فقط به IPهای خاص محدود کنید تا امنیت محیط مدیریت خط فرمان شما تضمین شود.
جمعبندی
به پایان این سفر پرماجرا در دنیای خط فرمان وردپرس رسیدیم. همانطور که با هم مرور کردیم، WP-CLI صرفاً یک ابزار جانبی نیست، بلکه یک استاندارد جدید برای مدیریت هوشمندانه و حرفهای سایتهای وردپرسی است. از نصب و بهروزرسانیهای سریع گرفته تا جراحی دیتابیس و رفع خطاهای بحرانی، همگی نشاندهنده این هستند که تسلط بر این ابزار، شما را چندین پله از سایر مدیران سایت بالاتر قرار میدهد. شما حالا میتوانید کارهای پیچیده را خودکار کنید و زمان بیشتری را برای توسعه کسبوکارتان ذخیره کنید.
فراموش نکنید که یادگیری WP-CLI مثل یادگیری یک زبان جدید است؛ هر چه بیشتر تمرین کنید و دستورات مختلف را در پروژههای واقعی به کار ببرید، تسلط شما بیشتر خواهد شد. این آموزش نقطه شروع شما بود؛ حالا نوبت شماست که ترمینال را باز کنید و از سرعت و قدرتی که در دستانتان است لذت ببرید. اگر در هر مرحله از کار با دستورات به مشکل خوردید یا سوالی داشتید، مستندات رسمی WP-CLI و انجمنهای تخصصی همیشه بهترین همراه شما خواهند بود. شاد و سربلند باشید. 🙂