نحوه بررسی سلامت سایت وردپرس و انواع خطاها
ابزار بررسی سلامت سایت وردپرس به شما این امکان را خواهد داد تا از مشکلاتی که در هسته وردپرس، افزونهها، پوستههای سایت، سرور و پایگاه داده وجود دارد را شناسایی کنید. این ابزار از دو جهت به شما کمک می کند که سایت خود را به صورت لحظهای و مرتب از نظر امنیتی و کارایی مورد پایش قرار دهید.
اگر مشکلی در امنیت سایت وجود داشته باشد، راهکارها و تستهایی به شما نمایش داده میشود که به شما توصیه خواهد شدن با عمل کردن به آنها مواردی که میتواند امنیت سایت را کاهش دهد را رفع کنید. در بخش کارایی نیز توصیههایی به شما خواهد شد که با استفاده از پیش نیازهای پایهای که وردپرس نیاز دارد، سایت شما عملکرد بهتر و بهینهتری داشته باشد.
چرا باید به سلامت سایت از هر نظر اهمیت دارد؟
سلامت سایت وردپرس یکی از مهمترین مسائلی است که حتی قبل از راهاندازی سایت باید به آن توجه داشته باشید. اینکه میگویم قبل از ساخت سایت از ابعاد مختفی مورد اهمیت است که چندتای آنها را با هم مرور میکنیم.
افزونههای وردپرس
وردپرس دارای افزونههای متعددی است که به صورت رایگان و پولی در دسترس هستند. هر یک از این افزونهها توسط گروه یا افرادی با دانش مختلف کدنویسی شده است. حال میتواند این افزونه با چرخاندن قاشق دور سر نوشته شده باشد یا اینکه توسط یکی از به قول خودمان خفنترین توسعه دهندگان وردپرس.
بلای جان اکثر سایتهای وردپرسی هم که استفاده غیر استاندارد از همین افزونههاست. به عنوان نمونه ما به دنبال یک راهکار درست برای ریدایرکت لینکها و بررسی پیوندهای سایت هستیم، برای همین ممکن است یک افزونه به نام redirection را نصب کنیم. در حالی که هر دو این ویژگی را افزونههای یوست سئو و رنک مث که در هر سایتی فعال هستند وجود دارد.
بنابراین قبل از اینکه سایت خود را ایجاد کنید، باید ببینید که دقیقا به دنبال چه امکاناتی هستید و از افزونه مناسب برای این کار استفاده کنید. برای اینکه هم تعداد افزونههای سایت را به حداقل برسانید و هم برای یک کار ساده افزونهای که دهها قابلیت دارد که شما فقط به یک قابلیت آن نیاز دارید نصب نکنید.
میزبانی وب
مسئله بعدی در مورد وضعیت سلامت وردپرس بحث میزبانی یا همان هاستینگ است. همانطور که میدانید وردپرس بر پایه زبان برنامه نویسی php و پایگاه داده sql طراحی شده است. بنابراین هر چه پیش نیازهای این زبان و پایگاه داده در بهروزترین و مناسبترین حالت باشند، میتوانیم انتظار سایتی با کارکرد بهتر، سریعتر و ایمنتر داشته باشیم که نهایتا میتوانیم بگوییم«حال سایت ما خوب است».
مثلا همین php در طول این یک دهه فعالیتی که من در زمینه وردپرس داشتم، چند نسخه کلی تغییرات به خود گرفته است. از زمانی که به یاد دارم نسخه ۵، ۷ و ۸ که با چندین بهروزرسانی آمدند، علاوه بر امنیت روی سرعت تاکید داشتند. پس مهم است که به منظور بالا بردن امتیاز سلامت سایت وردپرس و بهینه کردن آن به نسخه جدید و استاندارد این زبان بر روی سرور دسترسی داشت.
وضعیت پوسته وردپرس
مشابه حالتی که در افزونهها دیدیم، این وضعیت برای پوستهها یا همان قالب وردپرس هم وجود دارد. اجازه دهید این مورد را با یک قالب اختصاصی که تجربه داشتم مثال بزنم.
فکرش را بکنید که چیزی در حدود ۲۰ میلیون تومان برای یک قالب اختصاصی وردپرس هزینه کردید، کارکرد در ظاهر مناسب است و همه چیز رو به روال پیش میرود. اما به بطن کار که نگاه میکنید، کلی خطا و مشکلات امنیتی وجود دارد.
یک فرم سادهای که مسئولیت دریافت یک سری اطلاعات پویا را دارد و با کدنویسی پیاده سازی شده است، به صورت مستقیم در دسترس همگان قرار دارد که میتوانند با همین فرم و از طریق تزریق دیتا در قالب یک سری فرمت فایل سایت شما را هک کنند. در حالی که شما روحتان هم از چنین مشکلاتی خبر ندارد.
یا در زمان استفاده از قالبهای عمومی و آماده میبینیم که گاها قالبی قدیمی شده و دیگر برخی توابع را پشتیبانی نمیکند. ما هم که هیچ اطلاعاتی در این زمینه نداریم، این جاست که سلامت سایت وردپرسی به کمک ما خواهد آمد.
سلامت سایت وردپرس چیست و چه کاربردی دارد؟
حال این همه مقدمه چینی کردیم احتمالا میپرسید که آقا، اصلا این سلامت سایت وردپرس چیست و به چه کار ما خواهد آمد؟ نکند وردپرس برایمان پرستار استخدام میکند؟!
راستش را بخواهید شاید همینطور باشد. وردپرس پس از انتشار نسخه ۵.۱ ابزار سلامت سایت را معرفی کرد که در مدت بسیار کوتاهی نیز آنها را بهبود کلی در نسخه ۵.۲ در بخش ابزارها معرفی کرد. این ابزار در واقع همان پزشک خانوادگی سایت شماست که در صورت وجود مشکلات عمومی که در وردپرس میتواند وجود داشته باشد، به شما اطلاع رسانی خواهد کرد تا ایرادات وردپرس را بررسی کنید.
حتما خاطرتان هست که پیش از این در مقاله صفحه سفید مرگ وردپرس چگونگی رفع این خطا را آموزش دادم. بعد از اینکه ابزار سلامت وردپرس معرفی شد، صفحه سفید مرگ دیگر اهمیت کمتری پیدا کرد. چرا که وردپرس متناسب با قابلیتهایی که در این بخش قرار داد این امکان را فراهم کرده تا از طریق لینکهایی که تولید میکند، کمتر این صفحه را به چشم ببینیم و بدانیم که دقیقا مشکل سایت ما چیست.
به عنوان نمونه اگر مشکلی در یک افزونه یا قالب وجود داشت که سایت سفید میشد، شما هیچ ایدهای نداشتید مگر اینکه راهکارهای معرفی شده را یکی یکی تست کرده و مشکل را برطرف کنید. در برخی مواقع نهایتا با فعال کردن دیباگ میتوانستید مشکل را پیدا کنید.
اما با معرفی این ابزار به محض اینکه صفحه سفید در وردپرس نمایش داده شود، یک ایمیل برای مدیر سایت ارسال شده و با کمک دیباگ وردپرس مسیر خطا و جزییات کامل آن برای شما ارسال میشود تا سریعا مشکل را برطرف کنید. در این حالت دیگر برخی اطلاعات سایت که شامل شخصی سازی صفحات، به هم ریختن تنظیمات برخی افزونهها و قالب هم نیست.
حالا نوبت این رسیده تا چگونگی کار با این ابزار را مرور کنیم. برای این منظور در صورتی که وردپرس شما از نسخه ۵.۱ به بعد باشد، با رفتن به مسیر ابزارها> سلامت سایت میتوانید به این ابزار دسترسی داشته باشید.
این ابزار در چند حالت مختلف سایت شما را مورد بررسی قرار خواهد داد .
البته ذکر این نکته ضروری است که در این مقاله صرفا بخشهایی که به صورت پیشفرض در وردپرس وجود دارند را بررسی کردم. اگر افزونه در سایت خود نصب کنید با توجه به اینکه وردپرس امکان استفاده ماژولار از این ابزار را نیز فراهم کرده است، افزونهها نیز میتوانند برای مشکلاتی که ممکن است برای آنها رخ دهد در همین بخش اطلاعیههایی را در بخش وضعیت و اطلاعات ارسال کنند.
به عنوان نمونه همین افزونه یوست سئو دارای چند مورد از این ابزار به شرح زیر است:
- شمارنده لینکهای وردپرس
- عدم اتصال سایت به یوست
- تغییرات ساختار پیوند یکتا در وردپرس
- نمایش نظرات وردپرس در یک صفحه
- تغییر توضیحات و عنوان پیشفرض وردپرس
- دسترسی یا عدم دسترسی موتورهای جستجو به سایت
خطاهای سلامت سایت وردپرسی
این ابزار سایت را از دو نظر امنیتی و کارایی با توجه به وضعیت سرور، افزونههای سایت، هسته وردپرس، پوسته وردپرس و دیگر موارد مورد بررسی قرار میدهد. در ادامه مشابه چیزی که خود همین ابزار دارد آن را به دو بخش تقسیم کرده و جزییات هر یک را با هم مرور میکنیم.
بررسی و رفع خطاهای امنیتی ابزار سلامت سایت در وردپرس
امنیت یک سایت مهمترین چیزی است که باید به آن توجه داشته باشید. مقالات مختلفی را درپاورسرور برای بالاتر بردن امنیت وردپرس، سی پنل و دیگر ابزاری که از آنها استفاده میکنید را تهیه کردیم.
برخی از این موارد امنیتی توسط همین ابزار سلامت سایت وردپرس بررسی میشوند که در ادامه به معرفی و چگونگی رفع هر کدام از این خطاهای امنیتی وردپرس میپردازیم.
پاک کردن افزونه غیرفعال
بدتر از افزونههای زیاد در یک سایت وردپرسی، این افزونههای غیر فعال و بلا استفاده هستند که به بلایی خانمان سوز تبدیل میشوند. معمولا افزونههای غیر فعال تا مدتها در سایت ما جا خوش کرده و چون به منوی افزونهها زیاد توجه نداریم، کاری هم برای حذف کردن آنها نمیکنیم.
یک روز که از خواب بیدار شدید، متوجه میشوید که سایت شما به کلی هک شده و انواع و اقسام چیزهایی که تا حالا ندیده بودید را در سایت میبینید. دلیلش هم ساده است، احتمالا یک افزونه غیرفعال و قدیمی داشتید که راه نفوذی برای آن کشف شده و مسلما هر سایتی که این افزونه را داشته است با قرارگیری در لیست هکرها مورد هک قرار گرفته است.
این ابزار در سلامت وردپرس از شما میخواهد که افزونههای غیرفعال را پاک کنید. توصیه میکنم تا جایی که میتوانید افزونههای بلا استفاده را از حالت غیرفعال خارج کرده و پاک کنید. اگر واقعا ضرورت دارد افزونه را داشته باشید، میتوانید یک نسخه zip شده از آن را در پوشه افزونهها داشته باشید تا هر زمان نیاز بود با خروج از حالت فشرده باز از آن استفاده کنید.
اما زمانی که افزونه غیر فعال باشد، یعنی فایلها و پوشههای افزونه درون مسیر پوشه افزونهها قرار دارند که دقیقا همین مسئله است که موجب نقص امنیتی میشود. اما اگر افزونه را در حالت زیپ در یک جا به حال خود رها کنید دیگر چنین چیزی رخ نخواهد داد.
حذف پوسته های غیرفعال
این مورد هم مشابه افزونهها عمل میکند. معمولا در طول دوره حیات یک سایت ممکن است چندین بار تعویض قالب صورت گیرد. برخی مدیران سایتها با اینکه کلی زمان صرف طراحی صفحات میکنند تا بهترین خروجی ظاهری را برای قالب داشته باشند، اما باز توجهی به این نکته ریز ندارند.
لازم است که قالب های غیرفعال سایت را که دیگر از آنها استفادهای نمیشود حذف کنید. صرفا یک قالب فعال داشته باشید و برای اینکه برخی اوقات هم ممکن است مشکلاتی برای سایت رخ دهد که از قالب باشد، یکی از قالبهای پیشفرض وردپرس را باقی بگذارید. البته قالب پیشفرض را به محض انتشار نسخه جدید، آپدیت کنید.
استفاده از گواهینامه امنیتی SSL و مجهز نبودن وردپرس به HTTPS
استفاده از SSL در سایت و پیاده سازی پروتکل امن HTTPS کمک میکند تا دادههای سایت در یک محیط امن و به صورت کدگذاری شده رد و بدل شوند. این مورد به امنیت سایت کمک بسیار زیادی خواهد کرد. علاوه بر این از نظر سئو نیز تاثیر در رتبهبندی سایت شما خواهد داشت.
انواع مختلفی از گواهینامه امنیتی SSL وجود دارد که متناسب با نوع دامنه(ملی و بین المللی) و با قابلیت استفاده به صورت ولید کارت میتوانید خریداری کنید. برای مشاهده لیست کامل این محصول میتوانید به صفحه خرید SSL در پاورسرور مراجعه کنید. البته که پاورسرور گواهینامه امنیتی رایگان Let’s Encrypt را نیز در تمامی پلنهای هاست ارائه میکند.
ایجاد رابطه امن سایت با سرویس های دیگر
افزونهها و قالبی که در سایت استفاده میکنید، ممکن است دارای ویژگیهایی باشند که به دیگر سرویسهای اینترنتی برای دریافت و ارسال اطلاعاتی متصل باشند. در صورتی که این ارتباط مشکلی امنیتی داشته باشد وردپرس شما را از این موضوع مطلع خواهد کرد تا آن را رفع کنید.
وجود مشکل در ارتباط با سایت مرکزی وردپرس WordPress.org
همانطور که میدانید وردپرس که با دامنه org. در دسترس است مخزن این سیستم مدیریت محتوا برای دانلود افزونهها، قالبها، هسته وردپرس و دسترسی به جدیدترین اخبار است. همچنین دیگر موارد مثل هسته کدهای برنامه نویسی، مستندات، ترجمهها و… نیز بر روی همین دامنه قرار دارند.
این سیستم به صورت مداوم به سایت وردپرس متصل است تا اعلانات را برای دریافت بهروزرسانیها دریافت کرده و شما را برای آپدیت مطلع سازد. در صورتی که مشکلی در این ارتباط رخ داده باشد مسلما از آپدیتها مطلع نخواهید بود. همچنین اگر هم اقدام به آپدیت کنید، انجام نخواهد شد که در این بخش میتوانید مشکلاتی که برای قطع اتصال وجود دارد را بررسی کنید.
عدم بروزرسانی های پس زمینه
بهروزرسانیهای پس زمینه در واقع همان بهروزرسانیهای امنیتی هستند که وردپرس به صورت اجباری(در صورتی که آپدیت خودکار را غیرفعال نکرده باشید) انجام میدهد. موارد امنیتی چون مربوط به افزونهها و پوستههایی است که دارای رخنه امنیتی هستند که کشف شده است، به محض اینکه رفع میشوند توسط خود وردپرس آپدیت میشوند تا سایت شما مورد نفوذ قرار نگیرد.
بررسی خطاهای کارایی ابزار سلامت سایت در وردپرس
بخش کارایی دومین بخش از ابزار سلامت سایتهای وردپرسی است که باید به آن نیز توجه داشته باشید. همانطور که از نام آن مشخص است این ابزار برای این ایجاد شده تا به بهتر کردن عملکرد و کارایی سایت شما کمک کند.
پیشنهاداتی در این بخش به شما داده خواهد شد تا سرور سایت، پایگاه داده، وظایف خودکار که در وردپرس انجام میگیرند، اجرای درخواستها و همچنین مواردی که ممکن است به آنها نیازی نداشته باشید را به شما نمایش دهد.
میتوانید با رفع خطای سلامت سایت در این بخش سایت خود را بهبود داده و از نظر انجام عملکرد و سرعت نتیجه بهتری را کسب کنید.
بروزرسانی نسخه php
مشخصا اولین چیزی که میتواند به سرعت بالا در وردپرس کمک کند، جدایی از هاست و میزبانی وب سایت شما، استفاده از جدیدترین نسخه PHP است. البته به شرط اینکه افزونهها و قالب وردپرس شما نیز متناسب با این نسخه کدنویسی شده و از توابع جدید وردپرس در آن استفاده شده باشد.
طبق بررسیهای عملی که در یک محیط یکسان روی تاثیر نسخه php در عملکرد و سرعت وردپرس انجام گرفته است، میتوان انتظار رشد ۲.۴ برابری را داشت. برای بررسی این موضوع پیشنهاد میکنم مقاله ویژگی بهترین هاست وردپرس را مطالعه کنید.
عدم استفاده از ماژول های اصلی
ماژولهای متعددی بر روی سرویس میزبانی شما باید فعال باشند تا هم بتوانید از وردپرس را استفاده کنید و هم اینکه امکانات و ویژگیهایی که به آنها نیاز دارید را پیاده سازی کنید. این ماژولها بر روی کنترل پنلهای هاست مختلفی مثل سی پنل، دایرکت ادمین، پلسک و… قرار دارند.
هرچه از جدیدترین نسخه این ماژولها و همچنین مناسبترین گزینه بر روی سرور و هاست استفاده شده باشد، مسلما وردپرس غملکرد بهتری خواهد داشت. از همین رو در این بخش اگر مشکلی در برخی از این ماژولها وجود داشته باشد وردپرس به شما توصیه میکند که آنها را رفع کنید.
بروزرسانی وردپرس
این بخش از خطای کارایی وردپرس برای این ساخته شده تا شما را از آپدیت کردن و بهروزرسانی هسته و نیازهایی که وردپرس دارد مطلع سازد.
اگر نسخه جدیدی از هر یک از موارد وجود داشته باشد در این بخش فعال شده و در پیشخوان وردپرس که ابزارک سلامت سایت نیز وجود دارد نمایش داده خواهد شد تا آن را بررسی و رفع کنید.
معتبر نبودن منطقه زمانی پیش فرض php
این بخش به شما کمک میکنید تا از فرمت درست تاریخ و زمان در سایت خود استفاده کنید. توابع مختلفی در php، سرور و خود وردپرس برای بررسی زمان و تاریخ بر اساس موقعیت زمانی وجود دارند. این موضوع برای ما کاربران فارسی زبان که از تاریخ شمسی استفاده میکنیم بیشتر اهمیت پیدا میکند.
یک هماهنگی درست باید بین وردپرس و سرور وجود داشته باشد تا در تمامی بخشها زمان به درستی کار کند. حتی این مورد ممکن است با برخی افزونهها نیز در تداخل باشد که اگر چنین موردی رخ دهد شما را مطلع خواهد ساخت.
بروزرسانی SQL
وردپرس به منظور پردازش و ذخیره سازی اطلاعات از پایگاه داده SQL استفاده میکند که میتواند mariaDB یا mySQL باشد. این دو پایگاه داده هر سال آپدیت شده و بهبود پیدا میکنند. بر روی سرور هاستینگها این ابزار را آپدیت میکنند. هر گاه هم موردی وجود داشته باشد که موجب عملکرد بد وردپرس شود، از این بخش به شما اطلاع داده خواهد شد.
پشتیبانی نکردن از UTF8MB4
این اسکریپت برای ذخیره سازی پایگاه داده وردپرس مورد استفاده قرار میگیرد و کمک میکند تا پشتیبانی بهتری از زبانهای دیگر داشته باشید.
اگر پایگاه داده شما از این ویژگی پشتیبانی نکند، مسلما در استفاده از ترجمههای افزونه، قالب و حتی خود وردپرس به مشکل برمیخورید. همچنین این ویژگی امکان استفاده از اموجیها را نیز در وردپرس میدهد.
اجرایی نکردن رویدادهای زمانبندی
بهروزرسانی وردپرس، افزونهها و پوستهها همانطور که اشاره کردم، در زمانی که به صورت پچ امنیتی باشند لازم است که به صورت خودکار انجام گیرند. از انجایی که وردپرس امکان غیر فعال کردن آپدیت هسته، افزونهها و پوسته را از طریق فایل wp-config.php فراهم کرده است، ممکن است شما هم این آپدیتها را غیرفعال کرده باشید.
در صورت غیر فعال بودن آپدیت کلی در وردپرس این بخش به شما نمایش داده شده و توصیه میشود که بهروزرسانی خودکار وردپرس را فعال کنید.
مشکل در ارسال درخواست HTTP
گاهی وردپرس برای ارتباط با سرور درخواستهای HTTP را به خوبی ارسال نمیکند، در چنین شرایطی دچار خطای کارایی خواهید شد. این درخواستها میتواند برای ارتباط با دیگر سایتها باشد.
در دسترس نبودن REST API
این قابلیت برای ارتباط میان وردپرس و سرور به وجود آمده است. اگر REST API با اختلال روبرو باشد، سایت وردپرسی شما هم خوب کار نمیکند. این ویژگی در واقع همان قابلیت API وردپرس است که از طریق آن بتوانید در نرم افزار و کدنویسی اختصاصی خود در نرم افزار دیگری اطلاعات سایت را از وردپرس بگیرید.
برای نمونه ممکن است برنامه اندروید و ios برای سایت خود ایجاد کرده باشید که برای این منظور باید از این ویژگی استفاده کنید. اگر مشکلی در این ویژگی رخ داده باشد در این بخش به شما نمایش داده خواهد شد.
نبود امکان اجرای درخواست ها Requests
درخواستهای عادی وردپرس برای اجرای رویدادهای برنامهریزی شده و بسیاری از موارد اساسی سایت استفاده میشود. بنابراین اگر به خوبی صورت نگیرد، دچار مشکل خواهید شد. این قابلیت هم همان آپدیتهای سایت است، اما با این تفاوت که در یک حلقه قرار داشته و به صورت روزانه یا ساعتی بررسی میشوند.
جمع بندی و کلام آخر
خوشبختانه از زمانی که ابزار بررسی سلامت و کارایی وردپرس معرفی شده، هم یافتن مشکلاتی که در سایت وجود دارد ساده شده است و هم اینکه در مدت زمان کوتاهتری میتوان مشکلات را رفع کرد.
به عنوان نمونه پیش از این وقتی مشکلی برای سایت رخ میداد، تا زمانی که به سایت مراجعه نمیکردید نمیتوانستید از این موضوع مطلع شوید. مگر در حالتی که از ابزارهای آپتایم استفاده کرده باشید.
اما حالا به لطف این ابزار به محض اینکه خطایی در سایت رخ میدهد، چه در بخش پیشخوان وردپرس باشد و چه در بخش رابط کاربری سایت، از طریق ایمیلی که با عنوان«سایت شما یک مشکل فنی را تجربه میکند» نه تنها از این موضوع مطلع خواهید شد، بلکه علت خطا را هم که میتواند به مشکلات سرور، افزونه یا قالب وردپرس مربوط باشد را نیز اعلام میکند.