منو سایت

  • خانه
  • وبلاگ
  • رفع مشکل کندی شمارنده وردپرس در هنگام قطع اینترنت • وبلاگ Sevenhost

رفع مشکل کندی شمارنده وردپرس در هنگام قطع اینترنت • وبلاگ Sevenhost

 تاریخ انتشار :
/
  وبلاگ
رفع مشکل کندی شمارنده وردپرس در هنگام قطع اینترنت • وبلاگ Sevenhost

به این مقاله چند ستاره می‌دهید؟

[کل: 1 میانگین: 5]

متاسفانه این اولین بار نیست که شاهد قطعی گسترده زیرساخت اینترنت ایران هستیم. اولین بار در نوامبر 2018 این تجربه وهم انگیز را تجربه کردیم، زمانی که اتصال اینترنت به دنیای خارج از مرزهای ایران برای تقریبا 20 روز به طور کامل قطع شد.

قطع، محدود کردن یا فیلتر کردن؛ هر چه اسمش را بگذاریم چیزی نیست جز سایه شومی که بر بستر تجارت الکترونیک ایران گسترده شده است که منجر به افت کیفیت زندگی هم برای مردم کشورمان و هم برای مشاغل شده است. بسیاری از کسب و کارهای خرد که در شبکه های اجتماعی کار می کردند و نان آور بودند، اکنون به طور کامل فروش خود را متوقف کرده اند.

اما از آنجایی که ما انسان ها با امید و بر خلاف آنچه دیگر افراد جامعه بین المللی فکر می کنند زندگی می کنیم، همیشه سعی کرده ایم خود را با شرایط جدید وفق دهیم. به این ترتیب همه کسانی که در شبکه های اجتماعی کسب و کار فروشگاهی داشتند، با امیدی تازه بار خود را بر دوش گرفتند و شروع به ایجاد سایتی برای ادامه فروش خود در پلتفرم موجود کردند.

با این حال، آنها هنوز باید برخی از اختلالات را تجربه کنند. این قطعی اینترنت ایرانی که از اواخر شهریور شروع شد و الان که درست در اواسط آبان هستیم ادامه دارد، اولین مورد نیست. اما عزیز بیش از 40 روز به دلایل سیاسی و امنیتی به این قطعی گسترده ادامه دادند که انگار ضربه نهایی را می زنند!

رفع تاخیر شمارنده وردپرس در هنگام قطع اینترنت

بسیاری از کسب و کارها از وردپرس برای مدیریت سایت خود استفاده کرده اند. همین الان که دارم این محتوای آموزشی را آماده می کنم، چند ساعتی از شایعه خرابکاری گسترده Cloudflare نگذشته است. به شخصه امیدوارم این هم مشکل ساز باشد، چون اگر بحث فیلترینگ است و سرورهای یکی از بزرگترین شبکه های توزیع محتوا به دامان فیلتر افتاده اند، باید در ایران فاتحه را در اینترنت بخوانیم.

برای جلوگیری از چنین مشکلاتی، در حال حاضر تنها راه حل استفاده از هاست واقع در ایران است تا سایت شما تقریباً بدون مشکل در دسترس کاربران ایران باشد. اما از طرفی شاهد اختلالاتی در پیشخوان وردپرس مربوط به مدیریت سایت خواهید بود که به دلیل عدم امکان ارتباط سایت شما با سرورهای خارجی است.

اجازه دهید موضوع را با مثالی بهتر بررسی کنیم. به عنوان مثال، همه ما از افزونه هایی مانند Youst SEO یا RankMeth استفاده می کنیم. فرقی نمی کند که از نسخه رایگان یا پولی استفاده می کنید.

این افزونه ها با توجه به برخی عملکردهایی که دارند، باید بین سایت شما و سرور خود ارتباط برقرار کنند و ابزارهایی را که برای تجزیه و تحلیل کلمات کلیدی ارائه می کنند، فراهم کنند. حال در شرایطی که اتصال اینترنت بین المللی در برخی از مراکز داده وجود ندارد و یا با قطعی مواجه است، این اتصال برقرار نمی شود و سایت شما دائماً منتظر پاسخ سرورهای خارجی در قسمت مدیریت است.

به همین دلیل، برگه هایی که باز کرده اید زمان زیادی برای بارگذاری طول می کشد تا در نهایت موفق به برقراری ارتباط شوند. اما به طور کلی با کندی و اختلال مواجه هستیم که این خود مشکلاتی را در مدیریت مقالات، محصولات و هر کاری که باید در سایت انجام دهیم برای ما ایجاد می کند. ممکن است لازم باشد این فرآیند را چندین بار تکرار کنید تا تنظیمات دقیق در ووکامرس ذخیره شود.

راه حل اول: کندی پیشخوان وردپرس در هاست ایران

برای حل این مشکل ابتدا باید بدانید کدام افزونه مشکل شما را ایجاد کرده است. برای این کار باید از افزونه WordPress Query Monitor استفاده کنید. کافیست نام افزونه را در تب افزونه ها جستجو کنید یا با کلیک بر روی دکمه زیر آخرین نسخه را دانلود و نصب کنید.

افزونه Query Monitor را دانلود کنید

پس از نصب این افزونه، می توانید درخواست های HTTP را در داشبورد وردپرس سایت خود مشاهده کنید و ببینید کدام سایت ها بر اساس مدت زمانی که هر درخواست طول می کشد، اتصال کندی را تجربه می کنند. سپس سایت خود را برای اتصال به این ابزار با استفاده از کدی که در زیر قرار می دهم متوقف کنید.

سی پنل مدیریت فایل

برای این منظور کافی است وارد هاست خود شوید و سپس مطابق تصویر بالا بر روی File Manager کلیک کنید. پس از ورود به مسیر public_html بروید و این مسیر را دنبال کنید فایل wp-config.php به اطراف نگاه کنید در نهایت روی این فایل کلیک راست کرده و دکمه Edit را برای ویرایش باز کنید.

اگر از هاست دایرکت ادمین، پلسک یا کنترل پنل های دیگر استفاده می کنید، باید مسیرهای مشابهی را برای ویرایش فایل پیکربندی وردپرس دنبال کنید. سپس کد زیر را در این فایل قبل از خط قرار دهید /* That's all, stop editing! Happy blogging. */ قرار دادم.

define( ‘WP_HTTP_BLOCK_EXTERNAL’, TRUE );

در این قسمت از کد، به وردپرس دستور داده ایم که هرگونه درخواست ارسال شده به سرور خارجی را مسدود کند.

در ضمن شما می توانید از ابزارهایی استفاده کنید که در ایران قرار دارند یا درست است که این ابزارها در صورت درخواست خارج از سایت ارسال می شوند اما روی سرور دیگری که ابزار خودتان است مستقر می شوند که توسط بلوک مورد نیاز است. اجتناب از این درخواست ها. برای این کار پس از افزودن کد بالا، کد زیر را در خط بعدی وارد کنید.

define( ‘WP_ACCESSIBLE_HOSTS’, ‘yoast.com, wordpress.org’ );

در این مثال، من دامنه Yoast و مخزن وردپرس را از مسدود کردن حذف کردم. به همین ترتیب، می توانید با تعیین نام دامنه و پسوند وارد لیست سایت ها شوید و هر سایت را با کاما (,) جدا کنید تا در لیست سفید قرار گیرد.

راه حل دوم: رفع تاخیر داشبورد وردپرس در هاست ایران

جدا از راه حل فوق، شما همچنین باید به طور موقت برخی از کارهایی را که به صورت خودکار در وردپرس انجام می شود محدود کنید. از جمله این موارد می توان به آپدیت خودکار وردپرس، افزونه ها و قالب وردپرس اشاره کرد.

برای جلوگیری از رفرش خودکار وردپرس کافیست کد زیر را در ادامه کدهای بالا در فایل تنظیمات وردپرس قرار دهید.

define( 'WP_AUTO_UPDATE_CORE', false );

برای جلوگیری از آپدیت خودکار قالب ها می توانید کد زیر را نیز در ادامه کد بالا قرار دهید.

add_filter( 'auto_update_theme', '__return_false' );

در نهایت برای جلوگیری از به روز رسانی خودکار افزونه ها می توانید کد زیر را نیز در ادامه کد بالا قرار دهید.

add_filter( 'auto_update_plugin', '__return_false' );

البته به یاد داشته باشید که از آپدیت سال گذشته وردپرس، می توانید از طریق همین منو به گزینه های افزونه به روز رسانی خودکار دسترسی داشته باشید. پلاگین ها همچنین مدیریت کنید. در هر زمان، کافی است به جای آن این کدها را لغو کنید FALSE از مقدار TRUE استفاده کنید.

اگر می‌خواهید تمام به‌روزرسانی‌های وردپرس مانند هسته، قالب، افزونه‌ها، فایل‌های ترجمه و غیره را لغو کنید، فقط به جای سه کد بالا از کد زیر استفاده کنید.

define( 'AUTOMATIC_UPDATER_DISABLED', true );

راه حل سوم: رفع کندی مدیریت وردپرس در هاست ایرانی

علاوه بر دو روش بالا، یکی از راه‌های دیگر محدود کردن محدودیت کاری وردپرس است که وظیفه بررسی به‌روزرسانی‌ها را بر عهده دارد.

Cranjob به گونه ای عمل می کند که با ورود کاربر به سایت، بررسی لیستی از وظایف از پیش تعریف شده انجام می شود. به عنوان مثال، اگر مقاله ای را مشخص کرده باشید که در تاریخ خاصی منتشر شود، تا زمانی که کاربر در آن بازه زمانی خاص وارد سایت نشود یا ربات های اینترنتی درخواستی را برای سایت شما ارسال نکرده باشند و در نتیجه با خطای «منتشر شده» منتشر نشود، منتشر نخواهد شد. توسط “گمشده”، که شما ملاقات خواهید کرد.

هر بازدید کننده ای که وارد سایت می شود، این cron task یک درخواست یک بار اجرا می کند، آیا برنامه زمانی وجود دارد یا خیر؟ بررسی به‌روزرسانی‌های هسته، افزونه و تم به همین ترتیب عمل می‌کند. بنابراین زمانی که سایت شما روزانه ده ها هزار بازدید داشته باشد، تاثیر زیادی بر تاخیر سایت خواهد داشت. به خصوص در چنین شرایطی که اینترنت قطع می شود.

برای مدیریت این، ابتدا کد زیر را در بالای همان خط وارد کنید /* That's all, stop editing! Happy blogging. */ آن را در فایل wp-config.php قرار دهید.

define('DISABLE_WP_CRON', true);

این کار cron وردپرس را غیرفعال می کند و دیگر درخواستی برای این عملیات برنامه ریزی شده ارسال نمی شود. اما برای اینکه در سایت خود مشکلی نداشته باشید، باید این cron job را به گونه ای تنظیم کنید که در زمان مشخصی به صورت خودکار از سی پنل اجرا شود.

پس از ذخیره فایل به صفحه اصلی cPanel رفته و از قسمت Advanced همانند تصویر زیر بر روی Cron Jobs کلیک کنید.

مدیریت شغل cron وردپرس

سپس مانند تصویر زیر یکی از گزینه ها را بر اساس مدت زمانی که Cron هر بار از طریق گزینه Common Settings اجرا می کند انتخاب کنید. پیشنهاد می کنم این گزینه مشابه تصویر را دو بار در روز انتخاب کنید که هر 12 ساعت (دو بار در روز) بررسی می شود.

رفع مشکل کند سرعت شمارنده وردپرس در ایران
  1. فاصله زمانی مورد نظر را برای هر بررسی cron job انتخاب کنید (دو بار در روز توصیه می شود).
  2. در کادر فرمان، کد زیر را مشابه تصویر وارد کنید.
  3. روی دکمه Add New Cron Job کلیک کنید تا دستور اضافه شود و آن را در بازه زمانی انتخاب شده اجرا کنید.
wget -q -O - https://domain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

توجه کنید که، در کد بالا به جای دامنه domain.com شما باید نام دامنه خود را وارد کنید. همچنین اگر پروتکل HTTPS استفاده نکن باید باشه HTTP دارم میام داخل

استفاده از افزونه برای رفع تاخیر شمارنده وردپرس

راه ساده تری که می توانید به جای راه حل اول داشته باشید استفاده از افزونه ای است که توسط یکی از توسعه دهندگان ایرانی وردپرس برای همین منظور تهیه شده است. برای این منظور ابتدا افزونه BlackSwan Block External Request را در مخزن وردپرس جستجو و نصب کنید یا با کلیک بر روی دکمه زیر آن را دانلود و از طریق هاست نصب کنید.

افزونه BlackSwan Block External Request را دانلود کنید

پس از نصب و فعال سازی افزونه، سایت ها و مخازن وردپرسی که در ایران مسدود شده و به صورت پیش فرض در این افزونه گنجانده شده اند، مسدود خواهند شد. نیازی به انجام کار دیگری نیست و این افزونه تنظیمات خاصی ندارد.

تنها نکته ای که باید به آن توجه کنید این است که در صورت بروز رسانی افزونه فورا آن را به روز کنید تا لیست مخازن جدید اضافه شده نیز در سایت شما مسدود شود. نسخه 1.1.0 این افزونه در حال حاضر میزبان سایت های زیر است.

رفع کندی مدیریت وردپرس در هاست ایران

در صورت نیاز به افزودن سایت مورد نظر می توانید آدرس دامنه های مورد نظر را مانند مثال بعد از خط 41 وارد کنید.


امیدوارم هر چه زودتر این مشکلات حل شود و شاهد آزادی اینترنت در ایران باشیم. اگر سوالی در این زمینه دارید یا راه حل های دیگری برای حل این مشکلات می دانید، خوشحال می شویم در قسمت نظرات با ما در میان بگذارید.