# IQON Deployment Readiness Purpose: зафиксировать локальную готовность статического deployment-пакета после реализации следующих шагов аудита. ## Contents - [Scope](#scope) - [Implemented](#implemented) - [Verification](#verification) - [Remaining Gate](#remaining-gate) ## Scope Проверка выполнена локально 20 May 2026. Удалённый деплой на reg.ru не выполнялся. ## 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 | ## 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 remote deployment: 1. Confirm `u0012812_iqon` database archive is downloaded. 2. Confirm fresh live file backup exists in reg.ru panel. 3. Confirm deployment window for replacing WordPress files with static files. 4. Execute `deploy/README.md` upload steps. 5. Run post-deploy verification from `deploy/README.md`. --- *Created: 20 May 2026* *Updated: 20 May 2026*