Как исправить ошибку "Ошибка: атрибут charset для мета-элемента, найденного после первых 512 байт".

Я получаю эту ошибку для моего сайта в процессе проверки.

Error: A charset attribute on a meta element found after the first 512 bytes.

и вот код, который я подозреваю, вызывая эту проблему:

    <!DOCTYPE html> 
    <html class="not-ie no-js" lang="en-US" prefix="og: http://ogp.me/ns#"> 
    <head>
    <link rel="stylesheet" type="text/css" href="#" onclick="location.href='http://mywebsite.com.au/wp-content/cache/minify/000000/TY3RDsIgDEV_SFb5pAqVgLDWFTb79y6bWXw6ybk3OR4KdcHwgsZxVFLYckzUL97uoN0q7QyqUN6DFpueOAd78Gdqef4ta47EruifwhEzS0WjZfWH97CJSw1FcjdHqOYSc6rkdqdnaU_LdRHW7k79BQ.css'; return false;" media="all" />
    <script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/hY7RDsIgDEV_aFCXmCzxb5DVDQSKtDj164W5dx977rltV5F8ATDevPRCtAQ02bG2FHcGwV0Z_KNiecOoJz0eg44uac_DCTxDpBlLcp-ibWWh-KNPNyMpz10dztBWRkyiCuaw14exsSTGirpRiWoCl2yoM3JvH2d68l9mW1wWbpJHycbe-0s1tHDLS6GVvg.js"></script>
    <script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/M9YvzdTPKixNLarUK83UK89MSU8t0cvNzAMA.js"></script>
    <script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/ZY5BDsIwDAQ_RNIWxEt4gUkMuKRxsJPS8HpacahQLnuYnZW270btFAO6TDN9xED0BpcsYH6URe1E8dBvoqAmjn4H46ugVIugFO9msKemukF09cqLTeCef42rLqCFEJqNTiD5krcI5FEagZQzJ2z46EC4rMf3BoonTgEqyjw0g8zFPS5vSrieP9rzLriimacv.js"></script>
    <meta charset="UTF-8">

Ответ 1

Переместите запись meta, прежде всего, в другие записи, например:

<!DOCTYPE html> 
<html class="not-ie no-js" lang="en-US" prefix="og: http://ogp.me/ns#"> 
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="http://mywebsite.com.au/wp-content/cache/minify/000000/TY3RDsIgDEV_SFb5pAqVgLDWFTb79y6bWXw6ybk3OR4KdcHwgsZxVFLYckzUL97uoN0q7QyqUN6DFpueOAd78Gdqef4ta47EruifwhEzS0WjZfWH97CJSw1FcjdHqOYSc6rkdqdnaU_LdRHW7k79BQ.css" media="all" />
    <script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/hY7RDsIgDEV_aFCXmCzxb5DVDQSKtDj164W5dx977rltV5F8ATDevPRCtAQ02bG2FHcGwV0Z_KNiecOoJz0eg44uac_DCTxDpBlLcp-ibWWh-KNPNyMpz10dztBWRkyiCuaw14exsSTGirpRiWoCl2yoM3JvH2d68l9mW1wWbpJHycbe-0s1tHDLS6GVvg.js"></script>
    <script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/M9YvzdTPKixNLarUK83UK89MSU8t0cvNzAMA.js"></script>
    <script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/ZY5BDsIwDAQ_RNIWxEt4gUkMuKRxsJPS8HpacahQLnuYnZW270btFAO6TDN9xED0BpcsYH6URe1E8dBvoqAmjn4H46ugVIugFO9msKemukF09cqLTeCef42rLqCFEJqNTiD5krcI5FEagZQzJ2z46EC4rMf3BoonTgEqyjw0g8zFPS5vSrieP9rzLriimacv.js"></script>

Ваша проблема заключается в нарушениях рекомендации W3C HTML5:

Элемент, содержащий объявление кодировки символов, должен быть полностью сериализован в пределах первых 1024 байта документа.

Независимо от того, какой тест вы используете, он несколько устарел, предел был 512 байт, но был изменен (не позднее) декабря 2012 года.

Те довольно короткие теги script подталкивают спецификацию набора символов за пределы диапазона размером в 512 байт вашего тестового инструмента. Даже если вы используете более поздний тестовый инструмент, который распознает изменение на 1024 байта, это может быть проблемой. Совет по размещению тега meta спереди должен исправить любой случай.

Ответ 2

Просто поместите

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

как полное предложение вместо того, чтобы писать только

<meta charset="UTF-8">

он отлично работает для меня.

Ответ 3

Попробуйте поставить метатег в первую очередь внутри головы

Ответ 4

Эта ошибка также возникает, если у вас есть тег, появляющийся более одного раза в коде <head> на странице. Убедитесь, что вы не сделали это случайно дважды.