
Приветствую,
хочу поделится несколькими шагами которые помогут ускорить время загрузки страниц BroCart/OpenCart/Любых других страниц которые используют шрифты и иконки. В этом материале буду концентрироваться на BroCart.
И так, почему это важно?
Создавая дизайн онлайн магазина Вы непременно будете использовать иконки типа font awesome, icomoon либо другие, так как это повышает привлекательность страниц, читабельность, навигация по сайту становится более интуитивной, а значит в целом - user experience повышается. Не последнею очередь в повышении UX также играет выбор и использование шрифтов для вашего текста. Это напрямую влияет на читаемость сайта и общий вид. Проблема в том что ваши посетители сайта заходят с разных девайсов и разных браузерах, а это значит что у всех прорисовка сайта будет разной. Мы же хотим чтобы сайт работал у всех более менее одинаково. Для этого мы должны использовать один шрифт, во избежание использования system font, которые разные на разных девайсах. BroCart по умолчанию использует шрифт Open Sans, универсальный шрифт который хорошо выглядит и с хорошей поддержкой charset.
В чём проблема?
1. Font awesome
По дефолту, при загрузке страницы, шрифты не прорисовываются пока они не будут загружены, а это значит что общее время загрузки страницы возрастает, а вместе с этим мы теряем балы в плане быстроты и отклика, что понижает наш рейтинг Google Page Insight, что в свою очередь влияет на SEO rank.
2. Web fonts
По дефолту, наш фонт Open Sans в BroCart загружается с серверов Google, что не обязательно плохо, особенно когда ваши посетители не из одного региона, а из самых разных стран. Тут CDN помогает так как загрузка шрифта происходит с ближайшего к посетителю CDN. В нашем случае, мы хотим хостить сами эти шрифты (это необходимо в случае использования кастомных шрифтов). Это поможет снизить время загрузки страницы.
Решение проблем
Перед тем как решить эти проблемы, хотел бы написать о важности использования SSL. BroCart это движок онлайн магазина, а это значит то что он будет оперировать с частными данными клиента как ФИО, адреса, телефоны, банковские данные и другие. По этому вы просто обязаны обеспечить полную зашифровку соединений с вашим сайтом. Что такое SSL? Сегодня многие хостеры дают бесплатные сертификаты SSL Let's encrypt так что вам/клиенту не надо будет на этом тратить деньги. Также, Google и некоторые браузеры маркируют сайты без SSL как не безопасные и понижает их SEO page rank, что нам также нужно избежать.
И так, добавляем шифрование соединений всем страницам BroCart:
1. Создайте сертификат для домена сайта в админке хостинга
2. Редактируем .htaccess из корня сайта и добавляем
3. Редактируем config.php из корня сайта и меняем
4. Редактируем config.php из папки /admin/ и меняем
Не забудьте поменять site.com на ваш домен
5. Очищайте кэши сайта и браузера и у вас должен появится зелёный замочек перед адресом сайта
А теперь вернёмся к нашим шрифтам.
1. Font awesome
Чтобы ускорить время загрузки страницы с шрифтами иконок редактируем .htaccess из корня сайта и добавляем
Также редактируем stylesheet.css который находится в /catalog/view/theme/default/stylesheet/ и добавляем в самом начале файла
Это поможет нам решить проблему Ensure text remains visible during webfont load. Сохраняем и стираем кэши сайта и браузера.
2. Web fonts
В случаи когда всё же хотите загружать шрифты с серверов гугла, добавляйте следующий код в шапке перед загрузкой шрифта:
Добавляйте этот код только если используете шрифты с серверов google. Это поможет немного сократить время загрузки сайта. Подробнее об этом читайте по ссылке в конце статьи.
Мы же будем загружать шрифт Open Sans на своём хосте. Для этого я создал директорию fonts в папке /catalog/view/. Вы можете создавать эту папку где хотите, главное править пути к ней. В неё мы будем хранить наш Open Sans шрифт. Чтобы скачать сам шрифт, воспользуемся отличным инструментом Google Webfonts Helper. Там ищем наш шрифт Open Sans, задаём charset cyrillic и latin (в зависимости от ваших нужд), выбираем стили (я выбрал regular и 700) а ниже выбираем между Best Support (поддержка более старых браузеров) и Modern Browsers (более современные браузеры, хорошая поддержка). Скачиваем архив с нашим шрифтом.
После скачивания, разархивируем и заливаем эти файлы шрифта в нашу папку /catalog/view/fonts/.
Теперь правим наш header.twig из /catalog/view/theme/default/template/common/ и меняем на
Также редактируем наш stylesheet.css из /catalog/view/theme/default/stylesheet/ и добавляем в самый верх файла
Сохраняем и чистим кэши сайта и браузера.
Таким образом мы предзагружаем шрифт а так же кэшируем его заплаткой из первого пункта, так как и шрифт Open Sans и Font awesome в файлах woff2. Вместо Open Sans можете выбирать любой другой шрифт.
Для более глубокого понимания, читайте тут подробнее об ускорении загрузки веб шрифтов.
Результаты
Путём небольших манипуляций ускоряем время загрузки страниц и повышаем свой Page Insight и косвенно SEO rank.
PS. Статья написана в том числе для новичков, так что не судите за банальность. Если будут ошибки/дополнения, буду править, извините, русский язык не мой родной язык.
хочу поделится несколькими шагами которые помогут ускорить время загрузки страниц BroCart/OpenCart/Любых других страниц которые используют шрифты и иконки. В этом материале буду концентрироваться на BroCart.
И так, почему это важно?
Создавая дизайн онлайн магазина Вы непременно будете использовать иконки типа font awesome, icomoon либо другие, так как это повышает привлекательность страниц, читабельность, навигация по сайту становится более интуитивной, а значит в целом - user experience повышается. Не последнею очередь в повышении UX также играет выбор и использование шрифтов для вашего текста. Это напрямую влияет на читаемость сайта и общий вид. Проблема в том что ваши посетители сайта заходят с разных девайсов и разных браузерах, а это значит что у всех прорисовка сайта будет разной. Мы же хотим чтобы сайт работал у всех более менее одинаково. Для этого мы должны использовать один шрифт, во избежание использования system font, которые разные на разных девайсах. BroCart по умолчанию использует шрифт Open Sans, универсальный шрифт который хорошо выглядит и с хорошей поддержкой charset.
В чём проблема?
1. Font awesome
По дефолту, при загрузке страницы, шрифты не прорисовываются пока они не будут загружены, а это значит что общее время загрузки страницы возрастает, а вместе с этим мы теряем балы в плане быстроты и отклика, что понижает наш рейтинг Google Page Insight, что в свою очередь влияет на SEO rank.
2. Web fonts
По дефолту, наш фонт Open Sans в BroCart загружается с серверов Google, что не обязательно плохо, особенно когда ваши посетители не из одного региона, а из самых разных стран. Тут CDN помогает так как загрузка шрифта происходит с ближайшего к посетителю CDN. В нашем случае, мы хотим хостить сами эти шрифты (это необходимо в случае использования кастомных шрифтов). Это поможет снизить время загрузки страницы.
Решение проблем
Перед тем как решить эти проблемы, хотел бы написать о важности использования SSL. BroCart это движок онлайн магазина, а это значит то что он будет оперировать с частными данными клиента как ФИО, адреса, телефоны, банковские данные и другие. По этому вы просто обязаны обеспечить полную зашифровку соединений с вашим сайтом. Что такое SSL? Сегодня многие хостеры дают бесплатные сертификаты SSL Let's encrypt так что вам/клиенту не надо будет на этом тратить деньги. Также, Google и некоторые браузеры маркируют сайты без SSL как не безопасные и понижает их SEO page rank, что нам также нужно избежать.
И так, добавляем шифрование соединений всем страницам BroCart:
1. Создайте сертификат для домена сайта в админке хостинга
2. Редактируем .htaccess из корня сайта и добавляем
Код:
# HTTPS ON
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
PHP:
// HTTP
define('HTTP_SERVER', 'http://site.com/');
// HTTPS
define('HTTPS_SERVER', 'https://site.com/');
PHP:
// HTTP
define('HTTP_SERVER', 'http://site.com/admin/');
define('HTTP_CATALOG', 'http://site.com/');
// HTTPS
define('HTTPS_SERVER', 'https://site.com/admin/');
define('HTTPS_CATALOG', 'https://site.com/');
5. Очищайте кэши сайта и браузера и у вас должен появится зелёный замочек перед адресом сайта
А теперь вернёмся к нашим шрифтам.
1. Font awesome
Чтобы ускорить время загрузки страницы с шрифтами иконок редактируем .htaccess из корня сайта и добавляем
Код:
# FONTS CACHE
# Fonts
# Add correct content-type for fonts
AddType application/vnd.ms-fontobject .eot
AddType application/x-font-ttf .ttf
AddType application/x-font-opentype .otf
AddType application/x-font-woff .woff
AddType application/x-font-woff2 .woff2
AddType image/svg+xml .svg
# Compress compressible fonts
# only uncomment if you dont have compression turned on already. Otherwise it will cause all other filestypes not to get compressed
# AddOutputFilterByType DEFLATE application/x-font-ttf application/x-font-opentype image/svg+xml
ExpiresActive on
# Add a far future Expires header for fonts
ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
ExpiresByType application/x-font-ttf "access plus 1 year"
ExpiresByType application/x-font-opentype "access plus 1 year"
ExpiresByType application/x-font-woff "access plus 1 year"
ExpiresByType application/x-font-woff2 "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
CSS:
/* Font Icons Speed Patch */
@font-face {
font-family:FontAwesome;
src: url('/catalog/view/javascript/font-awesome/fonts/fontawesome-webfont.eot') format('eot'), url('/catalog/view/javascript/font-awesome/fonts/fontawesome-webfont.svg') format('svg'), url('/catalog/view/javascript/font-awesome/fonts/fontawesome-webfont.ttf') format('ttf'), url('/catalog/view/javascript/font-awesome/fonts/fontawesome-webfont.woff') format('woff'), url('/catalog/view/javascript/font-awesome/fonts/fontawesome-webfont.woff2') format('woff2'), url('/catalog/view/javascript/font-awesome/fonts/fontawesome-webfont.otf') format('otf');
font-display: swap;
}
2. Web fonts
В случаи когда всё же хотите загружать шрифты с серверов гугла, добавляйте следующий код в шапке перед загрузкой шрифта:
HTML:
<link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin>
Мы же будем загружать шрифт Open Sans на своём хосте. Для этого я создал директорию fonts в папке /catalog/view/. Вы можете создавать эту папку где хотите, главное править пути к ней. В неё мы будем хранить наш Open Sans шрифт. Чтобы скачать сам шрифт, воспользуемся отличным инструментом Google Webfonts Helper. Там ищем наш шрифт Open Sans, задаём charset cyrillic и latin (в зависимости от ваших нужд), выбираем стили (я выбрал regular и 700) а ниже выбираем между Best Support (поддержка более старых браузеров) и Modern Browsers (более современные браузеры, хорошая поддержка). Скачиваем архив с нашим шрифтом.
После скачивания, разархивируем и заливаем эти файлы шрифта в нашу папку /catalog/view/fonts/.
Теперь правим наш header.twig из /catalog/view/theme/default/template/common/ и меняем
HTML:
<link href="//fonts.googleapis.com/css?family=Open+Sans:400,400i,300,700" rel="stylesheet" type="text/css" />
HTML:
<link rel="preload" as="font" type="font/woff2" href="/catalog/view/fonts/open-sans-v16-latin_cyrillic-regular.woff2" crossorigin>
<link rel="preload" as="font" type="font/woff2" href="/catalog/view/fonts/open-sans-v16-latin_cyrillic-700.woff2" crossorigin>
CSS:
/* open-sans-regular - latin_cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: local('Open Sans Regular'), local('OpenSans-Regular'),
url('/catalog/view/fonts/open-sans-v16-latin_cyrillic-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('/catalog/view/fonts/open-sans-v16-latin_cyrillic-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-700 - latin_cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 700;
font-display: swap;
src: local('Open Sans Bold'), local('OpenSans-Bold'),
url('/catalog/view/fonts/open-sans-v16-latin_cyrillic-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('/catalog/view/fonts/open-sans-v16-latin_cyrillic-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
Таким образом мы предзагружаем шрифт а так же кэшируем его заплаткой из первого пункта, так как и шрифт Open Sans и Font awesome в файлах woff2. Вместо Open Sans можете выбирать любой другой шрифт.
Для более глубокого понимания, читайте тут подробнее об ускорении загрузки веб шрифтов.
Результаты
Путём небольших манипуляций ускоряем время загрузки страниц и повышаем свой Page Insight и косвенно SEO rank.
PS. Статья написана в том числе для новичков, так что не судите за банальность. Если будут ошибки/дополнения, буду править, извините, русский язык не мой родной язык.
Вкладення
- open-sans-v16-latin_cyrillic.zip (88.2 КБ)
- File size
- 88.2 КБ
- Download
- 14
Останнє редагування модератором: