سرفصلهای پست
آموزش افزایش سرعت سایت با GTmetrix – رفع خطاهای YSlow
درود بر شما، در ادامه آموزش بهینه سازی سرعت سایت با ابزار جی تی متریکس در خدمت شما هستیم. در مقاله قبلی درباره خطای Use cookie-free domains صحبت کردیم در این پست قصد داریم درباره ارور Use GET for AJAX requests بحث کنیم و بررسی کنیم منظور این خطا چیست و اینکه رفع آن چگونه باعث بالا رفتن سرعت سایت و همینطور سئو ما میشود، پس ما میزفا همراه باشید.
خلاصهای از خطا Use GET for AJAX requests
اولویت: پایین
میزان سختی: متوسط
میانگین امتیاز: 100%
اهمیت استفاده از AJAX
درگذشته برای تبادل اطلاعات بین سرور و مرورگر در یک بخش کوچک از صفحه باید از زبانهای asp یا php یا دیگر زبانها استفاده میکردند که در این روشها باعث میشود کل آن صفحه به سرور ارسال شود به عبارتی کل صفحه لود میگردید تا درنهایت فقط بخشی از صفحه تغییرات لازم بر روی آن اعمال شود. ارسال حجم کل اطلاعات صفحه تنها به خاطر تغییر قسمتی کوچک از آن باعث کاهش سرعت سایت و افزایش پهنای باند مصرفی میگردید همچنین این موضوع تجربه کاربری را هم مختل مینمود، Ajax این مشکل را برطرف میکردد.
شی xmlhttprequest در Ajax
درواقع Object (شئ) xmlhttprequest در Ajax است همه این مشکلات سرعت را رفع نمود و باعث شد تا محتوای بهروز شده در یک صفحه بدون احتیاج به بارگذاری دوباره کل صفحه تغییر کند. درواقع این شئ سبب گردید تا داده واردشده توسط کاربر به سمت سرور ارسال شود و سرور پردازشهای لازم را انجام دهد و سپس داده پردازششده یعنی اطلاعات را به مرورگر بدهد بدون آنکه صفحه لود شود، تمام این رفتوبرگشتها در پشت صفحه و بدون اطلاع کاربر انجام میشود. میتوان گفت شئ XMLHttpRequest مهمترین شئ در Ajax است که تقریبا انجام تمام عملیات لازم بر روی دوش آن هست. حال برای ارسال و تبادل اطلاعات توسط شئ XMLHttpRequest دو نوع متد وجود دارد متد GET و متد POST که هر دو یک درخواست HTTP برای تبادل اطلاعات استفاده میکنند که هر کدام مزایا و معایت خوب را دارند.
بیشتر بدانید: XML و یا JSON یک نوع ساختار برای ذخیرهسازی اطلاعات است، ساختارهایی که بدون توجه به تکنولوژی و پلتفرم آن دستگاه قابل استفاده هستند از طرفی Ajax یک تکنولوژی است که در آن یک شئ XMLHttpRequest وجود دارد این شئ همانطور که نامش پیداست اطلاعاتی که دارای ساختار XML است را به شکل Http Request (درخواست HTTP) ردوبدل میکند، این توضیح کوتاه داده شد تا با فلسفه نام XMLHttpRequest آشنا شوید.
درباره Use GET for AJAX requests
بعید است سایت شما با خطای Use GET for AJAX requests روبهرو شود ولی اگر شد بدانید که در این پست منظور Gtmetrix این است که اگر از تکنولوژی Ajax در صفحات استفاده میکنید به جای استفاده از متد ارسال POST از GET استفاده نمایید، چرا که سرعت متد GET بیشتر است.
تفاوت متد POST و GET از نگاه بهبود سرعت سایت این است که در متد POST در دو مرحله عملیات تبادل داده بین سرور و مرورگر را انجام میدهد، در مرحله اول ارسال درخواست headers است و در مرحله بعدی دادهها را ارسال میکند درحالی که متد GET هر دو مرحله را با هم ارسال میکند. ولی تفاوت این دو متد به اینجا ختم نمیشود و فرقهای بسیار هم دارند که باید بررسی کرد از کدام بهتر است برای تبادل اطلاعات استفاده شود چرا که همیشه متد GET بهتر نیست و در شرایطی استفاده از متد POST حیاتی میباشد.
دیگر تفاوتهای متد POST و GET
ویژگی |
متد GET |
متد POST |
استفاده از دکمه های BACK و Reload |
بی اثر |
ارسال دوباره اطلاعات (البته قبل از ارسال شدن دوباره اطلاعات مرورگر به کاربر هشدار میدهد) |
Bookmark کردن |
با زدن کلیدهای ctrl + D آدرس bookmark میشود. |
قابلیت bookmark را ندارد. |
قابلیت کش – Cache |
کش میشود. |
قابلیت کش را ندارد. |
نوع رمزگذاری – Encoding |
application/x-www-form-urlencoded |
application/x-www-form-urlencoded multipart/form-data از multipart/form-data برای رمزگذاری داده های باینری معمولا هنگام آپلود کردن فایلها استفاده میشود. یعنی برای آپلود فایل از این نوع استفاده می کنیم. |
ذخیره شدن در تاریخچه مرورگر – History |
ردپای متد GET در تاریخچه مرورگر ذخیره میشود. |
ذخیره نمیشود. |
محدودیت در اندازه داده |
متد GET اطلاعات خودش را به URL اضافه میکند. و از طرفی حداکثر اندازه URL میتواند 2048 کاراکتر باشد. |
بدون محدودیت |
محدودیت در نوع داده |
فقط داده ی از نوع اسکی را پشتیبانی می کند. |
بدون محدودیت. قابلیت ارسال داده های باینری را دارد. |
امنیت |
امنیت کمتری نسبت به POST دارد.از این متد برای ارسال اطلاعات حساسی مانند کلمه عبور استفاده نکنید. |
نسبت به متد GET از امنیت بیشتری برخوردار است.پارامترهای ارسالی در تاریخچه مرورگر و در سیستم لاگ وب سرور ذخیره نمی شوند. |
قابلیت مشاهده |
اطلاعات در URL توسط همه قابل مشاهده است. |
قابل مشاهده نیست. |
منبع جدول بالا: miniapp.blog.ir
[gap]به پایان رفع ارور Use GET for AJAX requests از دوره آموزش جی تی متریکس رسیدیم و امیدواریم در این آموزش SEO که باعث افزایش سرعت سایت و همچنین افزایش رتبه سایت در گوگل میشود، کمک شایانی کرده باشیم، اگر سوالی داشتید حتما در انجمن سایت میزفا مطرح کنید.
دوره آموزش Gtmerix به پایان رسید، موفق و موید باشید
12 پاسخ
سلام آقای آریافر
ممنون از مقاله خوبتون، دو تا سوال داشتم:
سوال اول: من در صفحه مقالات سایتم وقتی که کاربری صفحه را اسکرول می کند و مطلب به پایان می رسد بصورت مطلب بعدی لود می شود و به همین ترتیب، آیا این کار از نظر سئو نمره منفی دارد؟
سوال دوم: اینکه آیا از نظر سئو اگر کاربر فقط یکی از صفحات سایت را باز کند و بعد از دو دقیقه از سایت بیرون رود بهتر است یا اینکه در مدت این دو دقیقه دو صفحه را باز کند؟
تفاوت مورد اول با دوم در این است که در اولی مدت زمان بودن در یک صفحه به 2 دقیقه می رسد ولی بانس ریت صفحه 100 است ولی در مورد دوم زمان بودن در یک صفحه یک دقیه است ولی بانس ریت 50 است، حال کدام از نظر سئو بهتر است؟
سلام مهدی جان. این حالت رو باید دقیق بررسی کرد و نمیشه همینطوری دربارش نظر داد.
سئو به چند تا عدد نیست که بگم این بهتره یا اون بهتره. باید سرچ کنسول و انالیتیکس رو بررسی کرد. پیشنهاد میشه به کسی که متخصص سئو هست و امکان دسترسی به اطلاعات سایت شما رو داره بسپارید.
آقا پوریا مورد اول منظورم لود شدن بصورت ajax است، آیا اینکه بعد از پایان مقاله مطلب بعدی بصورت ajax لود شود از نظر گوگل نمره منفی دارد؟
سوالی دیگر نیز داشتم:
بهترین قالب مجله ای وردپرس از نظر سئو چه قالبی است، سرعت خیلی برایم مهم است؟
قبلا از جنه استفاده می کردم ولی الان از پابلیشر.
عزیزم میدونم قبلا این نمونه سایت ها زیاد دیدم و هر کدوم با هم فرق داشته. من نمیتونم بدون بررسی دقیق نظر بدم. برای همین گفتم به کسی بدید که دسترسی به سرچ کنسول و انالیتیکس شما رو داره تا بتونه نظر درست رو بگه.
بهترین قالب هم نداریم هر دو قالبی که گفتید خوب اند. بستگی به تنظیمات و نحوه استفاده ما داره.
اگر سرعت خیلی مهم هست که اصلا ب نظر من باید سایت اختصاصی زد.
سلام ببخشید من یک سوالی داشتم اینم بود که متد post در Ajax اصلا نمیتونم نتیجه بگیرم ولی متد get میشه مشکل چی هس ممنون میشم راهنمایی کنید؟
سلام علی جان. متاسفانه متوجه سوال شما نشدم و همینطور ارتباطش با این مقاله.
سلام سایت من هم دی جی تی و هم در سایت pingdom در قسمت واترفال اخرین req رنگش خاکستریه ولی بقیه مشکی و waiting time خیلی بالایی داره و حجمش رو زده صفر ادرسش عکس لوگو سایت هست که بالاتر همین ادرس لوگو سایت به درستی لود شده ولی نمیدونم چرا دوباره req داره و رنگش خاکستریه
سلام. صورت مسئله ناقص هست. ممکنه در هر باز کردنی اخرین درخواست عوض بشه. باید دقیق این موضوع مطرح کنید. پیشنهاد میشه اموزش های جی تی متریکس رو کامل مطالعه کنید تا بتونید حل کنید اگر مشکلی وجود داره.
با سلام و عرض ادب.
بنده در قسمت : Make fewer HTTP requests
خطای : This page has 53 external stylesheets. Try combining them into one
برایم نمایش داده می شود و GRADE آن هم 0 می باشد !
لطفا روش حل این مشکل را بفرمایید.
بنده از این که شما زحمت فراوان کشیده اید و آموزش های مفیدی را قرار داده اید واقعا سپاس گذارم ولی به نظر بنده روش حل و رفع مسئله از توضیح درمورد این که مسئله چیست ، مهمتر می باشد.
متاسفانه بنده آموزشی در خصوص رفع این خطا مشاهده نکردم ..
چنانچه مقدور بود، روشی را برای حل مشکل بفرمایید که از کجا و چگونه این مشکل را بصورت کامل برطرف نماییم.
با سپاس فراوان از شما و سایت مفید شما.
درود بر شما
خواهش میشه. اتفاقا برعکس شما من فکر میکنم و تشریح مسئله مهمتر از حل مسئله هست و اگر خلاف این موضوع فکر میکنید میتونید جستجو کنید که آیا درک مسئله مهم هست یا حل مسئله. چرا که تا زمانی درکی از مسئله نداشته باشید حلی هم وجود نخواهد داشت. ولی زمانی که به درک صحیح مسئله پی ببرید جدا از راه حل های اشاره شده میتونید یک راه حل متناسب با سایت خودت و خلاقیت های ذهی خود بسازید جدا از اینکه تشریح صورت مسئله باعث افزایش اطلاعات عمومی هم خواهد شد.
مورد دیگری که باید خدمت شما عرض کنم این است که برخی دوستان انتظار دارن کد جادویی قرار بدیم که وقتی استفاده میکنند مشکلاتشون حل بشه که خب طبیعتا چنین کدهایی در هیچ جا وجود نداره و برای همین هست برخی مشکلات راه حل عمومی نداره بلکه باید متناسب با سایت و کدنویسی که صورت گرفته در قالب و همینطور تنظیمات موجود در هاست و افزونه هایی که نصب شده بیایم دست به کد بشیم و یک راه حل اختصاصی ایجاد کنیم. از طرفی خیلی از راه حل ها هم در قالب متن نمیشه گفت ولی به شکل ویدیو میشه به راحتی نشون داد و آموزش های لازم رو صورت داد.
خطای اشاره شده در پست رفع ارور Make fewer HTTP requests موجود است مطالعه کنید و البته در برخی خطاها به دنبال کدجادویی نباشید 🙂
سلام خسته نباشید
یه سوالی داشتم ممنون میشم راهنمایی نمایید
من سایتم رو تو جی تی متریکس بهینه کردم لود پیج اسپیدش 93 هست و وای اسلو هم 85
وقتی بهینه میکردم فول لو.د تایم 16 بود ولی نمیدونم چرا الان شده 50 به بالا
سایت وردپرسی دارم fbsep7.ir
سلام، خب مقایسه کنید حالت قبل و بعد گزارش GTmetrix رو تا بتونید علت رو جویا بشید.