# Размещение на обычном хостинге (FTP / public_html)

Сайт **musaevy-profi.ru** собирается как **статический HTML** + **PHP** для заявок в Telegram.

## 1. Сборка на компьютере

```bash
npm install
npm run build
```

После сборки появится папка **`out/`** — это готовый сайт.

## 2. Что загрузить в `public_html`

Загрузите **всё содержимое** папки `out/` в корень домена (`public_html` или `www`):

```
public_html/
├── index.html
├── .htaccess
├── robots.txt
├── sitemap.xml
├── manifest.json
├── logo.jpg
├── images/
│   ├── IMG_0953.jpg
│   ├── foto-5.jpg
│   └── ...
├── api/
│   ├── booking.php
│   └── config.php          ← создать из config.example.php
├── kosmetologiya/
│   └── index.html
├── blog/
│   └── ...
└── _next/
    └── static/...
```

**Важно:** загружайте **содержимое** `out/`, а не саму папку `out` целиком (если хостинг требует файлы прямо в `public_html`).

## 3. Настройка Telegram (PHP)

1. В папке `public_html/api/` скопируйте `config.example.php` → `config.php`
2. Укажите:

```php
define('TELEGRAM_BOT_TOKEN', 'ваш_токен_от_BotFather');
define('TELEGRAM_CHAT_ID', 'id_чата_администратора');
```

3. На хостинге должен быть включён **PHP 7.4+** и расширение **curl**

Проверка: отправьте заявку через чат «Записаться» на сайте.

## 4. Apache

Файл `.htaccess` уже в сборке (из `public/.htaccess`):

- редирект на HTTPS
- убран www
- чистые URL без `.html`

## 5. Nginx

Пример фрагмента конфига:

```nginx
server {
    listen 443 ssl;
    server_name musaevy-profi.ru;
    root /var/www/musaevy-profi.ru;
    index index.html;

    location /api/ {
        try_files $uri $uri/ =404;
        location ~ \.php$ {
            include fastcgi_params;
            fastcgi_pass unix:/run/php/php8.2-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
    }

    location / {
        try_files $uri $uri/ $uri/index.html =404;
    }
}
```

## 6. Домен и canonical

Все canonical и Open Graph указывают на **https://musaevy-profi.ru** (задаётся в `src/lib/site.ts`).

## 7. Обновление сайта

1. Внесите правки в проект
2. `npm run build`
3. Загрузите обновлённые файлы из `out/` на хостинг (можно только изменённые)

## 8. Не требуется

- Node.js на сервере
- Vercel / serverless
- `vercel.json`

## 9. Структура исходников

| Папка | Назначение |
|-------|------------|
| `src/` | Исходный код Next.js |
| `public/` | Статика + `.htaccess` + `api/*.php` |
| `out/` | **Готовый сайт после build** |
