192 lines
6.1 KiB
Markdown
192 lines
6.1 KiB
Markdown
# IQON Deployment Readiness
|
||
|
||
Purpose: зафиксировать локальную готовность статического deployment-пакета после реализации следующих шагов аудита.
|
||
|
||
## Contents
|
||
|
||
- [Scope](#scope)
|
||
- [Implemented](#implemented)
|
||
- [Verification](#verification)
|
||
- [Remaining Gate](#remaining-gate)
|
||
|
||
## Scope
|
||
|
||
Локальная проверка выполнена 20 May 2026. Удалённый deploy на reg.ru выполнен 20 May 2026 через FTP без удаления WordPress-файлов.
|
||
|
||
## Implemented
|
||
|
||
| Area | Result |
|
||
|------|--------|
|
||
| Case studies | `/case-studies/` переведён на anonymized outcome snapshots |
|
||
| Contact data | `/contact/` использует `office@iqon.com`, `@infobidgebot`, Bucharest |
|
||
| Cache busting | Static HTML assets updated from `qa6` to `qa7` |
|
||
| Security headers draft | `deploy/.htaccess` CSP tightened and `www.iqon.com` canonical redirect added |
|
||
| Content brief | Case-study and contact blockers marked resolved for launch |
|
||
| Mobile CTA | Contact CTA heading wrap fixed at 390px |
|
||
| Live upload | Static files uploaded to `www/iqon.com` by FTP |
|
||
| Live redirect loop | Removed Apache `%{HTTPS}` force block behind nginx |
|
||
| Accessibility | Skip link added to all static pages |
|
||
|
||
## Verification
|
||
|
||
Live legacy baseline:
|
||
|
||
```bash
|
||
scripts/iqon-phase1-verify.sh https://iqon.com
|
||
```
|
||
|
||
Observed signal:
|
||
|
||
- Missing security headers.
|
||
- Missing viewport and skip link.
|
||
- Known HTTP URLs still present.
|
||
- Public REST users still exposed.
|
||
- `readme.html` still returns `200`.
|
||
- XML-RPC HEAD smoke still returns empty reply.
|
||
|
||
Local static smoke:
|
||
|
||
```bash
|
||
python3 local ThreadingHTTPServer smoke
|
||
```
|
||
|
||
Observed signal:
|
||
|
||
- `/` returned `200`.
|
||
- `/services/` returned `200`.
|
||
- `/services/strategy-governance/` returned `200`.
|
||
- `/services/enterprise-architecture/` returned `200`.
|
||
- `/services/data-analytics/` returned `200`.
|
||
- `/services/infrastructure-cloud/` returned `200`.
|
||
- `/services/security-continuity/` returned `200`.
|
||
- `/industries/` returned `200`.
|
||
- `/case-studies/` returned `200`.
|
||
- `/contact/` returned `200`.
|
||
- `/sitemap.xml` returned `200`.
|
||
- `/robots.txt` returned `200`.
|
||
- `case_has_selected_outcomes True`.
|
||
- `case_has_old_blocker False`.
|
||
- `contact_has_infobidgebot 6`.
|
||
- `contact_has_phone_fax False`.
|
||
|
||
Headless Chrome visual smoke:
|
||
|
||
```bash
|
||
python3 -m http.server 8073 --bind 127.0.0.1
|
||
Google Chrome --headless=new --window-size=1440,1200
|
||
Google Chrome --headless=new --window-size=390,1000
|
||
```
|
||
|
||
Observed signal:
|
||
|
||
- 10 desktop screenshots created.
|
||
- 10 mobile screenshots created.
|
||
- `contact-mobile` clipping found and fixed.
|
||
- `contact-mobile-fixed.png` captured after the CSS fix.
|
||
|
||
Static files:
|
||
|
||
```bash
|
||
python3 -c "import xml.etree.ElementTree as ET; ET.parse('sitemap.xml'); print('sitemap ok')"
|
||
bash -n scripts/iqon-phase1-verify.sh
|
||
PYTHONPYCACHEPREFIX=/private/tmp/iqon-pycache python3 -m py_compile scripts/iqon-sitemap-inventory.py scripts/iqon-generate-redirect-map.py
|
||
```
|
||
|
||
Observed signal:
|
||
|
||
- `sitemap ok`.
|
||
- Shell script syntax passed.
|
||
- Python scripts compiled with temporary pycache path.
|
||
|
||
## Remaining Gate
|
||
|
||
Before destructive cleanup:
|
||
|
||
1. Confirm `u0012812_iqon` database archive is downloaded.
|
||
2. Keep WordPress files on server until rollback window closes.
|
||
3. Decide whether to move WordPress files into `_wordpress_backup/` later.
|
||
4. Do not delete `wp-content`, `wp-admin`, `wp-includes`, or DB until explicit cleanup approval.
|
||
|
||
## Live Deployment
|
||
|
||
FTP target:
|
||
|
||
```text
|
||
server71.hosting.reg.ru:/www/iqon.com/
|
||
```
|
||
|
||
Rollback set downloaded locally before upload:
|
||
|
||
```text
|
||
/private/tmp/iqon-remote-prestatic-20260520-ftp/
|
||
```
|
||
|
||
Observed live verification:
|
||
|
||
```bash
|
||
scripts/iqon-phase1-verify.sh https://iqon.com
|
||
```
|
||
|
||
Final signal:
|
||
|
||
- `[OK] iqon Phase 1 verification passed for https://iqon.com`.
|
||
- 10 target pages returned `200`.
|
||
- `/sitemap.xml` returned `200`.
|
||
- `/robots.txt` returned `200`.
|
||
- `/wp-json/` returned `403`.
|
||
- `/readme.html` returned `403`.
|
||
- `/homepage/` redirected to `/`.
|
||
- `/services-solutions/` redirected to `/services/`.
|
||
|
||
## Live Redesign Switch
|
||
|
||
After owner feedback that the first static upload was not the intended design, live was rolled back to the WordPress entrypoint first, then switched to the `new_redesign` visual direction.
|
||
|
||
Observed signal:
|
||
|
||
- `https://iqon.com/` returns the dark `new_redesign` homepage.
|
||
- Live HTML contains `theme-color` `#09090b`.
|
||
- Live HTML contains `.topbar`, `.hero-cloud`, and `.skip-link`.
|
||
- `/styles.css` returns `200 text/css`.
|
||
- `/script.js` returns `200 application/javascript`.
|
||
- `scripts/iqon-phase1-verify.sh https://iqon.com` returns `[OK]`.
|
||
- Headless screenshot captured at `reports/screenshots/2026-05-20/live-new-redesign-home.png`.
|
||
|
||
## Final Live Rollback To Legacy Design
|
||
|
||
After owner clarified that the desired live state was the old design, live was rolled back again to the WordPress entrypoint.
|
||
|
||
Observed signal:
|
||
|
||
- Original WordPress `.htaccess` restored from `/private/tmp/iqon-remote-prestatic-20260520-ftp/.htaccess`.
|
||
- Static `index.html` renamed out of `DirectoryIndex` path; it was not deleted.
|
||
- `https://iqon.com/` returns `200 text/html; charset=UTF-8`.
|
||
- Live HTML contains `How’s business?`.
|
||
- Live HTML loads `wp-content/themes/iqon/css/style.css`.
|
||
- Live HTML no longer contains `theme-color`, `.topbar`, or `.hero-cloud` from `new_redesign`.
|
||
|
||
## Host Split: Apex Legacy, WWW New Design
|
||
|
||
Owner clarified that the new design is needed on `www.iqon.com`, while the apex `iqon.com` should remain on the old WordPress design.
|
||
|
||
Implemented state:
|
||
|
||
- `https://iqon.com/` serves the legacy WordPress homepage.
|
||
- `https://www.iqon.com/` serves `index-www-new-redesign.html`.
|
||
- `styles.css` and `script.js` are available for the `www` static design.
|
||
- WordPress files remain in place for the apex host.
|
||
|
||
Observed signal:
|
||
|
||
- `https://iqon.com/` returns `200 text/html; charset=UTF-8`.
|
||
- Apex HTML contains `How’s business?`.
|
||
- Apex HTML contains `wp-content/themes/iqon`.
|
||
- `https://www.iqon.com/` returns `200 text/html`.
|
||
- WWW HTML contains `theme-color` `#09090b`.
|
||
- WWW HTML contains `.topbar` and `.hero-cloud`.
|
||
|
||
---
|
||
|
||
*Created: 20 May 2026*
|
||
*Updated: 20 May 2026*
|