• Как валидно расставить теги в head?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    1. Атрибут lang нужно указывать в элементах с текстовой информацией. Если вся страница содержит контент на одном языке, нужно указывать в html. Указать в head, и не указать в body — по меньшей мере странно.

    2. Ситуация, когда сервер не отдаёт кодировку в Content-Type, невероятно редка. Однако, если она-таки случится, а документ не содержит сигнатуру (например, выбран режим сохранения UTF-8 without BOM), то указание кодировки следует первым же тэгом meta в head, дабы браузер не парсил вторично текст, содержащий не ASCII символы.
    Подробнее про encoding sniffing

    3. Указание кодировки лучше указывать так (тип документа внутри документа не имеет никакого смысла):
    <meta charset="utf-8">

    4. Сначала стили, потом скрипты. Тут вы поступаете абсолютно верно. Если скрипту можно указать асинхронную загрузку — указывайте. Если же это невозможно, рекомендуется загружать синхронно в head только те скрипты, которые могут требоваться для других скриптов, а остальные ставить в конец body.

    5. Если есть стили, которые не требуются для стартового отображения страницы (например, только для подгружаемого контента), можно динамически загружать их (например, по окончании формирования DOM) с помощью скриптов. Как вариант — с помощью скриптов, стоящих в конце body, не ориентируясь на событие DOMContentLoaded.
    Советы по оптимизации от Google Developers

    6. Остальные meta и link тэги можно разделить на используемые для формирования страницы (например, meta name="viewport"), которые лучше ставить в начало head после кодировки, и второстепенные, которые можно ставить в конце head, что вы и сделали.

    7. Заголовок документа можно поставить после всех первостепенных meta тэгов.

    8. По умолчанию meta name="robots" имеет значение all (index,follow). Если вы не намерены запрещать что-то, писать его смысла нет.
    Ответ написан