stDragon
@stDragon
front-end разработчик

Как сделать правильный валидные метаданные?

Есть старые табличные сайты интернет магазинов с поддержкой IE7 и задача сделать сайт валиднее.
сайты построены на Yii
в шапке

<!DOCTYPE html>
<html lang="ru">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
	<meta name="language" content="ru"/>

загвоздка в методанных
<meta charset="кодировка">
выставить не могу, "charset" IE9+, поэтому оставляю
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>.


А вот <meta name="language" content="ru"/> вообще не могу найти зачем используется.
WC3 на него ругается "Bad value language for attribute name on element meta: Keyword language is not registered.".

Подскажите, можно ли его удалить не поломав обратной совместимости.
И как дела с этими заголовками в HTML письмах.
  • Вопрос задан
  • 3549 просмотров
Решения вопроса 1
zooks
@zooks
Frontend
Не нужно изобретать велосипед:
<!DOCTYPE html>
<html lang="ru">
<head>
	<meta charset="utf-8">

Для древних IE вставьте
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

P.S. не слушайте тех, кто пишет что валидный HTML не нужен. Это мнение халтурщиков.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
w999d
@w999d
Web-developer
ru-RU может быть? используется для того, чтобы выставить язык документа.
charset="" это html5
вообще не стоит сильно зависать над валидностью. попробуйте проверить на валидность google.com или yandex.ru - возможно, будете сильно удивлены.
Ответ написан
Простите а зачем вам валидные сайты? Валидация это писькомерство только среди front-end, если сайт отображается везде одинаково, ну или с разумной деградацией на более низких версиях браузеров, то какая разница проходит валидацию или нет?
Если с позиции SEO, то есть общепринятые правила/хорошие советы, по разметке, но что то я не слышал, что бы не валидный сайт искусственно занижался бы в поисковиках.
Я прошарил несколько топ сайтов из яндекса, ни один не проходит валидацию.

По поводу <meta name="language" content="ru"/> у вас декларация html5 значит язык у вас уже указан в <html lang="ru">
Зачем еще раз?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы