رفع خطای Avoid a character set in the meta tag در GTmetrix

رفع خطای Avoid a character set in the meta tag
رفع خطای Avoid a character set in the meta tag

میخوایم در این مقاله به نحوه رفع خطای Avoid a character set in the meta tag در ابزار GTMetrix بپردازیم. در جلسه گذشته از آموزش جامع GTMetrix درباره تحلیل قسمت‌های مختلف ابزار GTmetrix پرداختیم و حالا این ارور که از خطاهای Pagespeed گوگل است قصد داریم به کمک روش‌های مختلف، باعث افزایش سرعت سایت خودمان شویم.

در ابتدا درباره اینکه character set  چیست صحبت می‌کنیم و علت اینکه “چرا گوگل به ما می‌گوید از این متاتگ استفاده نکن”، چیست، چرا امتناع کردن از این متا تگ باعث بالا بردن راندمان وبسایت و بهبود سئو می‌شود. در ادامه با میزفا همراه باشید.

[box type=”info” align=”alignright” class=”” width=””]

توجه: در این مقاله ما درباره ارور Avoid a character set in the meta tag صحبت خواهیم کرد و رفع این ارور باعث می‌شود ارور دیگری به نام Specify a character set early هم رفع شود.

[/box]

 

خلاصه‌ای از خطای Avoid a character set in the meta tag

نام: Avoid a character set in the meta tag
نوع: محتوا
اولویت: کم
میزان سختی: راحت
میانگین امتیاز: ۹۹%
آموزش gtmetrix - avoid-a-character-set-in-the-meta-tag

 

خطا Avoid a character set in the meta tag

character set از جمله استانداردهای بين‌المللی كه كامل‌تر از بقيه استانداردهای موجود به رفع نیازهای مربوط به تبادل اطلاعات چندزبانه پرداخته‌ است، این character setها از قبل تعریف شده هستند و وجود آنها در صفحات تعیین کننده این است که محتویات سایت چگونه به کاربران نمایش داده شود. بسته به اینکه مقدار character set چه چیزی باشد مرورگر محتویات سایت شما را به کاربران نشان می‌دهد. پراستفاده‌ترین مقدار این متاتگ UTF-8 است و البته مقادیر دیگری همانند ASCII هم موجود است. متاتگ character set تقریبا همانند کد زیر است.

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

این خطا به معنی عدم تعیین نوع کاراکتر نیست، متاسفانه یک وب سایت ایرانی به اشتباه مقاله‌ای را انتشار می‌دهد و بقیه دوستان هم در بحث کپی کردن حرفه‌ای هستند و نتیجه این می‌شود که وقتی رفع ارور Avoid a character set in the meta tag را در گوگل سرچ می‌کنیم از ۱۰ سایت موجود در صفحه اول ۹ تا به اشتباه نوشته اند. حتی اگر دانش کافی نداشته باشیم ولی کمی در ترجمه زبان انگلیسی کنجکاو باشیم در می‌یابیم که Avoid به معنای اجتناب است و Gtmetrix می‌گوید از متاتگ character set اجتناب کن و استفاده نکن ولی سایت‌های ایرانی نوشته‌اند این خطا به معنی عدم تعیین character set در صفحات است و اگر استفاده کنید این خطا رفع می‌شود 🙂

قسمتی از توضیحات Gtmetrix را بخوانید:

Why should you avoid setting it in the meta http-equiv tag?

Setting the character set in the meta http-equiv tag disables the lookahead downloader in Internet Explorer 8. Disabling the lookahead downloader can substantially increase the amount of time it takes to load your page.

Web developers should specify the CHARSET in the HTTP Content-Type response header, as this ensures that the performance benefit of the Lookahead Downloader is realized.

همان‌طور که خواندید gtmetrix می‌گوید متاتگ character set مشکلاتی در IE8 دارد و جهت افزایش زمان لود از هدر مخصوص CHARSET استفاده شود. در ادامه از توضیحات gtmetrix بخوانید:

How to do it?

In order to avoid using meta tags you must set the Character Set from the Server.

This is the most efficient method to set the character set, because you don’t need to set it for every page. Set your server to send a Content-Type header for all documents it serves that are of type text/html.

ذکر می‌کند که به منظور اجتناب از متاتگ، Character Set را سمت سرور تنظیم می‌کنیم تا هر بار لازم نباید با متاتگ Character Set در هر صفحه آن را لود کنیم و کافیست سرور یک بار ارسال کند تا به همه سندها (صفحات و فایل‌ها) اعمال شود.

به عکسی که از داده‌های وبسایت میزفا است توجه کنید.

 درخواست HTTP avoid-a-character-set-in-the-meta-tag-mizfa
درخواست HTTP

این مشکل در وبسایت جی تی متریکس که ممکن است به شما نشان دهد، در اکثر مواقع سبز رنگ است و خیلی کم پیش می‌آید سایتی با خطای Avoid a character set in the meta tag روبه رو شود چرا که در HTML5 به شکل پیش‌فرض از UTF-8 استفاده می‌شود و این موضوع باعث شده است که خیلی از مشکلات کاراکتری حل شود.

حال برای رفع مشکل شما باید متاتگ character set را به شکل یک درخواست HTTP استفاده کنید چرا که برخی از مرورگرهای قدیمی همانند IE8 به پایین با چنین متاتگی مشکل دارند. پس باید به کمک زبان سمت سرور و نوع وب سرور بتوانیم به درستی یک درخواست از سمت HTTP header برای مرورگر برای تعیین مقدار character set ارسال کنیم. فقط توجه داشته باشید که وجود متاتگ character set مشکلی ایجاد نمی‌کند ولی بودن درخواست HTTP لازم است.

کد در PHP

اگر با خطای Avoid a character set in the meta tag برخورد می‌کنید، میتوانید از کد زیر که یک درخواست HTTP Header ارسال می‌کند، استفاده نمایید.

header("Content-Type: text/html; charset=utf-8");

کد در Apache

اگر زبان سمت سرور سایت شما به غیر از PHP است باید بررسی کنید که وب سرور شما از چه نوع است، اگر از وب سرور Apache استفاده می‌کنید کد زیر را در htaccess وارد کنید، اگر اطلاعی از زبان سمت سرور و وب سرور ندارید به پشتیبانی هاستینگ خود تیکت بزنید.

AddType 'text/html; charset=UTF-8' html

کد در Nginx

و یا اگر وب سرور شما nginx است کد زیر را در قسمت config سرور قرار دهید

more_set_headers -t 'text/html' 'Content-Type: text/html; charset=utf-8';

برای کسب اطلاعات بیشتر می‌توانید این مقاله گوگل را مطالعه فرمایید.

 

جمع بندی خطای Avoid a character set in the meta tag

سعی شد در این مقاله به مشکلات مربوط به ارور Avoid a character set in the meta tag , و نحوه رفع آن پرداخته شود، ولی باید دقت داشته باشید که به این معنا نیست که حتما با خواندن این مقاله مشکل شما هم حل خواهد شد. پیشنهاد می‌شود اگر چنین مشکلی در سایت خود دارید و راه حل های بالا کمکی به رفع خطاهای موجود در GTMetrix نکرد در قسمت نظرات میزفا مشکل خود را حتما مطرح کنید.

شما با رفع خطای اشاره شده می‌توانید خطای Specify a character set early را هم رفع کنید. خطای دوم هم جز خطاهای Pagespeed گوگل می‌باشد.

پس اگر سوالی داشتید حتما در نظرات میزفا مطرح کنید. این جلسه از آموزش کار با GTmetrix هم به پایان رسید در جلسات بعد به رفع خطای Avoid bad requests میپردازیم. با ما همراه باشید.

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

7 نظر

7 پاسخ

  1. سلام وقت شما بخیر
    ممنون از سایتتون
    من سایت خودم رو به رتبه A رسونده بودم ولی الان که وارد سایت GTmetrix میشم رتبه سایتم به F رسیده البته میدونم که اگر رتبم به A رسیده همیشه باقی نمیمونه و اگر عکسی اضافه کرده باشم یا هر مشکلی این رتبه رو جا به جا میکنه ولی مدل سایت GTmetrix تغییر کرده و دقیقا قسمت های YSlow و PageSpeed رو دیگه ندارم تا خطاهای به وجود اومده رو ببینم .
    لطفا راهنمایی بفرمائید.

    1. سلام
      خیلی ممنون
      ابزار GTmetrix تغییر کرده و گزارش های PageSpeed و Yslow حذف شدن و معیارهای جدید جای اونها رو گرفته.
      تو مقاله آموزش GTmetrix جدید این موضوع رو بررسی کردیم که پیشنهاد میکنم مطالعه‌اش کنی.
      موفق باشی

      1. ممنون از پاسخگویی شما و آموزش های خوب سایتتون
        خسته نباشید

  2. من از سرور اباچی استفاده میکنم ولی وقتی کد رو در htaccess وارد میکنم اصلا درست که نمیشه هیچ کل سایت بهم میریزه

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

      1. ببینید شما گفته بودید در صورتی که ازوب سرور آپاچی استفاده میکنید این کد رو در اچ تی اکسس وارد کنید من ایینکارو انجام دادم اما کل سایتم به ارور برخورد کرد

        1. سلام الهام. احتمالا تداخل داره و یا این کد با سرور شما سازگار نیست. به نظرم بهترین راه حل اینکه با پشتیبان هاستتون حرف بزنید و بگید که قصد دارید چه کار کنید. چون اونا میدونن تنظیمات سرور رو چطوری تنظیم کردن و بهتر راهنمایی میکنن. تنظیمات هر سرور هم طبیعتا فرق داره و باز بهترین گزینه خود پشتیبان هاست شما هست.
          امیدوارم پاسخم برات مفید باشه.

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

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

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

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

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

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