|
В экстазе
|
|
Оптимизация кода (HTML, CSS, JS)21.11.2014, 19:40. Показов 2447. Ответов 8
Метки нет (Все метки)
Доброго времени суток уважаемые!
Недавно задался себе вопросом: как оптимизировать страницу, в соответствии со всеми рекомендациями Google Page Speed? Из всего, что требует этот сервис, без особых усилий удалось выполнить большую часть пунктов, в т.ч. отображение сайта для мобильных устройств (ну разве что, постоянно появляется ошибка, что какой-то из элементов не виден на странице, хотя это не так). Основным непонятным для меня моментом является рекомендация убрать из заголовочный части сайта ссылки на CSS и JS. И если решений с JS'ом я вижу несколько, например добавить к скриптам тег асинхронной загрузки (из-за которого кстати то и дело наровит отвалиться то слайдер, то ещё что-нибудь) или просто вытащить скрипты перед </body>, то что делать CSS-файлами - я решительно не понимаю. Следуя рекомендация гугла, я вставил в тег <style> стили для заголовочной части сайта, перенеся все остальные CSS-файлы в конец страницы... - Google - рад, валидатор - ругается матом. Вернул обратно файлы CSS (в заголовок страницы) - валидатор - радуется, а Google опять не доволен, что файлы слишком большие... Можно ли как-то добиться того, что бы страница и Google'у нравилась и соответствовала стандартам? Или для этого придётся отказаться от "больших файлов CSS"? Методом "тыка" обнаружил, что Google Page Speed ругается буквально на всё, на что можно ругаться, в т.ч. на свои собственные шрифты (даже те, которые в сервисе Google Fonts отмечены "зелёным"), CSS-файлы Bootsparap'a и многое другое...
0
|
|
| 21.11.2014, 19:40 | |
|
Ответы с готовыми решениями:
8
Старые добрые HTML и CSS или новые HTML 5 и CSS 3? Оптимизация css кода |
|
В экстазе
|
|
| 21.11.2014, 21:21 [ТС] | |
|
Fedor92, благодарю за ответ! Это конечно оптимальный вариант, но мне не понятен всё-таки один момент (наверное в виду скудного собственного опыта)...
Момент следующий: 1. Я не могу понять, зачем показывать пользователю "размазанный" контент, и как это "ускоряет" загрузку страницы? *при условии, что CSS грузится после загрузки основного HTML-кода 2. Если асинхронная или отложенная загрузка CSS действительно так важна, почему авторы стандартов (HTML5) не добавили такую возможность для файлов CSS, при этом добавив её для файлов JS? P.S. Всё же не могу представить себе картину, когда пользователь вместо "белой" страницы видит "разорванную" вёрстку, т.к. CSS файл оснащён "отложенной" загрузкой... Если всё действительно настолько плохо (CSS'ы занимают сотники и тысячи килобайт) - по моему, разумнее было бы сделать какую-нибудь заставку, типа "Подождите, идёт загрузка тонн дерьма в Ваш телефон...", чем так уродовать код и стандарты... Добавлено через 13 минут Ещё более не ясным для меня остаётся вот что: Если CSS вынесен в отдельный файл, сколько бы кода там не было, - он может кэшироваться браузером. При этом, если мы будем вставлять один и тот же код CSS в тело страницы, - это значительно увеличит объём каждой отдельной страницы... о какой при этом оптимизации загрузки вообще может идти речь? Другой исход: предположим у нас есть слайдер... Скрипты грузятся либо в конце, либо асинхронно... Результат 1: мы видим "разорванный" слайдер размотанный по странице, т.к. JS-код, который делает из этого набора картинок слайдер - ещё не подгрузился... Результат 2: Мы скрываем блок со слайдером (с картинками) до полной загрузки и инициализации слайдера... и тут пользователь, с медленным интернет-соединением, заходит на наш сайт, читает "разорванный" и "размазанный по экрану" контент, который больше напоминает нечто непристойное, нежели грамотно спроектированный сайт и... (барабанная дробь) тут наконец-то, внезапно подгрузился слайдер! Который к слову сказать, сдвинул весь остальной контент и занял достойное место в половину экрана. При этом, пользователь возможно уже потянул свои ручонки нажать на какую-то ссылку, вместо которой вылез этот самый злосчастный слайдер (сдвинув блок ссылок выше или ниже) и пользователь угодил прямо по нему... попав при этом совсем не туда, куда собирался... (не на ту страницу)
0
|
|
|
|
|||
| 21.11.2014, 23:50 | |||
0
|
|||
|
636 / 523 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
|
|
| 22.11.2014, 00:34 | |
|
Недавно кстати по гуглу лэндинг оптимизировал smilevending.ru делается все просто и там все описано как
0
|
|
|
В экстазе
|
|||||||||
| 22.11.2014, 00:46 [ТС] | |||||||||
|
Добавлено через 6 минут Ещё один момент, который противоречит пониманию данного вопроса гуглом, выдержики из него:
Я конечно не умаляю достоинств гугла... Но что-то всё-таки тут странно, как минимум. Не может быть, что бы разработчиком стандартов HTML5/CSS и пр. подобных было глубоко фиолетово на то, как там что у пользователя загружается... Логичный вывод, я так понимаю один: "Следуй рекомендациям всех и сразу, пихай все CSS в каждую страницу! Тем самым сокращая количество запросов к серверу HTTP" (и увеличивая попутно объём каждой страницы на N-килобайт). Добавлено через 1 минуту P.S. Долой!
0
|
|||||||||
|
636 / 523 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
|
|
| 22.11.2014, 01:40 | |
|
В head помещaть надо не все стили. Есть такое понятие как critical path. В двух словах это те стили, которые необходимы для визуального представления страницы в момент ее загрузки...чтобы не делать запрос на сервер, часть стилей помещается в head. А остальные подгружаются уже потом. Таким образом пользователю стилизованная страница показывается намного быстрее. Вообще читайте на google, а не сайтик там какой-то.
1
|
|
|
В экстазе
|
|
| 22.11.2014, 02:43 [ТС] | |
|
Вот так выглядит процедура следования рекомендациям от Google... Именно по этой причине меня мучает вопрос: можно ли как-то сохранить валидность кода, и при этом, соблюдать рекомендации Google'a?
Яндекс например, подключает в шапке какой-то CSS-скрипт, и гугл его "ест" нормально. При этом, мой 5-7Кб CSS-файл (подключенный в шапке) - ему очень не нравится...
0
|
|
|
636 / 523 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
|
||
| 22.11.2014, 09:46 | ||
|
0
|
||
| 22.11.2014, 09:46 | |
|
Помогаю со студенческими работами здесь
9
Оптимизация html кода Оптимизация кода страницы школьного сайта на HTML Форматирование html/css/js кода
Редактор кода для html, css, js, php в qt Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|