Skip to content

Оптимизация сайта на Astro (без CDN) #4

Description

@vaid-via

Предложения по оптимизации сайта

Поскольку сайт развёрнут на GitHub Pages, использовать CDN для доставки контента не получится. Однако Astro и HTML позволяют значительно улучшить скорость загрузки и взаимодействия:

  1. Минимизировать JavaScript. Astro по умолчанию генерирует нулевой объём JS, но сторонние компоненты могут добавлять лишние скрипты. Рекомендуется придерживаться архитектуры «островов», чтобы интерактивные элементы загружались только при необходимости【963407983991054†L137-L142】.
  2. Оптимизация изображений. Использовать встроенный компонент <Image>, который генерирует несколько размеров и форматов, включая AVIF/WEBP, и автоматически включает lazy‑loading【963407983991054†L144-L149】.
  3. Кэширование и хеширование. Настроить Cache-Control для статических файлов, использовать fingerprint‑хеши в названиях файлов (Astro делает это автоматически). Добавить <link rel="preload"> для шрифтов и критичных CSS.
  4. Лёгкая CSS и локальные шрифты. Избегать тяжёлых фреймворков, использовать утилитарные классы и локальные шрифты с font-display: swap【963407983991054†L186-L189】.
  5. Улучшение доступности. Проверить контрастность, добавить aria‑атрибуты, обеспечить корректную навигацию с клавиатуры и адаптивную вёрстку.
  6. Поиск и RSS. Реализовать поисковый индекс (Lunr.js) на этапе сборки и добавить страницу со ссылками на RSS/Atom.

Каждый пункт можно реализовать поэтапно в отдельных коммитах. По окончании оптимизации стоит провести Lighthouse‑аудит и сравнить метрики (FCP, LCP, TBT).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions