AnnaSimferopol's Blog

Рекомендуется перейти на домен EdgeOne Pages

No Комментарии

 

Первая редакция -мемориал-корпеч-крым



Проверка кода завершена. Этот репозиторий представляет собой статический блог для Astro 6 (многоязычные, SSG, чисто фронтенд-продукты), с чёткой общей структурой и без архитектурных барьеров при развертывании на EdgeOne Pages. Ниже приведены результаты и рекомендации, ранжированные по тяжести:

Высокий приоритет

  1. Риск несоответствия между развернутым доменным именем и локальным жёстким URL — записанным как 。 Поскольку это SSG, //(), sitemap(), RSS/Atom и абсолютные ссылки на тело () генерируются на этапе сборки доменного имени и не имеют отношения к фактическому развертыванию домена. Если последний домен не этот, все SEO и общие карты будут указывать на неправильный адрес. Рекомендуется перейти на домен EdgeOne Pages, который фактически связан (или изменить исход домена на переменные среды для повторного использования в мульти-окружении).src/config.ts:17themeConfig.site.urlhttps://astro-blog.edgeone.devcanonicalog:urlog:imagesrc/layouts/Head.astro:36,61,75,78src/pages/robots.txt.ts:5src/utils/feed.ts:114,128-130,159

  2. Конфигурации зданий должны быть проверены на платформе — edgeone.json

    • nodeVersion: "24.5.0"(Строка 6): Astro 6 поддерживает Node ≥22, но, пожалуйста, убедитесь, что эта версия поддерживается в списке поддерживаемой среды сборки EdgeOne Makers, иначе она может откатиться назад или не получиться.
    • Корневой ключ (строки 7–9) не входит в область действия согласованного корневой ключи в edgeone.json; платформа обычно по умолчанию отключается; Рекомендуется убедиться, распознается ли она, приоритизировать переменные среды на стороне платформы и избегать безмолвного игнорирования.environmentVariablesNODE_ENV=production

Средний приоритет

  1. Partytown загружается безусловно, но не включает никакую статистику — оба идентификатора GA/Umami пусты, а связанный код (строки 155-197) не будет выполнен, но Интеграция всё равно добавляет загрузчик Partytown и дополнительные запросы работников на каждую страницу, что по сути является неэффективной накладной нагрузкой. Рекомендуется включать такую интеграцию только при настройке статистического идентификатора.astro.config.ts:49-53src/config.ts:126-127Head.astro@astrojs/partytown

  2. Оригинальные изображения создаются отдельно по статьям — используя astro-og-canvas + canvaskit-wasm для генерации PNG для каждой статьи (включая черновики, нефильтрованные). После увеличения объёма статьи время создания и использование памяти значительно возрастут; Черновики также создают бесполезные изображения. Рекомендуется исключать черновики при построении и оценивать вырезки, когда много текста.src/pages/og/[...image].tsdraft

  3. Файл инструмента сборки публикуется онлайн — буквы и s в этом каталоге принадлежат скрипту подмножества шрифтов и будут развернуты в CDN в виде внешнего доступа. Рекомендуется перемещать в корневую папку репозитория или документацию, а не в . public/fonts/Font Subset List/.txtunicode_range.py/fonts/Font%20Subset%20List/unicode_range.pypublic/

  4. Отсутствует контент при многоязычном маршрутизации — в настоящее время доступен только ru-контент (, ), но все пять языковых версий генерируют записи главной страницы, о нас, ленте и карты сайта, в результате чего страницы остаются пустыми. Если вы недавно запускаете сайт на русском языке, рекомендуется ужесточить (); Если хотите работать на нескольких языках, нужно заполнить материал для каждого языка.src/content/posts/donor-stub.mdabout/about-ru.mden/es/ja/zh/zh-twmoreLocalessrc/config.ts:66

Низкий приоритет

  1. Опечатка в картографировании языка Waline — подозревается в опечатке (в настоящее время система комментариев , , не влияет на онлайн-использование, но должна быть исправлена перед включением).src/i18n/config.ts:58'ja': 'jp-JP''ja-JP'enabled: falsesrc/config.ts:83

  2. Обработка после сборки зависит от записи каталога — + записывает (167 строк) и переопределяет dist HTML внутри контейнера развертывания; Если сейчас нет статей или изображений, их пропустят напрямую. Если вы создаёте исходный код среды только с чтением, это может привести к ошибкам. Кроме того, строите команды последовательно; отказ на любом звене приведёт к сбою всей цепочки, что нормально, но немного хрупко.package.json:9scripts/apply-lqip.tspnpm apply-lqipsrc/assets/lqip-map.jsonastro check && astro build && pnpm apply-lqip

  3. Статический размер относительно велик — около 82 файлов, примерно 20 МБ (включая 71 шард Раннего лета). Браузер скачивает и попадает только в шард, поэтому влияние во время выполнения можно контролировать, но с каждым объемом загрузки/декомпрессии развертывания и время копирования сборки увеличиваются с увеличением шрифта; Рекомендуется уточнить, нужно ли сохранять все эти шрифты.public/fontsunicode-range

Краткое содержание

Это хорошо структурированный, полностью статический сайт, который может напрямую развертывать страницы EdgeOne без серверного кода или ключевых рисков, и конфигурация правильная. Самые важные задачи перед развертыванием: проверить , что запись версии Node/переменной среды соответствует платформе, и изменить доменное имя на фактически связанное доменное имя; Во-вторых, рекомендуется очистить свободные сборки Partytown, убрать их из публичных каталогов и решить, стоит ли сузить формулировку до заполнения контента.sharp/esbuildonlyBuiltDependenciesedgeone.jsonsite.url

Leave a Comment