chore: save iqon static deploy snapshot

This commit is contained in:
Sergei Vasilev
2026-05-20 17:21:42 +03:00
parent 497f2450e9
commit c023fe5d8d
121 changed files with 3211 additions and 24373 deletions
+183
View File
@@ -0,0 +1,183 @@
# 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. Log in to reg.ru hosting panel
2. Restore files from the backup created in Step 1
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*