4e33aebe55ebe6b374251c786b4ac8dbc0526093
- Replace hardcoded BOT_TOKEN, CHAT_ID, TURNSTILE_SECRET, smtp_pass with require_once from /opt/www/sag24.ru/contact-config.php (outside webroot) - Convert email from plain text to HTML (text/html Content-Type) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
sag24-website
Сайт sag24.ru — IT-аутсорсинг «Сисадмингрупп» (Пушкино, МО).
Стек
- Next.js 15 + TypeScript + App Router
- Static export (
output: 'export',trailingSlash: true) - Tailwind CSS v3 — конфиг:
tailwind.config.js(не .ts!) - i18n:
[lang]сегмент (/ru/...,/en/...) - Шрифт: Manrope (
next/font/google)
Страницы
/ru/ → Главная
/ru/uslugi/ → Каталог услуг
/ru/uslugi/[slug]/ → 8 страниц услуг
/ru/about/ → О компании
/ru/clients/ → Клиенты
/ru/partners/ → Партнёры
/ru/faq/ → FAQ
/ru/kontakty/ → Контакты
/en/... → Аналогично
Деплой
# Локально:
git add . && git commit -m "..." && git push
# На сервере (str-u-01.striker.su):
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'
npm run deploy = BUILD_DIR=../public_html next build && node scripts/indexnow.mjs
После деплоя автоматически отправляется уведомление в IndexNow (Yandex + api.indexnow.org).
Локали
src/locales/ru.ts и en.ts — весь текстовый контент.
SEO
- GA4: G-C9J0D8FFH3
- Yandex.Metrika: 97525679
- IndexNow key: 40c65b722891b81d944f2c3fea6cab95
- BreadcrumbList JSON-LD на всех страницах (
src/lib/breadcrumbs.ts) - sitemap.xml: 36 URLs
Description
Languages
TypeScript
78.5%
JavaScript
11.3%
PHP
9.8%
CSS
0.4%