feat: редизайн 404 страницы по образцу hhivp + обновить CLAUDE.md/README

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-16 04:40:22 +03:00
parent 7f2986489a
commit 73c189ebb5
3 changed files with 196 additions and 26 deletions

69
CLAUDE.md Normal file
View File

@@ -0,0 +1,69 @@
# CLAUDE.md — sag24-website
Инструкции для Claude при работе с этим проектом.
## Язык
Всегда отвечать на **русском**.
## Всё через репозиторий
Все изменения — только через git репозиторий, если явно не сказано иное. Никогда не копировать файлы напрямую на сервер (scp/rsync/etc).
## Деплой — ОБЯЗАТЕЛЬНО после каждого изменения
После любых изменений в коде — деплоить самостоятельно, без ожидания команды:
```bash
# 1. Локально: commit + push
git add <файлы> && git commit -m "..." && git push
# 2. На сервере: pull + build
ssh -i ~/.ssh/id_ed25519_hhivp striker@str-u-01.striker.su 'cat <<XEOF | sudo -S bash
Gh_lpx2018!
cd /opt/www/sag24.ru/repo && git pull && npm run deploy
XEOF'
```
- `.git` принадлежит root — `git pull` требует sudo
- `npm run deploy` = `next build` (→ `../public_html`) + `indexnow.mjs`
## Задачи Singularity
Проект: **САГ** `P-a41aa057-5401-4ae5-843c-439381fdd7f2`
При работе — создавать/обновлять/закрывать задачи в Singularity:
- Создавать задачу до или в процессе работы
- Закрывать (`complete: 1`) сразу после выполнения
- Добавлять заметку с деталями
## Стек
- Next.js 15, TypeScript, App Router, static export
- Tailwind CSS v3 — конфиг `tailwind.config.js` (НЕ `.ts`!)
- i18n через `[lang]` сегмент: `/ru/...`, `/en/...`
- Контент: `src/locales/ru.ts`, `src/locales/en.ts`
## Структура страниц
```
/ru/ → Главная
/ru/uslugi/ → Каталог + /[slug]/ (8 услуг)
/ru/about/ → О компании
/ru/clients/ → Клиенты
/ru/partners/ → Партнёры
/ru/faq/ → FAQ
/ru/kontakty/ → Контакты
```
## SEO
- BreadcrumbList JSON-LD на всех страницах — `src/lib/breadcrumbs.ts`
- generateMetadata на каждой странице с canonical + hreflang
- После деплоя IndexNow отправляется автоматически
## Известные ограничения
- Static export — API routes не работают; форма идёт на `/api/contact.php` (PHP)
- `trailingSlash: true` — все URL заканчиваются на `/`
- Turnstile SITE_KEY: `0x4AAAAAACrQS-dAb7E9RGPQ`