نوع: مربوط به جاوااسکریپت
اولویت: بالا
میزان سختی: متوسط
میانگین امتیاز: 69%
جزئیات بیشتر درباره خطای Defer parsing of JavaScript
نام: Defer parsing of JavaScript
جزئیات بیشتر درباره خطا Defer parsing of JavaScript به شما بدهم. این جزئیات به شما کمک میکند تا ارورهای جی تی متریکس را بهتر درک کنید. هنگام بارگذاری صفحهی از سایت، مرورگر کاربر بایستی محتوای همه فایلهای جاوا اسکریپت را بخواند و سپس اجرا کند، که این کار مسلماً زمان بر خواهد بود. به همین دلیل پیشنهاد میشود تا فایلهای جاوا اسکریپت را در پایین صفحه فراخوانی کنید تا زمان بارگذاری اولیه صفحه وبسایتتان را کاهش دهید. این آژانس تبلیغاتی برای رفع خطاهای gtmetrix پیشنهاد ارائه خواهد داد.
اما مشکلی که مدیران سایتها مخصوصا سایتهای وردپرسی و جوملا با آن مواجه هستند، فایلهای جاوا اسکریپت پلاگینها (افزونهها) است که در حالت عادی امکان جابجایی آنها و انتقالشان به پایین صفحه ممکن نیست چون با هر آپدیت پلاگین، تغییرات انجام شده به حالت اولیه بازمیگردد.
شاید رفع مشکل Defer parsing of JavaScript برای خیلی از دوستان سخت باشد و گاهی غیرممکن هست. برای همین بنده نویسنده سایت میزفا توصیه میکنم خیلی پیگیر این بخش از ارور سایت GTMetrix.com نشوید به دلیل اینکه گاهی رفع این خطا باعث حذف تمامی فایلهای جاوااسکریپت یا همان JS میشود که در خیلی از سایتها نشدی است. یعنی برای رفع این مشکل در اخر مجبورخواهید بود همه کدهای جاوا اسکریپت JavaScript را از سایتتان پاک کنید تا خطا به شکل کامل رفع و امتیاز 100 شود، یا اگر تعداد فایل های جاوااسکریپت زیاد باشد مجبور خواهید بود اول آنها را یکی کنید تا کنترل و مدیریت آن راحتتر شود که این روش هر چند در بحث تئوری مشکلی ندارد ولی در عمل ممکن است با ادغام باعث ایجاد تداخل و مشکلات متعدد شود که حاصل آن عدم اجرای دستور در مکان تعریف شده میباشد، پس از الان خیلی به این خطا حساس نباشید.
با این حال سرعت سایت از فاکتورهای مهم در رتبه بندی نتایج گوگل است و حتی در اواخر سال ۲۰۱۹ در گزارش سرچ کنسول خود یک ریپورت جدیدی به نام Speed اضافه کرده است که این اهمیت بیشتر این فاکتور را نشان میدهد هر چند درباره ریپورت های سرچ کنسول ما در دوره آموزش سرچ کنسول گوگل به صورت فارسی نزدیک به ۱۵ ساعت صحبت کردیم و فاکتورهای بسیاری از سئو را در آنجا به صورت عملی و کامل تشریح کردیم.
از آنجایی برای لود صفحه کد ها به ترتیب از بالا ( HEAD ) به پایین رندر می شوند بنابراین برای به تعویق انداختن رندر جاوا اسکریپت ها می توان آنها را به انتهای کد ها اضافه کرد ، کافیست کد های جاوا شما( تگ <script> ) در فوتر ( قبل از </body> قرار گیرند تا ابتدا متن ها و CSS ها لود شود و سپس جاوا اسکریپت ها.
هرچند برخی از وب سایت ها نیاز دارند تا جاوا را در ابتدا کد ها قرار دهند ، اما با انجام این تغییر بسیاری از سایت ها با سرعت بیشتری بارگذاری خواهند شد.
اگر وب سایت شما استاتیک می باشد ، کافیست با ورود به مدیریت هاست خود ، صفحه مورد نظر را ویرایش کرده و کد های جاوا را قبل از اتمام تگ </body> قرار دهید.
اگر شما از سیستم مدیریت محتوا وردپرس استفاده می کنید ، بهترین پیشنهاد ما استفاده از افزونه WP Deferred JavaScripts می باشد ، این افزونه کاملا خودکار و بدون نیاز به هیچ پیکربندی می تواند تا با به تعویق انداختن رندر جاوا اسکریپت ها ، خطا Defer parsing of JavaScript را برای وردپرس شما رفع کند.
همچنین پس از نصب این افزونه در پیشخوان وردپرس در قسمت تنظیمات –> WP Deferred Javascripts می توانید جاوا و url های که تمایل ندارید defer شوند را وارد این قسمت کنید.
برای همین بهترین راهکاری که برای حل این مشکل وجود داره این هست که فایلهای JS رو بیایم و در فوتر سایت اجرا کنیم. در این حالت ابتدا مرورگر میاد و صفحه رو به صورت کامل به کاربر نشون میده و وقتی به بخش کدهای جاوا اسکریپت که حالا در فوتر قرار گرفته رسید، متناسب با دستورت برنامه نویسی که این فایلها دارند سایر بخشهای سایت رو هم نشون میده. طی یک آزمایشی که گوگل در سال 2011 انجام داده برای لود هر 1 کیلوبایت از یک فایل جاوا اسکریپت به طور میانگین 1 میلی ثانیه زمان لازمه تا هم لود بشه و هم خونده بشه. برای همین اگر مجموع فایلهای جاوا اسکریپت روی 100 کیلوبایت قرار داشته باشند(که قطعا بیشتر از این میتونه باشه) مدت زمان 200 میلی ثانیه صرف میشه که شاید به صورت عددی زیاد به نظر نیاد، اما رو سرعت لود سایت تاثیر زیادی میزاره. رفع خطا میتواند کمک بسیاری در آموزش جامع سئو برای مدیران وب سایت به شمار بیاید.
هر دو این خطاها با استفاده از راهکارهای مشترکی قابل حل شدن هستند و اگه یکی از این خطاها رو برطرف کنید به صورت خودکار اونیکی هم رفع خواهد شد که در ادامه به معرفی چند روش برای این کار میپردازم.
گوگل آزمایشی را در سال ۲۰۱۱ بر روی تلفنهای همراه هوشمند اجرا گردید و به این نتیجه رسیدن که هر یک کیلوبایت از فایل جاوا اسکریپت حدود 1 میلیثانیه زمان برای خواندن به طول میانجامد و این مقدار به زمان کل لود صفحه اضافه میگردد، و حال اگر ۲۰۰KB حجم جاوا اسکریپت باشد زمان لود اولیه آن در یک صفحه ۲۰۰ میلیثانیه به زمان لود کل صفحه برای بازدیدکننده اضافه میگردد، از آنجایی که جاوا اسکریپت در هر صفحه باید لود شود، این تاخیر در تمام صفحات ایجاد خواهد شد.
همونطور که میدونید در تمامی سایتها از فایلهای جاوا اسکریپت برای اجرای برخی کارها در مرورگر استفاده میشه و این فایلها هم معمولا نسبت به سایر فایلهایی که به صورت کدنویسی شده هستند حجم بیشتری دارند. مرورگر برای اینکه بتونه این فایلها رو اجرا بکنه باید منتظر بمونه تا اول این فایلها اجرا بشن و بعدش متناسب با همین محتوای سایت رو هم به مرور لود کرده و نمایش بده. مشکل درست در این زمان پیش میاد که بخاطر قرار گرفتن این فایلها در Header باعث میشه که مرورگر ابتدا شروع به دانلود و پردازش این فایلها بکنه و بعدش با رفتن به خطوط بعدی سایر قسمتهای یک سایت رو که شامل محتوای اون هست نمایش بده. برای همین تا زمانی که فایلهای JS لود بشن مرورگر همچنان در حال لود صفحه است و همین موضوع باعث میشه کاربران فکر کنند این سایت با کندی کار میکنه.
خطای 404 که جز معروف ترین خطاهای سمت کاربری است را قصد داریم در این مقاله به نحوه رفع و حل آن بپردازیم. این خطا در سایت GTmetrix با عنوان Avoid HTTP 404 (Not Found) error درج شده، برای رفع ارور 404 ادامه مقاله را مطالعه بفرمایید.
1 خطای 404 Not Found Error چیست
2 دلایل بروز خطای HTTP 404
3 خطای 404 not found را چگونه باید در سمت کاربر رفع کرد
4 خطای 404 not found سمت مدیر سایت
5 اشتباهات دیگری که مشابهی خطای 404 است
ارور 404 Not Found Error به معنای پیدا نشدن است، خطای 404 یک کد وضعیت از پروتکل HTTP از نوع خطاهای مهم رده 4XX است به این معنا که صفحهی وبسایتی که شما در پی دسترسی به آن هستید، بر روی سِرورش قابل دسترسی نیست. ارور 404 که معنای یافت نشد را دارد، غالباَ به وسیلهی وبسایتها، سفارشیسازی میشوند. یعنی برخی وب سایت ها نحوه نمایش ارور ۴۰۴ را تغییر داده و بر اساس سیایت های داخلی آن سایت باز طراحی میشود.
برخی از راههای متداولی که از طریق آن میتوانید با خطای 404 را حل کنید ما در این مقاله به آن اشاره خواهیم کرد.
نمایش ارور 404 Not Found شکل های مختلفی دارد:
خطای 404 از نظر فنی، خطایی از سمت کاربر است تا خطا از سمت سرویسدهنده (سرور). که به صورت ضمنی بر این موضوع دلالت دارد که این خطا ناشی از اشتباه شما (کاربران) است؛ اشتباه در نوشتن صحیح آدرس اینترنتی و یا این که صفحهی (مورد نظر) منتقل شده است و یا آن صفحه از وب سایت حذف شده است و شما از این موضوع اطلاع ندارید.
احتمال دیگر این است که وب سایتی صفحه یا منبعی را جابهجا کند ولی این کار را بدون آدرسدهی از نشانی اینترنتی قدیمی به نشانی جدید انجام داده باشد (ریدایرکت صورت نگیرد). وقتی این اتفاق روی میدهد به جای این که به صفحهی جدید هدایت شوید با خطای 404 مواجه میشوید.
نکته: گاهی اوقات سرورهای وب (سرویسدهندههای وب) مربوط به خدمات اطلاعات اینترنتی مایکروسافت، با اضافه کردن پسوندِ عددی بعد از 404، اطلاعات تخصصی بیشتری را در مورد علت بروز خطاهای 404 یافت نشد ارائه میکنند، مثلاَ خطای HTTP 404.3- یافت نشد که به این معنا است که در نوع ضمیمههای چندمنظورهی اینترنت، محدودیت وجود داشته است. ما از فهرست کامل این ارقام که به 404 اضافه میشوند به شرح زیر است.
در پیشخوان وردپرستان:
تنظیمات لینکهای یکتا را به “نام نوشته” (post name) تغییر دهید و تنظیمات را ذخیره کنید.
تغییر پیوند یکتا در وردپرس
پس از این مرحله خطای ۴۰۴ را برای لینکهای قدیمی خود دریافت خواهید کرد. برای نمونه نتایج موتورهای جستجو به شما خطای 404 را نشان خواهد و همچنین هر لینکی که به طور خودکار ساخته شده است خطای ۴۰۴ را به همراه دارد.
در این مرحله خطای ۴۰۴ برطرف میشود.
از sftp یا مدیریت فایلِ هاست وردپرس تان برای ویرایش فایل ” htaccess. ” استفاده کنید این فایل در پوشه اصلی وردپرستان قرارداد.
کد مرحله 2 را در این فایل قرار دهید، این کد را دقیقاً پس از عبارت “END WordPress#” قرار دهید و فایل را ذخیره کنید.
در نهایت URLهای مرحله 1 را تست کنید تا مطمئن شوید که سالم هستند و تغییر مسیر به درستی عمل کرده است. همچنین میتوانید همان URLها یا سایت خودتان را در موتورهای جستجو، جست و جو کنید و عملکرد صحیح تغییر مسیر را تماشا کنید.
با کلیک روی این گزینه وردپرس به طور خودکار قوانین های rewrite را بروز رسانی می کند و اقلب مشکل خطا 404 وردپرس نیز رفع می شود اما اگر مشکل شما ادامه داشت شما باید فایل .htaccess به طور دستی به روز رسانی کنید. برای بروز رسانی این فایل وارد فایل منیجر کنترل پنل سرویس هاست خود شوید ( اگر از سی پنل استفاده می کنید حتما پس از کلیک روی گزینه file manager گزینه show hidden and directory را علامت بزنید ) و سپس در پوشه public_html این فایل را پیدا کنید و آن را ویرایش کنید و کد های زیر را به آن اضافه نمایید. اگر این فایل در پوشه public_html شما موجود نیست آن را ایجاد کنید ، و حتما نام آن باید .htaccess باشد.
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ -
[L] RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] # END WordPress
سپس فایل را ذخیره کنید و بررسی کنید مشکل شما رفع شده است یا خیر ، شما می توانید فایل های .htaccess پوشه های /wp-content/ و /wp-includes/ را نیز در صورت تداوم مشکل تغییر دهید.
بسیاری از توسعه دهندگان وردپرس را در کامپیوتر شخصی خود نصب می کند ، برای رفع مشکل 404 وردپرس باید module rewrite را در wamp یا xampp یا mamp خود فعال کنند ، ما قبلا مقاله رفع مشکل پیوند های یکتا وردپرس در لوکال را ارسال کرده ایم.
امیدواریم مشکل خطا 404 وردپرس شما رفع شده باشد ، آیا راه حل دیگری در مورد این مشکل دارید ؟ لطفا آن را در قسمت دیدگاه های همین صفحه به اشتراک بگذارید تا کاربران با روش های شما مشکل خود را رفع کنند و یک منبع قوی تر برای رفع این مشکل وجود داشته باشد.
مشکل صفحه 404 در ساب فولدر وردپرس معمولا بعد از تغییر پیوند یکتا در وردپرس پیش میاد. دلیل اون هم به این بر میگرده که ممکنه به دلیل ساختار فایل htaccess. که در روت هاست قرار داره یک درگیری با تابع permalink پیش بیاد و منجر به این مسئله بشه که قاعدتا برای رفع این مشکل باید از طریق فایل htaccess. اقدام کنید. در حالت پیشفرض فایل htaccess. وردپرس به صورت زیر هست.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
حالا وقتی این اختلال بین دو فایل htaccess. که در روت هاست و پوشه ساب فولدر قرار داره ایجاد میشه باعث میشه که دامنه اصلی بالا بیاد و چون پیوند یکتا مطالب وردپرس به صورت سفارشی هستند با خطای 404 در دامنه اصلی مواجه شوید. برای رفع این مشکل باید فایل htaccess. موجود در پوشه را به ساختار جدید تغییر دهید.
برای این منظور وارد هاست خود شده و روی گزینه File Manager کلیک کنید تا به صفحه مدیریت فایل در هاست هدایت شوید. سپس وارد پوشهای که وردپرس را در آن نصب کردهاید شده و به دنبال فایل htaccess. بگردید. همونطور که از نقطه اول نام این فایل مشخص هست جزو فایلهای مخفی هاست خواهد بود. بنابراین اگر فایل را پیدا نکردید روی دکمه Settings که در بالای صفحه قرار داره کلیک کرده و سپس مشابه تصویر زیر تیک گزینه Show Hidden Files را فعال کرده و روی دکمه save کلیک کنید.