رفع خطای Remove query strings from static resources در gtmetrix

رفع خطای Remove query strings from static resources
رفع ارور Remove query strings from static resources

خطای Remove query strings from static resources در جی تی متریکس منسوخ شده است و دیگر جزء لیست ارورهای این سایت وجود ندارد. پیشنهاد میکنم در جهت بهبود سرعت سایت خود به صفحه سایر رفع خطاهای جی تی متریکس میزفا مراجعه کنید.

آموزش بهبود سرعت سایت با GTmetrix – رفع خطاهای PageSpeed

سلام دوستان، از دوره مقالات سئو و آموزش بهینه سازی PageSpeed سایت با GTmetrix در خدمت شما هستیم، می‌خواهیم در این دوره سایتی بهینه توسط ابزارهای آنلاین تست سرعت سایت مثل جی تی متریکس یا Pagespeed گوگل ایجاد کنیم. در جلسه قبل درباره رفع خطای Put CSS in the document head مقاله‌ای قرار دادیم. در این جلسه قصد داریم درباره مشکل رایج Remove query strings from static resources و حل آن در جی تی متریکس صحبت کنیم و بررسی کنیم که چطور این خطا یا همان حذف علامت سؤال از انتهای آدرس منابع در جهت افزایش سرعت سایت به ما کمک می‌کند و آیا بودن query strings ها برای سایت ما مفید است یا خیر، پس ما میزفا همراه باشید.

خلاصه‌ای از خطا Remove query strings from static resources

نام: Remove query strings from static resources
نوع: محتوا
اولویت: کم
میزان سختی: راحت
میانگین امتیاز: 89%

 

علت خطای Remove query strings from static resources در جی تی متریکس چیست

جنبه منفی query strings: وجود query strings در منابع سایت ما باعث می‌شود که آن منابع در سمت کاربر کش نشود و اگر منابع همانند CSS یا JS در سمت کاربر کش نشود خطاهایی نظیر Leverage browser caching هم رخ خواهد داد و مشکلات بسیار دیگری را فراهم می‌کند، استفاده از query strings باعث می‌شود فایل‌های استایل (CSS) و جاوا اسکریپت در بسیاری از مرورگرها و همین‌طور CDN ها کش نشود.

رفع خطای remove query string
وجود خطای remove query string

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

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

 

نحوه رفع خطای Remove query strings from static resources

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

در وردپرس

  • برای رفع این خطا اگر تمایل به استفاده از کدها را ندارید و سایت وردپرسی دارید، می‌توانید پلاگین Remove Query Strings را نصب کنید این پلاگین بدون هیچ‌گونه تنظیمات اضافه باعث رفع مشکل Remove query strings from static resources در مدیریت محتوای وردپرس می‌شود.
  • اگر پلاگین بالا به هر دلیلی در سایت وردپرسی شما کار نکرد یا با افزونه‌های دیگر تداخل داشت می‌توانید پلاگین Remove Query Strings From Static Resources را تست نمایید و همانند پلاگین بالا عمل می‌کند.
  • پلاگین WP Rocket در نسخه ۲.۹ به بعد خود قابلیت رفع خطای Remove query strings from static resources را قرار داده هست و اگر از این پلاگین استفاده می‌کنید می‌توانید همانند عکس زیر تیک آن را بزنید. (جهت دانلود نسخه اورجینال و آموزش جامع این پلاگین معروف و فوق العاده به دوره آموزش wp rocket ما می‌توانید مراجعه نمایید.)
    رفع خطای query strings در WP Rocket
    رفع خطای query strings در WP Rocket

     

  • پلاگین W3 total cashe هم گزینه‌ای دارد که با برداشتن آن باعث رفع این خطا می‌شود، اگر این افزونه را در سایت وردپرس خود نصب‌کرده‌اید با فعال بودن گزینه Prevent caching of objects after settings change در قسمت Brower Cahse باعث ایجاد خطای query strings می‌شوید، پس تیک آن را بردارید.
    رفع خطای query strings در افزونه W3 total cashe
    رفع خطای query strings در افزونه W3 total cashe

     

  • با استفاده از فایل Function.php می‌توانید به شکل دستی خطای query strings را رفع کنید کافی است کد زیر را در انتهای فایل Function.php قرار دهید.
    function _remove_script_version( $src ){ 
    $parts = explode( '?', $src ); 
    return $parts[0]; 
    } 
    add_filter( 'script_loader_src', '_remove_script_version', 15, 1 ); 
    add_filter( 'style_loader_src', '_remove_script_version', 15, 1 );
    

     

در دروپال

برای حذف query strings ها درفایل های CSS دروپال می‌توانید کد زیر را در template.php قرار دهید، فقط توجه داشته باشید که به جای MYTHEME نام قالب مورد نظر خود را وارد کنید.

<?php 

/**
* Implements template_process_html().
*/

// Remove Query Strings from CSS filenames (CacheBuster)
function MYTHEME_process_html(&$variables) {
    $variables['styles'] = preg_replace('/\.css\?[^"]+/','.css', $variables['styles']);
}

?>

 

در جوملا

به کمک افزونه joomsef شما می‌توانید این مشکل را رفع کنید، البته در تنظیمات کلی جوملا یعنی Global Configuration و قسمت SEO Settings گزینه‌ای وجود دارد با عنوان search engine friendly (SEF) URLs که اگر فعال باشد آدرس‌های شما را هم برای کاربران و هم برای موتورهای جستجو بهینه تر می‌کند، مثلا آدرس http://example.com/index.php?page=name تبدیل به http://example.com/name می‌شود. اگر شما گزینه SEF URLs  را در جوملا فعال کرده باشید ممکن است آدرس‌های non-SEF URLs به شکلی در سایت ایندکس شوند و باعث ایجاد محتوای تکراری شود که تاثیر بد برای سئو سایت دارد و همچنین یکی از عوامل پنالتی شدن سایت در گوگل نیز می‌باشد، بنابراین برای جلوگیری از این امر می‌توانید از دستور زیر در فایل robots.txt استفاده نمایید تا آدرس‌هایی که دارای علامت ? هستند را ربات ایندکس نکند.

User-agent: *
Disallow: /*?*

برای توضیحات بیشتر می‌توانید به مقاله جامع robotx.txt مراجعه نمایید.

در PHP

اگر ساختار سایت شما بر اساس زبان برنامه نویسی PHP است و از CMS های رایگان استفاده نمی‌کنید می‌توانید از دستور زیر برای رفع خطای query strings استفاده کنید، کد نوشته شده توسط سایت Addedbytes است و تشکر به خاطر این دستور نوشته شده، شما برای حذف مقادیر موجود در url می‌توانید از متغییر $key استفاده نمایید.

function remove_querystring_var($url, $key) {
    $url = preg_replace('/(.*)(?|&)' . $key . '=[^&]+?(&)(.*)/i', '$1$2$4', $url . '&');
    $url = substr($url, 0, -1);
    return ($url);
}

 

حل مشکل Remove query strings from static resources بسیار راحت می‌باشد امیدواریم در این آموزش سئو که باعث بالا بردن سرعت سایت و در نتیجه بهبود بهینه سازی سایت و بیشتر مربوط به سئو داخلی می‌شود، کمک شایانی کرده باشیم، اگر سوالی داشتید حتما در نظرات بپرسید. این جلسه از آموزش جی تی متریکس که مربوط به رفع ارور Remove query strings from static resources بود، هم به پایان رسید در جلسه بعد به معرفی خطای Serve resources from a consistent URL در PageSpeed گوگل می‌پردازیم. با ما همراه باشید.

فیلم آموزشی افزایش سرعت سایت با gtmetrix
فیلم آموزشی افزایش سرعت سایت با gtmetrix
پوریا آریافر
اولین کسب و کار آنلاین خودم رو در فیسبوک راه‌اندازی کردم، سال ۲۰۱۱ یکی از پرتعامل‌ترین صفحات فارسی با ۸۰ هزار فالور فعال رو داشتم. بعد اینکه فیسبوک خالی از کاربر ایرانی شد وارد دنیای شبکه شدم و در انتهای سال ۲۰۱۲ مدرک MCSE مایکروسافت رو دریافت کردم، در حالی که نمره بالا گرفتم ولی کسی به دلیل به خطر افتادن موقعیت شغلی خودش به عنوان کارآموز منو قبول نمی‌کرد، بعدش با شروع دوران خدمت سربازی، مسئول بهینه سازی یک سایت خبری معتبر شدم و سئو یاد گرفتم. در ابتدای سال ۲۰۱۴ تونستم از رتبه ۱۵۰۰۰ به ۴۰۰ الکسا نزدیک کنم، اون زمان الکسا خیلی مهم بود. وارد دانشگاه شدم، به دلیل عدم علاقه به دانشگاه سعی کردم زودتر تمومش کنم و سه ساله در مقطع کارشناسی IT فارغ التحصیل شدم، توی دانشگاه هر کسی منو میدید یاد سئو میوفتاد، در همون سال آخر دانشگاه بزرگ‌ترین کانال تلگرامی IT با ۴۰ هزار عضو رو داشتم، که به مجتمع فنی فروختم تا بتونم تمرکز رو فقط بر روی عشق خودم یعنی سئو بذارم، وقتی کانال تلگرام فروختم حس پرواز بهم دست داد، هرچند درآمد چندین میلیون ماهانه رو از دست دادم ولی دوباره باید مثل گذشته با پوستی نو یک فصلی نو رو میساختم. در این چندین سال فعالیت‌های سئو به شکل تخصصی بنده در قالب پروژه‌های مختلف و آموزش‌های حضوری و غیرحضوری در دفتر میزفا و دانشگاه علامه طباطبایی تهران صورت ‌گرفته، تجربه بهینه سازی موفقی در بهبود UX و CRO پروژه‌های سئو کسب کردم. در اکثر ابزارهای کاربردی گوگل تسلط کاملی دارم. عاشق کسب تجربه های جدید هستم. راز پیشرفت در هر کاری رو یادگیری و یاددادن می‌دونم و میزفا که در اواخر ۲۰۱۶ راه‌اندازی شد تونست چنین بستر مناسبی رو برام فراهم کنه. همینطور در حال حاضر مدیریت یک تیم ۱۰ نفری از جوانان فعال و پرانگیزه رو در میزفا به عهده دارم. نقد و بازخوردهای سازنده شما، جوهر تلاش‌های مستمر ماست تا یک قدم خودمون بهبود بدیم. منتظریم …
لیست آموزش GTmetrix نسخه جدید

21 نظر

21 پاسخ

  1. سلام ممنونم
    من از مطالب سئوی سایت شما همیشه استفاده میکنم
    موفق و پیروز باشید

    1. سلام حسین عزیز.
      خیلی خوشحالم از حضورت و اینکه تونستی استفاده کنی.
      دوست داشتی در دوره رایگان سئو ما هم شرکت کن.

  2. سلام وقت بخیر
    آیا در سرعت سایت هم موثر هست فعالسازی این افزونه؟ و آیا با افزونه wp super cash تداخلی ندارد؟
    تشکر

    1. سلام روزتون بخیر. کدوم افزونه؟ در این صفحه افزونه های زیادی معروفی شده. پیشنهاد میشه تست کنید. اصولا افزونه ها که در یک زمینه نیستید تداخلی هم ندارن

  3. سلام وقت بخیر. انجمن ips رو روی یک ساب دامین در کنار وردپرس نصب کردم و برای نمایش آخرین مطالب انجمن بصورت ابزارک در وردپرس از feed انجمن استفاده کردم. متاسفانه در این کد فیدخوان که انجمن برای وردپرس ارائه داده پانزده فایل با لینک ساب دامین انجمن برای نمایش ابزارک در وردپرس فراخوانی میشه که همه این پانزده تا query string دارن که بصورت =v? هست و تمام راه حل هایی رو که شما در این پست معرفی کردید امتحان کردم و مشکل حل نشد. ظاهرا این راه حل ها برای فایلهای خود سایت وردپرس با آدرس سایت فعلی هست و آدرسهای دیگر از جمله ساب دامین رو مورد هدف قرار نمیده. لطفا اگه کدی هست که query string آدرسهای ساب دامین رو یکی یکی حذف کنم لطف کنید یا اگه راه دیگه ای هست. ممنون میشم.

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

  4. ممنون واقعا.
    مطالبتون واقعا مفید هست. یکی از مراجع آموزشی برای ما هستید.

  5. سلام برای سایت هایی که با DNN طراحی شدند راه حلی وجود داره؟؟؟

    1. سلام، راه حل کلی گفته شده ولی راه حل اختصاصی بنده نمیدونم.

      1. مهندس برای سایتایی ک ه با asp.net mvc نوشته شدن چی؟؟؟ راه حل اختصاصی وجود داره؟؟؟

        1. بله برای asp باید اختصاصی کدنویسی بشه. هر سایتی که اختصاصی نوشته شده باشه باید این خطاش رو هم اختصاصی حل کنه.

  6. سلام
    من جهت رفع این مشکل از دستور
    User-agent: *
    Disallow: /*?*
    استفاده کردم اما همچنان این ارور در gtmetrix وجود دارد. لطفا راهنمایی نمایید
    با تشکر

        http://../media/fonts/farsi-homa/farsi-homa.woff?1529212406=
        http://..d/media/fonts/farsi-royab/farsi-royab.woff?1529212406=
        http://../media/fonts/farsi-trafic/farsi-trafic.woff?1529212406=
        http://../media/jui/js/jquery-migrate.min.js?23276296c15445100ef26bcec743333b
        http://../plugins/system/yt/includes/libs/minify/?f=/media/plg_jchoptimize/css/pro-jqueryFileTree.css
        http://../plugins/system/yt/includes/libs/minify/?f=/modules/mod_jux_news_ticker/assets/css/dark.css
        http://../plugins/system/yt/includes/libs/minify/?f=/modules/mod_jux_news_ticker/assets/css/style.css
        http://../plugins/system/yt/includes/libs/minify/?f=/plugins/system/ytshortcodes/assets/css/bootstrap/bootstrap.css
        http://../plugins/system/yt/includes/libs/minify/?f=/plugins/system/ytshortcodes/assets/css/shortcodes-rtl.css
        http://../plugins/system/yt/includes/libs/minify/?f=/plugins/system/ytshortcodes/assets/css/shortcodes.css
        http://../plugins/system/yt/includes/libs/minify/?f=/templates/sj_hexagon/asset/bootstrap/css/bootstrap-rtl.css
        http://../plugins/system/yt/includes/libs/minify/?f=/templates/sj_hexagon/asset/fonts/awesome/css/font-awesome.min.css
        http://../plugins/system/yt/includes/libs/minify/?f=/templates/sj_hexagon/css/pattern.css
        http://../plugins/system/yt/includes/libs/minify/?f=/templates/sj_hexagon/css/responsive.css
        http://../plugins/system/yt/includes/libs/minify/?f=/templates/sj_hexagon/css/sj-reslisting-me.css
        http://../plugins/system/yt/includes/libs/minify/?f=/templates/sj_hexagon/css/template-red.css
        http://../plugins/system/yt/includes/libs/minify/?f=/templates/sj_hexagon/css/template-rtl.css
        http://../plugins/system/yt/includes/libs/minify/?f=/templates/sj_hexagon/css/your_css.css
        http://../templates/sj_hexagon/asset/fonts/awesome/fonts/fontawesome-webfont.woff?v=4.2.0
    1. سلام، خب شما کاملا کار اشتباهی کردید و برای خودتون همینطوری دارو تجویز کردید دارویی که ممکنه تاثیر منفی هم داشته باشه. لطفا مقاله رو مطالعه کنید و از راه حل های اشاره شده استفاده کنید.

  7. آخ زنده باشی جوون. دمت گرم. خدایی هرجا رو گشتم فقط افزونه معرفی کرده بودن.
    اینجا خیلی کامل همه رو توضیح داده بودی. همۀ احتمالات رو هم در نظر گرفته بودی. دمت گرم.

    1. سلام، خواهش میکنم، خوشحالیم مفید بوده.
      همه مقالات ما سعی شده به همین شیوه کامل باشه 😉

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

حداکثر حجم فایل برای آپلود: 1 مگابایت. فایل‌های مجاز برای آپلود: عکس, ویس, ویدیو, ورد یا پی دی اف, فایل متنی, زیپ. شما می‌تونید برای بهتر پرسیدن سوالتون، عکس یا ویس یا حتی فیلم در بخش نظرات میزفا آپلود کنید. برای ضبط ویس می‌تونید از خود واتس آپ استفاده کنید و بعد اینجا آپلود کنید و برای ارسال عکس هم کافی هست اسکرین شات بگیرید. Drop file here

با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

عضویت در خبرنامه هفتگی برای دریافت:

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
فیلم آموزشی asp.net core 2
ترک میزفا خوب نیست!
معرفی جامع‌ترین ابزار سئو در ایران
بالای ۱۰ هزار عضو
PHZpZGVvIHdpZHRoPSI2MDAiIGhlaWdodD0iMzUwIiBwb3N0ZXI9Imh0dHBzOi8vbWl6ZmEuY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMjMvMDUvcG9zdGVyLW1pemZhLXRvb2xzLXZpZGVvLW1pbi5wbmciIGNvbnRyb2xzIHByZWxvYWQ9Im5vbmUiPiANCiAgIDxzb3VyY2Ugc3JjPSJodHRwczovL21pemZhLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzA1L21pemZhX3Rvb2xzXzcyMHAubXA0IiB0eXBlPSJ2aWRlby9tcDQiPg0KPC92aWRlbz4=