184 lines
6.0 KiB
Markdown
184 lines
6.0 KiB
Markdown
# IQON Static Deployment — reg.ru
|
|
|
|
Purpose: пошаговая инструкция для замены WordPress-сайта `iqon.com` на статический прототип через reg.ru файловый менеджер.
|
|
|
|
## Contents
|
|
|
|
- [Prerequisites](#prerequisites)
|
|
- [Deployment Steps](#deployment-steps)
|
|
- [Post-Deploy Verification](#post-deploy-verification)
|
|
- [Rollback](#rollback)
|
|
- [File Inventory](#file-inventory)
|
|
|
|
## Prerequisites
|
|
|
|
- [ ] Backup live site files and database completed (`server-backup-20260518/`)
|
|
- [ ] Database archive `u0012812_iqon` confirmed as downloaded
|
|
- [ ] Access to reg.ru hosting panel (ISPmanager or file manager)
|
|
- [ ] All prototype pages pass local visual QA (`python3 -m http.server 8061`)
|
|
|
|
## Deployment Steps
|
|
|
|
### Step 1: Backup Current Live Site
|
|
|
|
Before any changes, create a dated backup of the live site through the reg.ru panel:
|
|
|
|
1. Log in to https://www.reg.ru/ → Hosting → Backup
|
|
2. Create full backup of `iqon.com` files + `u0012812_iqon` database
|
|
3. Confirm backup is downloadable before proceeding
|
|
|
|
### Step 2: Upload Static Files
|
|
|
|
Upload the following files to `/var/www/u0012812/data/www/iqon.com/` via reg.ru file manager:
|
|
|
|
**Root level:**
|
|
```
|
|
.htaccess ← NEW (from deploy/)
|
|
403.html ← NEW (from deploy/)
|
|
404.html ← NEW (from deploy/)
|
|
index.html ← from repo root
|
|
styles.css ← from repo root
|
|
script.js ← from repo root
|
|
sitemap.xml ← from repo root
|
|
robots.txt ← from repo root
|
|
```
|
|
|
|
**Subdirectories:**
|
|
```
|
|
services/index.html
|
|
services/strategy-governance/index.html
|
|
services/enterprise-architecture/index.html
|
|
services/data-analytics/index.html
|
|
services/infrastructure-cloud/index.html
|
|
services/security-continuity/index.html
|
|
industries/index.html
|
|
case-studies/index.html
|
|
contact/index.html
|
|
```
|
|
|
|
**Assets (if any):**
|
|
```
|
|
assets/ ← from repo assets/
|
|
```
|
|
|
|
### Step 3: Remove WordPress Files
|
|
|
|
After static files are uploaded and verified:
|
|
|
|
1. **Do NOT delete yet** — first verify the static site loads correctly
|
|
2. Once verified, move (not delete) WordPress files to a `_wordpress_backup/` subdirectory:
|
|
- `wp-admin/`
|
|
- `wp-includes/`
|
|
- `wp-content/`
|
|
- `wp-login.php`
|
|
- `wp-cron.php`
|
|
- `wp-settings.php`
|
|
- `wp-config.php` (move to `_wordpress_backup/`)
|
|
- All other `.php` files in root except `.htaccess`
|
|
3. Keep `_wordpress_backup/` for 30 days, then delete
|
|
|
|
### Step 4: Upload .htaccess
|
|
|
|
1. Upload `deploy/.htaccess` to the site root
|
|
2. This replaces the WordPress `.htaccess`
|
|
3. Verify redirect behavior immediately (see below)
|
|
|
|
### Step 5: Remove WordPress Database User (Later)
|
|
|
|
The `u0012812_iqon` database can be kept as archive. It is not accessed by the static site.
|
|
|
|
## Post-Deploy Verification
|
|
|
|
Run these checks after deployment:
|
|
|
|
```bash
|
|
# 1. Homepage loads
|
|
curl -I -L https://iqon.com/
|
|
# Expected: 200, security headers present, no WordPress signals
|
|
|
|
# 2. Security headers present
|
|
curl -I https://iqon.com/ | grep -i "X-Content-Type-Options\|X-Frame-Options\|Referrer-Policy\|Content-Security-Policy"
|
|
# Expected: all four headers present
|
|
|
|
# 3. WordPress surfaces blocked
|
|
curl -I https://iqon.com/wp-json/
|
|
# Expected: 403 Forbidden
|
|
|
|
curl -I https://iqon.com/xmlrpc.php
|
|
# Expected: 403 Forbidden
|
|
|
|
curl -I https://iqon.com/readme.html
|
|
# Expected: 403 Forbidden
|
|
|
|
# 4. 301 redirects work
|
|
curl -I -L https://iqon.com/services-solutions/
|
|
# Expected: 301 → https://iqon.com/services/
|
|
|
|
curl -I -L https://iqon.com/homepage/
|
|
# Expected: 301 → https://iqon.com/
|
|
|
|
# 5. All target pages return 200
|
|
for path in / /services/ /services/strategy-governance/ /services/enterprise-architecture/ /services/data-analytics/ /services/infrastructure-cloud/ /services/security-continuity/ /industries/ /case-studies/ /contact/; do
|
|
code=$(curl -o /dev/null -s -w "%{http_code}" "https://iqon.com${path}")
|
|
echo "${path} → ${code}"
|
|
done
|
|
# Expected: all 200
|
|
|
|
# 6. Contact page has @infobidgebot, no phone/fax
|
|
curl -sS https://iqon.com/contact/ | grep -c "infobidgebot"
|
|
# Expected: ≥ 2
|
|
|
|
curl -sS https://iqon.com/contact/ | grep -c "261 2600\|261 2608\|Fax\|fax"
|
|
# Expected: 0
|
|
|
|
# 7. Mixed content check
|
|
curl -sS https://iqon.com/ | grep -c "http://www\.iqon\|http://iqon\|http://maps\.google"
|
|
# Expected: 0
|
|
|
|
# 8. Sitemap accessible
|
|
curl -I https://iqon.com/sitemap.xml
|
|
# Expected: 200
|
|
|
|
curl -I https://iqon.com/robots.txt
|
|
# Expected: 200
|
|
```
|
|
|
|
## Rollback
|
|
|
|
If the static deployment has issues:
|
|
|
|
1. Restore the pre-static files from `/private/tmp/iqon-remote-prestatic-20260520-ftp/` if only root entry files changed
|
|
2. Log in to reg.ru hosting panel if a full restore is required
|
|
3. If only `.htaccess` caused the issue: restore the original WordPress `.htaccess` from `server-backup-20260518/.htaccess`
|
|
4. The WordPress database and theme files in `_wordpress_backup/` can be restored
|
|
|
|
The original WordPress `.htaccess` is preserved in `server-backup-20260518/.htaccess`.
|
|
|
|
## File Inventory
|
|
|
|
| Source File | Target Path | Action |
|
|
|------------|-------------|--------|
|
|
| `deploy/.htaccess` | `/` root | Upload (replaces WP .htaccess) |
|
|
| `deploy/404.html` | `/` root | Upload |
|
|
| `deploy/403.html` | `/` root | Upload |
|
|
| `index.html` | `/` root | Upload |
|
|
| `styles.css` | `/` root | Upload |
|
|
| `script.js` | `/` root | Upload |
|
|
| `sitemap.xml` | `/` root | Upload |
|
|
| `robots.txt` | `/` root | Upload |
|
|
| `services/index.html` | `/services/` | Upload |
|
|
| `services/strategy-governance/index.html` | `/services/strategy-governance/` | Upload |
|
|
| `services/enterprise-architecture/index.html` | `/services/enterprise-architecture/` | Upload |
|
|
| `services/data-analytics/index.html` | `/services/data-analytics/` | Upload |
|
|
| `services/infrastructure-cloud/index.html` | `/services/infrastructure-cloud/` | Upload |
|
|
| `services/security-continuity/index.html` | `/services/security-continuity/` | Upload |
|
|
| `industries/index.html` | `/industries/` | Upload |
|
|
| `case-studies/index.html` | `/case-studies/` | Upload |
|
|
| `contact/index.html` | `/contact/` | Upload |
|
|
| `assets/*` | `/assets/` | Upload (if any) |
|
|
|
|
---
|
|
|
|
*Created: 2026-05-20*
|
|
*Updated: 2026-05-20*
|