آموزش افزونه Query Monitor وردپرس
یکی از افزونههای وردپرس که توسعه دهندگان این CMS آن را خیلی دوست دارند، افزونه Query Monitor است. این افزونه برای عیب یابی کاربرد بسیاری دارد و بدون نیاز به هیچ گونه تنظیم خاصی، به راحتی و بدون دردسر کار خودش را شروع مینماید. افزونه Query Monitor با اجرای هر صفحه از سایت و پیشخوان وردپرس، اطلاعاتی از قبیل کوئریهای پایگاه داده، میزان استفاده از حافظهٔ RAM، قلابها و اکشنها، اسکریپتها و استایلهای در صف قرار داده شده، فراخوانیهای API های HTTP و REST و Ajax و … را به نمایش میگذارد. این اطلاعات به طور خلاصه در نوار افقی بالای صفحات نمایش داده میشود. علاوه بر آن اگر خواسته باشید، به اطلاعات تکمیلی برسید، جعبهٔ چسبان در پایین مرورگر آماده است به شما خدمات لازم را برساند.
WordPress Query Monitor چیست ؟
Query Monitor نام یک افزونه برای وردپرس است که نقش پر رنگی را در مرحلهٔ رفع ایراد توسعه و برنامه نویسی افزونه و قالب و حتی خود وردپرس ایفا مینماید. در کل رویهٔ توسعه را برای شما به عنوان توسعه دهنده بهبود میبخشد.
با فعال و نصب کردن افزونه Query Monitor در نوار بالای پیشخوان و حتی صفحات خارجی سایت، اطلاعاتی به همراه یک نوار کشویی ظاهر میگردد. با بردن اشاره گر روی این اطلاعات، این نوار کشویی هم نمایش داده میشود.
از بین موارد موجود در این فهرست، اگر روی هر کدام از موارد مثلاً Queries کلیک کنید، توضیحات و مشخصات بیشتر راجع به همان بخش در جعبهٔ پایین مرورگر نشان داده میشود.
این افزونه رایگان است و درون مخزن افزونههای وردپرس به راحتی قابل دسترس است. نصب بسیار ساده است و نیازی به پیکربندی خاصی ندارد. به محض فعال شدن، کار خودش را شروع میکند. تصویر زیر صفحهٔ افزونههای وردپرس، در حالی که افزونه Query Monitor فعال است را نشان میدهد.
امکانات WordPress Query Monitor
توضیحات مختصری راجع به تک تک امکانات این افزونه در ادامه آمده است.
خطاهای قالب
افزونه در بخش Queries تمامی کوئریهایی که مربوط به قالب نصب شده میشوند را نمایش میدهد. حتی نام فایل قالبی که مسئول ساخت همان کوئری هست را هم به همراه سلسله مراتب قالب نشان میدهد.
خطاهای PHP
وردپرس با PHP نوشته شده و زمانی که درخواستی از طرف قالب یا افزونه صادر میشود به همین زبان هم هست. اگر خطایی در جایی وجود داشته باشد، قسمتی از برنامه که مسئول ساخت کوئری آن هست نشان داده میشود. البته تمامی کوئریهایی که نشان داده میشوند زیاد جدی نیستند. میتوانند فقط یک هشدار باشند.
فراخوانیهای AJAX
یک سایت وردپرس کلی فراخوانی Ajax دارد که اطلاعات را ارسال و دریافت میکند بدون اینکه صفحهای نیاز به بارگذاری مجدد داشته باشد. Query Monitor حتی این درخواستها را هم به همراه دیگر اطلاعات ایرادیابی نشان میدهد. این موارد به توسعه دهندگان کمک میکند تا هر نوع خطایی را بیابند.
REST API
اگر شما دسترسی لازم به گزارشهای Query Monitor را داشته باشید، میتوانید اطلاعات نمایش داده شده داخل header یک درخواست از REST API وردپرس را ببینید. در حال حاضر افزونه فقط از خطاهای PHP و میزان استفاده از حافظه پشتیبانی میکند.
تعیین هویت یا Authentication
به صورت پیش فرض تنها مدیر سایت تک کاربرهٔ وردپرس و مدیر اصلی وردپرس شبکه قادر به دیدن گزارشها درون Query Monitor هستند. البته شما میتوانید کوکیهای تعیین هویت را طوری پیکربندی کنید تا به شما اجازهٔ دیدن گزارشها حتی زمانی که به عنوان یک کاربر معمولی وردپرس وارد شدید هم بدهد.
حریم خصوصی
افزونه Query Monitor نه دادهای را جمعآوری میکند و نه این دادهها را به جایی ارسال میکند.
قابلیت افزایش امکانات با افزونههای ثالث
برای Query Monitor ابزارکهای جانبی (add-ons) هم وجود دارد که با نصب آنها به امکانات این افزونه اضافه خواهد شد. برای مشاهدهٔ آنها کافی است به این صفحه از سایت گیتهاب مراجعه نمایید.
چرا Query Monitor برای توسعه دهندگان مفید است؟
با این افزونه توسعه دهندگان میتوانند یک دریچهای برای یافتن خطاها و بهبود برنامهٔ خود داشته باشند. علاوه بر آن اگر افزونه یا دیگر اجزای وردپرس در حال استفاده از منابع بیشتری از حد عادی باشند، توسعه دهنده متوجه آن میشود.
مدیران سایت های که قصد بهینه سازی سایت خود را دارند، با این افزونه قادرند با رصد میزان استفاده از منابع و همچنین خطاهایی که ممکن است بر اثر تداخل پیش بیایند را پیدا کننده و سرعت و امنیت و کیفیت سایت خود را بالا ببرند. مثلا با دیدن میزان زمانی که برای باز شدن هر صفحه از سایت صرف میشود و کوئریهایی که با باز شدن هر صفحه اجرا میگردند، خیلی راحت میتوان از درخواستهای اضافی جلوگیری کرد و سرعت آن صفحهٔ خاص را بالا برد.
البته این افزونه خود از توابع وردپرس برای کشف این اطلاعات استفاده میکند. این توابع عبارتند از ؛ get_num_queries و timer_stop.
چطور از Query Monitor استفاده کنیم؟
زمانی که Query Monitor را نصب و فعال کردید، با رفتن به صفحهٔ افزونههای نصب شده از پیشخوان وردپرس و کلیک روی دستور Settings از مجموعه پیوندهای زیر نام افزونه، بخش تنظیمات آن باز شده و باید روی دکمهٔ Set authentication cookie کلیک کنید تا یک کوکی تعیین هویت روی مرورگر رایانهٔ شما ساخته شود و اطلاعات بیشتری برای شما نشان داده شود
زمانی که با کلیک روی یکی از موارد فهرست کشویی بالای صفحه کلیک می کنید، جعبهای با سربرگهای زیاد در طرف چپ آن در پایین مرورگر ظاهر میشود.
در سربرگ اول که Overview است، اطلاعات مهم و کلی راجع به همین صفحه را دارا است. مثلاً از اینجا میتوان فهمید که برای تولید همین صفحه چه میزان زمان و چقدر حافظه صرف شده است. همچنین تعداد کل کوئریهایی که به پایگاه داده ارسال شده چقدر بوده و نوعشان چه بوده است.
توضیحات دیگر سربرگها به قرار زیراند:
- Queries : از دو زیر مجموعه تشکیل شده و تمامی کوئریهای دیتابیس را به تفکیک نشان میدهد. هر زمان بازدیدکنندهای درخواستی برای نمایش محتوا ارسال میکند یا اطلاعاتی به سمت سایت میفرستد، در اصل یک کوئری پایگاه داده ایجاد میگردد.
- Request : این بخش متغیر کوئری درون یک درخواست را برای کاربر جاری نمایش میدهد.
- Admin Screen : این سربرگ حاوی فعالیتهایی است که در بخش پیشخوان وردپرس رخ دادهاند.
- Scripts : هر آنچه سند js یا جاوا اسکریپت در صفحه فراخوانی شده باشند، در این سربرگ نشان داده می شود.
- Styles : در این سربرگ تمامی اسناد استایل یا CSS مربوط به همین صفحه فهرست شدند. اگر استایلی بنا به دلایلی درون صفحه بارگیری نشود، خطای آن در این سربرگ نشان داده میگردد.
- Hooks and Actions : در وردپرس با اجرای هر عمل ممکن است قلاب یا قلابهایی هم اجرا گردند. این اجزاء نقشهای اساسی را در وردپرس بازی میکنند. با کمک Query Monitor به راحتی میتوان هر نوع خطایی که مرتبط با اجرای قلاب و اکشن است را بررسی کرد.
- Languages : در رابطه با سایتهای چندزبانه، این سربرگ اسناد ناموجود و با خط مواجه شده را فهرست میکند. علاوه بر آن تنظیمات زبان را هم نمایش میدهد.
- HTTP API Calls : این سربرگ تمامی کوئریهای سمت سرور را به همراه کد پاسخ آنها، گزارش زمان اتمام و درخواستهای رد شده را نمایش میدهد.
- Transient Updates : وردپرس قادر است پاسخ API را به صورت کش شده در پایگاه دادهاش ذخیره کند. به اینها transient گفته میشود که در این سربرگ به همراه اندازه آنها نشان داده میشوند.
- Capability Checks : اطلاعات این سربرگ به صورت پیش فرض غیرفعال است. برای فعال کردن آن باید سند پیکربندی وردپرس را ویرایش کنید. این بخش از افزونه قابلیتها و توانمندیهای کاربر روی صفحه را بررسی میکند و پارامترهایی را به همراه نتیجه نمایش میدهد.
- Environment : اطلاعات جامعی راجع به محیط نصبی وردپرس را گردآوری کرده است. به ۴ بخش کلی PHP و Database و WordPress و Server تقسیم شده است. مثلا نوع و نسخهٔ تمامی این اجزاء در این سربرگ ذکر شده.
- Conditionals : تمامی توابع شرطی و وضعیت هر کدام در صفحهٔ جاری را نشان میدهد.
همانطور که شاهدش بودید، با استفاده از افزونهٔ WordPress Query Monitor میتوانستیم به اطلاعاتی دست پیدا کنیم که برای مقاصد رفع ایراد و بهبود کیفیت سایت حائز اهمیت بود. افزونه به راحتی با نوار مدیریت وردپرس سازگار شده است و با چند کلیک ساده اطلاعات مد نظر را نشان میداد. با توجه به این توضیحات، Query Monitor خیلی جالب باید باشد! نظر شما چیست؟