آموزش سئو فنیآموزش افزایش سرعت سایت با ابزار GTMetrix

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

آموزش بهبود سرعت سایت با 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%
[gap height=”15″]

 

علت خطای 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 های سایت خود را حذف کنید و مدت‌زمان کش فایل‌ها را برحسب نوع آن و سابقه آپدیت آن فایل‌ها، کش کنید تا دیگر از هیچ سمتی به مشکلی برنخورید. برای کش کردن فایل‌ها می‌توانید مقاله نحوه کش کردن فایل را بخوانید.

اینم بخون، جالبه
رفع خطای Make JavaScript and CSS external در YSlow جی تی متریکس

 

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

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

در وردپرس

  • برای رفع این خطا اگر تمایل به استفاده از کدها را ندارید و سایت وردپرسی دارید، می‌توانید پلاگین Remove Query Strings را نصب کنید این پلاگین بدون هیچ‌گونه تنظیمات اضافه باعث رفع مشکل Remove query strings from static resources در مدیریت محتوای وردپرس می‌شود.
    [gap]
  • اگر پلاگین بالا به هر دلیلی در سایت وردپرسی شما کار نکرد یا با افزونه‌های دیگر تداخل داشت می‌توانید پلاگین Remove Query Strings From Static Resources را تست نمایید و همانند پلاگین بالا عمل می‌کند.
    [gap]
  • پلاگین WP Rocket در نسخه ۲.۹ به بعد خود قابلیت رفع خطای Remove query strings from static resources را قرار داده هست و اگر از این پلاگین استفاده می‌کنید می‌توانید همانند عکس زیر تیک آن را بزنید. (جهت دانلود نسخه اورجینال و آموزش جامع این پلاگین معروف و فوق العاده به دوره آموزش wp rocket ما می‌توانید مراجعه نمایید.)
    رفع خطای query strings در WP Rocket
    رفع خطای query strings در WP Rocket
    [gap]
  • پلاگین W3 total cashe هم گزینه‌ای دارد که با برداشتن آن باعث رفع این خطا می‌شود، اگر این افزونه را در سایت وردپرس خود نصب‌کرده‌اید با فعال بودن گزینه Prevent caching of objects after settings change در قسمت Brower Cahse باعث ایجاد خطای query strings می‌شوید، پس تیک آن را بردارید.
    رفع خطای query strings در افزونه W3 total cashe
    رفع خطای query strings در افزونه W3 total cashe
    [gap]
  • با استفاده از فایل 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);
}
[gap]

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

رفع خطای Remove query strings from static resources در gtmetrix
امتیاز 5 از 4 رای
برچسب ها

پوریا آریافر

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

نوشته های مشابه

‫19 نظرها

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

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

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

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

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

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

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

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

  4. سلام
    من جهت رفع این مشکل از دستور
    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. سلام، خب شما کاملا کار اشتباهی کردید و برای خودتون همینطوری دارو تجویز کردید دارویی که ممکنه تاثیر منفی هم داشته باشه. لطفا مقاله رو مطالعه کنید و از راه حل های اشاره شده استفاده کنید.

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

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

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
سایت خود را در گوگل مدیریت کنید + ۱۵ ساعت فیلم آموزشیجزئیات بیشتر اینجا کلیک کنید
بستن
با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

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

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
ترک میزفا خوب نیست!
دوره رایگان سئو