Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Валидация по стандарту HTML 4.01 Transitional

00 голосов
9
Из-за ошибок движка Битрикса наш сайт не проходит валидацию по стандарту HTML 4.01 Transitional. Это затрудняет индексацию поисковыми роботами и, как следствие, приводит к снижению количества посетителей сайта.

Вот эти тэги идут с багами (по стандарту HTML 4.01 Transitional) из движка:

<meta name="keywords" content="" />
<meta ... />
<link ... type="text/css" rel="stylesheet" />
<br />

Народ, подскажите, кто как боролся с этой напастью!!! Служба поодержки Битрикса исправлять ситуацию отказалась.

Ссылка для проверки сайта: http://validator.w3.org/
спросил 15 Май, 13 от Ownager (160 баллов)

9 Ответы

00 голосов
файл init.php

Код

        function GetMyCSS($bExternal = true)
        {
                 global $APPLICATION;
                $res = "";
                $arCSS = $APPLICATION->sPath2css;
                if(defined("SITE_TEMPLATE_ID") && file_exists($_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/templates/".SITE_TEMPLATE_ID."/styles.css"))
                {
                        $arCSS[] = BX_PERSONAL_ROOT."/templates/".SITE_TEMPLATE_ID."/styles.css";
                        $arCSS[] = BX_PERSONAL_ROOT."/templates/".SITE_TEMPLATE_ID."/template_styles.css";
                }
                else
                {
                        $arCSS[] = BX_PERSONAL_ROOT."/templates/.default/styles.css";
                        $arCSS[] = BX_PERSONAL_ROOT."/templates/.default/template_styles.css";
                }

                $arCSS = array_unique($arCSS);
                foreach($arCSS as $css_path)
                {
                        $filename = $_SERVER["DOCUMENT_ROOT"].$css_path;
                        if(file_exists($filename))
                        {
                                if($bExternal && (strpos($css_path, "/bitrix/modules/")===false))
                                        $res .= '<link href="'.$css_path.'" type="text/css" rel="stylesheet">';
                                else
                                {
                                        if($handle = fopen($filename, "r"))
                                        {
                                                $contents = fread($handle, filesize($filename));
                                                fclose($handle);
                                        }
                                        $res .= "<style type='text/css'>n".$contents."n</style>n";
                                }
                        }
                }
                return $res;
        }

        function ShowMyCSS($bExternal = true)
        {
         global $APPLICATION;

                $APPLICATION->AddBufferContent(("GetMyCSS"), $bExternal);
        } 


Ну и вызываем соответственно
ответил 15 Май, 13 от Alverdine (500 баллов)
00 голосов
Спасибо за информацию.
ответил 16 Май, 13 от Ownager (160 баллов)
00 голосов
Цитата
Михаил Кирин пишет:
Это затрудняет индексацию поисковыми роботами


Откуда такая информация?
ответил 28 Июль, 13 от Sazragore (500 баллов)
00 голосов
Цитата
Михаил Кирин пишет:
Это затрудняет индексацию поисковыми роботами и, как следствие, приводит к снижению количества посетителей сайта.
:D
Ересь
ответил 31 Окт, 13 от NitroGeN (2,840 баллов)
00 голосов
Цитата
Евгений Малков пишет:

Ересь


:D Делай ошибок побольше в коде и будешь в топе поисковиков навсегда! :D
ответил 05 Фев, 14 от Ownager (160 баллов)
00 голосов
ответил 25 Май, 14 от salo (840 баллов)
00 голосов
:D
ответил 22 Сен, 14 от Ownager (160 баллов)
00 голосов
Цитата
Михаил Кирин пишет:
Делай ошибок побольше в коде

А что, я разьве где-то был замечен в этом?
И почему на ты?

По вопросу:
Вместо <?$APPLICATION->ShowMeta("keywords")?> можно написать <meta name="keywords" content="<?echo $APPLICATION->ShowProperty("keywords")?>">
Поисковикам абсолютно всеравно по какому стандарту у вас написан код
ответил 26 Янв, 15 от NitroGeN (2,840 баллов)
00 голосов
Цитата
Евгений Малков пишет:

Вместо
<?$APPLICATION->ShowMeta("keywords")?>
можно написать
<meta name="keywords" content="<?echo $APPLICATION->ShowProperty("keywords")?>">


Спасибо за информацию. Буду теперь на форум обращаться за помощью, а не в техподдержку. Похоже, что все гуру именно здесь тусуются. 8)
ответил 10 Май, 15 от Ownager (160 баллов)

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

0 голосов
1 ответ
0 голосов
1 ответ
0 голосов
2 ответов
спросил 05 Май, 14 от IIingvin (120 баллов)
0 голосов
2 ответов
спросил 24 Апр, 14 от Wildest (500 баллов)