ممکن است بعد از بهروزرسانی افزونه ووکامرس، با خطای «فايل مورد نظر يافت نشد رفتن به فروشگاه» روی فروشگاه خود مواجه شوید. این خطا بدین معناست که با محدودیتی روی ماژول mod_xsendfile روی وب سرور وبسایت خود مواجه شدهاید. برای رفع خطای «فايل مورد نظر يافت نشد رفتن به فروشگاه» چند راه حل وجود دارد که در ادامه در این خصوص توضیحات کامل خدمت شما ارایه میشود.
ماژول mod_xsendfile چیست؟
ماژول mod_xsendfile یک ماژول کوچک برای وب سرور آپاچی است. از این ماژول برای پردازش اسکریپت در زبانهای برنامهنویسی سمت سرور مانند PHP، پایتون و Perl استفاده میشود. معمولا این ماژول امکاناتی را برای بررسی دسترسیهای به خصوص ارایه میکند.
رفع خطای فايل مورد نظر يافت نشد رفتن به فروشگاه
۱. راه حل اول: فعالسازی Redirect Only در فروشگاه ووکامرس
راه حل اول برای رفع خطای «فايل مورد نظر يافت نشد رفتن به فروشگاه»، در واقع موقتی است و با استفاده از این روش، مشتریان و کاربران وبسایت شما میتوانند به صورت موقت محصولات مدنظر خود را دانلود کنند که البته برای استفاده از این روش بایستی به نکاتی توجه داشته باشید که در ادامه توضیح داده خواهد شد.
برای انجام اینکار مراحل زیر را دنبال کنید:
به منوی ووکامرس روی پیشخوان مدیریت وبسایت خود بروید.
به زیرمنوی تنظیمات یا پیکربندی وارد شوید.
به بخش محصولات بروید.
در تب محصولات به بخش محصولات دانلودی بروید.
برای بخش روش دانلود فایل، گزینه Redirect Only را انتخاب کنید.
بر روی دکمه ذخیره سازی کلیک کنید.
همانطور که توضیح داده شد این روش، یک روش موقت برای رفع خطای «فايل مورد نظر يافت نشد رفتن به فروشگاه» در ووکامرس است چون پس از خرید، خریدار روی فروشگاه شما میتواند نشانی مستقیم فایل قابل دانلود را مشاهده کند و این لینک را در هر جایی که تمایل داشته باشد به اشتراک بگذارد یا منتشر کند. به عبارت دیگر اشخاص دیگر بدون خرید فایل میتوانند به لینک دانلود آن دسترسی داشته باشند.
برای رفع این مساله البته میتوانید با اضافه کردن دستورات زیر به htaccess وبسایت خود از hotlink شدن وبسایت خود جلوگیری کنید.
## BEGIN PREVENT HOTLINKING ##
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)example.com/.*$ [NC]
RewriteRule \.(zip|rar|mp3|docx|doc|pdf)$ - [F]
## END PREVENT HOTLINKING ##
میتوانید در دستور بالا هر نوع فایلی که مدنظرتان هست را از hotlink شدن مستثنی کنید. در مثال بالا فایلهای zip, rar, mp3, docx, doc و pdf از hotlink شدن محفوظ ماندهاند.
روش دوم: فعالسازی ماژول mod_xsendfile روی وبسرور
در صورتیکه از سرور اشتراکی استفاده میکنید میتوانید از پشتیبان هاست خود بخواهید اینکار را برای شما انجام دهد و در صورتیکه از سرور اختصاصی استفاده میکنید میتوانید با استفاده از روش زیر اقدام به فعالسازی این ماژول روی سرور آپاچی خود کنید.
با کمک دستور بالا از طریق SSH اقدام به نصب پکیج کنید.
خارج شوید و سرور آپاچی را رستارت کنید.
به ماژولهای easyApache بروید و ماژول mod-xsendfile را با کلیک روی ماژول نصب و فعال کنید.
به پیشخوان مدیریت وردپرس خود بروید و از طریق مسیر ووکامرس > پیکربندی > محصولات > محصولات دانلود شدنی رفته و گزینه X-Accel-Redirect/X-Sendfile را انتخاب کنید.
دوباره وضعیت دانلود فایل در فروشگاه وبسایت خود را بررسی کنید در صورتیکه مساله همچنان رفع نشد دستورات زیر را به htaccess وبسایت خود از طریق فضای هاست اضافه کنید:
در صورتیکه با کمک هر دو یا یکی از دو روش بالا همچنان با این خطا مواجه بودید بنابراین و احتمالا مشکل از جایی دیگر ناشی میشود. گاهی اوقات وجود فاصله در نام فایلی که برای فروش در اختیار مشتریان خود قرار میدهید باعث ایجاد این مشکل میشود.
نام فایلهایی که امکان دانلود را ندارند و کاربر برای دانلود آنها با خطای «فايل مورد نظر يافت نشد رفتن به فروشگاه» روبرو میشود را بررسی کنید و مطمئن شوید که هیچگونه فضای خالی در نام این فایلها وجود نداشته باشد و در صورت وجود این مساله، نام را اصلاح کنید و فایل را دوباره روی فضای هاست خود بارگذاری کنید.
یافتن علت کندی وردپرس همیشه چالش بزرگی بوده است. زمانیکه از وردپرس استفاده میکنید، از سرور وبسایت گرفته تا افزونهها و پوستهها همگی در کیفیت عملکرد و کندی وردپرس تاثیرگذار هستند. علاوه بر این ممکن است که محتوای بهینهسازی نشده مانند تصاویر، ویدیوها و سایر المانهای در یک محتوا محتوا باعث کندی وردپرس شوند.
برخی توسعهدهندهها به صورت کلی معتقدند که وردپرس کند است. هرچند ممکن است که پیشتر اینطور بوده باشد اما حالا دیگر اینطور نیست. بسیاری از برندهای بزرگ دنیا مانند پلسک، NGINX.com، سونی موزیک، نیویورک تایمز، والت دیزنی، تویوتا، مجله ووگ و … به وردپرس اعتماد کردهاند و از سیستم مدیریت محتوای وردپرس و امکانات آن برای وبسایت خود استفاده میکنند.
به هر روی، عواملی هستند که میتوانند بر عملکرد وبسایت وردپرسی شما تاثیرگذار باشند و به اصطلاح باعث کندی وردپرس شما شوند. مانند:
کیفیت خدمات شرکت ارایه دهنده خدمات هاست
وضعیت بهینهسازی سمت سرور (نسخه PHP، کش سمت سرور، فشرده سازی و …)
پوسته بیکیفیت
افزونههای کند
محتوای بهینه نشده (بیشتر تصاویر)
ارسال درخواست های بیشمار HTTP
استفاده نکردن از CDN
جدای از بهینهسازی سمت سرور که توسط شرکت ارایه دهنده خدمات هاست بایستی انجام شود، بهینهسازیهای زیاد دیگری نیز وجود دارند که بایستی از سمت شما انجام شوند.
۴ گام برای بررسی علت کندی وردپرس
گام ۱: انجام تست سرعت لود صفحه
سرعت لود سایت شما چقدر است؟ هر صفحهای که سرعت لود بالاتر از ۲ ثانیه داشته باشد بایستی بهینهسازی شود. بهترین حالت سرعت لود زیر ۱ ثانیه است.
ابزارهای تست سرعت متفاوتی وجود دارد مانند GTmetrix، ابزار Pingdom و تست سرعت گوگل.
ابتدا اجازه دهید از ابزار تست سرعت gtmetrix استفاده کنیم. در صورتیکه در سایت gtmetrix وارد شوید میتوانید موقعیت سرور تست را نیز انتخاب کنید.
gtmetrix امکانات بسیار خوبی در اختیار شما قرار میدهد و همچنین یک خط زمانی تصویری را در نتیجه تست به شما ارایه میکند تا از وضعیت لود صفحه و کیفیت کندی وردپرس طی تست باخبر شوید.
تب Summary مواردی که باعث کندی وردپرس و ضربه زدن به عملکرد سایت شما میشوند را به شما نمایش می دهد. در بین این موارد، مهمترین بخش زمان پاسخگویی سرور است. اگر شرایط این بخش بحرانی است بهتر است به فکر سرویس هاست بهتر یا مهاجرت به هاست دیگری باشید. اما پیش از تصمیم گیری در این خصوص بهتر است سایر موارد را نیز اصلاح و دوباره بررسی کنید.
خطایی که معمولا با آن در گزارش تست سرعت مواجه میشوید پیام Avoid an excessive DOM size است که به صورت متداول به دلیل استفاده از افزونه های صفحهساز مانند المنتور است.
پیام Avoid enormous network payloads اشاره به عناصر سنگین در صفحه مانند تصاویر، اسکریپتها و فایلهای CSS دارد. در بخش Page Details میتوانید اندازه کل صفحه و تعداد درخواستهای صفحه را نیز بررسی کنید.
عدم استفاده از CDN نیز یکی از علل دیگر برای کندی وردپرس شماست. حتما برای وردپرس خود از CDNهای باکیفیت استفاده کنید و در صورتیکه مخاطبین شما در ایران حضور دارند از خدمات شرکتهای ایرانی در این زمینه استفاده کنید.
گام ۲: تست لود وبسایت
برای تست لود وبسایت میتوانید از ابزار k6 استفاده کنید که یک ابزار رایگان و متن باز است. تست k6 به صورت لوکال روی دستگاه شما صورت میگیرد و برای نصب نسخه رایگان آن لازم است که دستوراتی را در CMD دستگاه خود اجرا کنید.
این ابزار با ایجاد کاربرهای مجازی برای وبسایت شما و ارسال درخواست به سمت وبسایت، وضعیت و نتیجه درخواست ارسالی را بررسی و به شما ارایه میکند. همچنین اطلاعات مغید دیگری را برای بررسی وضعیت لود وبسایت به شما ارایه میکند.
گام ۳: بررسی افزونهها و پوستههای وردپرس
گام بزرگ بعدی، بررسی وضعیت افزونهها و پوستههای روی وردپرس است. همیشه افزونهها یا پوستههایی روی وردپرس هستند که میبایست بهتر بهینهسازی شوند.
برای بررسی وضعیت افزونهها و پوستهها یک روش سریع و راحت وجود دارد؛ افزونهها را یک به یک غیرفعال کنید و به پوسته پیش فرض وردپرس سوییچ کنید و سپس تست سرعت وبسایت خود را در هر مرحله غیرفعالسازی انجام دهید تا افزونه یا افزونههای مشکل ساز را بیابید.
در صورتیکه برای بهینهسازی وبسایت خود نیاز به کمک راکت وردپرس دارید میتوانید از طریق صفحه ثبت سفارش، سفارش خود را ثبت کنید.
۱۶ روش برای رفع کندی وردپرس
در ادامه ۱۶ روش برای رفع کندی وردپرس به شما معرفی خواهیم کرد.
۱. بهروزرسانی وردپرس
یک مساله اساسی در خصوص وردپرس حفظ بهروز بودن وردپرس یا بهروزرسانی وردپرس است. هر آپدیت وردپرس حاوی اصلاحاتی برای رفع نقصهای امنیتی، افزودن قابلیتهای جدید و … است.
برای فعال کردن بهروزرسانی خودکار در وبسایت خود میتوانید فایل wp-config.php را ویرایش کنید یا به صورت دستی روی پیشخوان مدیریت وبسایت خود اینکار را انجام دهید.
همچنین بایستی تمامی افزونهها و پوستههای نصب شده روی وردپرس را بهروز نگه دارید. دقت کنید در صورتیکه افزونه یا پوستهای بر روی وبسایت شما برای بیش از یک سال به روز نشده است، بایستی استفاده از آن را کنار بگذارید.
۲. بهینه سازی تصاویر وردپرس
به صورت معمول حجم قابل توجهی از هر صفحه را تصویر به خود اختصاص میدهد.
تصاویر بزرگ باعث کندی وردپرس میشوند و کاربر نیز با تجربه بدی وبسایت شما را ترک میکند. به همین دلیل، بهینه سازی تصاویر، به صورت دستی یا با کمک افزونه میتواند وضعیت لود صفحات را به صورت قابل توجهی بهبود بخشد.
معمولا زمانیکه قصد بهینهسازی تصاویر را دارید میتوانید از روشهای فشردهسازی lossless یا lossy استفاده کنید. همچنین فرمت مناسبی برای تصویر روی وبسایت انتخاب کنید. از تصاویر با فرمت PNG برای گرافیکهای ایجاد شده توسط ماشین و از JPEG نیز برای عکس استفاده کنید. جدیدترین فرمت که اقبال زیادی نیز نسبت به آن شده است و معمولا در گزارشهای تست سرعت گوگل پیشنهاد میشود، فرمت WebP است که تصاویر وردپرس را با حفظ کیفیت فشردهتر میکند.
۳. استفاده از افزونه تنها در صورت لزوم
افزونه بخش جداناشدنی از چرخه زندگی وردپرس هستند. در حال حاضر بیش از ۵۰۰۰۰ افزونه تایید شده روی مخزن وردپرس قرار دارد علاوه بر این هزاران افزونه رایگان دیگر بر روی اینترنت یا گیت هاب برای استفاده روی وردپرس منتشر شده اند.
افزونههای بهینه نشده یا افزونههایی که به شکل خوبی پیادهسازی نشدهاند میتوانند باعث کندی وردپرس و افت عملکرد وبسایت شما شوند.
میتوانید هر تعداد افزونه وردپرس را روی وردپرس خود نصب کنید اما همیشه بایستی این پرسش را از خود بپرسید که آیا واقعا به این افزونه نیاز دارید یا خیر. همچنین مطمئن شوید که سازنده محصول به صورت مداوم برای افزونه مورد نظر شما بهروزرسانی ارایه میکند.
۴. استفاد از پوسته سریع
انتخاب پوسته مناسب برای وردپرس اهمیت بسیار زیادی دارد. پوسته ای که دارای ساختار نادرست باشد باعث کندی وبسایت شما میشود. قابلیتهای یک پوسته، مانند لایهبندی، منوها، رنگبندی، فونت و وضعیت تصاویر معمولا اولین نکاتی هستند که یک کاربر هنگام مواجهه با وبسایت شما به آنها توجه میکند.
اگر از پوسته ای استفاده کنید که به این نکات توجه کافی نداشته باشد، احتمالا دچار مشکل خواهید شد.
پیش از اینکه پوسته وردپرس را انتخاب کنید، لیستی از تمام ویژگیهایی که به دنبال آن هستید را تهیه کنید و پس از بررسی این ویژگیها، به دنبال یک پوسته قدرتمند و بهروز باشید.
همیشه هنگام انتخاب پوسته وردپرس به دیدگاه کاربران آن، امتیازدهی به محصول و … توجه ویژه داشته باشید.
پوسته را به صورت اورجینال و تنها از سازنده آن دریافت کنید و هیچ وقت از یک محصول نال بر روی وردپرس خود استفاده نکنید.
۵. پیکربندی افزونه کش برای بهینهسازی وبسایت
برخی از سرویسدهندههای خدمات هاست از کش سمت سرور نیز استفاده میکنند. میتوانید از افزونههای لایتاسپید یا راکت برای راهاندازی کش روی وردپرس خود استفاده کنید.
استفاده از افزونه کش مناسب و پیکربندی صحیح آن روی وردپرس به صورت قابل توجهی باعث افزایش سرعت وردپرس و رفع کندی وردپرس شما میشود. البته دقت کنید که استفاده از افزونه کش باعث ایجاد خطا روی وبسایت شما یا باعث ایجاد اختلال بین افزونههای فعال شما نشود.
۶. کاهش درخواستهای بیرونی HTTP
امکان دارد افزونهها و پوسته وردپرس درخواستهایی را به منابع بیرونی از وبسایت شما ارسال کنند. این درخواستها معمولا برای لود فایلهای استایل، فونت، اسکریپت و … که بیرون از وبسایت قرار دارند ایجاد میشوند.
افزونههایی در زمینه شبکههای اجتماعی، آمار و تحلیل و … معمولا چنین درخواستهایی را روی وردپرس شما ایجاد میکنند.
در برخی مواقع و تحت شرایطی، استفاده از این قابلیت منطقی است اما استفاده زیاد از این قابلیت باعث کندی وردپرس میشود. با کاهش درخواستهای HTTP و بهینهسازی شیوه لود آنها میتوان سرعت وبسایت را افزایش دهید.
۷. کوچک کردن استایل و اسکریپتهای وردپرس (Minify کردن)
کوچکسازی یا Minify کردن به رویه حذف المانهای غیرضروری از کد گفته میشوند. در وردپرس منظور از کد، فایلهای JS و CSS است. المانهای غیرضروری نیز به بخشهایی از کد گفته میشود که وجود آنها ضرورتی ندارد و در صورت حذف آن، عملکرد اصلی کد حفظ میشود مانند توضیحات بین خطوط کد.
با کوچکسازی کد وبسایت، فایلهای CSS و JS کوچکتری دارید. در این شرایط، نه تنها سرعت لود بالاتر میرود بلکه همچنین به شکل سریعتری روی مرورگر کاربر ترجمه میشود.
اغلب افزونههای کش ابزاری را برای Minify کردن فایل های CSS و JS در اختیار شما قرار میدهند. به صورت مشخص، افزونه Autoptimize چنین قابلیتی را در اختیار شما قرار میدهد.
۸. تنها اسکریپتهای ضروری در هر صفحه لود شوند.
اغلب منابع مورد استفاده افزونهها و پوسته های وردپرس روی تمام صفحات وردپرس شما لود میشوند در حالیکه در بیشتر موارد قابلیت مورد نظر این افزونهها تنها در صفحات خاصی قابل اجرا است. برای مثال افزونه Contact 7 را در نظر بگیرید، این افزونه فرم تماس را در یک صفحه مشخص در اختیار شما قرار میدهد اما منابع مورد استفاده آن تقریبا در تمامی صفحات وبسایت شما لود میشود که به صورت واضحی چنین وضعیتی غیرضروری است و باعث کندی وردپرس میشود.
افزونه Asset Cleanup دقیقا اینکار را برای شما انجام میدهد. این افزونه منابعی که در یک صفحه لود میشوند را بررسی میکند. سپس میتوانید CSS و JS را که لزوما برای یک صفحه مشخص نیستند را انتخاب کنید.
افزونه Asset Cleanup در کنار افزونههای کش عملکرد بهتری دارد.
۹. افزایش سرعت پیشخوان مدیریت وردپرس
معمولا با بهینهسازی که روی وبسایت انجام میدهید، به صورت خودکار بهبود در سمت پیشخوان وردپرس شما نیز صورت میگیرد. اگر سرعت پیشخوان مدیریت وردپرس کند است، میتوانید افزونههای روی وردپرس خود را یک به یک غیرفعال و وضعیت را در هر مرحله بررسی کنید.
افزونههایی مانند بکآپ وردپرس که برای ایجاد پشتیبان زمانبندی میشود نیز میتواند باعث کندی وردپرس شود.
علاوه بر این بایستی در نظر داشته باشید که افزونههایی مانند جتپک وردپرس به علت مسدود بودن نشانیهایی که آنها استفاده میکنند کاربردی ندارند و باعث کندی پیشخوان مدیریت وردپرس میشوند.
۱۰. موقعیت سرور و پیکربندی آن
موقعیت سرور وبسایت شما و پیکربندی که مدیر سرور برای آن در نظر میگیرد، تاثیر مهمی بر سرعت وبسایت شما دارد.
برای مثال در صورتیکه بازدیدکنندگان وبسایت شما در ایران هستند اما موقعیت سرور وبسایت شما در آلمان یا کشور دیگری است بنابراین بازدیدکنندگان وبسایت شما کندی بیشتری نسبت به سرور وبسایت با موقعیت ایران تجربه خواهند کرد.
اگر بازدیدکنندگان وبسایت شما در همه جای دنیا حضور دارند بنابراین بهتر است از CDN استفاده کنید تا بنا به موقعیت کاربر، نزدیکترین سرور پاسخگوی درخواست او باشد.
۱۱. استفاده از شبکه ارایه محتوا یا CDN
یکی از آسانترین روشها برای افزایش سرعت وبسایت و رفع کندی وردپرس استفاده از یک CDN کاربردی و قابل اطمینان است.
کاری که CDN انجام میدهد، ارایه محتوا از نزدیکترین سرور به کاربر میباشد. به عنوان مثال، شبکهای از سرور را در سطح کشور ایران در نظر بگیرید. در این وضعیت با اینکه موقعیت سرور وبسایت شما در شهر تهران است اما به دلیل استفاده از CDN، درخواست کاربر از نزدیکترین سرور به موقعیت او پاسخ داده میشود.
۱۲. حذف ریدایرکتهای غیرضروری
در برخی مواقع به دلیل حذف نوشته یا صفحه لازم است که محتوای حذف شده به نشانی جدید ریدایرکت شود. اگر این ریدایرکتها مدیریت نشود و بدون توجه به ریدایرکتهای قبلی ریدایرکت نشانی جدید ثبت شود میتواند منجربه ایجاد زنجیرهای از ریدایرکتها در وبسایت شما شود. در برخی مواقع این شرایط منجربه زمان لود بالا و حتی ایجاد خطا روی وبسایت شما شود.
۱۳. رفع خطای ترکیب محتوا یا Mixed content
استفاده از پروتکل https برای وبسایت به یک ضرورت بدل شده است؛ علاوه بر مسایل امنیتی همچنین تاثیر به سزایی در رتبه سئو وبسایت شما خواهد گذاشت. اما معمولا تغییر نشانی وردپرس و وبسایت و استفاده از https گاهی باعث بروز خطایی به نام ترکیب محتوا Mixed content میشود.
علت خطای ترکیب محتوا Mixed content، وجود ترکیبی از منابع مانند تصویر، CSS یا فایل js با نشانیهای http و https است. این مساله علاوه بر ایجاد کندی وردپرس باعث ایجاد خطا و عدم لود صحیح صفحه نیز میشود.
برای رفع این مساله میبایست از افزونه really simple ssl استفاده کنید و قابلیت ترکیب محتوا را برای رفع خطای mixed content بر روی افزونه فعال کنید.
۱۴. بهینهسازی دیتابیس وردپرس
دیتابیس وردپرس، تمام اطلاعات حیاتی وردپرس را در خود نگهداری میکند. اما بدون بهینهسازی، در طول زمان دیتابیس میتواند باعث کندی وردپرس شود.
برای مثال، دیتابیس وردپرس میتواند هنوز اطلاعاتی را در خود داشته باشد که هنگام نصب اولیه وردپرس خود داشتهاید؛ اطلاعاتی در خصوص بازبینی صفحه و نوشتههایی که دیگر وجود ندارند، دیدگاه های حذف شده و …
از این رو بهینهسازی دیتابیس وردپرس برای حفظ کیفیت وردپرس و سرعت وبسایت اهمیت بالایی دارد. برای رفع این مساله میتوانید از افزونههایی مانند WP-Optimize یا WP-Sweep استفاده کنید.
۱۵. به روزرسانی نسخه PHP هاست
وردپرس از زبان برنامه نویسی PHP استفاده میکند؛ یک زبان برنامهنویسی سمت سرور. تمامی افزونهها و پوستههای مورد استفاده روی وردپرس نیز از این زبان برنامهنویسی استفاده میکنند.
هرچه نسخه PHP مورد استفاده برای وبسایت جدیدتر باشد، وبسایت از سرعت بالاتری خواهد داشت. تغییر نسخه PHP وبسایت از طریق کنترل پنل هاست وبسایت شما صورت میگیرد.
البته بایستی در نظر داشته باشید که در حال حاضر بیشتر افزونههای وردپرس، پوستهها و ابزارهای توسعه وردپرس از نسخه ۸.۱ پشتیبانی نمیکنند.
۱۶. استفاده از خدمات هاست باکیفیت
آخرین مورد و البته یکی از مهمترین موارد، استفاده از هاست با کیفیت است.
گاهی اوقات تمامی موارد را برای رفع کندی وردپرس خود رعایت میکنید اما همچنان سرعت پیشخوان یا وبسایت از کیفیت مطلوبی برخوردار نیست. در این شرایط حتی با غیرفعال کردن کلیه افزونهها و استفاده از پوسته پیشفرض وردپرس، سرعت وبسایت چنگی به دل نمیزند؛ در این شرایط بایستی حتما به فکر تعویض هاست خود و استفاده از خدماتی با کیفیتتر از شرکتی دیگر باشید.
برای اضافه کردن فونت به وردپرس روشهای مختلفی وجود دارد که در ادامه ۳ روش اصلی اضافه کردن فونت فارسی به قالب وردپرس را به شما آموزش خواهیم داد.
بایستی دقت داشته باشید که تایپوگرافی مناسب یا اضافه کردن فونت به وردپرس باعث خوانایی بهتر مطالب وردپرس شما خواهد شد. همچنین فونت نه تنها برای جذاب تر شدن ارایه محتوای وبسایت شما به کاربر استفاده می شود بلکه یک امتیاز مثبت نسبت به وبسایت های رقیب شما نیز به شمار می رود.
وردپرس امکان تغییر فونت را در اختیار شما قرار میدهد تا به راحتی فونت فارسی مدنظر خود را بدون کدنویسی و با استفاده از افزونه یا با اعمال استایل به قالب وردپرس خود اضافه کنید.
فونت فارسی برای وردپرس
وقتیکه قصد انتخاب فونت فارسی مناسب برای قالب وردپرس را دارید بایستی اینکار را از بین هزاران منبع انجام دهید. به خاطر داشته باشید که فونتی که برای نمایش در وبسایت خود استفاده میکنید بایستی نه تنها جذابیت ظاهری داشته باشد بلکه فونت فارسی مدنظر شما بایستی دارای معیارهای زیر نیز باشد:
هر فونت فارسی که انتخاب میکنید بایستی خوانایی بالایی داشته باشد.
بایستی متناسب با استایل کلی وبسایت شما و دیگر فونت های فارسی موجود در قالب وردپرس شما باشد.
حروف در کنار هم بایستی ظاهر خوبی داشته باشند.
نمایش فونت در حالت ریسپانسیو و برای نمایش در گوشی تلفن همراه می بایست مناسب باشد.
جدای از این مسایل، تغییر فونت قالب وردپرس باعث تغییر وجه کلی وبسایت شما میشود. اضافه کردن فونت به قالب وردپرس میتواند به برندینگ وبسایت شما کمک کند و با گذشت زمان، کاربران فونت قالب وردپرس شما را بخشی از هویت وبسایت شما و کسب و کار شما خواهند دانست. بنابراین برای اضافه کردن فونت به وردپرس خود بایستی به اندازه کافی محتاط باشید و وسواس به خرج دهید.
فونت فارسی قالب وردپرس را از کجا پیدا کنم؟
اگر در گوگل عبارت «فونت فارسی» یا «دانلود فونت فارسی» را جستجو کنید با هزاران وبسایت مواجه خواهید شد که میتوانید فونت مدنظر خود را از بین این نتایج انتخاب و استفاده کنید. در حال حاضر بهترین منبع دانلود یا خرید قانونی فونت فارسی برای استفاده، وبسایت fontiran.com است.
البته دقت داشته باشید که بیشمار فونت رایگان برای استفاده در وردپرس یا وبسایت وجود دارد اما مشکل غالب آنها عدم استاندارد بالاست که معمولا به مرور زمان و هنگام استفاده در وبسایت با این مسایل روبرو خواهید شد.
در صورتیکه میخواهید از فونت های فارسی رایگان برای قالب وردپرس خود استفاده کنید میتوانید از فونتهای استاندارد وزیر، ساحل، پرستو، صمیم، تنها، گندم و … که در این صفحه می توانید به آنها دسترسی داشته باشید، استفاده کنید.
اضافه کردن فونت به وردپرس
برای اضافه کردن فونت به وردپرس روش های متنوعی وجود دارد و وردپرس امکانات مختلفی در اختیار شما قرار میدهد. در اینجا به سه روش کاربردی برای افزودن فونت به قالب وردپرس و تغییر فونت فارسی در وردپرس آموزش داده میشود.
۱. ویرایش قالب وردپرس برای اضافه کردن فونت فارسی
اگر نمی خواهید فونت را به صورت دستی روی وردپرس خود بارگذاری کنید میتوانید به شکل دیگری فونت را به قالب اضافه کنید. میتوانید از فونت های گوگل برای مثال استفاده کنید. به نشانی فونت گوگل بروید. میتوانید از فونت هایی که در زبان فارسی نیز استفاده میشوند استفاده کنید؛ عبارت Kufi را تایپ کنید و صفحه اختصاصی فونت یکی از استایل های فونت را انتخاب کنید.
وقتیکه اینکار را انجام دادید منوی جدیدی در سمت راست برای شما باز می شود که در بخش use on the web میتوانید لینک دسترسی به فونت را داشته باشید.
این کد بایستی در بین تگ <head> فایل header.php پوسته فرزند وبسایت شما قرار بگیرد.
با اینکار فونت مدنظر شما به قالب وردپرس اضافه میشود و به وردپرس می گویید که قصد اضافه کردن گوگل فونت را به وبسایت دارید. حال برای استفاده از فونت اضافه شده به قالب وردپرس بایستی در فایل استایل پوسته فرزند مشخص کنید که کدام المان میتواند از این فونت استفاده کند؛ به صورت زیر:
body { font-family: 'Noto Kufi Arabic'; }
به یاد داشته باشید که فایل استایل پوسته فرزند شما بایستی در کنار فایل header.php قرار داشته باشد.
۲. بارگذاری فونت در قالب وردپرس
اگر میخواهید وبسایت شما بهترین عملکرد را داشته باشد و بهینه باشد پیشنهاد میشود که فونت را به صورت مستقیم در یکی از پوشه های وبسایت خود بارگذاری کنید و سپس از آن بر روی وبسایت استفاده کنید به این صورت بارگیری فونت و سرعت لود فونت در حد چند میلی ثانیه خواهد بود.
برای انجام اینکار اولین مرحله، بارگذاری فونت روی وردپرس است. از آنجایی که خود وردپرس پوشه اختصاصی برای فونت در نظر نگرفته است میتوانید از طریق پنل هاست خود وارد مسیر نصب وردپرس شوید و پوشه ای را به نام فونت ایجاد کنید. پیشنهاد میشود که این پوشه را در مسیر نصب پوسته خود قرار دهید تا نظارت بر روی پوشه آسان تر باشد.
وقتیکه فایل را ایجاد کردید، فایل style.css قالب فرزند خود را باز کنید. در این مرحله بایستی با کمک استایل زیر آن را فراخوانی کنید.
@font-face {
font-family: New Font;
src: url(http://www.yourwebsite.com/wp-content/themes//fonts/your-new-font.ttf);
font-weight: normal;
}
نام کامل فونت و نشانی محل قرارگیری فونت خود روی وبسایت را جایگزین بخش های مربوطه در تکه کد بالا کنید تا کد بالا به صورت صحیح عمل کند.
وقتیکه این کد را در فایل style.css درج کردید بایستی به مانند روش قبل مشخص کنید که چه بخشی از وبسایت می بایست از این فونت جدید استفاده کنید. به صورت زیر:
.h1 site-title {
font-family: "New Font", Arial, sans-serif;
}
در این مثال یک زیر عنوان از تگ H1 را با فونت جدید نمایش می دهیم. به هر حال می توانید فونت را برای هر المانی در صفحه در نظر بگیرید یا اینکه چندین المان را با فونت جدید نمایش دهید.
۳. استفاده از پلاگین برای اضافه کردن فونت به وردپرس
همیشه در وردپرس راحت ترین روش برای پیاده سازی یک قابلیت جدید نصب و استفاده از پلاگین است. زمانیکه صحبت از استفاده از فونت سفارشی برای قالب وردپرس یا اضافه کردن فونت به وردپرس میشود گزینه های بسیاری دم دست است.
افزونه custom fonts یکی از بهترین افزونه ها برای اضافه کردن فونت به وردپرس شماست. کار با این افزونه بسیار ساده است: افزونه را نصب و فعال میکنید، سپس فونت های مدنظر خود را در فرمت های مختلف بارگذاری میکند و تمام. حالا میتوانید از فونت جدید در قالب و یا حتی در صفحه سازهایی مانند المنتور، صفحه ساز آستارا و … استفاده کنید. این افزونه از زبان فارسی هم پشتیبانی میکند.
در این مقاله توضیح خواهیم داد که چگونه یک متخصص امنیت وردپرس شوید و امنیت وردپرس خود را تامین کنید.
آیا وردپرس امن است؟
اولین پرسشی که شما به عنوان یک متخصص امنیت وردپرس با آن مواجه میشوید این است که آیا به شکل کلی وردپرس امن است؟ با ارفاق میتوان گفت بله. به هر صورت معمولا استفاده از وردپرس تاریخ گذشته و آپدیت نشده، افزونه های نال، مدیریت ضعیف سیستم مدیریت محتوا، مدیریت نادرست گواهینامههای مورد استفاده روی سایت و فقدان دانش کافی در زمینه وب و امنیت باعث میشود که وردپرس مورد توجه هکرها قرار گیرد.
متخصص امنیت وردپرس
آموزش زیر آماده شده تا با دنبال کردن این موارد متخصص امنیت وردپرس شوید و امنیت وردپرس خود یا وردپرس دیگری که مسئولیت امنیت آن بر عهده شما سپرده شده است را تامین کنید.
طبق گزارش وبسایت internetlivestats، روزانه به صورت میانگین بیش از ۱۰۰,۰۰۰ وبسایت هک می شود. به همین دلیل بایستی به امنیت وبسایت خود اهمیت ویژه دهید.
۱. هاست مناسب وردپرس
وقتیکه صحبت از امنیت وردپرس می شود، بایستی به عنوان متخصص امنیت وردپرس بدانید که تنها استفاده از بهترین افزونه امنیتی و پیکربندی صحیح آن کافی نیست. موارد امنیتی در سطح سرور وجود دارد که هاست وبسایت شما پاسخگوی آن است که از دسترس شما خارج است.
خیلی مهم است که از یک هاست معتبر برای راه اندازی وبسایت کسب و کار خود استفاده کنید. در سطح سرور، شرکت هاست می بایست محیط کاملا امنی برای سرور ایجاد کند تا قادر به مقابله با خطرات امنیتی پیچیده هم از نظر فیزیکی و هم مجازی باشد.
به همین منظور سروری که وردپرس شما روی آن میزبانی می شود می بایست همواره جدیدترین نسخه سیستم عامل و نرم افزار امنیتی و … را بر روی خود داشته باشد تا امکان تست صحیح و کامل فضای هاست را برای بررسی وجود آسیب پذیری و بدافزار داشته باشد. همچنین باعث شود از فضایی استفاده کنید که از بهروزترین نرم افزارها استفاده میکند.
۲. استفاده از آخرین نسخه PHP
در مقام یک متخصص امنیت وردپرس بایستی از به روز بودن نسخه PHP مورد استفاده روی سایت مطمئن شوید. PHP ستون فقرات وردپرس شماست و استفاده از آخرین نسخه بر روی سرور و فعال کردن آن روی وبسایت از طریق پنل هاست اهمیت بالایی دارد. هر نسخه جدید PHP پس از انتشار معمولا تا دو سال بعد پشتیبانی می شود؛ یعنی برای آن نسخه به روزرسانی های جدید ارایه میشود. پس از گذشت این مدت پشتیبانی دیگر هیچ بسط یا آپدیت امنیتی ارایه نخواهد شد.
در حال حاضر نسخه ۷.۳ منسوخ شده و دیگر به روزرسانی برای آن ارایه نمی شود.
طبق آمار وردپرس، در حال حاضر بیش از ۳۰ درصد از کاربران وردپرس از نسخه های منسوخ یعنی ۷.۳ و پایین تر روی وبسایت خود استفاده میکنند.
اگر از نسخه PHP که بر روی وردپرس خود استفاده می کنید اطلاعی ندارید میتوانید در بخش سلامت سایت خود روی پیشخوان مدیریت و اطلاعات وردپرس، جزییات نسخه PHP مورد استفاده روی وردپرس را بررسی کنید.
۳. استفاده از کلمه عبور و نام کاربری قدرتمند
یکی از بهترین روش های ایمن کردن وردپرس و بالا بردن امنیت وردپرس به صورت ساده استفاده از کلمه عبور و نام کاربری قدرتمند است. به لیست بیشترین کلمات عبور دزدیده شده دقت کنید:
۱۲۳۴۵۶
password
۱۲۳۴۵۶۷۸۹
۱۲۳۴۵۶۷۸
۱۲۳۴۵
۱۱۱۱۱۱
۱۲۳۴۵۶۷
sunshine
qwerty
iloveyou
یکی از محبوب ترین کلمات عبور ۱۲۳۴۵۶ است.
حتما از کلمات عبور پیچیده استفاده کنید و از نام کاربری پیش فرض وردپرس نیز استفاده نکنید. برای وبسایت های مختلف از کلمات عبور مختلف استفاده کنید. میتوانید از ابزارهایی مانند KeePass برای ذخیره سازی کلمات عبور استفاده کنید.
۴. همیشه وردپرس، افزونه و پوسته مورد استفاده را به روز نگاه دارید
یکی از موارد بسیار مهم دیگر برای حفظ امنیت وردپرس، به روز نگهداشتن هسته، افزونه و پوسته مورد استفاده روی وردپرس است. به روزرسانی یک محصول مانند افزونه یا پوسته به دلایل بسیاری ارایه میشود که رفع باگ یا بهبود امنیت محصول نیز میتواند از دلایل ارایه به روزرسانی جدید باشد. یک متخصص امنیت وردپرس نبایستی هیچگاه به روزرسانی وردپرس، افزونه و پوسته را به تاخیر بیاندازد.
متاسفانه میلیون ها کسب و کار از نسخه های قدیمی و تاریخ گذشته وردپرس، افزونه یا پوسته بر روی وبسایت خود استفاده میکنند و همچنان معتقدند که کسب و کار آنها در مسیر موفقیت گام برمیدارد. در این دست وبسایت ها، گهگاهی افزونه X کار نمی کند یا وبسایت در برخی مواقع کرش میکند.
۵. تغییر صفحه ورود وردپرس
یکی از روش های محبوب برای افزایش امنیت وردپرس تغییر صفحه ورود وردپرس است. با انجام اینکار امکان یافتن صفحه ورود برای هکرها سخت تر میشود. با وجود افزونه های زیاد روی مخزن وردپرس اینکار به سادگی صورت میگیرد.
به صورت پیش فرض نشانی صفحه ورود وردپرس domain.com/wp-admin است. برای تغییر نشانی صفحه ورود بایستی از افزونه هایی مانند WPS Hide login استفاده کنید.
روش دیگر برای ایمن کردن صفحه ورود به وبسایت، محدود کردن تلاش های ورود به وبسایت است. این روش، یک راه حل تکمیلی در کنار روش بالا برای مخفی کردن صفحه ورود به شمار می رود. افزونه Cerber Limit Login Attempts را بر روی وردپرس خود نصب و فعال کنید و سپس تعداد تلاش های مجاز برای ورود و سایر جزییات را تنظیم کنید.
۶. استفاده از ورود دو مرحله ای برای وردپرس
قابلیت ورود دو مرحله ای باعث ایجاد یک گام اضافی برای ورود به وردپرس شما میشود. این گام اضافی علاوه بر کلمه عبور برای ورود میتواند پیامک، تماس تلفنی یا کلمه عبور یکبار مصرف باشد.
با توجه به شیوه ای که برای ورود در روش ورود دو مرحله ای برای وردپرس استفاده می شود، عملا امکان ورود غیرمجاز به وبسایت شما دیگر وجود نخواهد داشت چون امکان دسترسی به کلمه عبور و گوشی همراه شما به صورت همزمان امکان پذیر نیست.
یکی از مهمترین روش ها برای افزایش امنیت وردپرس نصب یک گواهینامه SSL بر روی سایت است. HTTPS مکانیزمی است که به مرورگر شما اجازه ارتباط امن با یک وبسایت را میدهد.
امنیت
یکی از بزرگترین دلایل استفاده از HTTPS، افزایش امنیت وردپرس است. استفاده از ssl برای مخصوصا وبسایت های فروشگاهی توصیه می شود. با کمک این قابلیت هکرها قادر به دسترسی و دزدیدن اطلاعات از ارتباط بین مرورگر کاربر و وبسایت نخواهند بود.
بنابراین چه یک وبسایت فروشگاهی داشته باشید یا یک وبسایت شخصی یا خبری بایستی از این قابلیت روی وبسایت خود استفاده کنید. فعالسازی ssl از طریق هاست وبسایت شما صورت میگیرد.
سئو
گوگل رسما توضیح داده است که یکی از عوامل تاثیرگذار در رتبه بندی استفاده از https است. هرچند عامل مهمی در بهبود رتبه وبسایت شما محسوب نمی شود اما قاعدتا نمیخواهید که مزیت کمتری نسبت به رقبای خود داشته باشید.
اطمینان و اعتبار
طبق تحقیق منتشر شده توسط GlobalSign، حدود ۳۰% از بازدیدکنندگان وبسایت شما به رنگ سبز در نوار آدرس مرورگر خود دقت می کنند. و ۷۷% از آنها در خصوص سواستفاده از اطلاعات خود از جانب وبسایت شما نگران هستند. با مشاهده قفل سبز در کنار آدرس وبسایت شما مشتریان فورا اطیمنان خاطر خواهند یافت که داده های آنها در وبسایت شما امن است.
۸. تغییر مسیر فایل wp-config.php
یکی از موارد دیگری که بایستی به عنوان یک متخصص امنیت وردپرس به آن توجه ویژه داشته باشید، فایل wp-config.php است. فایل wp-config.php قلب و روح وردپرس شماست. با اختلاف زیاد مهمترین فایل در وردپرس شما فایل wp-config.php محسوب میشود. اطلاعات لاگین به دیتابیس و کلیدهای امنیتی که رمزنگاری اطلاعات در کوکی ها را مدیریت میکنند در این فایل حاضر هستند. برای ایمن کردن wp-config.php کارهای زیر را میتوانید انجام دهید.
جابجایی و تغییر مسیر فایل wp-config.php
به صورت پیش فرض، فایل wp-config.php در ریشه وردپرس قرار دارد. البته میتوانید این فایل را به یک مسیر جدید که قابل دسترسی نیست انتقال دهید.
برای تغییر مسیر فایل wp-config.php بایستی تمامی اطلاعات داخل این فایل را کپی کنید و در فایلی دیگر قرار دهید سپس نشانی فایل جدید را در wp-config.php وردپرس خود include کنید. به صورت زیر:
<?php
include('/home/yourname/wp-config.php');
۹. محدود کردن فایل xmlrpc
در سالیان گذشته xmlrpc هدف جذابی برای حملات بروت فورس بوده است. قابلیت های پنهانی که در xmlrpc وجود دارد این امکان را ایجاد میکند تا چندین متد را در یک درخواست اجرا کنیم. البته این قابلیت، قابلیت بسیار خوبی است چرا که میتوان چند دستور را در یک درخواست HTTP ارسال کرد. اما در کنار مزیت، امکان سواستفاده نیز به راحتی ایجاد میشود.
افزونه های زیادی بر روی وردپرس هستند که به xmlrpc متکیاند مانند افزونه جتپک. البته در معدود مواقعی این فایل توسط مدیر هاست مسدود میشود.
مخفی کردن نسخه وردپرس یکی از روش های دیگر برای افزایش امنیت وردپرس است. به صورت پیش فرض نسخه وردپرس مورد استفاده شما در هدر وبسایت شما قابل دسترسی است.
میتوانید با تکه کد زیر در functions.php قالب فعال خود، نمایش نسخه وردپرس مورد استفاده در متای وبسایت را غیرفعال کنید.
function wp_version_remove_version() {
return '';
}
add_filter('the_generator', 'wp_version_remove_version');
دیگر نقطه ای از وبسایت شما که نسخه وردپرس در آن نمایش داده میشود به صورت پیش فرض فایل readme.html است که در هر نسخه از وردپرس قرار دارد. این فایل در ریشه وبسایت شما قرار دارد. میتوانید به آسانی این فایل را از این مسیر پاک کنید.
۱۱. افزونه افزایش امنیت سایت وردپرس
گام بزرگ دیگری که یک متخصص امنیت وردپرس بایستی بردارد، انتخاب و پیکربندی صحیح افزونه امنیتی وردپرس است. افزونه های بسیاری برای افزایش امنیت سایت وردپرس شما در دسترس هستند. از آن جمله میتوان به WordFence Security، iThemes Security و … اشاره کرد.
برخی از قابلیت هایی که افزونه های افزایش امنیت سایت وردپرس در اختیار شما قرار میدهند عبارتند از:
ایجاد و اجبار به استفاده از کلمات عبور قدرتمند زمانیکه نام کاربری جدیدی ایجاد می شود.
تعیین بازه های زمانی مشخص برای اجبار کاربر به تغییر کلمه عبور
ثبت گزارش عملکرد کاربر
به روزرسانی آسان کلیدهای امنیتی وردپرس
اسکن بدافزار
احراز هویت دو مرحله ای
ریکپچا
فایروال امنیتی وردپرس
وایت لیست و بلک لیست کردن IP
بررسی تغییرات dns
انسداد شبکه های مشکوک
مشاهده اطلاعات WHOIS بازدیدکنندگان
۱۲. ارتقای امنیت دیتابیس وردپرس
روش های مختلفی برای ارتقای امنیت دیتابیس وردپرس وجود دارد. در ابتدا بهتر است هنگام انتخاب نام دیتابیس، آن را هوشمندانه انتخاب کنید و از پیشنهاد پیش فرض وردپرس استفاده نکنید. توصیه بعدی استفاده از پیشوند متفاوت برای جداول پایگاه داده وردپرس است. به صورت پیش فرض از پیشوند _wp استفاده میشود که میتوانید آن را به عبارت دیگری هنگام نصب وردپرس تغییر دهید.
۱۳. سطح دسترسی فایل های وردپرس را بررسی کنید
سطح دسترسی فایل های وردپرس خود را از طریق مدیر فایل پنل هاست بررسی کنید. متخصص امنیت وردپرس بایستی اطمینان یابد که سطح دسترسی فایل بر روی ۶۴۴ و پوشه بر روی ۷۵۵ تنظیم شده باشد.
هیچ پوشه ای نبایستی دسترسی ۷۷۷ داشته باشد و همچنین فایل wp-config.php بایستی سطح دسترسی ۴۴۰ یا ۴۰۰ داشته باشد تا امکان خوانده شدن آن توسط سایر کاربران وجود نداشته باشد.
۱۴. غیرفعال کردن ویرایش فایل در داشبورد وردپرس
بسیاری از سایت های وردپرس دارای چند مدیر و کاربر هستند که مساله حفظ امنیت وردپرس را پیچیده تر میکند. ایجاد دسترسی مدیر برای نویسندگان یا بی توجهی به سطح دسترسی کاربران است یک رویه اشتباه است که بسیاری از صاحبان وبسایت از این روش استفاده می کنند.
این اتفاق اکثر اوقات در وبسایت های وردپرسی رخ میدهد. بهترین راه حل غیرفعال کردن امکان ویرایش فایل در داشبورد مدیریت وردپرس است. برای اینکار میبایست فایل wp-config.php را باز کنید و خط زیر را به فایل اضافه کنید.
define('DISALLOW_FILE_EDIT', true);
۱۵. افزونه بک آپ وردپرس
گام آخر یک متخصص امنیت وردپرس برای تامین امنیت وبسایت استفاده از افزونه بک آپ وردپرس مانند Updraft، Duplicator و BackupBuddy و … یا ایجاد بک آپ دستی از طریق پنل هاست است و بایستی همیشه به خاطر داشته باشید و به صورت دوره ای و منظم از وبسایت خود بک آپ داشته باشید.
در برخی از افزونه های بک آپ وردپرس امکان تنظیم زمانبندی برای ایجاد بک آپ خودکار از وردپرس نیز وجود دارد.
REST API وردپرس در آینده وردپرس نقش مهمی را ایفا خواهد کرد. در صورتیکه نام REST API وردپرس را نشنیدهاید اما حتما از آن در وردپرس به عنوان یک کاربر استفاده کردهاید.
REST API وردپرس چیست؟
REST API وردپرس رابط کاربری است که توسعهدهندگان میتوانند با استفاده از آن از بیرون از وردپرس به وردپرس دسترسی داشته باشند. این دسترسی با کمک جاوا اسکریپت انجام میشود.
API مجموعه کدهایی است که به یک سیستم اجازه تعامل با سیستم دیگر را میدهد. نمونه بسیار ساده استفاده از نقشه گوگل در وبسایت وردپرس است که قطعا تجربه کار با آن را داشتهاید.
REST چیست؟
REST استانداردهایی را ارایه میکند که سیستمهای تحت وب بتوانند با کمک آنها با یکدیگر ارتباط برقرار کنند. بدون REST دو سیستم قادر به درک یکدیگر نیستند و در نتیجه نمیتوانند دادهای را بین خود رد و بدل کنند.
درک REST API وردپرس
قرار دادن REST و API در کنار یکدیگر برای سیستم مدیریت محتوای وردپرس به این معناست که مجموعه کدهایی طراحی شدهاند تا این امکان را در اختیار سیستمهای دیگر قرار میدهند تا با رابط کاربری وردپرس ارتباط برقرار کنند.
به عبارت دیگر یعنی اینکه وبسایت یا اپ دیگری امکان دسترسی به پایگاهداده وردپرس شما را خواهد داشت و دادههایی را از آن فرامیخواند و دادههایی را به آن اضافه میکند.
تاریخچه REST API وردپرس
REST API وردپرس در دسامبر ۲۰۱۶ با عرضه نسخه ۴.۷ ارایه شد. از این قابلیت به صورت گسترده بر روی WordPress.com استفاده میشود که از رابط جاوا اسکریپت برای تعامل با پایگاه داده وردپرس استفاده میشود.
کاربردهای REST API وردپرس برای کاربران و توسعهدهندگان
اگر توسعه دهنده وردپرس یا کاربر این سیستم مدیریت محتوا هستید، REST API وردپرس کاربردهای زیر را برای شما دارد.
برای کاربران:
تغییر رابط از جمله ویرایشگر گوتنبرگ.
تغییر و بهبود اپ موبایل وردپرس
صفحه مدیریت وردپرس بر روی هاستهای شخصی بیشتر به صفحات مدیریت WordPress.com شبیه شده است.
برای توسعهدهندگان امکانات و قابلیتهای بیشتری ارایه میکند:
قابلیت ساخت اپهای تک صفحهای با استفاده از REST API
قابلیت تعامل وردپرس با دیگر فناوریها و سیستمها.
امکان توسعه وردپرس در صورتیکه توسعهدهنده فرانتاند هستید و علاقهای هم به PHP ندارید.
نیاز به تغییرات مشخص از جمله نیاز به ساخت بلوکهای گوتنبرگ به جای ایجاد متاباکس در صفحات ویرایش نوشته و برگه.
اگر توسعهدهنده وردپرس هستید به این معناست که نیاز به یادگیری جاوا اسکریپت خواهید داشت.
چگونه به REST API وردپرس دسترسی داشته باشم
برای دسترسی به REST API وردپرس بایستی به وبسایت خود از طریق خط فرمان دسترسی داشته باشید. در وردپرس این خط فرمان WP-CLI نامیده میشود و نیازی به صفحات مدیریت وبسایت ندارید.
دسترسی به REST API وردپرس از طریق WP-CLI
WP-CLI رابط خط فرمان در وردپرس است. این ابزار به شما اجازه دسترسی و کار با وردپرس از طریق رابط خط فرمان بر روی کامپیوتر شما را میدهد.
برای دسترسی به CLI صفحه CMD را در ویندوز خود باز کنید. برای دسترسی از راه دور به وبسایت بایستی ابتدا SSH بر روی سرور خود داشته باشید.
تایید اعتبار
وقتیکه به وبسایت خود دسترسی پیدا کردید بایستی رویه تایید اعتبار را دنبال کنید. رویه تایید اعتبار در REST API وردپرس متفاوت از رویه لاگین به داشبورد مدیریت وردپرس شماست.
برای تایید اعتبار به سایت از طریق WP-CLI بایستی یک افزونه تایید اعتبار بر روی وردپرس خود نصب کنید. برای اینکار میتوانید افزونه Basic Auth را نصب و فعال کنید.
در مثال زیر با استفاده از curl برای آزمایش ارتباط با وردپرس تمام پستهای پیشنویس بر روی وردپرس نمایش داده میشود:
curl -X GET --user username:password -i http://yoursite.com/wp-json/wp/v2/posts?status=draft
پستهای پیشنویس اطلاعات عمومی نیستند در نتیجه برای دسترسی به آنها بایستی هویت شما تایید شود. اما اگر به دنبال اطلاعاتی هستید که عمومی هستند نیاز به تایید هویت شما نیست. بنابراین برای مشاهده لیستی از پستهای منتشر شده میتوانید از دستور زیر استفاده کنید:
curl -X GET http://yoursite.com/wp-json/wp/v2/posts
بررسی دستورات REST API وردپرس
زمانیکه به وبسایت خود دسترسی پیدا کردید و اینکه شیوه تایید هویت را فراگرفتید بایستی از دستورات زیر برای تعامل با وبسایت خود استفاده کنید.
دستورات مربوط به REST API وردپرس در زیر توضیح داده شده است.
GET وظیفه بازیابی منابعی مانند پست یا دادههای دیگر را دارد.
POST منبعی را به سرور میافزاید مثلا یک پست، ضمیمه یا منبعی دیگر.
PUT میتواند برای ویرایش یا بهروزرسانی یک منبع که پیشتر بر روی سرور وجود دارد استفاده شود.
DELETE منبعی را از سرور حذف میکند.
چرا نباید از REST API وردپرس استفاده کنیم
REST API وردپرس همیشه روش درستی برای توسعه یک وبسایت یا اپ به حساب نمیآید. در خصوص استفاده از REST API وردپرس نکاتی وجود دارد که بایستی به آنها دقت کنیم.
سازگاری
اگر اپ شما بر روی دستگاههایی اجرا شود که از جاوا اسکریپت پشتیبانی نمیکنند یا توسط کاربرانی استفاده شود که این امکان را خاموش کرده باشند در صورت استفاده از REST API این قابلیت برای کاربر دیگر عمل نخواهد کرد.
دسترسپذیری
وبسایتها یا اپهایی که با کمک جاوا اسکریپت توسعه داده میشوند همیشه به مانند خروجی HTML در دسترس نیستند.
این مساله بیشتر به این دلیل است که جاوا اسکریپت برای ارایه محتوای پویا استفاده میشود که احتمالا در صفحهخوانها به خوبی عمل نمیکنند.
سئو
برنامههای تک صفحهای برخی اوقات مسایلی با سئو دارند. در حال حاضر گوگل و سایر موتور جستجوها به این مساله دقت بیشتری دارند اما هنوز هم نیاز به دقت زیاد در خصوص سئو این صفحات است.
اگر میخواهید به صورت کلی REST API وردپرس را غیرفعال کنید و امکان دسترسی به دادههای وبسایت شما با استفاده از REST API وجود نداشته باشد میتوانید این قابلیت را به راحتی در وردپرس خود غیرفعال کنید. البته دقت داشته باشید که به دادههای عمومی نه تنها شما بلکه هر شخصی امکان دسترسی خواهد داشت.
برای اینکار بایستی افزونه Disable WP REST API را نصب و فعال کنید. این افزونه قابلیت REST API وردپرس را غیرفعال خواهد کرد.
در صورتیکه نمیخواهید از افزونه برای غیرفعال کردن این امکان بر روی وبسایت خود استفاده کنید میتوانید از کد زیر در فایل functions.php قالب استفاده کنید.
هوک در وردپرس یکی از مهمترین ابزارها برای توسعه قالب و افزونه محسوب میشود. شما میتوانید از هوکهای بیشماری در وردپرس خود برای بهینهسازی، تغییر یا اصلاح پوسته، افزونه و وردپرس استفاده کنید.
دو نوع هوک در وردپرس وجود دارد: اکشن action hook و فیلتر filter hook. هوک در وردپرس به اندازهای معمول است که حتی هسته وردپرس از آنها به صورت اختصاصی برای خود استفاده میکند. همچنین وردپرس روشی را برای تعریف هوک سفارشی در وردپرس در اختیار توسعهدهندگان قرار میدهد.
هوک در وردپرس چیست؟
یک صفحه وردپرس از تعداد نامحدودی از توابع و کوئریهای پایگاهداده ساخته شده است. هسته وردپرس، افزونه و پوسته با هم کار میکنند تا یک عنصر را در صفحه نمایش دهند؛ مانند متن، تصویر، اسکریپت و یا استایل.
هوک در وردپرس به شما اجازه میدهد تا به نقاط مشخصی قلاب خود را پرتاب کنید و کد مورد نظر خود را در آن نقطه اجرا کنید. تابع اصلی هوک در وردپرس است که به شما اجازه تغییر یا افزودن ویژگی به وردپرس را بدون دستکاری فایلهای اصلی میدهد.
با کمک توابع هوک در وردپرس میتوانید کد مدنظر خود را در تابع جدید قرار دهید. وقتیکه تابع ثبت شد، این کد زمانیکه هوک اجرا شود نیز اجرا خواهد شد. با این روش خروجی پیشفرض وردپرس را میتوانید در نقاط مشخصی از وبسایت خود تغییر دهید.
دو نوع هوک در وردپرس: اکشن و فیلتر
وردپرس دو نوع هوک به نام اکشن و فیلتر دارد. اکشن به شما اجازه میدهد تا کاری را در نقطه از پیش تعیین شده در وردپرس خود اجرا کنید در حالیکه فیلتر به شما اجازه میدهد تا هر دادهای که توسط وردپرس پردازش شده را تغییر دهید و دوباره به اجرا درآورید.
برای مثال اکشن wp_head را در نظر داشته باشید هر زمانیکه هدر وبسایت پردازش شود میتوانید کد خود را با کمک این هوک در وردپرس به اجرا درآورید.
در اکشن بالا، استایل مدنظر خود را در قالب وبسایت خود لود کردهاید.
تابعی که برای تغییر خروجی استفاده میکنید میتواند تابع معمولی در PHP باشد، توابع پیشفرض وردپرس یا یک سری توابع سفارشی از پیش تعریف شده باشد.
در حال حاضر بیش از ۲۲۰۰ هوک پیشفرض برای وردپرس وجود دارد که با استفاده از این هوکها مشخصا کار برای توسعه وردپرس بسیار آسان و سریع شده است.
فیلتر، اکشن و هوک در وردپرس
هوک در وردپرش روشی برای تغییر/تعامل تکه کد با تکه کدی دیگر است. همانطور که گفته شد دو نوع هوک در وردپرس وجود دارد: اکشن و فیلتر.
اکشن ها در وردپرس Action hooks
در زیر به خصوصیات اکشن Action در وردپرس خواهیم پرداخت:
از اکشنها در وردپرس برای اجرای توابع مدنظر در نقطه زمانی مشخص در وردپرس استفاده میشود.
اکشنها توسط تابع do_action در هسته وردپرس تعریف و ساخته میشوند.
اکشنها را Action hooks مینامند.
اکشنها تنها به توابع اکشن قلاب میشوند. مثلا add_action و remove_action
در توابع اکشن بایستی آرگومانها به توابع تعریف شده انتقال داده شوند.
توابع اکشن هر نوع کاری را میتوانند انجام دهند؛ از جمله تغییر در شیوه عملکرد وردپرس.
توابع اکشن نبایستی مقداری را return کنند. اما امکان استفاده از echo برای نمایش خروجی تعامل با پایگاهداده وجود دارد.
اکشها تقریبا هرچیزی را اجرا میکنند.
فیلترها در وردپرس Filter hooks
در زیر به خصوصیات و ویژگیهای فیلترها در وردپرس اشاره میکنیم:
از فیلترها در وردپرس برای تغییر یا سفارشیسازی دادههای مورد استفاده در دیگر توابع استفاده میشود.
فیلترها توسط توابع apply_filters در هسته وردپرس تعریف/ساخته میشوند.
فیلترها را نیز Filter hooks مینامند.
فیلترها تنها میتوانند به توابع فیلتر هوک شوند: add_filter و remove_filter.
توابع فیلتر بایستی دستکم یک آرگومان را به تابع تعریف شده در خود انتقال دهند.
توابع فیلتر تنها برای تغییر دادههای انتقال داده شده به خودشان توسط فیلترها ایجاد شدهاند.
توابع فیلتر بایستی تغییرات را به صورت خروجی return کنند. حتی اگر یک تابع فیلتر تغییری ایجاد نکرده باشد هنوز هم بایستی ورودی تغییر داده نشده را return کند.
فیلترها بایستی با دقت استفاده شوند تا نتایج ناخواستهای را در خروجی نمایش ندهند.
گاهی پیش میآید که میتوانید از هم اکشن و هم فیلتر برای انجام یک کار استفاده کنید. برای مثال اگر میخواهید متن یک پست را تغییر دهید میتوانید هم از اکشن publish_post استفاده کنید و محتوای پست را زمانیکه در پایگاهداده ذخیره میشود تغییر دهید.
function change_text_callback() {
// add the code to change text here
}
add_action( 'publish_post', 'change_text_callback' );
یا اینکه میتوانید تابعی را با فیلتر the_content برای تغییر محتوای پست پیش از نمایش در مرورگر کاربر استفاده کنید.
function change_text_another_callback( $content ) {
// add the code to change text here and then return it
return $filtered_content;
}
add_filter( 'the_content', 'change_text_another_callback');
هوک و توابع آنها را کجا قرار دهم؟
دو روش برای افزودن هوک به وردپرس وجود دارد:
افزونه: میتوانید افزونه خودتان را بسازید و کد سفارشی خود را درون افزونه برای اجرا بر روی وردپرس قرار دهید.
پوسته فرزند: هوک و تابع تعریف شده خود را در functions.php پوسته فرزند قالب قرار دهید.
هوک وردپرس به خودی خود کاری انجام نمیدهد. هوک در بین کدها جای میگیرد و منتظر تابعی برای فعال شدن آن میماند.
برای استفاده از هوک ابتدا بایستی هوک را با تابع هوک ثبت کنید و سپس تابع مدنظر خود را در تابع هوک تعریف کنید. وردپرس نیز هر زمانیکه هوک اجرا شود تابع شما را اجرا خواهد کرد.
استفاده از هوک اکشن در وردپرس
به عنوان مثال از اکشن زیر در وردپرس خود برای نمایش پیام «در دست تعمیر» بر روی وردپرس برای بازدیدکنندگان سایت میتوانید استفاده کنید.
add_action( 'get_header', 'maintenance_message' );
function maintenance_message() {
if (current_user_can( 'edit_posts' )) return;
wp_die( '<h1>Stay Pawsitive!</h1><br>Sorry, we\'re temporarily down for maintenance right meow.' );
}
get_header اکشنی است که پیش از اینکه فایل هدر پوسته بارگیری شود اجرا خواهد شد. این اکشن، یک هوک خوب برای قرار دادن کد مدنظر پیش از اینکه وبسایت به صورت کامل بارگیری شود است.
با کمک تابع add_action به اکشن get_header با تابع maintenance_message قلاب میشود.
تابع maintenance_message تعریف میشود.
current_user_can( ‘edit_posts’ ) تابعی است که بررسی میکند که آیا کاربری که از صفحه دیدن میکند امکان ویرایش پست را دارد یا خیر. هر کاربر ثبتنام شده در وردپرس غیر از آنهایی که نقش مشترک را دارند امکان ویرایش پست را خواهند داشت.
تابع wp_die اجرای وردپرس را متوقف کرده و صفحه HTML با مقدار مدنظر ما را به کاربر نمایش میدهد.
یافتن هوکهای ثبت شده در یک صفحه وردپرس
بعد از اینکه دانستیم یک هوک در وردپرس چیست و چگونه عمل میکند بایستی هوکهای موجود در یک صفحه را بیابیم.
برای اینکار میتوانید از افزونههایی مانند Debug Bat و Query Monitor استفاده کنید تا هوکهای موجود در یک صفحه را به شما نمایش دهند.
یافتن هوک با کمک افزونه Debug Bar
Debug Bar افزونه رسمی وردپرس است که منوی عیبیابی یا دیباگ را به نوار مدیریت وبسایت شما اضافه خواهد کرد. این افزونه اخطار و اعلانات PHP، درخواستهای کش، کوئریهای MySQL و دیگر اطلاعات مفید را در اختیار شما قرار میدهد.
پس از اینکه افزونه را نصب کردید بایستی تکه کد زیر را به فایل wp-config.php وبسایت خود اضافه کنید تا امکانات عیبیابی در وردپرس شما فعال شود.
بعد از انجام اینکار امکان مشاهده نوار دیباگ و تنظیمات آن را در نوار منوی وبسایت خود خواهید داشت.
پس از اینکار بایستی افزونه تکمیلی Debug Bar Actions and Filters Addon را بر روی وردپرس خود نصب کنید. با اینکار تب جدیدی برای نمایش هوک ها به دیباگ افزونه اضافه خواهد شد.
یافتن هوک با کمک افزونه Query Monitor
افزونه دیگر که ابزاری قدرتمند برای توسعه و عیبیابی وردپرس محسوب میشود Query Monitor است. از این افزونه میتوانید برای کاوش بین سیلی از هوکهای در دسترس در صفحه استفاده کنید.
برخلاف افزونه Debug Bar نیازی به نصب افزونه تکمیلی نیست و پس از نصب و فعال سازی افزونه امکان مشاهده هوکهای در دسترس را خواهید داشت.
خطای WordPress Missing MySQL Extension به صورت معمول بدین معناست که مشکلی در کد وبسایت شما وجود دارد و مشکلی باعث عدم ارتباط وبسایت با پایگاهداده MySQL شده است.
علت بروز خطای WordPress Missing MySQL Extension چیست؟
این پیام خطا که به صورت کامل Your PHP installation appears to be missing the MySQL extension نمایش داده میشود زمانی ایجاد خواهد شد که PHP روی سرور وبسایت شما از بسط یا اکستنشن لازم برای ارتباط وردپرس شما با پایگاهداده MySQL استفاده نمیکند.
خطای WordPress Missing MySQL Extension به دو دلیل رخ میدهد:
۱. از نسخه قدیمی وردپرس در کنار PHP جدید استفاده میکنید.
اگر از نسخه خیلی قدیمی وردپرس با نسخه جدید PHP استفاده کنید ممکن است با این پیام خطا مواجه شوید چرا که PHP 7.0 دیگر از اکستنشن MySQL استفاده نمیکند. یعنی اینکه PHP 7 و بالاتر از اکستنشن مدنظر وردپرس قدیمی دیگر استفاده نمیکنند.
نسخههای جدید وردپرس از دستورات جدید و جایگزین برای عدم بروز مشکل و سازگاری با نسخههای جدید PHP در خود استفاده میکنند. بهرحال نسخههای قدیمی (قدیمیتر از ۳.۹) باعث بروز این خطا خواهند شد.
۲. از PHP 5.6 یا قدیمیتر استفاده میکنید.
احتمال دیگر برای بروز این خطا استفاده از PHP 5.6 است که اکستنشن مربوطه وجود ندارد یا به صورت درست پیکربندی نشده است.
رفع خطای WordPress Missing MySQL Extension
در این مرحله پس از شناخت دلایل بروز این خطا میتوانید از راهنمایی که در ادامه ارایه خواهد شد برای حل مساله استفاده کنید.
۱. بررسی نسخه PHP که برای وبسایت استفاده میکنید
اولین گام برای بررسی مساله و حل آن بررسی نسخه PHP مورد استفاده برای وبسایت است. برای اینکار میتوانید به پنل هاست خود مراجعه کنید و از طریق ابزارهایی که بر روی پنل هاست در نظر گرفته شده است برای بررسی نسخه PHP وبسایت خود استفاده کنید.
همچنین میتوانید به مسیر ریشه هاست خود بر روی کنترل پنل هاست مراجعه کنید و فایل PHP جدیدی با نام phpinfo.php ایجاد کنید و محتوای آن را به صورت زیر تنظیم کرده و صفحه را ذخیره کنید:
<?php
phpinfo();
?>
سپس به نشانی صفحه ذخیره شده خود بر روی مرورگر بروید و نسخه PHP وبسایت خود را مشاهده کنید: https://example.com/phpinfo.php
در صفحهای که مشاهده میکنید اطلاعات بسیاری در خصوص پیکربندی PHP بر روی سرور وبسایت شما وجود دارد. به انتهای صفحه و بخش Core مراجعه کنید و به دنبال آیتم PHP Version باشد. رقم روبروی این آیتم نسخه PHP وبسایت شما را نشان میدهد.
همیشه سعی کنید که از جدیدترین نسخه PHP برای وبسایت خود استفاده کنید. در صورتیکه نسخه پایینتر از ۷ بر روی وبسایت شما تنظیم شده است اقدام به تغییر نسخه PHP برای وبسایت خود کنید یا از پشتیبان هاست خود بخواهید اینکار را برای شما انجام دهد.
۲. بهروزرسانی نرمافزار وردپرس
اگر سرور وبسایت شما از نسخه PHP 7 و بالاتر برای وبسایت شما استفاده میکند احتمالا به دلیل نسخه قدیمی وردپرس با خطای WordPress Missing MySQL Extension مواجه شدهاید. در صورتیکه از نسخه ۳.۹ و پایینتر برای وردپرس خود استفاده میکنید، بایستی حتما از جدیدترین نسخه وردپرس استفاده کنید.
پیش از ارتقا نسخه وردپرس حتما از وردپرس خود بکآپ تهیه کنید.
۳. بررسی نصب بودن اکستنشن MySQL
اگر سرور وبسایت شما هنوز از PHP 5.6 یا پایینتر استفاده میکند احتمالا اکستنش ضروری نصب نیست و همین مساله باعث بروز خطای WordPress Missing MySQL Extension شده است.
برای بررسی این مساله، فایل phpinfo.php را باز کنید و به دنبال عبارت mysql یا mysqli باشید. در صورتیکه اکستنشن MySQL نصب باشد میبایست نسخه آن را نیز در این بخش مشاهده کنید.
در صورتیکه این اطلاعات را نمییابید بدین معناست که این اکستنشن MySQL بر روی وب سرور نصب نیست و بایستی در این خصوص با پشتیبان هاست خود برای نصب آن و رفع خطای WordPress Missing MySQL Extension در ارتباط باشید.
در حال حاضر توصیه میشود از نسخه PHP 7.4 به پایین برای وبسایت خود استفاده نکنید چرا که دیگر برای نسخههای پایینتر بهروزرسانی امنیتی ارایه نمیشود و به خوبی و سرعت نسخههای جدیدتر نیستند.
تغییر اندازه تصویر شاخص در وردپرس را در این آموزش به شما خواهیم آموخت. تصویر شاخص در وردپرس یکی از مهمترین تصاویری است که شما به پستهای وردپرس خود میافزایید. چیزی که تصویر شاخص را بسیار مهم میکند روش استفاده از آن است.
تصویر شاخص به همراه عنوان نوشته اولین چیزی است که کاربران از لینک به اشتراک گذاشته شده نوشته شما در صفحات شبکههای اجتماعی مشاهده میکنند. در واقع تصویر شاخص در تصمیمگیری کاربران به کلیک کردن یا نکردن بر روی لینک نوشته شما تاثیر مستقیم دارد.
تصویر شاخص در وردپرس بنا به نوع پوستهای که بر روی وبسایت خود استفاده میکنید میتواند کاربردهای دیگری هم داشته باشد. تصویر شاخص نوشته در سایدبار، نوشتههای مرتبط، صفحه اصلی و … نمایش داده میشود.
برای مثال تصور کنید که میخواهید که عناوین پربازدیدترین نوشتهها بر روی وبسایت خود را در سایدبار نمایش دهید در این شرایط تصویر شاخص نوشته اهمیت دوچندانی خواهد یافت.
انتخاب تصویر شاخص مناسب برای نوشته میتواند کاربر را بیشتر به کلیک بر روی نوشته ترغیب کند.
تغییر اندازه تصویر شاخص در وردپرس در چه شرایطی ضروریست؟
وقتیکه تصویری را در رسانههای وردپرس خود بارگذاری میکنید، وردپرس به صورت خودکار کپیهای دیگری با اندازههای متفاوت از تصویر اولیه نیز ایجاد میکند. این اندازههای جدید به این صورت هستند:
150px – بندانگشتی Thumbnail
300px – میانه Medium
768px – میانه بزرگ Medium Large
1024px – بزرگ Large
دو اندازه دیگر با مقادیر 1536px و 2048px از نسخه ۵.۳ وردپرس به جمع این مقادیر اضافه شدند.
اندازههای جدیدی که از روی تصویر اولیه بارگذاری شده ایجاد میشوند از محیط پیشخوان مدیریت وردپرس قابل دسترس نیست. علاوه بر این برخی از پوستهها از تصویر با ابعاد مشخص برای تصویر شاخص نوشتههای خود استفاده میکنند.
بنا به نوع پوستهای که از آن استفاده میکنید بعضی از کپیهای ایجاد شده از تصویر اولیه ممکن است بسیار بزرگ باشند.
تصویر بزرگتر به معنای اندازه و حجم بیشتر است و در نتیجه باعث افزایش حجم صفحه برای کاربر خواهد شد. بنابراین در شرایطی که اندازه صفحه در پوسته 1200px است نیازی به نمایش تصویر با ابعاد 1568px نیست.
تغییر اندازه تصویر شاخص در وردپرس
برای تغییر اندازه تصویر شاخص در وردپرس، اگر از افزونه استفاده نمیکنید، وردپرس سه اندازه متفاوت را در بخش تنظیمات وردپرس > رسانه به شما نمایش میدهد.
اگر میخواهید ابعاد تصاویر بندانگشتی، میانه یا بزرگ را تغییر دهید از همین بخش بایستی ابعاد مدنظر خود را وارد کرده و تنظیمات را ذخیره کنید.
تغییر اندازه دیگر کپیهای تصویر نیازمند استفاده از افزونه است. با کمک افزونه Simple Image Sizes میتوانید در همین بخش تنظیمات > رسانه، به سایر کپیهای تصویر دسترسی داشته باشید و ابعاد مدنظر خود را وارد کنید.
با تنظیم مقدار صفر برای پهنا و ارتفاع به وردپرس خواهید فهماند که نیازی به ایجاد این کپی از تصویر نیست و وردپرس نیز دیگر این کپی را ایجاد نخواهد کرد.
تنها بایستی دقت داشته باشید که این تغییرات برای تصاویری که بعد از ذخیرهسازی تنظیمات بر روی وردپرس بارگذاری میشوند اعمال خواهد شد. برای اعمال تغییرات مدنظر شما برای ابعاد تصاویری که پیش از اعمال تغییرات بر روی وردپرس بارگذاری شده اند بایستی بر روی گزینه Regenerate thumbnails کلیک کنید تا افزونه به صورت خودکار اینکار را برای شما انجام دهد.
در انتخاب ابعاد مناسب برای تصاویر کپی ایجاد شده از تصویر اصلی دقت کنید. پهنا و ارتفاع تصویر مدنظر خود را به صورت تصادفی وارد نکنید و از مقادیری برای پهنا و ارتفاع تصاویر استفاده کنید که فکر میکنید استفاده از آن ابعاد، بهترین شیوه نمایش تصویر در وبسایت شما محسوب میشود.
پس از تنظیم ابعاد، وبسایت خود را بررسی کنید و در صورتیکه نیاز به تغییر دارید ابعاد را دوباره تغییر دهید تا به بهینهترین ابعاد برای تصاویر دست یابید.
جدول wp_postmeta یکی از جداول پیشفرض وردپرس است که اطلاعات مختلفی را در خود ذخیره میکند. سیستم مدیریت محتوای وردپرس محتوای مرتبط با پست را در دو جدول به نامهای wp_posts و wp_postmeta ذخیره میکند.
جدول wp_postmeta چیست؟
جدول پست wp_posts شامل تمام جزییات مرتبط به پست، نویسنده، تاریخ، کلمه عبور، وضعیت و … میشود. جدول متای wp_postmeta دادههای اطلاعاتی اضافی مربوط به پستها را در خود نگه میدارد.
عامل افزایش حجم جدول wp_postmeta
هر متاباکس اضافی که در ویرایشگر پست وردپرس خود مشاهده میکنید دادههایی را به جدول wp_postmeta اضافه خواهد کرد. در زیر برخی از معمولترین این موارد را مشاهده میکنید.
افزونههای سئو مانند متاباکسهای افزونه Rankmath
افزونههای بررسی مانند WP Review
پوستههای پریمیوم که متاباکسهایی را برای تنظیمات لایهبندی و دیگر ویژگیها اضافه میکنند.
فیلدهای سفارشی ساخته شده توسط افزونهها و پوستهها.
اگرچه امکان غیرفعال کردن متاباکسهای ویرایشگر گوتنبرگ وردپرس را دارید اما هنوز هم متاباکسها ردیفهای خود را در جدول wp_postmeta خواهند ساخت.
بررسی اندازه جدول wp_postmeta
به صورت پیشفرض جداول در MySQL یا MariaDB با پسوند _wp ایجاد میشوند. برای مثال، جدول محتوای پست به صورت wp_posts و متای پست به صورت wp_postmeta ذخیره خواهد شد.
دقت داشته باشید که اگر طی مرحله نصب وردپرس خود پیشوند جداول وردپرس را تغییر داده باشید، پیشوند متفاوتی را در پایگاهداده وردپرس خود مشاهده خواهید کرد.
پایگاهدادهای که وردپرس خود را بر روی آن نصب کردهاید را انتخاب کنید و بر روی ستون Size کلیک کنید.
بزرگترین جدول را در ابتدی لیست جداول پایگاهداده وردپرس خود مشاهده خواهید کرد.
همانطور که در تصویر بالا نیز مشاهده میکنید، جدول پست ۲۶.۶ مگابایت حجم به خود اختصاص داده است در حالیکه جدول wp_postmeta حجمی در حدود ۱۰۹.۸ مگابایت دارد.
ساختار جدول wp_postmeta در وردپرس
جدول متای پست یا wp_postmeta چهار فیلد با این ساختار دارد: شناسه متا، شناسه پست، کلید متا و مقادیر متا. برای اینکه دریابید که کدام افزونه ردیفهایی را در جدول ایجاد کرده است بایستی به ستون meta_key توجه کنید.
یافتن علت حجم زیاد جدول wp_postmeta
بسیار مهم است که علت حجم بالای جدول wp_postmeta را بیابیم. همانطوریکه پیشتر نیز توضیح داده شد دلایل زیادی برای این اتفاق وجود دارد.
افزونهها، متاباکسهایی را به ویرایشگر پست وردپرس شما اضافه میکنند؛ مانند کاری که افزونههای سئو انجام میدهند.
افزونههای شبکههای اجتماعی که موارد سفارشی را به هر پست اضافه میکنند.
افزونههای انجمن گفتگو مانند bbPress و افزونههای فروشگاهی مانند ووکامرس.
پوستهها که متاباکسهایی را برای لایهبندی، پسزمینه و تنظیمات مربوط به فرمت اضافه میکنند.
به خاطر داشته باشید که پایگاه داده با اندازه بزرگ مسالهای مانند کندی وبسایت را در پی خواهد داشت.
چگونه افزونههای مختلف، حجم جدول wp_postmeta را افزایش میدهند؟
افزونههای زیادی هستند که ردیفهایی را به جدول wp_postmeta اضافه میکنند.
افزونههای review یا بررسی
یکی از مهمترین دلایلی که افزونههای بررسی Review باعث ایجاد این مساله میشوند، افزودن بیش از ۳۰ ردیف برای هر شناسه پست است. مساله بزرگتر اما این است که این افزونهها ردیفهایی را به هر پست بدون توجه به استفاده از review در آن پست اضافه میکنند.
افزونههای سئو
همین مساله نیز در خصوص افزونههای سئو مانند یوست یا RankMath وجود دارد. به هر روی داشتن توضیحات و عنوان سئو برای هر پست قابل درک و فهم است. اما در خصوص نصب افزونههای سئو بر روی وبسایت و ایجاد متاباکسهای زیاد در پست خود دقت بیشتری داشته باشید.
در صورتیکه میخواهید پایگاهدادهای بهینه داشته باشید همواره سعی کنید که انجمن گفتگو و فروشگاه خود را با وبسایت خبری خود ادغام نکنید. اینکار باعث کاهش سرعت عملکرد وبسایت و افزایش حجم جداول مختلف از جمله جدول wp_posts و wp_postmeta خواهد شد.
برای مثال، افزونه ووکامرس صدها هزار ردیف به جدول wp_postmeta برای دادههای تماس مشتریان، کشور و جزییات سفارشات اضافه خواهد کرد.
پستهای مرتبط و افزونههای شبکه اجتماعی
افزونههای مربوط به ایجاد بخش پستهای مرتبط و شبکههای اجتماعی با ایجاد کوئریهای بزرگ بار سنگینی را به پایگاهداده وبسایت شما تحمیل کرده و باعث کندی وبسایت شما خواهند شد.
بهترین حالت ایجاد پست مرتبط با کمک قابلیتهای خود پوسته مورد استفاده شماست.
پوستههای پریمیوم با متاباکسهای زیاد در ویرایشگر وردپرس
حتی پوستههای کم حجم اما پریمیوم نیز علاقه زیادی به افزودن متاباکسهای زیاد به ویرایشگر وردپرس دارند. این متاباکسها ردیفهایی را به هر پست اضافه خواهند کرد و بر حجم پایگاهداده خواهند افزود.
تصاویر بسیار زیاد
دلیل دیگر برای رشد فزاینده جدول wp_postmeta افزودن تصاویر بسیار زیاد به وبسایت است. وردپرس، متادادههای ضمیمه، جزییات فشردهسازی و جزییات alt tag تصاویر را در جدول wp_postmeta اضافه میکند.
افزونههای فشردهسازی تصویر مانند WP Smush نیز بر بحرانیتر شدن شرایط کمک میکنند. با فعال شدن چنین افزونههایی، جزییات بیشتری به جدول wp_postmeta افزوده خواهد شد.
فیلدهای سفارشی یا custom field
اغلب افزونههای اشاره شده در بالا فیلدهای سفارشی را به وبسایت شما اضافه خواهند کرد. وردپرس این فیلدهای سفارشی را در جدول post_metadata اضافه خواهد کرد. مساله اما این است که حتی با حذف و پاک کردن افزونه، این فیلدهای سفارشی هنوز هم در پایگاهداده وردپرس شما وجود دارند و حذف نخواهند شد.
برای رفع این مساله بایستی به صورت دستی این ردیفها را پاک کنید.
بکآپ پیش از تمیزکاری جدول wp_postmeta
به مانند همیشه پیش از هر اقدام اساسی بر روی وبسایت خود، از آن بکآپ کاملی داشته باشید تا در تمام شرایط راهحل بازگشت به وضعیت پیشین را داشته باشید.
پاکسازی جدول wp_postmeta
پس از اینکه دانستید wp_postmeta چیست و چه اطلاعاتی را در خود نگه میدارد نوبت پاکسازی این جدول رسیده است.
افزونههایی که ردیفهایی را به هر پست وردپرس شما اضافه میکنند را حذف کنید.
از پوستههای کاربردی و ساده برای نمایش محتوای خود استفاده کنید.
حذف ردیفهای ایجاد شده بدون استفاده در جدول wp_postmeta
افزونههایی برای بهینهسازی پایگاهداده مانند WP Optimize و WP Rocket وجود دارند که به شما اجازه پاکسازی پایگاهداده را میدهند. بهرحال هیچ یک از این افزونهها ردیفهای جدول wp_postmeta را از جدول وردپرس شما حذف نخواهند کرد. برای اینکار بایستی مقدار meta_key را به صورت مستقیم در جدول پست متا بررسی کنید.
از کوئری یا پرسوجوی زیر برای فیلتر و یافتن تعداد ردیفهای موجود برای یک کلمه کلیدی مشخص در جدول متا استفاده کنید. کوئری زیر تمام ردیفهایی که توسط افزونه WP Smush ایجاد شده را به شما نمایش میدهد.
SELECT * FROM wp_postmeta WHERE `meta_key` LIKE ‘%smpro%’
همچنین میتوانید از کوئری برای یافتن ردیفهای مربوط به ووکامرس استفاده کنید.
زمانیکه ردیفهای بلااستفاده را در دیتابیس خود یافتید، زمان حذف آنها فرا رسیده است. از کوئری زیر برای حذف تمام ردیفهایی که شامل کلمه کلیدی review هستند استفاده کنید. از کلمه کلید مناسب و مدنظر خود به جای عبارت review برای حذف ردیفها در جدول wp_postmeta استفاده کنید.
DELETE FROM `wp_postmeta` WHERE `meta_key` LIKE ‘%review%’;
اگر احساس میکنید که زمان تغییر پوسته یا افزونه فرارسیده است بنابراین حتما اینکار را انجام دهید. با اینکار از شدت افزایش حجم پایگاه داده وردپرس خود و در نتیجه کندی سرعت آن خواهید کاست.