— Все материалы (главная, /pos, /about, FAQ, kb, blog) переведены на нейтральные формулировки: «другие системы учёта», без имён. — Новая страница /import — единая точка входа по миграции каталога; описывает Excel/CSV, REST API и выгрузку 1С. — Удалены публичные kb/blog-статьи, целиком построенные вокруг миграции с конкретного продукта. — /migration-from-other-system убран из sitemap; nginx делает 301 на /import. — blog schema расширена optional-полями (author, category, cover_image), чтобы новый frontmatter валидировался content collection. — Грамматические правки: «Импорт из других систем». Финальный grep по пакету по списку имён конкурирующих SaaS-учётных продуктов — пусто. Smoke по 9 ключевым URL — 200; старый URL — 301.
27 lines
844 B
Nginx Configuration File
27 lines
844 B
Nginx Configuration File
server {
|
||
listen 80;
|
||
server_name _;
|
||
root /usr/share/nginx/html;
|
||
index index.html;
|
||
|
||
# Astro static — gzip + длинный кэш для assets с хешами в имени.
|
||
gzip on;
|
||
gzip_types text/css application/javascript application/json image/svg+xml text/plain;
|
||
gzip_min_length 1000;
|
||
|
||
location ~* ^/assets/.*\.(js|css|woff2?|svg|png|jpg|webp)$ {
|
||
expires 1y;
|
||
add_header Cache-Control "public, immutable";
|
||
try_files $uri =404;
|
||
}
|
||
|
||
# Старый URL — постоянный редирект на новую страницу импорта.
|
||
location = /migration-from-moysklad { return 301 /import/; }
|
||
location = /migration-from-moysklad/ { return 301 /import/; }
|
||
|
||
# Pretty URLs: /pricing → /pricing/index.html или /pricing.html
|
||
location / {
|
||
try_files $uri $uri/ $uri.html =404;
|
||
}
|
||
}
|