Для того, чтобы валидатор w3c не выдавал ошибок при подключении скриптов и стилей у них не должно быть атрибутов type=»text/css» type=»text/javascript». Но в cms вордпресс данные атрибуты по прежнему есть. Многие владельцы сайтов на данной платформе хотят сделать код валидным и им необходимо избавиться от указанных строк. На сайте уже было указано решение данной проблемы.
Однако на одном из сайтов, которому требовалось выполнить работы по сео-оптимизации решение выше не работало. Сайт начинал отдавать 500-ю ошибку, то есть ошибку выполнения php на веб-сервере. В таком случае есть еще один альтернативный вариант кода, который можно добавить в functions.php:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// удаляем все type у скриптов и стилей для соответствия html5 begin function ost_theme_output_buffer_start() { ob_start('ost_theme_output_callback'); } add_action('wp_loaded', 'ost_theme_output_buffer_start'); function ost_theme_output_buffer_end() { ob_end_flush(); } add_action('shutdown', 'ost_theme_output_buffer_end'); function ost_theme_output_callback($buffer) { return preg_replace("%[ ]type=[\'\"]text\/(javascript|css)[\'\"]%", '', $buffer); } // удаляем все type у скриптов и стилей для соответствия html5 end |
Данный код удаляет type=»text/css» и type=»text/javascript» со всех страниц сайта на вордпресс, даже если где-то напрямую в коде при подключении они указаны.