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

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

توجه

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

سرفصل‌ها

  • خلاصه‌ای از خطای Avoid a character set in the meta tag
  • خطا Avoid a character set in the meta tag
    • کد در PHP
    • کد در Apache
    • کد در Nginx
  • جمع بندی خطای Avoid a character set in the meta tag

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

نام: 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 تقریبا همانند کد زیر است:

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

خیلی کم پیش می‌آید سایتی با خطای 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 ارسال می‌کند، استفاده نمایید.

کد در Apache

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

کد در Nginx

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

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

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

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

منبع: میزفا

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

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

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

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