Compare commits

...

25 Commits

Author SHA1 Message Date
Sergei Vasilev 4161565eb2 fix: point legacy case links to apex host 2026-06-18 08:56:30 +03:00
Sergei Vasilev d7c15f1b30 test: update post-deploy mobile QA screenshots 2026-06-17 23:57:13 +03:00
Sergei Vasilev b60bbec881 fix: align static SEO URLs with www host 2026-06-17 23:43:12 +03:00
Sergei Vasilev 010914c696 feat: add Kazakhstan AI page and old brand assets 2026-06-17 23:34:33 +03:00
Sergei Vasilev 6158c101a7 fix: route iqon case studies to legacy page 2026-05-25 14:20:55 +03:00
Sergei Vasilev 70a3b997ca docs: update iqon plan status 2026-05-21 08:55:00 +03:00
Sergei Vasilev fb235b01da fix: add skip link to iqon www redesign 2026-05-21 08:54:08 +03:00
Sergei Vasilev e5608fe3d5 fix: route iqon contact form to office inbox 2026-05-21 08:52:29 +03:00
Sergei Vasilev 094c6ce3d2 chore: record iqon current plan status 2026-05-20 23:35:42 +03:00
Sergei Vasilev 08b2fcf4d3 chore: record iqon remote backup retention 2026-05-20 23:32:43 +03:00
Sergei Vasilev 7022e710e1 chore: record iqon encrypted db archive 2026-05-20 23:29:33 +03:00
Sergei Vasilev 3878d09068 chore: record iqon production ready state 2026-05-20 23:26:34 +03:00
Sergei Vasilev ff2a3b1a77 chore: record iqon db archive creation 2026-05-20 23:22:30 +03:00
Sergei Vasilev d45c2925ba chore: record iqon db archive panel check 2026-05-20 23:06:59 +03:00
Sergei Vasilev f1093fb178 chore: record iqon gates and redirects 2026-05-20 22:56:16 +03:00
Sergei Vasilev f9c513e4c8 chore: record iqon continuation risk closure 2026-05-20 21:41:04 +03:00
Sergei Vasilev e5f716fbd0 chore: record iqon legacy selected steps 2026-05-20 21:32:17 +03:00
Sergei Vasilev 1eb0852b63 chore: record iqon host split 2026-05-20 19:08:03 +03:00
Sergei Vasilev c59f26735e chore: record iqon legacy rollback 2026-05-20 18:47:53 +03:00
Sergei Vasilev 23bd3925df chore: switch iqon live design 2026-05-20 18:43:18 +03:00
Sergei Vasilev b5144a501b chore: record iqon live deployment 2026-05-20 18:17:20 +03:00
Sergei Vasilev 2128c14c7f chore: ignore local iqon artifacts 2026-05-20 17:25:53 +03:00
Sergei Vasilev c023fe5d8d chore: save iqon static deploy snapshot 2026-05-20 17:21:42 +03:00
Sergei Vasilev 497f2450e9 docs: iqon.com restore documentation
Complete documentation of current iqon.com state: server config,
WordPress details, backup structure, missing items (MySQL DB),
file-by-file change log from PHP 8 fixes, and recovery instructions.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 12:59:53 +03:00
Sergei Vasilev 2fadc15923 feat: iqon.com full backup and design audit
- Server backup: PHP source files, theme assets, fonts, images,
  wp-config.php (masked), .htaccess, sitemaps, manifest
- Design audit: comparison with Open Design systems (Corporate,
  Clean, Modern, Bold), critical issues, SEO problems, 3-phase
  change plan, new_redesign analysis
- All files downloaded from production server via Code Snippets

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 12:58:44 +03:00
104 changed files with 7383 additions and 22689 deletions
+22
View File
@@ -0,0 +1,22 @@
# Credentials
.credentials/
# Local editor state
.cursor/
.cursorrules
# Server backups and sensitive access helpers
server-backup-*/
legacy_reference/
check_ssh*.exp
*.mhtml
# Generated local artifacts
.DS_Store
# Non-canonical local references
new_redesign/
dsu-design-audit.md
# Superseded visual QA screenshots; keep qa7-full tracked
reports/screenshots/2026-05-20/*.png
@@ -0,0 +1,60 @@
---
task: Проверить память проекта iqon.com
slug: 20260519-222854_project-memory-iqon-modernization
effort: standard
phase: complete
progress: 12/12
mode: interactive
started: 2026-05-19T22:28:54+03:00
updated: 2026-05-19T22:32:52+03:00
---
# Проверить память проекта iqon.com
Purpose: зафиксировать проверяемую работу по созданию или обновлению памяти проекта `iqon.com`.
## Context
Сергей попросил проверить память проекта и, если отдельной памяти нет, сформировать её. Текущий рабочий каталог: `/Users/svmac/development/iqon`. Ключевой контекст от пользователя: здесь модернизируется `www.iqon.com`. В рамках этой задачи не запрошены изменения сайта, деплой или работа с удалённым хостингом.
### Risks
- Existing aggregate memory can hide the absence of a dedicated iqon page.
- Backup documentation contains credentials; project memory must not duplicate them.
- Live WordPress details may drift; local memory should mark sources and dates.
## Criteria
- [x] ISC-1: Codex wiki index inspected before memory editing
- [x] ISC-2: Existing client project memory inspected for iqon
- [x] ISC-3: Project memory template inspected before page creation
- [x] ISC-4: Git status inspected before local file edits
- [x] ISC-5: Dedicated iqon project memory absence verified
- [x] ISC-6: New memory records iqon modernization goal
- [x] ISC-7: New memory records canonical local repository path
- [x] ISC-8: New memory excludes secrets and credential values
- [x] ISC-9: Wiki index links dedicated iqon memory page
- [x] ISC-10: File existence check confirms memory page
- [x] ISC-11: Search check confirms index navigation link
- [x] ISC-12: PRD records verification evidence and final status
## Decisions
- Use `/Users/svmac/.codex/memories/wiki/projects/iqon-com.md` for canonical project memory.
- Keep existing `/Users/svmac/.codex/memories/wiki/projects/client-projects.md` as aggregate context.
- Do not change website files, deployment settings, credentials, or remote hosting.
### Capability Tracking
- [INVOKED] Local wiki inspection — performed through `sed`, `rg`, and file existence checks.
- [INVOKED] Repository inspection — performed through `git status`, `rg --files`, and source reads.
- [INVOKED] Targeted file editing — creating project memory and index link.
- [INVOKED] Shell verification — confirming file and index link after edits.
## Verification
- `test -f /Users/svmac/.codex/memories/wiki/projects/iqon-com.md` exited 0.
- `rg -n "projects/iqon-com\\.md" /Users/svmac/.codex/memories/wiki/index.md` returned line 58.
- `rg -n "www\\.iqon\\.com|/Users/svmac/development/iqon|modernization|модернизации" /Users/svmac/.codex/memories/wiki/projects/iqon-com.md` returned modernization goal and canonical path lines.
- `rg -n "iqon-com\\.md" /Users/svmac/.codex/memories/wiki/projects/client-projects.md` returned line 21.
- `rg -n "password|парол|token|secret|credential" /Users/svmac/.codex/memories/wiki/projects/iqon-com.md` returned only warning/reference lines, not credential values.
@@ -0,0 +1,58 @@
---
task: Проверить и обновить память iqon.com
slug: 20260519-223610_update-iqon-work-memory
effort: standard
phase: complete
progress: 12/12
mode: interactive
started: 2026-05-19T22:36:10+03:00
updated: 2026-05-19T22:39:28+03:00
---
# Проверить и обновить память iqon.com
Purpose: зафиксировать проверяемое обновление Codex project memory по проделанной работе `iqon.com`.
## Context
Сергей попросил посмотреть, проверить и добавить в память сведения о проделанной работе по `iqon.com`: PHP 8 fixes, дизайн-аудит, архив БД, нерешённые риски и расположение старой Claude AUTO памяти. В рамках задачи нельзя переносить credential values из старых файлов памяти или backup-документов.
### Risks
- Old AUTO memory includes sensitive access details; Codex memory must store only references.
- The user-provided summary could be incomplete; update should cite checked source files.
- Live server state was not re-tested in this request; claims must remain source-scoped.
## Criteria
- [x] ISC-1: Existing Codex iqon memory page inspected
- [x] ISC-2: Claude iqon fixes memory inspected
- [x] ISC-3: Claude AUTO memory index checked
- [x] ISC-4: Sensitive server reference existence checked safely
- [x] ISC-5: Local design audit file presence checked
- [x] ISC-6: Local server backup directory presence checked
- [x] ISC-7: Completed PHP 8 fixes recorded in memory
- [x] ISC-8: Database backup event recorded in memory
- [x] ISC-9: Unresolved technical risks recorded in memory
- [x] ISC-10: Memory storage map recorded without credentials
- [x] ISC-11: Secret scan confirms no credential values added
- [x] ISC-12: Verification evidence recorded in this PRD
## Decisions
- Update `/Users/svmac/.codex/memories/wiki/projects/iqon-com.md` only.
- Do not read or copy raw credential values from `reference_iqon_server.md`.
- Keep Claude AUTO files as source references, not canonical Codex project memory.
### Capability Tracking
- [INVOKED] Local memory inspection — completed through `sed`, `rg`, and existence checks.
- [INVOKED] Targeted wiki editing — update `projects/iqon-com.md`.
- [INVOKED] Secret-safe verification — run focused `rg` checks after editing.
## Verification
- `rg -n 'C1b|paginare-script|jQuery|u0012812_iqon|Memory Storage Map|reference_iqon_server|contact form' /Users/svmac/.codex/memories/wiki/projects/iqon-com.md` returned the added fixes, memory map, DB archive, and open question lines.
- `rg -n 'Ds7|Dih|TTSQ|password value|пароль:|token=' /Users/svmac/.codex/memories/wiki/projects/iqon-com.md` exited 1, confirming known credential substrings were not added.
- `rg -n 'password|парол|token|secret|credential' /Users/svmac/.codex/memories/wiki/projects/iqon-com.md` returned only warning/reference lines, not credential values.
- `rg -n 'Updated: 19 May 2026, 22:38|Critical PHP 8 Fixes|DB archive' /Users/svmac/.codex/memories/wiki/projects/iqon-com.md` returned updated timestamp and new sections.
@@ -0,0 +1,75 @@
---
task: Полный аудит iqon.com и план изменений
slug: 20260519-224203_full-iqon-audit-plan
effort: extended
phase: complete
progress: 20/20
mode: interactive
started: 2026-05-19T22:42:03+03:00
updated: 2026-05-19T22:47:52+03:00
---
# Полный аудит iqon.com и план изменений
Purpose: зафиксировать проверяемый аудит live-сайта `iqon.com` и план изменений с опорой на Open Design.
## Context
Сергей попросил сделать полный аудит `iqon.com`, использовать skill `opendesign` и подготовить план необходимых изменений. В доступном списке нет skill с точным именем `opendesign`; использованы Open Design skill entries `design-review` и `frontend-design`. В рамках задачи не запрошены live-изменения, деплой, доступ к админке или перенос секретов.
### Risks
- Live WordPress core version is not directly confirmed; avoid stale exact-version claims.
- Visual audit is based on HTML/CSS evidence, not browser screenshots.
- Security recommendations must not imply remote changes were performed.
## Criteria
- [x] ISC-1: OpenDesign design-review skill entry inspected
- [x] ISC-2: OpenDesign frontend-design skill entry inspected
- [x] ISC-3: Codex iqon project memory inspected
- [x] ISC-4: Local prior design audit inspected
- [x] ISC-5: Live homepage headers inspected
- [x] ISC-6: Live homepage HTML inspected
- [x] ISC-7: Live stylesheet inspected for layout signals
- [x] ISC-8: Live sitemap index inspected
- [x] ISC-9: Live page sitemap inspected
- [x] ISC-10: Sitemap duplicate counts computed
- [x] ISC-11: Live REST users endpoint inspected
- [x] ISC-12: Live contact page inspected
- [x] ISC-13: Live readme exposure inspected
- [x] ISC-14: Local redesign prototype inspected
- [x] ISC-15: Audit document created in project root
- [x] ISC-16: Audit document lists prioritized findings
- [x] ISC-17: Audit document includes implementation plan
- [x] ISC-18: Audit separates current facts from stale memory
- [x] ISC-19: Audit avoids credential values
- [x] ISC-20: Verification evidence recorded in PRD
## Decisions
- Create a new current audit document rather than overwrite prior `iqon-design-audit.md`.
- Treat prior WP 4.9.13 claim as historical until core version is separately confirmed.
- Recommend static/light redesign path unless WordPress editing must remain a hard requirement.
### Plan
1. Create a current audit markdown document in the project root.
2. Separate verified live findings from stale/historical memory.
3. Prioritize quick hardening, SEO/accessibility cleanup, and full redesign work.
4. Include verification commands and expected signals for each phase.
### Capability Tracking
- [INVOKED] OpenDesign design-review — read `/Users/svmac/development/open-design/skills/design-review/SKILL.md`.
- [INVOKED] OpenDesign frontend-design — read `/Users/svmac/development/open-design/skills/frontend-design/SKILL.md`.
- [INVOKED] Live HTTP inspection — checked homepage, headers, sitemap, REST, contact.
- [INVOKED] Local repository inspection — checked memory, old audit, root and new redesign.
- [INVOKED] Targeted audit document editing — create current audit artifact.
## Verification
- `test -f iqon-full-audit-2026-05-19.md` exited 0.
- `rg -n "P0|P1|Phase 1|Phase 3|Open Design|WordPress 4\\.9\\.13|66 URLs|29 sitemap|3 duplicated|admin|iqnadm01" iqon-full-audit-2026-05-19.md` returned expected audit sections and evidence lines.
- `rg -n "password|парол|token|secret|Ds7|Dih|TTSQ|credential" iqon-full-audit-2026-05-19.md` exited 1, confirming credential terms/substrings are absent.
- `python3 -c` document check returned `has_purpose True`, `has_toc True`, `has_plan True`, `has_dates True`.
@@ -0,0 +1,56 @@
---
task: Продолжить аудит iqon.com без остановок
slug: 20260520-005444_continue-iqon-phase1
effort: extended
phase: verify
progress: 20/20
mode: interactive
started: 2026-05-20T00:54:44Z
updated: 2026-05-20T00:59:00Z
---
# Продолжить аудит iqon.com без остановок
Purpose: превратить полный аудит `iqon.com` в локальный Phase 1 hardening-пакет без записи на live-сайт.
## Context
Пользователь попросил продолжать без остановок после полного аудита `iqon.com`. Без отдельного подтверждения нельзя писать во внешний WordPress/hosting, поэтому текущая работа ограничена локальными артефактами: готовый PHP snippet для Code Snippets, инструкция внедрения и проверочный чеклист. Источники: `iqon-full-audit-2026-05-19.md`, `/Users/svmac/.codex/memories/wiki/projects/iqon-com.md`, live-проверки из предыдущего шага.
## Criteria
- [x] ISC-1: Git status inspected before local file edits.
- [x] ISC-2: Existing iqon audit document read before implementation.
- [x] ISC-3: Project memory page read before implementation.
- [x] ISC-4: Development memory routing check completed successfully.
- [x] ISC-5: Remote live writes excluded from this pass.
- [x] ISC-6: WordPress hardening snippet file exists locally.
- [x] ISC-7: Snippet blocks public REST user endpoint.
- [x] ISC-8: Snippet disables XML-RPC through WordPress filter.
- [x] ISC-9: Snippet includes install documentation fallback block.
- [x] ISC-10: Snippet sends missing defensive security headers.
- [x] ISC-11: Snippet injects viewport when absent.
- [x] ISC-12: Snippet rewrites known HTTP iqon URLs.
- [x] ISC-13: Snippet rewrites known HTTP maps URLs.
- [x] ISC-14: Snippet fixes Yoast site-name metadata.
- [x] ISC-15: Snippet removes WordPress generator output.
- [x] ISC-16: Snippet adds emergency responsive CSS.
- [x] ISC-17: Deployment document describes non-secret installation steps.
- [x] ISC-18: Deployment document lists live verification commands.
- [x] ISC-19: PHP syntax verification attempted on snippet.
- [x] ISC-20: Created artifacts contain no credential values.
## Decisions
- Use a local snippet package, not a live deployment.
- Prefer defensive, reversible WordPress filters before redesign.
- Keep secrets out of new files and final response.
## Verification
- `git status --short` confirms worktree awareness.
- `git status --short` showed existing dirty worktree plus new local artifacts.
- `rg --files wp-snippets` showed `iqon-phase1-hardening.php` and `README.md`.
- `php -l wp-snippets/iqon-phase1-hardening.php` was attempted; local PHP CLI is missing.
- `rg -n "password|passwd|token|BEGIN RSA|BEGIN OPENSSH|api[_-]?key|private_key" wp-snippets` returned no output.
- Live commands in deployment document remain proposed until deployment approval.
@@ -0,0 +1,10 @@
---
task: fix codex mcp startup warnings
slug: 20260520-100503_fix-codex-mcp-startup
effort: standard
phase: observe
progress: 0/0
mode: interactive
started: 2026-05-20T10:05:03Z
updated: 2026-05-20T10:05:03Z
---
@@ -0,0 +1,10 @@
---
task: explain telegram prefix routing options
slug: 20260520-103700_telegram-prefix-options
effort: standard
phase: observe
progress: 0/0
mode: interactive
started: 2026-05-20T10:37:00Z
updated: 2026-05-20T10:37:00Z
---
@@ -0,0 +1,10 @@
---
task: Stop hook failure diagnosis
slug: 20260520-125837_stop-hook-failure-diagnosis
effort: standard
phase: observe
progress: 0/0
mode: interactive
started: 2026-05-20T12:58:37+03:00
updated: 2026-05-20T12:58:37+03:00
---
@@ -0,0 +1,78 @@
---
task: Обновить контакты, записать решения, подготовить deployment-пакет
slug: 20260520-163012_static-deploy-contact-decisions
effort: standard
phase: complete
progress: 10/10
mode: interactive
started: 2026-05-20T15:00:00+03:00
updated: 2026-05-20T16:30:12+03:00
---
# Обновить контакты, записать решения, подготовить deployment-пакет
Purpose: зафиксировать работу по обновлению контактных данных, записи решений владельца и подготовке deployment-пакета для `iqon.com`.
## Context
Сергей ответил на 4 открытых вопроса проекта iqon.com: каноничные контакты (Бухарест/Алматы, phone→@infobidgebot, fax убрать), EN-only, static, reg.ru upload. Затем дал команду «прод continued» для подготовки deployment-пакета. Затем записал SSL-сертификат reg.ru в ~/certs/.
### Owner Decisions Recorded
| Question | Answer | Recorded In |
|----------|--------|-------------|
| Каноничные контакты | Бухарест; телефон → @infobidgebot; fax убрать | iqon-com.md, contact/index.html, index.html, new_redesign/index.html |
| Языковая политика | EN only | iqon-com.md, site-structure-brief |
| Платформа | Static HTML/CSS/JS | iqon-com.md |
| Деплой-маршрут | reg.ru file upload | iqon-com.md |
### Risks
- reg.ru shared hosting: .htaccess может обрабатываться Apache за nginx — проверить после деплоя.
- Сертификат self-signed, CN пустой — только для внутренних соединений с reg.ru.
- WordPress файлы нужно перемещать, а не удалять, при деплое.
- Русские URL редиректы через .htaccess — процент-кодированные пути могут вести себя по-разному на reg.ru nginx+Apache; проверить после деплоя.
## Criteria
- [x] ISC-1: Телефон и fax удалены из index.html, contact/index.html, new_redesign/index.html
- [x] ISC-2: @infobidgebot добавлен во все контактные места
- [x] ISC-3: contact/index.html переработан: Email + Telegram + Office
- [x] ISC-4: 4 решения владельца записаны в iqon-com.md Decisions
- [x] ISC-5: 3 открытых вопроса закрыты в iqon-com.md Open Questions
- [x] ISC-6: site-structure-brief обновлён с resolved items
- [x] ISC-7: deploy/.htaccess создан: 129 строк, 44 редиректа, security headers, WP blocking
- [x] ISC-8: deploy/404.html и deploy/403.html созданы
- [x] ISC-9: deploy/README.md с пошаговой инструкцией деплоя
- [x] ISC-10: SSL-сертификат ~/certs/ записан в infrastructure.md, client-projects.md, iqon-com.md
## Decisions
- Контакты: office@iqon.com + @infobidgebot (Telegram) + Bucharest address; без телефона и fax.
- Платформа: статическая замена WordPress (Phase 1 hardening становится interim).
- Деплой: reg.ru file manager upload.
- .htaccess: Apache mod_rewrite для редиректов + security headers + WP surface blocking.
- Сертификат ~/certs/: self-signed RSA 2048, /C=ru/ST=mo/L=moscow, valid до 2036-05-17.
## Files Changed
| File | Change |
|------|--------|
| `index.html` | Phone→@infobidgebot, fax removed (footer) |
| `contact/index.html` | Full rework: Email+Telegram+Office panels, nav CTA→@infobidgebot |
| `new_redesign/index.html` | Phone→@infobidgebot, fax removed |
| `deploy/.htaccess` | NEW: 129 lines, 44 redirects, security headers, WP block |
| `deploy/404.html` | NEW: custom error page |
| `deploy/403.html` | NEW: custom error page |
| `deploy/README.md` | NEW: step-by-step deployment guide |
| `content/site-structure-brief-2026-05-20.md` | Resolved: contacts, language, platform, deploy |
| `wiki/projects/iqon-com.md` | 4 decisions, 3 closed questions, Phase 5, cert path |
| `wiki/projects/client-projects.md` | iqon section updated: hosting, Telegram, SSL, platform, deploy, language |
| `wiki/infrastructure.md` | NEW section: SSL/TLS Certificates |
## Verification
- `rg -rn "261 2600|261 2608|F \+4|T \+4" iqon/ --glob '!server-backup*' --glob '!legacy*' --glob '!iqon-full-audit*'` → 0 matches
- `rg -n "infobidgebot" index.html contact/index.html` → matches in all expected locations
- `openssl x509 -in ~/certs/my.crt -noout -subject -dates` → subject=/C=ru/ST=mo/L=moscow, valid 20262036
- `rg "certs|my\.crt" wiki/infrastructure.md wiki/projects/iqon-com.md wiki/projects/client-projects.md` → all three updated
@@ -0,0 +1,47 @@
---
task: Save iqon memory and git snapshot
slug: 20260520-171600_memory-git-save
effort: standard
phase: complete
progress: 8/8
mode: interactive
started: 2026-05-20T17:16:00+03:00
updated: 2026-05-20T17:16:00+03:00
---
# Save iqon memory and git snapshot
Purpose: зафиксировать сохранение проектной памяти и подготовку git snapshot после локальной готовности static deploy-пакета `iqon.com`.
## Context
Сергей попросил сделать сохранение памяти и git. Перед коммитом проверен рабочий статус, добавлен `.gitignore` для backup/access-файлов, и исключены чувствительные директории/скрипты из планируемого snapshot.
## Criteria
- [x] ISC-1: Git status inspected before staging files
- [x] ISC-2: Secret scan run on deploy-related file set
- [x] ISC-3: Backup directories excluded from git tracking
- [x] ISC-4: Access helper scripts excluded from git tracking
- [x] ISC-5: Current memory save PRD created locally
- [x] ISC-6: Static deploy readiness report exists
- [x] ISC-7: Codex project memory updated externally
- [x] ISC-8: Git commit prepared from relevant project files only
## Decisions
- Do not stage `server-backup-*`, `legacy_reference`, `.cursor`, `.cursorrules`, `check_ssh*.exp`, or `.mhtml`.
- Keep deployment docs, static prototype, reports, SEO artifacts, scripts, snippets, and local MEMORY in git.
- Remove already-tracked backup and mhtml files from git index with `git rm --cached`, without deleting local files.
## Verification
- `git status --short` showed dirty tracked files and many untracked project artifacts.
- Secret scan returned references to paths and identifiers only, not credential values.
- `.gitignore` now excludes backup/access/helper artifacts.
- `git rm --cached -r server-backup-20260518 server71.hosting.reg.ru_1500.mhtml` removed sensitive backup artifacts from git tracking only.
---
*Created: 2026-05-20*
*Updated: 2026-05-20*
@@ -0,0 +1,48 @@
---
task: Продолжить IQON backup form visual redirects rollback
effort: extended
phase: package
progress: 14/16
mode: interactive
started: 2026-05-20T21:40:00+03:00
updated: 2026-05-20T21:40:00+03:00
---
# Продолжить IQON backup form visual redirects rollback
Purpose: закрыть следующий слой рисков после live hardening старого apex-дизайна IQON.
## Context
После live patch старый `iqon.com` работает на WordPress, `www.iqon.com` отдаёт новый дизайн. Открытые риски: статус DB/archive, непроверенная contact form delivery, визуальная mobile QA, sitemap/redirect cleanup, rollback health note.
## Criteria
- [x] ISC-1: Git worktree is clean before new changes.
- [x] ISC-2: Local backup files are inventoried safely.
- [x] ISC-3: DB archive status is classified by evidence.
- [x] ISC-4: FTP backup-visible files are checked read-only.
- [x] ISC-5: Apex homepage health remains passing.
- [x] ISC-6: WWW redesign health remains passing.
- [x] ISC-7: Contact page health remains passing.
- [x] ISC-8: Contact form submission remains gated by approval.
- [x] ISC-9: Redirect cleanup inputs are checked locally.
- [x] ISC-10: Sitemap cleanup next step is documented.
- [x] ISC-11: Visual QA method is selected without guesswork.
- [x] ISC-12: Rollback source artifacts are identified.
- [x] ISC-13: No remote destructive operation is performed.
- [x] ISC-14: No credential values are written to reports.
- [ ] ISC-15: Findings report is saved in repo.
- [ ] ISC-16: Project memory is updated with current status.
## Decisions
- Do not submit the public contact form without explicit approval.
- Do not delete or overwrite remote backup files.
- Prefer direct evidence over assumptions about reg.ru archives.
## Verification
- Use read-only filesystem and FTP checks.
- Use existing live verification script.
- Save report and memory update.
@@ -0,0 +1,43 @@
---
task: IQON gates contact DB redirects keep WordPress
slug: 20260520-iqon-gates-123
effort: extended
phase: package
progress: 12/12
mode: interactive
started: 2026-05-20T22:00:00+03:00
updated: 2026-05-20T22:00:00+03:00
---
# IQON gates contact DB redirects keep WordPress
Purpose: execute approved gates 1, 2, 3 while keeping old apex WordPress as the production platform.
## Context
User approved: run contact form smoke, continue DB archive confirmation, implement sitemap redirects as English-only, and keep WordPress for now.
## Criteria
- [x] ISC-1: Contact form smoke is submitted explicitly.
- [x] ISC-2: Contact form returns success redirect signal.
- [x] ISC-3: DB archive is checked in accessible FTP paths.
- [x] ISC-4: DB archive status is classified accurately.
- [x] ISC-5: English-only redirect map is generated.
- [x] ISC-6: English-only redirects are uploaded to live.
- [x] ISC-7: Homepage alias redirects to apex root.
- [x] ISC-8: RU services URL redirects to English services.
- [x] ISC-9: Typo slug redirects to corrected English slug.
- [x] ISC-10: Apex hardening verification still passes.
- [x] ISC-11: WWW new design split remains active.
- [x] ISC-12: WordPress retirement remains deferred.
## Decisions
- Keep apex WordPress for now.
- English-only redirect policy is now approved.
- Do not claim DB archive is confirmed without panel/export evidence.
## Verification
See `reports/gates-123-english-redirects-2026-05-20.md`.
@@ -0,0 +1,39 @@
---
task: IQON next gates rollback approval runbook
slug: 20260520-iqon-next-gates-runbook
effort: standard
phase: package
progress: 8/8
mode: interactive
started: 2026-05-20T21:47:16+03:00
updated: 2026-05-20T21:47:16+03:00
---
# IQON next gates rollback approval runbook
Purpose: preserve the next operational steps after apex legacy hardening and contact mobile fix.
## Context
Apex `iqon.com` currently serves old WordPress design. `www.iqon.com` serves the new static redesign. Hardening and contact mobile overflow fix were uploaded and verified in the previous pass. Remaining work is gated by backup confirmation, external form submission approval, and sitemap/redirect approval.
## Criteria
- [x] ISC-1: Current production split is stated explicitly.
- [x] ISC-2: Rollback sources are listed without credentials.
- [x] ISC-3: Health checks are listed as commands.
- [x] ISC-4: Contact form gate is marked approval-only.
- [x] ISC-5: DB archive gate remains unresolved.
- [x] ISC-6: Sitemap redirect gate remains approval-only.
- [x] ISC-7: No destructive remote action is recommended.
- [x] ISC-8: Next actionable choices are unambiguous.
## Decisions
- Do not submit live forms without explicit approval.
- Do not delete old WordPress files before DB archive confirmation.
- Do not collapse apex and www designs unless requested.
## Verification
This PRD is documentation-only. Prior live verification remains recorded in continuation reports.
@@ -0,0 +1,49 @@
---
task: Старый IQON: hardening mobile SEO contacts verify
slug: 20260520-legacy-iqon-selected-steps
effort: extended
phase: package
progress: 16/16
mode: interactive
started: 2026-05-20T00:00:00+03:00
updated: 2026-05-20T00:00:00+03:00
---
# Старый IQON: hardening mobile SEO contacts verify
Purpose: зафиксировать и выполнить выбранные шаги 2, 3, 4, 6, 8 для старого дизайна iqon.com без замены дизайна.
## Context
Пользователь выбрал пункты 2, 3, 4, 6, 8: hardening старого WordPress, mobile fix, SEO cleanup, contacts, verification. Старый дизайн должен остаться на apex `iqon.com`; новый дизайн должен остаться на `www.iqon.com`.
## Criteria
- [x] ISC-1: Apex WordPress host split remains preserved.
- [x] ISC-2: WWW static redesign route remains preserved.
- [x] ISC-3: XML-RPC endpoint is blocked externally.
- [x] ISC-4: REST public users endpoint is blocked externally.
- [x] ISC-5: Readme and license disclosure endpoints are blocked.
- [x] ISC-6: Security headers are emitted on apex pages.
- [x] ISC-7: Viewport meta exists on legacy pages.
- [x] ISC-8: Skip link exists for keyboard navigation.
- [x] ISC-9: Legacy layout adapts below tablet widths.
- [x] ISC-10: Forms and embeds fit mobile viewport.
- [x] ISC-11: Home title and description are cleaned.
- [x] ISC-12: Yoast site name is normalized to IQON.
- [x] ISC-13: HTTP asset URLs are upgraded in output.
- [x] ISC-14: Footer contact data uses current channels.
- [x] ISC-15: Contact page removes obsolete office blocks.
- [x] ISC-16: Live verification records apex and www status.
## Decisions
- Preserve old visual identity and only patch behavior/content.
- Avoid deleting remote WordPress files.
- Upload only touched files after local edits.
## Verification
- Run phase verification script against `https://iqon.com`.
- Check contact page text and obsolete channels.
- Check `https://www.iqon.com/` still serves new design.
@@ -0,0 +1,61 @@
---
task: Russian Kazakhstan AI cases site
slug: 20260529-203042_russian-kazakhstan-ai-cases
effort: advanced
phase: verify
progress: 24/24
mode: interactive
started: 2026-05-29T20:30:42Z
updated: 2026-05-29T20:48:00Z
---
## Context
Sergei asked to continue the active goal: raise project memory, perform an assessment, create a Russian version of the site for Kazakhstan, and propose enterprise-grade AI case additions. The current repository is `/Users/svmac/development/iqon`. Existing project memory says `www.iqon.com` uses the new static redesign, apex `iqon.com` remains legacy WordPress, and the repo has a dirty worktree that must not be reverted.
## Criteria
- [x] ISC-1: Project memory page is read before implementation decisions.
- [x] ISC-2: Current git status is inspected before file edits.
- [x] ISC-3: Existing changed files are reviewed before modification.
- [x] ISC-4: Current site file structure is inventoried.
- [x] ISC-5: Current homepage content is inspected directly.
- [x] ISC-6: Current case studies content is inspected directly.
- [x] ISC-7: Russian Kazakhstan positioning is added to homepage.
- [x] ISC-8: Kazakhstan market copy is written in Russian.
- [x] ISC-9: Enterprise AI cases are added as concrete proposals.
- [x] ISC-10: AI cases avoid unverifiable named customer claims.
- [x] ISC-11: Public contacts remain consistent with project memory.
- [x] ISC-12: Existing visual design system is preserved.
- [x] ISC-13: No unrelated legacy files are destructively reverted.
- [x] ISC-14: Russian content uses business-appropriate terminology.
- [x] ISC-15: Kazakhstan version is reachable from site navigation.
- [x] ISC-16: Case studies page reflects enterprise AI additions.
- [x] ISC-17: Local static site serves modified pages.
- [x] ISC-18: Homepage returns HTTP 200 locally.
- [x] ISC-19: Case studies page returns HTTP 200 locally.
- [x] ISC-20: HTML markup has no obvious broken anchors.
- [x] ISC-21: Desktop viewport is visually inspected after edits.
- [x] ISC-22: Mobile viewport is visually inspected after edits.
- [x] ISC-23: Final diff is reviewed before status report.
- [x] ISC-24: Verification commands and signals are recorded.
## Decisions
- Use the existing static HTML/CSS/JS structure unless inspection proves another canonical target.
- Keep AI cases as proposals and anonymized enterprise scenarios unless approved evidence exists.
## Verification
- `git status --short` should show the dirty worktree without destructive rollback.
- Local HTTP smoke should return 200 for homepage and case studies.
- Browser or screenshot inspection should confirm desktop and mobile rendering.
Observed signals:
- `git status --short` showed existing dirty worktree before edits; no destructive rollback was used.
- `python3 -m http.server 8062` served the static site locally.
- `curl` returned `home 200`, `kz 200`, `cases 200`, and `sitemap 200`.
- `python3 -c ... HTMLParser ...` parsed `index.html`, `kz/index.html`, and `case-studies/index.html`.
- `python3 -c ... ElementTree ...` parsed `sitemap.xml` and printed `sitemap ok`.
- `git diff --check` returned no whitespace errors.
- `qlmanage -t` produced a thumbnail for `kz/index.html`; visual inspection showed the Russian Kazakhstan hero and Enterprise AI area visible.
Binary file not shown.

After

Width:  |  Height:  |  Size: 600 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

+180
View File
@@ -0,0 +1,180 @@
<!doctype html>
<html lang="en-US">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Case studies | IQON | How's Business?</title>
<meta
name="description"
content="Selected legacy case studies from the IQON archive, presented in the old site design."
/>
<link rel="icon" href="/favicon.ico" sizes="any" />
<link rel="icon" type="image/png" href="/favicon.png" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
<link rel="canonical" href="https://www.iqon.com/case-studies/" />
<link rel="stylesheet" type="text/css" href="/wp-content/themes/iqon/css/style.css" />
<link rel="stylesheet" type="text/css" href="/wp-content/themes/iqon/css/fonts/fonts.css" />
<style>
body { background: #fff; }
#case-studies-hero {
background: #000;
color: #f3f3f3;
padding: 28px 32px 22px;
margin: 18px 0 28px;
}
#case-studies-hero h1 {
margin: 0 0 12px;
color: #ffd24a;
font-family: Arial, Helvetica, sans-serif;
font-size: 44px;
line-height: 1.02;
letter-spacing: -0.03em;
}
#case-studies-hero p {
margin: 0;
max-width: 880px;
color: #f0f0f0;
font-size: 16px;
line-height: 1.6;
}
.case-study-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 28px;
margin: 0 0 32px;
}
.case-study-card h2 {
margin: 0 0 10px;
font-family: Arial, Helvetica, sans-serif;
font-size: 24px;
line-height: 1.15;
color: #111;
}
.case-study-card p {
margin: 0;
color: #555;
font-size: 16px;
line-height: 1.7;
}
.case-study-image {
margin: 0 0 24px;
background: #111;
padding: 12px;
}
.case-study-image img {
display: block;
width: 100%;
height: auto;
}
@media (max-width: 900px) {
.case-study-grid { grid-template-columns: 1fr; }
#case-studies-hero h1 { font-size: 34px; }
}
</style>
</head>
<body>
<a class="skip-link" href="#content">Skip to content</a>
<div id="line" class="line-homepage"></div>
<div id="wrapper">
<div id="header">
<div id="logo">
<a href="/" title="IQON"><img src="/wp-content/themes/iqon/images/logo.png" alt="IQON" /></a>
</div>
<div id="search">
<form action="/" method="GET" id="searchForm">
<input type="text" value="" data-default="Search" name="s" />
<input type="submit" value="GO" class="submit" />
</form>
</div>
</div>
<div id="menu">
<a href="/" title="How's business?">How's business?</a>
<a href="https://iqon.com/services-solutions/" title="Services &amp; Solutions">Services &amp; Solutions</a>
<a class="active" href="/case-studies/" title="Case studies">Case studies</a>
<a href="https://iqon.com/contact/" title="Contact">Contact</a>
</div>
<div id="breadcrumb">
&raquo; <a href="/" title="IQON">Home</a> / <strong>Case studies</strong>
</div>
<div id="content">
<div id="case-studies-hero">
<h1>Selected case studies.</h1>
<p>
Legacy examples from the IQON archive. The page keeps the old site
presentation instead of the newer static redesign.
</p>
</div>
<div class="case-study-image">
<img src="/wp-content/uploads/2012/06/Poza_website_CaseStudy-208x142.jpg" alt="IQON case studies" />
</div>
<div class="case-study-grid">
<article class="case-study-card">
<h2>Operating Model Redesign</h2>
<p>
Rebuilt the governance cadence for a regional enterprise with
fragmented delivery streams and duplicated platform decisions.
</p>
</article>
<article class="case-study-card">
<h2>Infrastructure Modernization</h2>
<p>
Prioritized resilience improvements for a distributed estate and
shaped a staged roadmap for service quality and cost control.
</p>
</article>
<article class="case-study-card">
<h2>Decision Support</h2>
<p>
Reframed reporting around executive decisions, portfolio visibility,
and dependable operational signals instead of disconnected dashboards.
</p>
</article>
</div>
<div id="case-studies-hero">
<h1>Enterprise AI proposals.</h1>
<p>
Proposed corporate AI scenarios for Kazakhstan-facing work. These are
not named client references; each requires discovery, data review, and
governance design before implementation.
</p>
</div>
<div class="case-study-grid">
<article class="case-study-card">
<h2>Operational Knowledge Assistant</h2>
<p>
Controlled AI search across policies, procedures, and knowledge
bases with source citations, access boundaries, and response logs.
</p>
</article>
<article class="case-study-card">
<h2>Executive Decision Cockpit</h2>
<p>
AI-supported management reporting for variance explanation,
scenario comparison, portfolio visibility, and committee materials.
</p>
</article>
<article class="case-study-card">
<h2>Service Desk Intelligence</h2>
<p>
Incident triage, engineer guidance, recurring issue detection, and
next-action recommendations integrated with ITSM workflows.
</p>
</article>
</div>
<div class="clear"></div>
</div>
<div id="footer">
<div id="linie-interior"></div>
<div id="content-footer">
<div class="cf">
<h3>Latest Case Studies</h3>
<p>
<a href="https://iqon.com/contact/">Contact IQON</a> if you need a confidential
discussion about similar engagements.
</p>
</div>
</div>
</div>
</div>
</body>
</html>
+51
View File
@@ -0,0 +1,51 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Contact | IQON</title>
<meta name="description" content="Contact IQON for technology strategy, architecture, governance, and transformation advisory." />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Sora:wght@300;400;600;700;800&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="../styles.css?v=20260520-qa7" />
</head>
<body>
<a class="skip-link" href="#main">Skip to content</a>
<header class="topbar">
<a class="brand" href="/"><span class="brand-name">iqon</span></a>
<nav class="main-nav" aria-label="Primary">
<a href="/">Home</a>
<a href="/services/">Services</a>
<a href="/industries/">Industries</a>
<a href="/case-studies/">Cases</a>
<a href="/contact/" aria-current="page">Contact</a>
</nav>
<a class="nav-cta" href="https://t.me/infobidgebot" rel="noopener" target="_blank">@infobidgebot</a>
</header>
<main id="main">
<section class="page-hero">
<p class="eyebrow">Contact</p>
<h1>Start with the decision in front of you.</h1>
<p class="lead">Reach IQON by email or Telegram.</p>
</section>
<section class="detail-grid">
<article class="detail-panel">
<h2>Email</h2>
<ul class="contact-list"><li><a href="mailto:office@iqon.com">office@iqon.com</a></li></ul>
</article>
<article class="detail-panel">
<h2>Telegram</h2>
<ul class="contact-list"><li><a href="https://t.me/infobidgebot" rel="noopener" target="_blank">@infobidgebot</a></li></ul>
</article>
<article class="detail-panel">
<h2>Office</h2>
<p>10th Montreal Sq. 3rd Floor 3.01 bis Office, 011469 Bucharest, Romania</p>
</article>
</section>
<section class="cta-band"><h3>Ready to frame the next move?</h3><a class="btn btn-dark" href="https://t.me/infobidgebot" rel="noopener" target="_blank">Message @infobidgebot</a></section>
</main>
<footer><div class="footer-bottom"><p><a href="/">Home</a> | <a href="/services/">Services</a> | <a href="/case-studies/">Cases</a></p><p>2011-2026 Copyright IQON. All Rights Reserved.</p></div></footer>
<script src="../script.js?v=20260520-qa7"></script>
</body>
</html>
+166
View File
@@ -0,0 +1,166 @@
# IQON Site Structure Brief
Purpose: определить целевую структуру, messaging и content backlog для модернизированного `iqon.com`.
## Contents
- [Inputs](#inputs)
- [Recommended Positioning](#recommended-positioning)
- [Target Site Map](#target-site-map)
- [Page Briefs](#page-briefs)
- [Content Backlog](#content-backlog)
- [Known Unknowns](#known-unknowns)
- [Verification](#verification)
## Inputs
| Source | Signal |
|--------|--------|
| `index.html` | Existing light static draft with modern homepage direction |
| `iqon-full-audit-2026-05-19.md` | Live audit findings and Open Design assessment |
| `seo/url-cleanup-plan-2026-05-20.md` | URL policy and redirect strategy |
| `seo/sitemap-inventory-2026-05-20.csv` | Existing legacy URL inventory |
## Recommended Positioning
Short positioning:
> IQON helps leadership teams align technology decisions with measurable business outcomes.
Primary audience:
- Executives responsible for transformation, IT strategy, governance, risk, and enterprise architecture.
- Organizations with legacy enterprise systems, fragmented delivery, or unclear investment priorities.
Tone:
- Calm, precise, executive B2B.
- Avoid generic "digital innovation" language.
- Emphasize decision quality, delivery confidence, governance, measurable outcomes, and implementation realism.
## Target Site Map
| URL | Page Type | Status |
|-----|-----------|--------|
| `/` | Homepage | Rewrite from current static draft |
| `/services/` | Services overview | New canonical page |
| `/services/strategy-governance/` | Service detail | New canonical page |
| `/services/enterprise-architecture/` | Service detail | New canonical page |
| `/services/data-analytics/` | Service detail | New canonical page |
| `/services/infrastructure-cloud/` | Service detail | New canonical page |
| `/services/security-continuity/` | Service detail | New canonical page |
| `/industries/` | Industry overview | New canonical page |
| `/case-studies/` | Anonymized outcome snapshots | Resolved for launch |
| `/contact/` | Contact and intake | Canonical contact data applied |
## Page Briefs
### Homepage
Goal: communicate IQON's current offer within the first viewport and route users to services/contact.
Required sections:
- Hero with direct offer and credibility signal.
- Service group overview with 5 cards.
- Method: Ask, Understand, Challenge, Propose.
- Proof: current case study or "selected historical work" if no current cases exist.
- Contact CTA with verified email and location data.
### Services Overview
Goal: replace thin `/services-solutions/` with a scannable executive service overview.
Required sections:
- Intro: how IQON evaluates and improves technology decisions.
- Five service groups with outcomes, not only capabilities.
- Engagement models: assessment, roadmap, governance setup, implementation support.
- CTA: discovery conversation.
### Service Detail Pages
Each service detail should include:
- The business problem.
- What IQON does.
- Deliverables.
- Typical stakeholders.
- Evidence or representative use case.
- CTA.
### Industries
Goal: preserve useful industry-specific positioning without keeping dozens of thin pages.
Recommended industries:
- Energy and utilities.
- Telecommunications.
- Retail and wholesale.
- Logistics and transport.
- Manufacturing and process industries.
### Case Studies
Goal: avoid abandoned-looking old content.
Options considered:
| Option | Use When | Page Treatment |
|--------|----------|----------------|
| Current cases available | Client can provide recent material | Publish 2-4 current case cards |
| Only old cases available | No new proof yet | Label as historical selected work |
| No publishable cases | Confidential work only | Use anonymized outcome snapshots |
Launch decision: use anonymized outcome snapshots until client-approved named cases are available.
### Contact
Goal: replace legacy CAPTCHA risk and conflicting office data.
Required data before launch:
- Canonical public email.
- Canonical office address or decision to omit physical address.
- Phone policy: replace phone with @infobidgebot Telegram; remove fax (confirmed by owner, 2026-05-20).
- Privacy text for form or mailto-only fallback.
## Content Backlog
| Priority | Item | Owner Input Needed |
|----------|------|--------------------|
| P0 | Canonical contact data | Email: office@iqon.com; Telegram: @infobidgebot; Address: Bucharest only; Phone: removed; Fax: removed |
| P0 | Final language policy | EN only (confirmed by owner, 2026-05-20) |
| P0 | Deployment target | Static HTML/CSS/JS replacement (confirmed by owner, 2026-05-20) |
| P1 | Current service naming | Approve five service groups |
| P1 | Case study policy | Anonymized outcome snapshots for launch |
| P1 | Legal/privacy footer | Company legal name and privacy text |
| P2 | Team/about page decision | Include or omit |
| P2 | Analytics policy | None, privacy-friendly, or GA4 |
## Known Unknowns
- Exact current WordPress core version remains unconfirmed.
- `office@iqon.kz` status remains unconfirmed.
- Moscow and Almaty office status remains unconfirmed.
- Final deployment path: reg.ru file upload (confirmed by owner, 2026-05-20).
## Verification
Strongest checks before implementation:
```bash
rg -n "office@iqon|iqon.kz|Bucharest|Moscow|Almaty|Москва|Алматы" index.html legacy_reference server-backup-20260518/php-source
python3 -c "import csv; print(len(list(csv.DictReader(open('seo/sitemap-inventory-2026-05-20.csv',encoding='utf-8')))))"
```
Expected current signal:
- Contact data was consolidated to office@iqon.com, @infobidgebot, and Bucharest-only office details.
- Sitemap inventory has 66 rows.
---
*Created: 20 May 2026*
*Updated: 20 May 2026, owner decisions applied*
+133
View File
@@ -0,0 +1,133 @@
# IQON Static Deployment — .htaccess for reg.ru shared hosting
# Replaces WordPress routing with static file serving + 301 redirects
# Created: 2026-05-20
# Updated: 2026-05-20
# ── Prefer static entrypoint while WordPress files remain for rollback ──
DirectoryIndex index.html index.php
# ── Security headers ──────────────────────────────────────────────
<IfModule mod_headers.c>
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
Header always set Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src https://fonts.gstatic.com; img-src 'self' data:; connect-src 'self'; base-uri 'self'; frame-ancestors 'self'"
</IfModule>
# ── Rewrite engine ───────────────────────────────────────────────
<IfModule mod_rewrite.c>
RewriteEngine On
# ── Canonical host ────────────────────────────────────────
RewriteCond %{HTTP_HOST} ^www\.iqon\.com$ [NC]
RewriteRule ^ https://iqon.com%{REQUEST_URI} [L,R=301]
# ── Block WordPress surfaces ──────────────────────────────
RewriteRule ^wp-json/ - [F,L]
RewriteRule ^xmlrpc\.php$ - [F,L]
RewriteRule ^wp-login\.php$ - [F,L]
# ── Block WordPress files ─────────────────────────────────
RewriteRule ^readme\.html$ - [F,L]
RewriteRule ^license\.html$ - [F,L]
RewriteRule ^wp-config\.php$ - [F,L]
# ── Domain redirects (from original .htaccess) ─────────────
RewriteCond %{HTTP_HOST} ^iqon\.md$ [OR]
RewriteCond %{HTTP_HOST} ^www\.iqon\.md$
RewriteRule ^/?$ https://www.iqon.com/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqonrussia\.kz$ [OR]
RewriteCond %{HTTP_HOST} ^www\.iqonrussia\.kz$
RewriteRule ^/?$ https://www.iqon.com/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqonrussia\.ru$ [OR]
RewriteCond %{HTTP_HOST} ^www\.iqonrussia\.ru$
RewriteRule ^/?$ https://www.iqon.com/ [R=301,L]
# ── Homepage aliases → / ──────────────────────────────────
RewriteRule ^homepage/?$ / [R=301,L]
RewriteRule ^hows-business/?$ / [R=301,L]
# ── Old service URLs → new /services/ structure ────────────
RewriteRule ^services-solutions/?$ /services/ [R=301,L]
# Enterprise Management & Decision Support → Strategy & Governance / Data & Analytics
RewriteRule ^services-solutions/enterprise-management-decision-support-solutions/?$ /services/strategy-governance/ [R=301,L]
RewriteRule ^services-solutions/enterprise-management-decision-support-solutions/managed-services/?$ /services/strategy-governance/ [R=301,L]
RewriteRule ^services-solutions/enterprise-management-decision-support-solutions/enterprise-orchestration/?$ /services/strategy-governance/ [R=301,L]
RewriteRule ^services-solutions/enterprise-management-decision-support-solutions/enterprise-management-systems/?$ /services/strategy-governance/ [R=301,L]
RewriteRule ^services-solutions/enterprise-management-decision-support-solutions/customer-intelligence-solutions/?$ /services/data-analytics/ [R=301,L]
RewriteRule ^services-solutions/enterprise-management-decision-support-solutions/enterprise-information-management/?$ /services/data-analytics/ [R=301,L]
# IS Advisory → Enterprise Architecture / Strategy & Governance / Security
RewriteRule ^services-solutions/is-advisory-services/?$ /services/enterprise-architecture/ [R=301,L]
RewriteRule ^services-solutions/is-advisory-services/business-technology-enterprise-architecture/?$ /services/enterprise-architecture/ [R=301,L]
RewriteRule ^services-solutions/is-advisory-services/it-strategy-governance/?$ /services/strategy-governance/ [R=301,L]
RewriteRule ^services-solutions/is-advisory-services/information-security-services/?$ /services/security-continuity/ [R=301,L]
RewriteRule ^services-solutions/is-advisory-services/business-continuity-and-disaster-recovery-planning-services/?$ /services/security-continuity/ [R=301,L]
RewriteRule ^services-solutions/is-advisory-services/is-regulatory-and-compliance-services/?$ /services/security-continuity/ [R=301,L]
# IT Infrastructure → Infrastructure & Cloud
RewriteRule ^services-solutions/it-infrastructure-services/?$ /services/infrastructure-cloud/ [R=301,L]
RewriteRule ^services-solutions/it-infrastructure-services/infrastructure-management-consulting/?$ /services/infrastructure-cloud/ [R=301,L]
RewriteRule ^services-solutions/it-infrastructure-services/it-infrastructure-transformation-services/?$ /services/infrastructure-cloud/ [R=301,L]
RewriteRule ^services-solutions/it-infrastructure-services/end-user-computing-technology-solutions/?$ /services/infrastructure-cloud/ [R=301,L]
# Mobility → Enterprise Architecture / Infrastructure & Cloud
RewriteRule ^services-solutions/mobility-consulting-services/?$ /services/enterprise-architecture/ [R=301,L]
RewriteRule ^services-solutions/mobility-consulting-services/mobility-software-services-applications/?$ /services/enterprise-architecture/ [R=301,L]
RewriteRule ^services-solutions/mobility-consulting-services/mobility-managed-services/?$ /services/enterprise-architecture/ [R=301,L]
RewriteRule ^services-solutions/mobility-consulting-services/mobility-software-services-devices-and-platforms/?$ /services/infrastructure-cloud/ [R=301,L]
RewriteRule ^services-solutions/mobility-consulting-services/mobility-business-integration-services/?$ /services/enterprise-architecture/ [R=301,L]
# Industry Specific → /industries/
RewriteRule ^services-solutions/industry-specific-services/?$ /industries/ [R=301,L]
RewriteRule ^industry-specific-services/?$ /industries/ [R=301,L]
RewriteRule ^services-solutions/industry-specific-services/retail-wholesail/?$ /industries/ [R=301,L]
RewriteRule ^services-solutions/industry-specific-services/retail-wholesale/?$ /industries/ [R=301,L]
RewriteRule ^services-solutions/industry-specific-services/logistics-transport/?$ /industries/ [R=301,L]
RewriteRule ^services-solutions/industry-specific-services/telecommunication/?$ /industries/ [R=301,L]
RewriteRule ^services-solutions/industry-specific-services/energy-utilities/?$ /industries/ [R=301,L]
RewriteRule ^services-solutions/industry-specific-services/manufacturing-process/?$ /industries/ [R=301,L]
# Contact
RewriteRule ^contact-kz/?$ /contact/ [R=301,L]
# ── Russian URLs → English (EN-only policy) ─────────────────
RewriteRule ^%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/?$ /services/ [R=301,L,NE]
RewriteRule ^%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/enterprise-management-decision-support-solutions/?$ /services/strategy-governance/ [R=301,L,NE]
RewriteRule ^%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/it-infrastructure-services/?$ /services/infrastructure-cloud/ [R=301,L,NE]
RewriteRule ^%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/industry-specific-services/?$ /industries/ [R=301,L,NE]
RewriteRule ^%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/mobility-consulting-services/?$ /services/enterprise-architecture/ [R=301,L,NE]
RewriteRule ^%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/is-advisory-services/?$ /services/enterprise-architecture/ [R=301,L,NE]
# Catch-all for remaining Russian subpaths
RewriteCond %{REQUEST_URI} ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/
RewriteRule .* /services/ [R=301,L,NE]
# ── Custom error pages ─────────────────────────────────────
ErrorDocument 404 /404.html
ErrorDocument 403 /403.html
</IfModule>
# ── Caching ──────────────────────────────────────────────────────
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/html "access plus 1 hour"
ExpiresByType text/css "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType application/xml "access plus 1 hour"
</IfModule>
# ── Block directory listings ─────────────────────────────────────
Options -Indexes
# ── Protect sensitive files ──────────────────────────────────────
<FilesMatch "^(wp-config|\.htaccess|\.env)">
Require all denied
</FilesMatch>
+28
View File
@@ -0,0 +1,28 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>403 — Forbidden | IQON</title>
<meta name="robots" content="noindex, nofollow" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Sora:wght@300;400;600;700;800&display=swap" rel="stylesheet" />
<style>
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Sora',system-ui,sans-serif;background:#0A0A0A;color:#fff;min-height:100vh;display:flex;align-items:center;justify-content:center}
.container{text-align:center;padding:2rem}
h1{font-size:6rem;font-weight:800;color:#FFD000;margin-bottom:0.5rem}
p{font-size:1.25rem;color:rgba(255,255,255,0.7);margin-bottom:2rem}
a{color:#FFD000;text-decoration:none;border-bottom:1px solid rgba(255,208,0,0.3)}
a:hover{border-bottom-color:#FFD000}
</style>
</head>
<body>
<div class="container">
<h1>403</h1>
<p>Access to this resource is not allowed.</p>
<p><a href="/">Return to iqon.com</a></p>
</div>
</body>
</html>
+28
View File
@@ -0,0 +1,28 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>404 — Page Not Found | IQON</title>
<meta name="robots" content="noindex, follow" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Sora:wght@300;400;600;700;800&display=swap" rel="stylesheet" />
<style>
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Sora',system-ui,sans-serif;background:#0A0A0A;color:#fff;min-height:100vh;display:flex;align-items:center;justify-content:center}
.container{text-align:center;padding:2rem}
h1{font-size:6rem;font-weight:800;color:#FFD000;margin-bottom:0.5rem}
p{font-size:1.25rem;color:rgba(255,255,255,0.7);margin-bottom:2rem}
a{color:#FFD000;text-decoration:none;border-bottom:1px solid rgba(255,208,0,0.3)}
a:hover{border-bottom-color:#FFD000}
</style>
</head>
<body>
<div class="container">
<h1>404</h1>
<p>The page you are looking for does not exist or has been moved.</p>
<p><a href="/">Return to iqon.com</a></p>
</div>
</body>
</html>
+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. 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*
@@ -0,0 +1,150 @@
# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.iqon\.com$ [NC]
RewriteRule ^$ /index-www-new-redesign.html [L]
RewriteCond %{HTTP_HOST} ^www\.iqon\.com$ [NC]
RewriteRule ^kz/?$ /kz/index.html [L]
RewriteCond %{HTTP_HOST} ^www\.iqon\.com$ [NC]
RewriteRule ^case-studies/?$ /case-studies/index.html [L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteRule ^contact/?$ /index.php?page_id=12 [L,QSA]
# IQON English-only legacy redirects, 2026-05-20
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteRule ^industry\-specific\-services/?$ /services-solutions/industry-specific-services/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteRule ^services\-solutions/industry\-specific\-services/retail\-wholesail/?$ /services-solutions/industry-specific-services/retail-wholesale/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteRule ^hows\-business/?$ / [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise\-management\-decision\-support\-solutions/enterprise\-orchestration/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/enterprise-management-decision-support-solutions/enterprise-orchestration/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise\-management\-decision\-support\-solutions/enterprise\-management\-systems/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/enterprise-management-decision-support-solutions/enterprise-management-systems/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise\-management\-decision\-support\-solutions/customer\-intelligence\-solutions/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/enterprise-management-decision-support-solutions/customer-intelligence-solutions/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise\-management\-decision\-support\-solutions/enterprise\-information\-management/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/enterprise-management-decision-support-solutions/enterprise-information-management/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it\-infrastructure\-services/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/it-infrastructure-services/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it\-infrastructure\-services/infrastructure\-management\-consulting/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/it-infrastructure-services/infrastructure-management-consulting/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it\-infrastructure\-services/it\-infrastructure\-transformation\-services/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/it-infrastructure-services/it-infrastructure-transformation-services/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it\-infrastructure\-services/end\-user\-computing\-technology\-solutions/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/it-infrastructure-services/end-user-computing-technology-solutions/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry\-specific\-services/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/industry-specific-services/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise\-management\-decision\-support\-solutions/managed\-services/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/enterprise-management-decision-support-solutions/managed-services/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry\-specific\-services/logistics\-transport/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/industry-specific-services/logistics-transport/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry\-specific\-services/retail\-wholesail/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/industry-specific-services/retail-wholesale/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry\-specific\-services/telecommunication/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/industry-specific-services/telecommunication/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry\-specific\-services/energy\-utilities/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/industry-specific-services/energy-utilities/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry\-specific\-services/manufacturing\-process/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/industry-specific-services/manufacturing-process/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility\-consulting\-services/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/mobility-consulting-services/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility\-consulting\-services/mobility\-software\-services\-applications/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/mobility-consulting-services/mobility-software-services-applications/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility\-consulting\-services/mobility\-managed\-services/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/mobility-consulting-services/mobility-managed-services/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility\-consulting\-services/mobility\-software\-services\-devices\-and\-platforms/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/mobility-consulting-services/mobility-software-services-devices-and-platforms/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility\-consulting\-services/mobility\-business\-integration\-services/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/mobility-consulting-services/mobility-business-integration-services/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is\-advisory\-services/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/is-advisory-services/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is\-advisory\-services/business\-continuity\-and\-disaster\-recovery\-planning\-services/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/is-advisory-services/business-continuity-and-disaster-recovery-planning-services/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is\-advisory\-services/business\-technology\-enterprise\-architecture/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/is-advisory-services/business-technology-enterprise-architecture/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is\-advisory\-services/it\-strategy\-governance/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/is-advisory-services/it-strategy-governance/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is\-advisory\-services/information\-security\-services/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/is-advisory-services/information-security-services/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is\-advisory\-services/is\-regulatory\-and\-compliance\-services/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/is-advisory-services/is-regulatory-and-compliance-services/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteCond %{THE_REQUEST} \s/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8\-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise\-management\-decision\-support\-solutions/(?:[\s?]|$) [NC]
RewriteRule ^ /services-solutions/enterprise-management-decision-support-solutions/ [R=301,L]
RewriteCond %{HTTP_HOST} ^iqon\.com$ [NC]
RewriteRule ^homepage/?$ / [R=301,L]
# END IQON English-only legacy redirects
RewriteRule ^xmlrpc\.php$ - [F,L]
RewriteRule ^wp-json/wp/v2/users/? - [F,L]
RewriteRule ^readme\.html$ - [F,L]
RewriteRule ^license\.txt$ - [F,L]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
<IfModule mod_headers.c>
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
Header always set Content-Security-Policy "default-src 'self' https: data:; script-src 'self' 'unsafe-inline' 'unsafe-eval' https:; style-src 'self' 'unsafe-inline' https:; img-src 'self' https: data:; font-src 'self' https: data:; frame-src https:; connect-src 'self' https:; base-uri 'self'; frame-ancestors 'self'; upgrade-insecure-requests"
</IfModule>
RewriteCond %{HTTP_HOST} ^iqon\.md$ [OR]
RewriteCond %{HTTP_HOST} ^www\.iqon\.md$
RewriteRule ^/?$ "https\:\/\/iqon\.com\/" [R=301,L]
RewriteCond %{HTTP_HOST} ^iqonrussia\.kz$ [OR]
RewriteCond %{HTTP_HOST} ^www\.iqonrussia\.kz$
RewriteRule ^/?$ "https\:\/\/iqon\.com\/" [R=301,L]
RewriteCond %{HTTP_HOST} ^iqonrussia\.ru$ [OR]
RewriteCond %{HTTP_HOST} ^www\.iqonrussia\.ru$
RewriteRule ^/?$ "https\:\/\/iqon\.com\/" [R=301,L]
<Files "wp-login.php">
AuthType Basic
AuthName "please use your control panel password"
AuthUserFile /var/www/u0012812/data/etc/users
Require valid-user
</Files>
@@ -0,0 +1,145 @@
<!doctype html>
<html lang="en-US">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Case studies | IQON | How's Business?</title>
<meta
name="description"
content="Selected legacy case studies from the IQON archive, presented in the old site design."
/>
<link rel="stylesheet" type="text/css" href="/wp-content/themes/iqon/css/style.css" />
<link rel="stylesheet" type="text/css" href="/wp-content/themes/iqon/css/fonts/fonts.css" />
<style>
body { background: #fff; }
#case-studies-hero {
background: #000;
color: #f3f3f3;
padding: 28px 32px 22px;
margin: 18px 0 28px;
}
#case-studies-hero h1 {
margin: 0 0 12px;
color: #ffd24a;
font-family: Arial, Helvetica, sans-serif;
font-size: 44px;
line-height: 1.02;
letter-spacing: -0.03em;
}
#case-studies-hero p {
margin: 0;
max-width: 880px;
color: #f0f0f0;
font-size: 16px;
line-height: 1.6;
}
.case-study-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 28px;
margin: 0 0 32px;
}
.case-study-card h2 {
margin: 0 0 10px;
font-family: Arial, Helvetica, sans-serif;
font-size: 24px;
line-height: 1.15;
color: #111;
}
.case-study-card p {
margin: 0;
color: #555;
font-size: 16px;
line-height: 1.7;
}
.case-study-image {
margin: 0 0 24px;
background: #111;
padding: 12px;
}
.case-study-image img {
display: block;
width: 100%;
height: auto;
}
@media (max-width: 900px) {
.case-study-grid { grid-template-columns: 1fr; }
#case-studies-hero h1 { font-size: 34px; }
}
</style>
</head>
<body>
<a class="skip-link" href="#content">Skip to content</a>
<div id="line" class="line-homepage"></div>
<div id="wrapper">
<div id="header">
<div id="logo">
<a href="/" title="IQON"><img src="/wp-content/themes/iqon/images/logo.png" alt="IQON" /></a>
</div>
<div id="search">
<form action="/" method="GET" id="searchForm">
<input type="text" value="" data-default="Search" name="s" />
<input type="submit" value="GO" class="submit" />
</form>
</div>
</div>
<div id="menu">
<a href="/" title="How's business?">How's business?</a>
<a href="/services-solutions/" title="Services &amp; Solutions">Services &amp; Solutions</a>
<a class="active" href="/case-studies/" title="Case studies">Case studies</a>
<a href="/contact/" title="Contact">Contact</a>
</div>
<div id="breadcrumb">
&raquo; <a href="/" title="IQON">Home</a> / <strong>Case studies</strong>
</div>
<div id="content">
<div id="case-studies-hero">
<h1>Selected case studies.</h1>
<p>
Legacy examples from the IQON archive. The page keeps the old site
presentation instead of the newer static redesign.
</p>
</div>
<div class="case-study-image">
<img src="/wp-content/uploads/2012/06/Poza_website_CaseStudy-208x142.jpg" alt="IQON case studies" />
</div>
<div class="case-study-grid">
<article class="case-study-card">
<h2>Operating Model Redesign</h2>
<p>
Rebuilt the governance cadence for a regional enterprise with
fragmented delivery streams and duplicated platform decisions.
</p>
</article>
<article class="case-study-card">
<h2>Infrastructure Modernization</h2>
<p>
Prioritized resilience improvements for a distributed estate and
shaped a staged roadmap for service quality and cost control.
</p>
</article>
<article class="case-study-card">
<h2>Decision Support</h2>
<p>
Reframed reporting around executive decisions, portfolio visibility,
and dependable operational signals instead of disconnected dashboards.
</p>
</article>
</div>
<div class="clear"></div>
</div>
<div id="footer">
<div id="linie-interior"></div>
<div id="content-footer">
<div class="cf">
<h3>Latest Case Studies</h3>
<p>
<a href="/contact/">Contact IQON</a> if you need a confidential
discussion about similar engagements.
</p>
</div>
</div>
</div>
</div>
</body>
</html>
@@ -0,0 +1,138 @@
<?php
/**
* Template Name: CONTACTKZ
*/
?>
<?php
function rpHash($value) {
$hash = 5381;
$value = strtoupper($value);
for($i = 0; $i < strlen($value); $i++) {
$hash = (leftShift32($hash, 5) + $hash) + ord(substr($value, $i));
}
return $hash;
}
// Perform a 32bit left shift
function leftShift32($number, $steps) {
// convert to binary (string)
$binary = decbin($number);
// left-pad with 0's if necessary
$binary = str_pad($binary, 32, "0", STR_PAD_LEFT);
// left shift manually
$binary = $binary.str_repeat("0", $steps);
// get the last 32 bits
$binary = substr($binary, strlen($binary) - 32);
// if it's a positive number return it
// otherwise return the 2's complement
return ($binary[0] == "0" ? bindec($binary) :
-(pow(2, 31) - bindec(substr($binary, 1))));
}
if (!empty($_POST)) {
$nume = $_POST['nume'] ?? '';
$email = $_POST['email'] ?? '';
$message = $_POST['mesaj'] ?? '';
$subject = $_POST['subject'] ?? '';
$validation_code = $_POST['validation'] ?? '';
$hash = $_POST['hash'] ?? '';
$hash_not_valid = false;
if ($hash != rpHash($validation_code)) {
$hash_not_valid = true;
}
else {
require_once 'class.phpmailer.php';
$new_mail = new PHPMailer(true);
try {
$new_mail->AddReplyTo($email, $nume);
$admin_email = 'office@iqon.com';
$new_mail->AddAddress($admin_email);
//$new_mail->AddAddress('gabriel.ilie@gmail.com', 'Gabriel Ilie');
$new_mail->SetFrom('contact@iqon.com', 'CONTACT FORM');
$new_mail->Subject = '[IQON CONTACT FORM] '.$nume.' has sent you a message. Subject: '.$subject;
$new_mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
//$new_mail->MsgHTML(file_get_contents('contents.html'));
$html = $nume.' has sent you an message.<br /><b>E-mail:</b> '.$email.'<br /><b>Subject:</b> '.$subject.'<br /><b>Message:</b> '.$message;
$new_mail->MsgHTML($html);
$new_mail->Send();
} catch (phpmailerException $e) {
echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
echo $e->getMessage(); //Boring error messages from anything else!
}
echo '<script>top.location = "'.get_permalink(12).'?sent=ok";</script>';
die();
}
}
?>
<?php $ascunde_services = true; ?>
<?php get_header(); ?>
<div class="contentleft">
<p><h1 class="fontsize20 marginbottom20">Bucharest Office:</h1>
10th Montreal Sq. <br />
3rd Floor 3.01 bis Office <br />
011469 Bucharest, Romania <br />
<div id="linie-punctata"></div>
<a href="mailto:office@iqon.com">office@iqon.com</a><br />
<a href="https://t.me/infobidgebot">@infobidgebot</a></p>
</div>
<div class="contentright">
<iframe width="700" height="250" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=str+montreal+bucuresti+iqon&amp;aq=&amp;sll=44.475036,26.07116&amp;sspn=0.006546,0.016512&amp;t=m&amp;g=str+montreal+bucuresti+nr+10&amp;ie=UTF8&amp;hq=iqon&amp;hnear=Pia%C5%A3a+Montreal,+Sector+1,+Bucure%C8%99ti,+Romania&amp;ll=44.475732,26.069977&amp;spn=0.003828,0.014999&amp;z=16&amp;output=embed"></iframe><br /><small><a href="https://maps.google.com/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;q=str+montreal+bucuresti+iqon&amp;aq=&amp;sll=44.475036,26.07116&amp;sspn=0.006546,0.016512&amp;t=m&amp;g=str+montreal+bucuresti+nr+10&amp;ie=UTF8&amp;hq=iqon&amp;hnear=Pia%C5%A3a+Montreal,+Sector+1,+Bucure%C8%99ti,+Romania&amp;ll=44.475732,26.069977&amp;spn=0.003828,0.014999&amp;z=16" target="_blank" style="color:#0000FF;text-align:left">View Larger Map</a></small>
<h2 class="margintop40">Please fill in the form below <?php if (($_GET['sent'] ?? '') == 'ok') { ?>[Your message has been sent.]<?php } ?></h2>
<form action="" method="POST" id="formular_contact">
<div class="rowInput">
<label id="label_name">Your name (required):</label>
<input type="text" name="nume" id="name" />
</div>
<div class="rowInput">
<label id="label_email">Your email (required):</label>
<input type="text" name="email" id="email" />
</div>
<div class="clear"></div>
<!--<div class="rowInput">
<label>Category:</label>
<input type="text" name="name" id="name" />
</div>-->
<div class="rowInput">
<label id="label_subject">Subject:</label>
<input type="text" name="subject" id="subject" />
</div>
<div class="clear"></div>
<div class="rowTextarea">
<label id="label_mesaj">Message:</label>
<textarea name="mesaj" id="mesaj"></textarea>
</div>
<div class="rowInput rowInputValidation">
<label id="label_validation">Validation code(required):</label>
<input type="text" name="validation" id="validation" value="" data-default="validation code" class="text validation" style="width: 100px!important; text-transform: uppercase;" />
</div>
<div class="clear"></div>
<input type="submit" class="submitMessage" value="" />
</form>
<script type="text/javascript">
$(document).ready(function() {
$('#validation').realperson({length: 5, includeNumbers: false, hashName: 'hash'});
$('#formular_contact').submit(function(event) {
if (!$('#name').val()) {
$('#label_name').addClass('notCompleted');
event.preventDefault();
}
else $('#label_name').removeClass('notCompleted');
if (!$('#email').val()) {
$('#label_email').addClass('notCompleted');
event.preventDefault();
}
else $('#label_email').removeClass('notCompleted');
if (!$('#validation').val()) {
$('#label_validation').addClass('notCompleted');
event.preventDefault();
}
else $('#label_validation').removeClass('notCompleted');
});
});
</script>
<div class="disclaimer">
<strong>Disclaimer:</strong> IQON Romania takes all necessary measures to keep your personal information private and secure. Only authorized IQON Romania staff, Third Party companies (i.e. service providers) staff or our business partners' authorized staff (who have contractually agreed to keep all information secure) have access to your personal information.
</div>
</div>
<?php get_footer(); ?>
@@ -0,0 +1,185 @@
@charset "utf-8";
/* RESET */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {margin:0;padding:0;}
table {border-collapse:collapse;border-spacing:0;}
fieldset,img { border:0;}
address,caption,cite,code,dfn,th,var {font-style:normal;font-weight:normal;}
ol,ul {list-style:none;}
caption,th {text-align:left;}
h1,h2,h3,h4,h5,h6 {font-size:100%;font-weight:normal;}
q:before,q:after {content:'';}
abbr,acronym {border:0;}
a {text-decoration:none;}
a:hover {text-decoration:underline;}
.clear{clear:both; margin:0 !important; padding:0 !important; border:0 none !important; line-height:0 !important; height:0 !important; font-size:0 !important}
/* IQON */
body {font-family: arial; font-size: 12px; line-height: 16px; color: #4c4c4c}
#line {position: absolute; width: 100%; height: 1px; background-color: #fbc100; top: 163px}
.line-homepage {top: 501px !important;}
#wrapper {width: 960px; margin: auto auto;}
#header {width: 960px; height: 120px; position: relative;}
#logo {position: absolute; top: 16px; left: 0px;}
#language-selector {position: absolute; bottom: 0px; right: 0px; height: 20px; width: 530px; background-color: #c2c2c2; display: none;}
#menu {width: 960px; height: 40px; position: relative; background-color: #fbc100; background-image: url('/wp-content/themes/iqon/images/bg-menu.png'); background-repeat: no-repeat; background-position: top left; }
#menu a {display: block; height: 40px; line-height: 40px; float: left; padding: 0px 30px; font-family: 'HelveticaNeueLTPro45LtRegular'; font-size: 15px; color: #000000; text-decoration: none;}
#menu a:hover, #menu a.active {background-image: url('/wp-content/themes/iqon/images/bg-menu-active.png'); background-repeat: repeat-x; background-position: top left;}
#header-image-home {width: 960px; height: 335px; margin-top: 3px;}
#header-image {width: 960px; height: 190px; margin-top: 10px;}
#menu-services {margin-top: 12px;}
#menu-services a {display: block; float: left; width: 160px; height: 93px; background-color: #e5e5e5; margin-left: 10px; background-image: url('/wp-content/themes/iqon/images/submeniu-inactive.png'); background-repeat: no-repeat; background-position: top left; font-family: 'HelveticaNeueLTPro45LtRegular'; font-size: 20px; color: #000000; text-decoration: none; padding: 15px 10px 0px 10px; line-height: 20px;}
#menu-services a:hover, #menu-services a.active {background-color: #fbc100; margin-left: 10px; background-image: url('/wp-content/themes/iqon/images/submeniu-active.png'); background-repeat: no-repeat; background-position: top left; }
#linie-interior {width: 100%; height: 1px; background-color: #fbc100;}
#content {padding: 0px 10px; margin: 30px 0px; position: relative;}
#content p {padding: 7px 0px;}
#content h1 {font-family: 'HelveticaNeueLTPro45LtRegular'; font-size: 23px; color: #000000; line-height: 26px; margin-bottom: 15px;}
#content h1 a {color: #000000;}
#content h2 {font-family: 'HelveticaNeueLTPro45LtRegular'; font-size: 16px; color: #000000; line-height: 20px; margin-bottom: 30px;}
.contentleft {float: left; width: 240px; position: relative;}
.contentleft a {font-family: arial; text-decoration: none; color: #4c4c4c; line-height: 16px; height: 20px;}
.contentleft a.active {font-weight: bold; color: black;}
.submeniu {margin-bottom:10px;}
.submeniuLeft {float:left; width:16px;}
.submeniuRight {float:left; width:200px;margin-top:2px;}
.contentright {float: right; width: 700px;}
.contentright ul { list-style-image:url('/wp-content/themes/iqon/images/icon-arrow.png') !important;list-style-position:outside; }
.contentright ol { list-style-type:decimal !important;list-style-position:outside; }
.contentright ul, ol {margin:0 0 15px 25px;}
.contentright li {margin-bottom:4px;}
.contentright strong {color:#000;}
.clear {clear: both;}
.homeleft {float: left}
.homeright {float: right; width: 700px;}
#content-footer {padding: 0px 30px; margin: 40px 0px; position: relative;}
#content-footer div.cf {float: left; width: 279px; border-right: 1px solid #b2b2b2; margin-right: 20px; position: relative; min-height: 160px;}
#content-footer div.cf h3 {font-family: 'HelveticaNeueLTPro45LtRegular'; font-size: 18px; color: #000000; text-decoration: none; margin-bottom: 20px;}
#content-footer div.cf a {font-family: arial; text-decoration: none; color: #4c4c4c; line-height: 20px; height: 20px;}
#content-footer-bottom {padding: 0px 10px; margin: 35px 0px; position: relative;font-family: arial; font-size: 11px; line-height: 18px; color: #444444}
#content-footer-bottom a {font-family: arial; font-size: 11px; line-height: 18px; color: #444444}
#logo-bottom {position: absolute; right: 0px; top: 0px;}
.iconite-contact {position: absolute; bottom: -10px; left: -2px;}
#breadcrumb {width: 950px; height: 27px; padding-left: 10px; padding-top: 3px}
#breadcrumb a {text-decoration: none; line-height: 30px; color: #4c4c4c}
#linie-punctata {line-height: 1px; height: 1px; border-top: 1px dotted black; width: 200px; margin: 5px 0px}
#download_brosura {display: block; margin-top: 35px; margin-left: 10px;}
.container_imagine {border: 5px solid #cccccc; padding: 1px; width: 208px; height: 142px;}
#content p {font-family: arial; font-size: 12px; line-height: 16px; color: #4c4c4c}
h2 a {text-decoration: none; color: black;}
.caseStudyRow h2 {margin-bottom: 15px!important}
.caseStudyRow {margin-bottom: 40px; position: relative;}
.readCaseStudy {position: absolute; bottom: 0px; left: 240px;}
.imagine_study_interior {float: right; margin-left: 20px; margin-bottom: 20px;}
.timp {position: absolute; top: -52px; right: 10px;}
h1.single {font-size: 32px!important; line-height: 34px!important; margin-bottom: 40px!important}
h2.single {color: #4c4c4c!important;}
.download_case_file {width: 960px; height: 50px; background-color: #ededed; margin-bottom: 20px; font-size: 14px; font-style: italic; color: black; line-height: 50px;}
.download_case_file .link {margin-left: 10px; margin-top: 10px; float: left; width: 200px;}
.disclaimer {font-size: 10px; font-style: italic; margin-top: 50px; line-height: 12px;}
.rowInput {float: left; width: 350px; margin-bottom: 25px;}
.rowInput label, .rowTextarea label {display: block; font-style: italic}
.rowInput input {border: 0px; margin: 0px; height: 30px; width: 320px; border: 1px solid #dcdcdc; background-color: #ececee; color: black;}
.rowTextarea textarea {border: 0px; margin: 0px; height: 210px; width: 670px; border: 1px solid #dcdcdc; background-color: #ececee; color: black;margin-bottom: 25px;}
.submitMessage {border: 0px; margin: 0px;background-image: url('/wp-content/themes/iqon/images/send_message.png');background-repeat: no-repeat; width: 140px; height: 30px; margin-top: 0px; cursor: pointer}
#search {position: absolute; right: 0px; top: 28px;}
#search input {border: 0px; margin: 0px; background-color: white; border: 1px solid #feaf31; height: 25px; font-size: 11px; padding: 0px 10px}
.noborder {border: 0px !important}
.lineheight14 {line-height: 14px !important}
.fontsize20 {font-size: 20px!important}
.marginbottom20 {margin-bottom: 20px!important}
.margintop10 {margin-top:10px!important}
.margintop40 {margin-top:40px!important}
.floatleft {float: left;}
.marginright20 {margin-right: 20px;}
.notCompleted {color: red!important}
html {-webkit-text-size-adjust: 100%;}
img, iframe {max-width: 100%;}
.skip-link {
position: absolute;
left: -999px;
top: 8px;
z-index: 100000;
background: #fbc100;
color: #000;
padding: 8px 12px;
}
.skip-link:focus {left: 8px;}
a:focus, input:focus, textarea:focus {
outline: 2px solid #fbc100;
outline-offset: 2px;
}
@media (max-width: 980px) {
body {min-width: 0;}
#wrapper, #header, #menu, #header-image-home, #header-image, #breadcrumb, .download_case_file {
width: auto;
max-width: 960px;
}
#wrapper {margin: 0 12px;}
#header {height: auto; min-height: 112px;}
#search {position: static; float: right; margin: 28px 0 12px;}
#flags_language_selector {clear: both;}
#menu {height: auto; overflow: hidden; background-repeat: repeat-x;}
#menu a {padding: 0 16px;}
#header-image-home, #header-image {height: auto;}
#header-image-home img, #header-image img {width: 100%; height: auto;}
#menu-services a {width: 27%; margin-bottom: 10px;}
.contentleft, .contentright, .homeleft, .homeright {
float: none;
width: auto;
}
.contentright {margin-top: 20px;}
#content-footer {padding: 0; margin: 30px 0;}
#content-footer div.cf {
width: 30%;
margin-right: 3%;
}
.download_case_file {height: auto; line-height: 20px; padding: 12px 0;}
.download_case_file .link {float: none; width: auto;}
.rowInput {width: 48%;}
.rowInput input {width: 90%;}
.rowTextarea textarea {width: 96%;}
}
@media (max-width: 640px) {
#line {display: none;}
#wrapper {margin: 0 10px;}
#logo, #search {
position: static;
float: none;
}
#logo {padding-top: 16px;}
#search input[type="text"] {width: 68%;}
#menu a {
float: none;
height: 36px;
line-height: 36px;
padding: 0 12px;
border-bottom: 1px solid rgba(0,0,0,.12);
}
#menu-services a {
float: none;
width: auto;
margin-left: 0;
}
#content {padding: 0; margin: 22px 0;}
#breadcrumb {height: auto; line-height: 18px; padding: 8px 0;}
.rowInput, .rowTextarea {float: none; width: auto!important;}
.rowInput input, .rowTextarea textarea {width: 96%!important;}
#content-footer div.cf {
float: none;
width: auto;
border-right: 0;
border-bottom: 1px solid #b2b2b2;
margin: 0 0 20px;
padding-bottom: 20px;
min-height: 0;
}
#content-footer div.cf.noborder {border-bottom: 0;}
#content-footer-bottom {padding: 0 0 70px;}
#logo-bottom {left: 0; right: auto; top: auto; bottom: 0;}
}
@@ -0,0 +1,119 @@
<?php global $meniu, $case_file; ?>
<div class="clear"></div>
</div>
<?php if ($case_file) { ?>
<div class="download_case_file">
<div class="link"><a target="_blank" href="<?=$case_file;?>"><img src="/wp-content/themes/iqon/images/download_case_study.png" /></a></div>If you would like to read this material later, download the case study's full PDF.
</div>
<?php } ?>
<div id="footer">
<div id="linie-interior"></div>
<div id="content-footer">
<div class="cf">
<?php $domain = $_SERVER['SERVER_NAME'];
switch($domain) {
default :?>
<h3>Latest Case Studies</h3>
<?php break;
case 'www.iqon.kz' :?>
<h3>Latest Case Studies RU</h3>
<?php break;} ?>
<?php
wp_reset_query();
$args = array( 'posts_per_page' => 5, 'cat' => 1, 'post_type' => 'post', 'post_status' => 'publish' );
$latests_case = query_posts($args);
wp_reset_query();
?>
<?php foreach($latests_case as $case) { ?>
<a href="<?=get_permalink($case->ID);?>">&raquo; <?=$case->post_title;?></a><br />
<?php } ?>
</div>
<div class="cf">
<?php $domain = $_SERVER['SERVER_NAME'];
switch($domain) {
default :?>
<h3>Our Services</h3>
<?php break;
case 'www.iqon.kz' :?>
<h3>Наши услуги</h3>
<?php break; }?>
<?php
$mainMeniu = $meniu[74];
$mainMeniu_ru = isset($meniu[279]) ? $meniu[279] : null;
$mainMeniu_kz = isset($meniu[282]) ? $meniu[282] : null; ?>
<?php if ($mainMeniu){foreach ($mainMeniu->childrens as $services) {
?>
<a href="<?=$services->url;?>" title="<?php echo $services->attr_title; ?>">&raquo; <?=$services->title;?></a><br />
<? }}
?>
<?php if ($mainMeniu_ru){foreach ($mainMeniu_ru->childrens as $services) {
?>
<a href="<?=$services->url;?>" title="<?php echo $services->attr_title; ?>">&raquo; <?=$services->title;?></a><br />
<? }}
?>
<?php if ($mainMeniu_kz){foreach ($mainMeniu_kz->childrens as $services) {
?>
<a href="<?=$services->url;?>" title="<?php echo $services->attr_title; ?>">&raquo; <?=$services->title;?></a><br />
<? }}
?>
</div>
<?php $domain = $_SERVER['SERVER_NAME'];
switch($domain) {
default :?>
<div class="cf noborder lineheight14">
<h3>Contact</h3>
10th Montreal Sq. 3rd Floor 3.01 bis Office, 011469 Bucharest, Romania
<br /><br />&gt; <a href="mailto:office@iqon.com">office@iqon.com</a>
<br />&gt; <a href="https://t.me/infobridgebot">Telegram</a>
<?php if(1==0) { ?>
<div class="iconite-contact">
<a href="#"><img src="/wp-content/themes/iqon/images/twitter.png" /></a>
<a href="#"><img src="/wp-content/themes/iqon/images/facebook.png" /></a>
<a href="<?php echo function_exists('icl_get_home_url') ? icl_get_home_url() : home_url(); ?>/feed"><img src="/wp-content/themes/iqon/images/rss.png" /></a>
</div>
<?php } ?>
</div>
<?php break;
case 'www.iqon.kz' :?>
<div class="cf noborder lineheight14">
<h3>Контакт</h3>
10th Montreal Sq. 3rd Floor 3.01 bis Office, 011469 Bucharest, Romania
<br /><br />&gt; <a href="mailto:office@iqon.com">office@iqon.com</a>
<br />&gt; <a href="https://t.me/infobridgebot">Telegram</a>
<?php if(1==0) { ?>
<div class="iconite-contact">
<a href="#"><img src="/wp-content/themes/iqon/images/twitter.png" /></a>
<a href="#"><img src="/wp-content/themes/iqon/images/facebook.png" /></a>
<a href="<?php echo function_exists('icl_get_home_url') ? icl_get_home_url() : home_url(); ?>/feed"><img src="/wp-content/themes/iqon/images/rss.png" /></a>
</div>
<?php } ?>
</div>
<?php break;} ?>
<div class="clear"></div>
</div>
<div id="linie-interior"></div>
<div id="content-footer-bottom">
<a href="<?php echo function_exists('icl_get_home_url') ? icl_get_home_url() : home_url(); ?>" title="<?php bloginfo('name'); ?>">Home</a>
<?php if ($meniu) { ?>
<?php foreach ($meniu as $key=>$mainMenu) { ?>
| <a id="mainMenu_<?php echo $mainMenu->ID;?>" href="<?php echo $mainMenu->url; ?>" title="<?php echo $mainMenu->attr_title; ?>" <?php if ($mainMenu->selected) echo 'class="active"'; ?>><?php echo $mainMenu->title; ?></a>
<?php } ?>
<?php } ?>
<br />
<?php $domain = $_SERVER['SERVER_NAME'];
switch($domain) {
default :?>
<div id="copy">2011-2026 &copy; Copyright IQON. All rights reserved.</div>
<?php break;
case 'www.iqon.kz' :?>
<div id="copy">2016 &copy; Авторское IQON. Все права защищены.</div>
<?php break;} ?>
<div id="logo-bottom">
<a href="<?php echo function_exists('icl_get_home_url') ? icl_get_home_url() : home_url(); ?>" title="<?php bloginfo('name'); ?>"><img src="<?php bloginfo('template_directory'); ?>/images/logo-footer.png" alt="<?php bloginfo('name'); ?>" /></a>
</div>
</div>
</div>
</div>
<?php include_once("analyticstracking.php") ?>
</body>
</html>
@@ -0,0 +1,484 @@
<?php
define('JS_URL', '/wp-content/themes/iqon/js');
define('CSS_URL', '/wp-content/themes/iqon/css');
define('IMAGE_URL', '/wp-content/themes/iqon/images');
register_nav_menus( array('principal' => 'Meniu principal') );
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size(208,142, true);
add_image_size('case-study', 435);
/*add_image_size('home-slider', 700, 495, true);
add_image_size('article-page', 320, 226, true);
add_image_size('listing-article', 160, 113, true);
add_image_size('product-image', 560, 420, false);
add_image_size('gallery', 9999, 600, false);
*/
if (!is_admin()) {
wp_deregister_script('jquery');
wp_register_script('jquery', ('https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js'), false, '3.7.1');
wp_register_script('jquery-ui', ('https://ajax.googleapis.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js'), array('jquery'), '1.13.2');
wp_enqueue_script('jquery-ui');
}
show_admin_bar(false);
add_editor_style();
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'index_rel_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'start_post_rel_link', 10, 0);
remove_action('wp_head', 'parent_post_rel_link', 10, 0);
remove_action('wp_head', 'adjacent_posts_rel_link', 10, 0);
automatic_feed_links(false);
if ( class_exists("global_posts_ordering") ) {
$global_posts_ordering = new global_posts_ordering(array("product"));
}
function image_src($img_tag)
{
preg_match("/src=\"(.*?)\"/i", $img_tag, $matches);
return $matches[1];
}
function short_text($text, $len=200, $puncte = ""){
$text = strip_tags($text);
if( (mb_strlen($text) > $len) ) {
$whitespaceposition = mb_strpos($text," ",$len)-1;
if( $whitespaceposition > 0 ) {
$chars = count_chars(mb_substr($text, 0, ($whitespaceposition+1)), 1);
if (isset($chars[ord('<')]) && $chars[ord('<')] > (isset($chars[ord('>')]) ? $chars[ord('>')] : 0))
$whitespaceposition = mb_strpos($text,">",$whitespaceposition)-1;
$text = mb_substr($text, 0, ($whitespaceposition+1));
}
// close unclosed html tags
if( preg_match_all("|<([a-zA-Z]+)|",$text,$aBuffer) ) {
if( !empty($aBuffer[1]) ) {
preg_match_all("|</([a-zA-Z]+)>|",$text,$aBuffer2);
if( count($aBuffer[1]) != count($aBuffer2[1]) ) {
foreach( $aBuffer[1] as $index => $tag ) {
if( empty($aBuffer2[1][$index]) || $aBuffer2[1][$index] != $tag)
$text .= '</'.$tag.'>';
}
}
}
}
}
return $text.$puncte;
}
/*
returneaza data in format:
- pt postare de azi 'azi la {ora}'
- pt anul asta, dar nu azi '{ziua} {luna} la {ora}
- pt alt an '{ziua} {luna} {anul} la {ora}
*/
function afiseaza_data($data=false)
{
if (!$data) return false;
// verifica daca este data in format corect
if (($data_timestamp = strtotime($data)) === false) {
// daca nu este corecta si nu am ce face cu ea returnez valoarea inapoi
return $data;
}
else {
//@setlocale(LC_TIME, 'ro_RO');
/*if (date("Y")==date("Y",$data_timestamp)) {
// acelasi an
if (date('d')==date('d',$data_timestamp)) {
// aceeasi zi
return strftime('azi la %H:%M',$data_timestamp);
}
else
{
// zi diferite
return strftime('%d %b la %H:%M',$data_timestamp);
}
}
else {
// ani diferiti
return strftime('%d %b %Y la %H:%M',$data_timestamp);
}*/
return strftime("%b %d",$data_timestamp);
}
}
function afiseaza_data_cu_an($data=false)
{
if (!$data) return false;
// verifica daca este data in format corect
if (($data_timestamp = strtotime($data)) === false) {
// daca nu este corecta si nu am ce face cu ea returnez valoarea inapoi
return $data;
}
else {
//@setlocale(LC_TIME, 'ro_RO');
/*if (date("Y")==date("Y",$data_timestamp)) {
// acelasi an
if (date('d')==date('d',$data_timestamp)) {
// aceeasi zi
return strftime('azi la %H:%M',$data_timestamp);
}
else
{
// zi diferite
return strftime('%d %b la %H:%M',$data_timestamp);
}
}
else {
// ani diferiti
return strftime('%d %b %Y la %H:%M',$data_timestamp);
}*/
return strftime("%b %d, %Y",$data_timestamp);
}
}
function arrangeMenuIqon($menu, $selected_object_id = 0, $selected_object_type, $homeID) {
global $object_id, $object_id_child, $object_id_child_child;
$arranged_menu = array();
$mainLevel = array();
$secondLevel = array();
$thirdLevel = array();
foreach ($menu as $m)
if ($m->menu_item_parent == 0) {
$key = $m->ID;
$arranged_menu[$key] = new stdClass;
$arranged_menu[$key]->ID = $m->ID;
$arranged_menu[$key]->object_id = $m->object_id;
$arranged_menu[$key]->object_id_en = function_exists('icl_object_id') ? icl_object_id($m->object_id, $m->object, true, 'en') : $m->object_id;
$arranged_menu[$key]->parrent = 0;
$arranged_menu[$key]->title = $m->title;
$arranged_menu[$key]->attr_title = $m->attr_title;
$arranged_menu[$key]->object = $m->object;
if (empty($arranged_menu[$key]->attr_title)) $arranged_menu[$key]->attr_title = $arranged_menu[$key]->title;
$arranged_menu[$key]->url = $m->url;
$arranged_menu[$key]->has_childrens = false;
$arranged_menu[$key]->selected = false;
if ($selected_object_type == 'home') {
if ($selected_object_id == $arranged_menu[$key]->object_id_en && $m->object == 'page')
$arranged_menu[$key]->selected = true;
$object_id = $key;
}
elseif ($selected_object_type == $m->object && $selected_object_id == $m->object_id) {
$arranged_menu[$key]->selected = true;
$object_id = $key;
}
$mainLevel[] = $m->ID;
}
elseif (in_array($m->menu_item_parent, $mainLevel)) {
$key_parent = $m->menu_item_parent;
$arranged_menu[$key_parent]->has_childrens = true;
$key_child = $m->ID;
$objectToModify = &$arranged_menu[$key_parent]->childrens;
$objectToModify[$key_child] = new stdClass;
$objectToModify[$key_child]->ID = $m->ID;
$objectToModify[$key_child]->object_id = $m->object_id;
$objectToModify[$key_child]->object_id_en = function_exists('icl_object_id') ? icl_object_id($m->object_id, $m->object, true, 'en') : $m->object_id;
$objectToModify[$key_child]->parrent = $key_parent;
$objectToModify[$key_child]->title = $m->title;
$objectToModify[$key_child]->attr_title = $m->attr_title;
$objectToModify[$key_child]->object = $m->object;
if (empty($objectToModify[$key_child]->attr_title)) $objectToModify[$key_child]->attr_title = $objectToModify[$key_child]->title;
$objectToModify[$key_child]->url = $m->url;
if (($arranged_menu[$key_parent]->object_id_en == 8) && sizeof($arranged_menu[$key_parent]->childrens) == 1) $arranged_menu[$key_parent]->url = $objectToModify[$key_child]->url;
$objectToModify[$key_child]->selected = false;
if ($selected_object_type == $m->object && $selected_object_id == $m->object_id) {
$objectToModify[$key_child]->selected = true;
$arranged_menu[$key_parent]->selected = true;
$object_id = $key_parent;
$object_id_child = $key_child;
}
$objectToModify[$key_child]->has_childrens = false;
$secondLevel[] = $m->ID;
if ($arranged_menu[$key_parent]->object_id_en == 8) {
wp_reset_query();
$args_pages = array('post_type' => 'page', 'order' => 'ASC', 'orderby' => 'menu_order', 'post_status' => 'publish', 'nopaging' => true, 'post_parent' => $objectToModify[$key_child]->object_id);
$pages = query_posts($args_pages);
//dv($pages);
if ($pages) {
$objectToModifyChild = &$objectToModify[$key_child]->childrens;
$objectToModify[$key_child]->has_childrens = true;
foreach ($pages as $p) {
$key_child_child = $p->ID;
$objectToModifyChild[$key_child_child] = new stdClass;
$objectToModifyChild[$key_child_child]->ID = $p->ID;
$objectToModifyChild[$key_child_child]->object_id = $p->ID;
$objectToModifyChild[$key_child_child]->object_id_en = function_exists('icl_object_id') ? icl_object_id($p->ID, $p->post_type, true, 'en') : $p->ID;
$objectToModifyChild[$key_child_child]->parrent = $key_child;
$objectToModifyChild[$key_child_child]->title = $p->post_title;
$objectToModifyChild[$key_child_child]->attr_title = $p->post_title;
$objectToModifyChild[$key_child_child]->object = $p->post_type;
$objectToModifyChild[$key_child_child]->url = get_permalink($p->ID);
$objectToModifyChild[$key_child_child]->selected = false;
if ($selected_object_type == $p->post_type && $selected_object_id == $p->ID) {
$objectToModifyChild[$key_child_child]->selected = true;
$objectToModify[$key_child]->selected = true;
$arranged_menu[$key_parent]->selected = true;
$object_id = $key_parent;
$object_id_child = $key_child;
$object_id_child_child = $key_child_child;
}
$objectToModifyChild[$key_child_child]->has_childrens = false;
}
}
wp_reset_query();
}
unset($objectToModify);
}
return $arranged_menu;
}
function arrangeMenu($menu, $selected_object_id = 0, $selected_object_type, $homeID) {
global $object_id, $object_id_child, $object_id_child_child;
$arranged_menu = array();
// get level 1 menus
foreach ($menu as $m)
if ($m->menu_item_parent == 0) {
$i = $m->ID;
$arranged_menu[$i] = new stdClass;
$arranged_menu[$i]->ID = $m->ID;
$arranged_menu[$i]->object_id = $m->object_id;
$arranged_menu[$i]->title = $m->title;
$arranged_menu[$i]->attr_title = $m->attr_title;
if (empty($arranged_menu[$i]->attr_title)) $arranged_menu[$i]->attr_title = $arranged_menu[$i]->title;
$arranged_menu[$i]->parrent = 0;
$arranged_menu[$i]->url = $m->url;
$arranged_menu[$i]->selected = false;
if ($selected_object_id == $m->object_id) {
$object_id = $i;
$arranged_menu[$i]->selected = true;
}
$arranged_menu[$i]->has_childrens = false;
}
if ($selected_object_type == 'home') $arranged_menu[$homeID]->selected = true;
return $arranged_menu;
}
function dv($var, $var_type = '') {
dump_var($var, $var_type);
}
function dump_var($var, $var_type = '') {
$ip=$_SERVER['REMOTE_ADDR'];
$local=false;
//if(preg_match("/192\.168\.([0-9]+)\.([0-9]+)/", $ip))$local=true;
//if(preg_match("/10\.([0-9]+)\.([0-9]+)\.([0-9]+)/", $ip))$local=true;
if($ip == "89.36.30.26") $local=true;
$local=true;
$rand = rand(0,9999);
echo "<div id='dv_".$rand."' style='position:absolute; z-index:10000; top:0; left:0;' onclick='document.getElementById(\"dv_".$rand."\").style.display=\"none\";'>";
if($local==true) {
print_var($var, $var_type);
}
echo "</div>";
}
function print_var(&$var, $var_type, $return=false)
{
global $html;
$html="<style>
.printvar {
background-color: #fdf8db;
border: 1px dashed #000;
padding:10px;
width: 90%;
word-wrap: break-word;
margin-left:auto;
margin-right:auto;
}
.printvar *{
color:#000;
font-size:12px;
font-family:Courier New;
align:left;
}
.printvar .var {
color: #0066CC;
}
.printvar .string {
color: #DD0000;
}
.printvar .numeric {
color: #0000BB;
}
.printvar .object {
color: #0080FF;
}
.printvar .button {
width:10px;
height:10px;
cursor:pointer;
}
</style>
<script>
function showHidePrintVar(id) {
elem = document.getElementById(id);
img = document.getElementById('img'+id);
if(elem.style.display=='none') {
elem.style.display='block';
} else {
elem.style.display='none';
}
}
</script>
<div class='printvar'>";
if(!isset($var))$var="%NULL%";
$old = $var;
$var = '0unique'.rand().'value';
$var_name = array_search($var, $GLOBALS, true);
$var=$old;
if($var_name) {
print_content($var, "$".$var_name, 1, "$".$var_name);
} else {
print_content($var, $var_type, 1, $var_type);
}
$html.="</div>";
if($return)return $html;
else echo $html;
}
function print_content($var, $var_name, $level, $parent) {
if(!isset($var))$var="%NULL%";
global $html;
for($i=0;$i<$level;$i++)$html.="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
if(strpos($var_name, "$")===0) {
$html.="<span class='var'>$var_name</span> = ";
} elseif(strpos($parent, "->$var_name")==strlen($parent)-strlen($var_name)-2) {
$html.="-><span title=\"$parent\" class='object'>$var_name</span> = ";
} else {
$html.="[";
if(is_numeric($var_name)) {
$html.="<span title=\"$parent\" onclick=\"prompt('Path:','".addslashes($parent)."');\" class='numeric'>$var_name</span>";
} else {
$html.="<span title=\"$parent\" onclick=\"prompt('Path:','".addslashes($parent)."');\" class='string'>\"$var_name\"</span>";
}
$html.="] = ";
}
if(is_array($var)) {
$id=base64_encode(microtime());
$html.=" Array <span onclick=\"showHidePrintVar('$id');\" class='button'></span> {<br/>";
$html.="<div id='$id'>";
foreach ($var as $k=>$v) {
print_content($v, $k, $level+1, $parent."['$k']");
}
$html.="</div>";
for($i=0;$i<$level;$i++)$html.="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
$html.=" }<br/>";
} elseif(is_object($var)) {
$id=base64_encode(microtime());
$html.=" Object <span onclick=\"showHidePrintVar('$id');\" class='button'><img id='img$id' src='".IMGURL."close.png' width='10px' height='10px' /></span> {<br/>";
$html.="<div id='$id'>";
foreach ($var as $k=>$v) {
print_content($v, $k, $level+1, $parent."->$k");
}
$html.="</div>";
for($i=0;$i<$level;$i++)$html.="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
$html.=" }<br/>";
} else {
if (is_string($var)) {
$var=htmlentities($var, ENT_QUOTES, "UTF-8");
}
if(is_numeric($var)) {
$html.="<span class='numeric'>$var</span>;<br/>";
} elseif($var=="%NULL%") {
$html.="<span class='numeric'>NULL</span>;<br/>";
} else {
$html.="<span class='string'>\"$var\"</span>;<br/>";
}
}
}
function fileVersion($filename) {
//check if the file exists
if (file_exists($filename)) {
// return the time the file was last modified
echo filemtime($filename);
} else {
// let them know the file wasn't found
echo 'FileNotFound';
}
}
// IQON legacy live hardening, 2026-05-20.
function iqon_legacy_security_headers() {
if (headers_sent()) return;
header("X-Content-Type-Options: nosniff");
header("X-Frame-Options: SAMEORIGIN");
header("Referrer-Policy: strict-origin-when-cross-origin");
header("Permissions-Policy: camera=(), microphone=(), geolocation=()");
}
add_action("send_headers", "iqon_legacy_security_headers", 100);
add_filter("xmlrpc_enabled", "__return_false");
function iqon_legacy_restrict_rest_users($endpoints) {
if (isset($endpoints["/wp/v2/users"])) unset($endpoints["/wp/v2/users"]);
if (isset($endpoints["/wp/v2/users/(?P<id>[\\d]+)"])) unset($endpoints["/wp/v2/users/(?P<id>[\\d]+)"]);
return $endpoints;
}
add_filter("rest_endpoints", "iqon_legacy_restrict_rest_users", 20);
function iqon_legacy_site_name($name = "") {
return "IQON";
}
add_filter("wpseo_opengraph_site_name", "iqon_legacy_site_name", 20);
function iqon_legacy_title($title) {
if (function_exists("is_front_page") && is_front_page()) return "IQON | IT Strategy and Transformation Consulting";
return $title;
}
add_filter("wpseo_title", "iqon_legacy_title", 20);
add_filter("wpseo_opengraph_title", "iqon_legacy_title", 20);
function iqon_legacy_metadesc($description) {
if (function_exists("is_front_page") && is_front_page()) return "IQON helps organizations align IT strategy, transformation programs, and governance with measurable business outcomes.";
return $description;
}
add_filter("wpseo_metadesc", "iqon_legacy_metadesc", 20);
add_filter("wpseo_opengraph_desc", "iqon_legacy_metadesc", 20);
function iqon_legacy_https_url($value) {
if (!is_string($value)) return $value;
return str_replace(
array("http://www.iqon.com", "http://iqon.com", "http://maps.google.com", "http://maps.googleapis.com", "http:\\/\\/www.iqon.com", "http:\\/\\/iqon.com", "http:\\/\\/maps.google.com", "http:\\/\\/maps.googleapis.com", "\"name\":\"- IQON\"", "property=\"og:title\" content=\"Hows business?\"", "\"name\":\"Hows business?\""),
array("https://www.iqon.com", "https://iqon.com", "https://maps.google.com", "https://maps.googleapis.com", "https:\\/\\/www.iqon.com", "https:\\/\\/iqon.com", "https:\\/\\/maps.google.com", "https:\\/\\/maps.googleapis.com", "\"name\":\"IQON\"", "property=\"og:title\" content=\"IQON | IT Strategy and Transformation Consulting\"", "\"name\":\"IQON | IT Strategy and Transformation Consulting\""),
$value
);
}
add_filter("wpseo_opengraph_image", "iqon_legacy_https_url", 20);
function iqon_legacy_rewrite_recursive_urls($data) {
if (is_string($data)) return iqon_legacy_https_url($data);
if (is_array($data)) {
foreach ($data as $key => $value) $data[$key] = iqon_legacy_rewrite_recursive_urls($value);
}
return $data;
}
add_filter("wpseo_json_ld_output", "iqon_legacy_rewrite_recursive_urls", 20);
function iqon_legacy_output_buffer_start() {
if (is_admin()) return;
ob_start("iqon_legacy_https_url");
}
add_action("template_redirect", "iqon_legacy_output_buffer_start", 0);
?>
@@ -0,0 +1,142 @@
<?php session_start(); ?>
<?php
global $selected_object_id, $selected_object_type, $meniu, $object_id, $object_id_child, $object_id_child_child, $ascunde_services, $selected_department, $selected_department_name;
wp_reset_query();
$languages = function_exists('icl_get_languages')?icl_get_languages():array();
if (is_page()) {
$selected_object_id = get_the_ID();
$selected_object_type = 'page';
$imagine_header = get_post_meta($selected_object_id, 'wpcf-header-image', true);
$header_link = get_post_meta($selected_object_id, 'wpcf-header-link', true);
if (is_page(array(70, function_exists('icl_object_id') ? icl_object_id(70, 'page', false) : 70))) {
$selected_object_type = 'home';
}
}
else if (is_category()) {
$ascunde_services = true;
$selected_object_id = get_cat_id(single_term_title("", false));
//dv($selected_object_id);
//dv(get_term_by('id', $selected_object_id, 'category'));
$selected_object_type = 'category';
if ($selected_object_id == 1 || $selected_object_id == 25 || $selected_object_id == 26) $imagine_header = '/wp-content/uploads/2012/05/header-case-study.png';
else {
$imagine_header = '/wp-content/uploads/2012/05/header-careers.png';
$selected_department = $selected_object_id;
$selected_department_name = get_term_by('id', $selected_object_id, 'category')->name;
$selected_object_id = get_term_by('id', $selected_object_id, 'category')->parent;
}
}
else if (is_single()) {
$ascunde_services = true;
if (get_queried_object()->post_type == 'post') {
$taxonomy = get_the_terms(get_the_ID(),'category');
$selected_object_type = 'category';
$title_bread = get_queried_object()->post_title;
if ($taxonomy[1]->term_id == 1) $selected_object_id = 1;
else {
$pas = 0;
foreach ($taxonomy as $tax) {
$pas++;
if ($pas==1) {
$selected_object_id = $tax->term_id;
}
else {
$selected_department = $tax->term_id;
$selected_department_name = $tax->name;
}
}
}
}
}
else if (is_search()) {
}
?>
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="icon" href="/favicon.ico" sizes="any" />
<link rel="icon" type="image/png" href="/favicon.png" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
<?php if (!defined('WPSEO_VERSION')) { ?><title><?php wp_title('&laquo;', true, 'right'); ?> <?php bloginfo('name'); ?> | <?php bloginfo('description'); ?></title><?php } ?>
<?php wp_head(); ?>
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/css/style.css?v=<?php fileVersion(ABSPATH.CSS_URL.'/style.css'); ?>" />
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/css/fonts/fonts.css?v=<?php fileVersion(ABSPATH.CSS_URL.'/fonts/fonts.css'); ?>" />
<?php if ($selected_object_id == 12 && $selected_object_type == 'page') { ?>
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/css/jquery.realperson.css?v=<?php fileVersion(ABSPATH.CSS_URL.'/jquery.realperson.css'); ?>" />
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.realperson.min.js?v=<?php fileVersion(ABSPATH.JS_URL.'/jquery.realperson.min.js'); ?>"></script>
<?php } ?>
</head>
<body>
<a class="skip-link" href="#content">Skip to content</a>
<div id="line" class="<?php if ($selected_object_type == 'home') { ?>line-homepage<?php }?>"></div>
<div id="wrapper">
<div id="header">
<div id="logo">
<a href="<?php echo function_exists('icl_get_home_url') ? icl_get_home_url() : home_url(); ?>" title="<?php bloginfo('name'); ?>"><img src="<?php bloginfo('template_directory'); ?>/images/logo.png" alt="<?php bloginfo('name'); ?>" /></a>
</div>
<div id="search">
<form action="<?php bloginfo('url'); ?>" method="GET" id="searchForm">
<input type="text" value="<?php echo isset($_GET['s']) ? $_GET['s'] : '';?>" data-default="Search" name="s" />
<input type="submit" value="GO" class="submit" />
</form>
</div>
<?php
function language_selector_flags(){
$languages = function_exists('icl_get_languages') ? icl_get_languages('skip_missing=0&orderby=code') : array();
if(!empty($languages)){
foreach($languages as $l){
if(!$l['active']) echo '<a href="'.$l['url'].'">';
echo '<img src="'.$l['country_flag_url'].'" height="12" alt="'.$l['language_code'].'" width="18" /> ';
if(!$l['active']) echo '</a>';
}
}
}
?>
<div id="flags_language_selector" style="margin:10px;text-align:right"><?php language_selector_flags(); ?></div >
</div>
<div id="menu"><?php include 'meniu.php'; ?></div>
<?php if ($selected_object_type == 'home') { ?>
<div id="header-image-home">
<?php if ($header_link) { ?><a href="<?=$header_link;?>"><?php } ?>
<img src="<?=$imagine_header;?>" alt="IQON" />
<?php if ($header_link) { ?></a><?php } ?>
</div>
<?php } else { ?>
<div id="breadcrumb">
&raquo; <a href="<?php echo function_exists('icl_get_home_url') ? icl_get_home_url() : home_url(); ?>" title="IQON">Home</a>
<?php if ($object_id) { ?>
/ <a href="<?php echo $meniu[$object_id]->url;?>" <?php if (!$object_id_child) echo 'class="last"'; ?>><?php echo $meniu[$object_id]->title;?></a>
<?php } ?>
<?php if ($object_id_child) { ?>
/ <a href="<?php echo $meniu[$object_id]->childrens[$object_id_child]->url;?>"><?php echo $meniu[$object_id]->childrens[$object_id_child]->title;?></a>
<?php } ?>
<?php if ($object_id_child_child) { ?>
/ <a href="<?php echo $meniu[$object_id]->childrens[$object_id_child]->childrens[$object_id_child_child]->url;?>"><?php echo $meniu[$object_id]->childrens[$object_id_child]->childrens[$object_id_child_child]->title;?></a>
<?php } ?>
<?php if (!empty($selected_department_name)) { ?>
/ <?php if (empty($title_bread)) { ?><strong><?php echo $selected_department_name; ?></strong><?php } else { ?><a href="<?php echo get_category_link($selected_department);?>"><?php echo $selected_department_name; ?></a><?php } ?>
<?php } ?>
<?php if (!empty($title_bread)) { ?>
/ <strong><?php echo $title_bread; ?></strong>
<?php } ?>
</div>
<div id="linie-interior"></div>
<?php if ($imagine_header) { ?>
<div id="header-image">
<img src="<?=$imagine_header;?>" alt="IQON" />
</div>
<?php } ?>
<?php } ?>
<?php if (!$ascunde_services) { ?>
<div id="menu-services">
<?php include 'meniu-services.php'; ?>
<div class="clear"></div>
</div>
<?php } ?>
<?php if ($imagine_header) { ?>
<div id="linie-interior" class="margintop10"></div>
<?php } ?>
<div id="content">
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

+35 -35
View File
@@ -8,55 +8,44 @@
name="description" name="description"
content="IQON helps organizations align technology decisions with measurable business outcomes through strategy, architecture, and transformation consulting." content="IQON helps organizations align technology decisions with measurable business outcomes through strategy, architecture, and transformation consulting."
/> />
<meta name="theme-color" content="#09090b" />
<link rel="icon" href="/favicon.ico" sizes="any" />
<link rel="icon" type="image/png" href="/favicon.png" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
<link rel="canonical" href="https://www.iqon.com/" />
<link rel="alternate" hreflang="en" href="https://www.iqon.com/" />
<link rel="alternate" hreflang="ru-KZ" href="https://www.iqon.com/kz/" />
<link rel="preconnect" href="https://fonts.googleapis.com" /> <link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link <link
href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Sora:wght@300;400;600;700;800&display=swap" href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Sora:wght@300;400;600;700;800&display=swap"
rel="stylesheet" rel="stylesheet"
/> />
<link rel="stylesheet" href="./styles.css" /> <link rel="stylesheet" href="./styles.css" />
</head> </head>
<body> <body>
<header class="topbar"> <a class="skip-link" href="#main">Skip to content</a>
<header class="topbar" id="topbar">
<a class="brand" href="#"> <a class="brand" href="#">
<svg class="brand-mark" viewBox="0 0 44 44" aria-hidden="true"> <img
<circle cx="22" cy="22" r="21" fill="#0A0A0A" stroke="#0A0A0A" stroke-width="1"></circle> class="brand-mark"
<circle cx="22" cy="22" r="20" stroke="#FFD000" stroke-width="1.5" fill="none"></circle> src="/wp-content/themes/iqon/images/logo.png"
<ellipse cx="22" cy="22" rx="13" ry="12" fill="#FFD000"></ellipse> width="84"
<ellipse cx="22" cy="22" rx="13" ry="12" fill="url(#eyeGlow)"></ellipse> height="87"
<path alt="IQON"
d="M22 10.5 C19.2 14 18.2 18 18.2 22 C18.2 26 19.2 30 22 33.5 C24.8 30 25.8 26 25.8 22 C25.8 18 24.8 14 22 10.5Z" />
fill="#0A0A0A"
></path>
<ellipse
cx="17"
cy="16.5"
rx="2.2"
ry="3.2"
fill="rgba(255,255,255,0.32)"
transform="rotate(-22 17 16.5)"
></ellipse>
<circle cx="26.5" cy="26" r="1" fill="rgba(255,255,255,0.12)"></circle>
<defs>
<radialGradient id="eyeGlow" cx="40%" cy="38%" r="65%">
<stop offset="0%" stop-color="#FFE84D" stop-opacity=".7"></stop>
<stop offset="50%" stop-color="#FFD000" stop-opacity="0"></stop>
<stop offset="100%" stop-color="#AA8000" stop-opacity=".15"></stop>
</radialGradient>
</defs>
</svg>
<span class="brand-name">iqon</span>
</a> </a>
<nav class="main-nav" aria-label="Primary"> <nav class="main-nav" aria-label="Primary">
<a href="#approach">How's Business?</a> <a href="#approach">How's Business?</a>
<a href="#services">Services & Solutions</a> <a href="#services">Services & Solutions</a>
<a href="#cases">Case Studies</a> <a href="#cases">Case Studies</a>
<a href="/kz/">KZ/RU</a>
<a href="#contacts">Contacts</a> <a href="#contacts">Contacts</a>
</nav> </nav>
<a class="nav-cta" href="#contacts">Book Discovery Call</a> <a class="nav-cta" href="#contacts">Book Discovery Call</a>
</header> </header>
<main> <main id="main">
<section class="hero" id="approach"> <section class="hero" id="approach">
<div class="hero-copy reveal"> <div class="hero-copy reveal">
<p class="eyebrow">Our Proprietary Consultive Approach</p> <p class="eyebrow">Our Proprietary Consultive Approach</p>
@@ -66,7 +55,10 @@
predictable outcomes for leadership teams. predictable outcomes for leadership teams.
</p> </p>
<div class="hero-actions"> <div class="hero-actions">
<a class="btn btn-solid" href="#contacts">Start a conversation</a> <a class="btn btn-solid" href="#contacts">
<span>Start a conversation</span>
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
</a>
<a class="btn btn-outline" href="#services">Explore services</a> <a class="btn btn-outline" href="#services">Explore services</a>
</div> </div>
</div> </div>
@@ -82,22 +74,27 @@
<section class="service-strip" id="services"> <section class="service-strip" id="services">
<article class="service-tile reveal"> <article class="service-tile reveal">
<span class="service-num">01</span>
<h2>Enterprise Management & Decision Support</h2> <h2>Enterprise Management & Decision Support</h2>
<p>Executive visibility, governance rhythm, and strategic decision intelligence.</p> <p>Executive visibility, governance rhythm, and strategic decision intelligence.</p>
</article> </article>
<article class="service-tile reveal"> <article class="service-tile reveal">
<span class="service-num">02</span>
<h2>Industry Specific Services</h2> <h2>Industry Specific Services</h2>
<p>Domain-led delivery models for regulated and high-complexity sectors.</p> <p>Domain-led delivery models for regulated and high-complexity sectors.</p>
</article> </article>
<article class="service-tile reveal"> <article class="service-tile reveal">
<span class="service-num">03</span>
<h2>IS Advisory Services</h2> <h2>IS Advisory Services</h2>
<p>Architecture guidance that links platform choices to growth goals.</p> <p>Architecture guidance that links platform choices to growth goals.</p>
</article> </article>
<article class="service-tile reveal"> <article class="service-tile reveal">
<span class="service-num">04</span>
<h2>IT Infrastructure Services</h2> <h2>IT Infrastructure Services</h2>
<p>Resilient, right-sized infrastructure with cost and risk under control.</p> <p>Resilient, right-sized infrastructure with cost and risk under control.</p>
</article> </article>
<article class="service-tile reveal"> <article class="service-tile reveal">
<span class="service-num">05</span>
<h2>Mobility Consulting Services</h2> <h2>Mobility Consulting Services</h2>
<p>Modern digital experiences and field-ready operating models.</p> <p>Modern digital experiences and field-ready operating models.</p>
</article> </article>
@@ -169,7 +166,10 @@
<section class="cta-band"> <section class="cta-band">
<h3>Need clarity on your next IT move?</h3> <h3>Need clarity on your next IT move?</h3>
<p>We can turn ambiguity into a practical roadmap in a two-week advisory sprint.</p> <p>We can turn ambiguity into a practical roadmap in a two-week advisory sprint.</p>
<a class="btn btn-dark" href="#contacts">Talk to IQON</a> <a class="btn btn-solid" href="#contacts">
<span>Talk to IQON</span>
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
</a>
</section> </section>
</main> </main>
@@ -181,6 +181,7 @@
<li>Operating model redesign for a financial group</li> <li>Operating model redesign for a financial group</li>
<li>Infrastructure modernization for retail network</li> <li>Infrastructure modernization for retail network</li>
<li>Advisory program for digital public services</li> <li>Advisory program for digital public services</li>
<li><a href="/kz/">AI cases for Kazakhstan enterprises</a></li>
</ul> </ul>
</section> </section>
<section> <section>
@@ -195,13 +196,12 @@
<section> <section>
<h4>Contact</h4> <h4>Contact</h4>
<p>10th Montreal Sq. 3rd Floor 3.01 bis Office, 011469 Bucharest, Romania</p> <p>10th Montreal Sq. 3rd Floor 3.01 bis Office, 011469 Bucharest, Romania</p>
<p>T +4 037 261 2600</p> <p><a href="https://t.me/infobridgebot" rel="noopener" target="_blank">Telegram</a></p>
<p>F +4 037 261 2608</p>
<p>office@iqon.com</p> <p>office@iqon.com</p>
</section> </section>
</div> </div>
<div class="footer-bottom"> <div class="footer-bottom">
<p>Home | Services & Solutions | Case Studies | Contacts</p> <p>Home | Services & Solutions | Case Studies | KZ/RU | Contacts</p>
<p>2011-2026 Copyright IQON. All Rights Reserved.</p> <p>2011-2026 Copyright IQON. All Rights Reserved.</p>
</div> </div>
</footer> </footer>
+44
View File
@@ -0,0 +1,44 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Industries | IQON</title>
<meta name="description" content="IQON supports technology and transformation decisions in energy, telecom, retail, logistics, and manufacturing environments." />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Sora:wght@300;400;600;700;800&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="../styles.css?v=20260520-qa7" />
</head>
<body>
<a class="skip-link" href="#main">Skip to content</a>
<header class="topbar">
<a class="brand" href="/"><span class="brand-name">iqon</span></a>
<nav class="main-nav" aria-label="Primary">
<a href="/">Home</a>
<a href="/services/">Services</a>
<a href="/industries/" aria-current="page">Industries</a>
<a href="/case-studies/">Cases</a>
<a href="/contact/">Contact</a>
</nav>
<a class="nav-cta" href="/contact/">Book Discovery Call</a>
</header>
<main id="main">
<section class="page-hero">
<p class="eyebrow">Industries</p>
<h1>Domain-aware technology decisions.</h1>
<p class="lead">IQON works best where enterprise technology choices must account for regulation, operating complexity, distributed teams, and measurable business outcomes.</p>
</section>
<section class="content-grid">
<article class="content-card"><h2>Energy & Utilities</h2><p>Governance, continuity, asset-heavy operations, and decision visibility for regulated environments.</p></article>
<article class="content-card"><h2>Telecommunications</h2><p>Operating model, customer intelligence, platform modernization, and service management.</p></article>
<article class="content-card"><h2>Retail & Wholesale</h2><p>Infrastructure, analytics, digital operations, and decision support across distributed networks.</p></article>
<article class="content-card"><h2>Logistics & Transport</h2><p>Operational resilience, integration planning, reporting trust, and transformation sequencing.</p></article>
<article class="content-card"><h2>Manufacturing</h2><p>Architecture, continuity, process visibility, and modernization roadmaps for complex delivery environments.</p></article>
</section>
<section class="cta-band"><h3>Bring context into the roadmap.</h3><a class="btn btn-dark" href="/contact/">Discuss your industry context</a></section>
</main>
<footer><div class="footer-bottom"><p><a href="/">Home</a> | <a href="/services/">Services</a> | <a href="/contact/">Contact</a></p><p>2011-2026 Copyright IQON. All Rights Reserved.</p></div></footer>
<script src="../script.js?v=20260520-qa7"></script>
</body>
</html>
+269
View File
@@ -0,0 +1,269 @@
---
name: iqon-design-audit
description: "Аудит дизайна iqon.com с референсами из Open Design дизайн-систем и план изменений"
metadata:
node_type: memory
type: project
---
# Аудит дизайна iqon.com
*Created: 18 May 2026*
## Контекст
Анализ текущего дизайна iqon.com с использованием дизайн-систем из Open Design (nexu-io/open-design). Сайт работает на WordPress 4.9.13 с кастомной темой iqon (2012 год). Содержимое не обновлялось с 2013 года. На том же аккаунте reg.ru (u0012812) что и dsu-project.ru.
---
## 1. Критические проблемы
### 1.1 Нет viewport meta tag
**Проблема:** Отсутствует `<meta name="viewport">` — сайт не адаптивный, на мобильных отображается в масштабе десктопа (960px).
**Референс (Corporate):** `<meta name="viewport" content="width=device-width, initial-scale=1.0">` — стандарт.
**Исправление:** Добавить viewport meta через Code Snippets на dsu-project.ru (output buffering).
### 1.2 WordPress 4.9.13 — критически устаревшая
**Проблема:** WP 4.9.13 (декабрь 2017), минимум 50+ известных уязвимостей. Readme.html доступен, раскрывает WP.
**Риск:** RCE, XSS, SQL injection.
**Исправление:** Обновить WordPress до 6.x (рискованно с кастомной темой) или заблокировать readme.html, скрыть WP-версию.
### 1.3 REST API полностью открыт (180 маршрутов)
**Проблема:** `/wp-json/` раскрывает 180 маршрутов, 5 namespaces, имена пользователей (admin, iqnadm01).
**Исправление:** Ограничить REST API аналогично dsu-project.ru (Code Snippet #10).
### 1.4 Отсутствуют все security-заголовки
| Заголовок | Статус |
|-----------|--------|
| Content-Security-Policy | MISSING |
| X-Frame-Options | MISSING |
| X-Content-Type-Options | MISSING |
| Referrer-Policy | MISSING |
| Permissions-Policy | MISSING |
| X-XSS-Protection | MISSING |
**Присутствуют:** HSTS (max-age=31536000), Server: nginx.
**Исправление:** Добавить через Code Snippets (аналогично dsu-project.ru).
### 1.5 HTTP mixed content
**Проблема:** 3 ссылки с `http://www.iqon.com/` на HTTPS-сайте:
- `http://www.iqon.com/hows-business/` (header image link)
- `http://www.iqon.com/wp-content/uploads/2012/05/homepage.png` (hero image)
- `http://www.iqon.com/wp-content/uploads/2012/05/imagine-text-home.png` (og:image)
**Исправление:** Заменить через output buffering или прямое исправление в БД.
---
## 2. SEO проблемы
### 2.1 Критические SEO ошибки
| Проблема | Детали |
|----------|--------|
| **Нет viewport meta** | Сайт не адаптивный для Google Mobile-First |
| **og:image использует HTTP** | `http://www.iqon.com/wp-content/uploads/2012/05/imagine-text-home.png` |
| **og:site_name = "- IQON"** | Дефис перед названием — ошибка |
| **Кириллические URL-encoded страницы** | 29 страниц типа `/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-.../` |
| **Дубли страниц в sitemap** | `/contact/` ×2, `/homepage/` ×3, `/industry-specific-services/` ×2 |
| **Контент не обновлялся с 2013** | `article:modified_time` = 2013-07-25 |
| **H1 = статья, не заголовок страницы** | H1 содержит ссылку на case study вместо заголовка сайта |
### 2.2 Отсутствующие мета-данные
- Нет `<title>` отличного от "How's business?" (слишком общий, без бренда)
- Нет `<link rel="icon">` (favicon)
- Нет Twitter Card тегов
- Нет canonical на внутренних страницах (не проверено, но Yoast должен добавить)
### 2.3 Изображения без alt
| Изображение | alt |
|-------------|-----|
| `homepage.png` (hero) | ОТСУТСТВУЕТ |
| `Poza_website_CaseStudy-208x142.jpg` | ОТСУТВУЕТ |
| `logo.png` | " IQON" (декодируется как ` IQON`, с дефисом) |
| `logo-footer.png` | " IQON" (тот же дефис) |
---
## 3. Дизайн-аудит vs Open Design
### 3.1 Текущий дизайн iqon.com
| Параметр | Значение |
|----------|----------|
| **Ширина** | 960px фиксированная |
| **Шрифты** | HelveticaNeueLTPro (2 веса: 35 Thin, 45 Light) + Arial |
| **Формат шрифтов** | EOT + WOFF + TTF (2012, нет WOFF2) |
| **Акцентный цвет** | `#fbc100` (жёлтый) — меню, линии, кнопки |
| **Текстовый цвет** | `#4c4c4c` (серый) |
| **Заголовки** | `#000000` (чёрный) |
| **Фон** | Белый, нет CSS-переменных |
| **Дизайн-система** | Нет — произвольные размеры (12/15/16/18/20/23/32px) |
| **Сетка** | Нет — position: absolute, float |
| **Адаптивность** | Нет — 0 media queries |
| **Семантика** | Нет — div-based layout, нет nav/main/section/footer |
### 3.2 Сравнение с Corporate (Open Design)
| Аспект | iqon.com | Corporate |
|--------|----------|-----------|
| **Primary color** | `#fbc100` (одиночный акцент) | `#3B82F6` (primary) + `#8B5CF6` (secondary) |
| **Typography scale** | Произвольная (12/15/16/18/20/23/32) | Модульная (12/14/16/20/24/32) |
| **Spacing** | Нет системы (3/5/10/15/20/27/30/35/40px) | 8pt grid |
| **Layout** | position:absolute + float | Grid + Flexbox |
| **Font weights** | 2 (thin + light) | 5 (400-800) |
| **Border radius** | 0 (прямые углы) | Consistent (8/12/20px) |
| **Responsive** | Нет | Mobile-first |
| **Semantic HTML** | Нет (div#header, div#menu) | HTML5 semantic |
### 3.3 Сравнение с Clean (Open Design)
| Аспект | iqon.com | Clean |
|--------|----------|-----------|
| **Visual style** | Corporate 2012 | Minimal, whitespace-driven |
| **Color palette** | 1 акцент + серый текст | Primary + neutral system |
| **Layout** | Fixed 960px | Fluid + responsive |
| **Animation** | Нет | CSS transitions 150-250ms |
| **Accessibility** | Нет focus ring, нет skip link | WCAG compliance built-in |
---
## 4. new_redesign — существующий прототип
В `~/development/iqon/new_redesign/` есть уже разработанный прототип редизайна:
### 4.1 Дизайн-система прототипа
| Параметр | Значение |
|----------|----------|
| **Фон** | `#09090b` (тёмный) |
| **Акцент** | `#ffd000` (жёлтый, как у оригинала) |
| **Surface** | `#18181b` |
| **Шрифты** | Space Grotesk (4 веса) + Sora (5 весов) |
| **Radius** | 8/12/20px |
| **Transitions** | cubic-bezier с spring-эффектами |
| **Viewport** | `<meta name="viewport">` — адаптивный |
| **Semantic HTML** | `<header>`, `<nav>`, `<main>` — да |
| **SVG логотип** | Да, с градиентом |
| **Backdrop filter** | `blur(20px)` на topbar |
| **Grid** | CSS Grid для навигации и layout |
**Проблема:** Прототип использует тёмную тему (`#09090b` фон), что кардинально отличается от оригинального белого дизайна iqon.com. Тёмная тема подходит для tech/startup, но может не соответствовать корпоративному IT-консалтингу.
### 4.2 Светлый вариант (styles.css в корне)
Есть альтернативный `styles.css` в корне `~/development/iqon/` с светлой палитрой:
- `--bg: #f1f1ef`
- `--surface: #ffffff`
- `--ink: #0a0a0a`
- `--accent: #ffd000` (жёлтый, сохранён)
---
## 5. Нерешённые технические проблемы (из предыдущей сессии)
| # | Проблема | Статус |
|---|----------|--------|
| C1 | `$binary{0}` PHP 8 fatal | Исправлен (→ `$binary[0]`) |
| C2 | `$_GET["page"]` undefined | Исправлен (→ `$_GET["page"] ?? 1`) |
| C3 | PHP warnings в category.php | Исправлен (error_reporting) |
| C4 | jQuery 1.7.2 + UI 1.8.18 XSS | Обновлено до 3.7.1 + 1.13.2 |
| C5 | Мёртвый GA-UA (UA-42729516) | Файл очищен |
| — | WordPress 4.9.13 устаревшая | Не исправлено |
| — | REST API 180 маршрутов открыт | Не исправлено |
| — | Нет security-заголовков | Не исправлено |
| — | Нет viewport meta | Не исправлено |
| — | HTTP mixed content | Не исправлено |
| — | CAPTCHA jquery.realperson.min.js может сломаться | Не проверено |
---
## 6. План изменений
### Фаза 1: Критические исправления (1-2 часа, через Code Snippets)
Через Code Snippets на dsu-project.ru (оба сайта на одном аккаунте u0012812).
| # | Исправление | Метод |
|---|-------------|-------|
| 1 | Viewport meta `<meta name="viewport" content="width=device-width, initial-scale=1.0">` | Output buffering |
| 2 | REST API ограничение (требовать авторизацию, кроме oembed/yoast) | `rest_authentication_errors` filter |
| 3 | Security-заголовки (CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy) | `send_headers` action |
| 4 | HTTP→HTTPS замена всех ссылок | Output buffering |
| 5 | Удалить WP generator meta + заблокировать readme.html | `the_generator` filter + redirect |
| 6 | Alt тексты для 4 изображений | Output buffering |
| 7 | Skip link после `<body>` | Output buffering |
| 8 | Focus-visible CSS | `wp_head` action |
| 9 | xmlrpc.php заблокировать | `xmlrpc_enabled` filter |
| 10 | Исправить og:site_name (убрать дефис) | Yoast filter |
| 11 | Исправить title (добавить "| IQON") | Yoast filter |
### Фаза 2: SEO исправления (2-3 часа)
| # | Исправление | Метод |
|---|-------------|-------|
| 12 | Убрать дубли страниц из sitemap (contact/ ×2, homepage/ ×3) | Yoast SEO settings |
| 13 | 29 кириллических URL-encoded страниц → noindex или 301 | Yoast SEO / update_post_meta |
| 14 | H1 на главной — заменить на заголовок сайта, не статью | Output buffering |
| 15 | Добавить og:image с HTTPS URL | Yoast filter |
| 16 | Favicon если отсутствует | wp_head |
### Фаза 3: Редизайн (выбор стратегии)
**Вариант А: Деплой new_redesign (1-2 дня)**
- Заменить тему iqon на статический HTML из `new_redesign/`
- Выбрать светлую палитру (styles.css в корне) или тёмную (new_redesign/)
- Сохранить структуру URL и SEO-мета через 301 редиректы
- WordPress → статический HTML + Cloudflare/CDN
**Вариант Б: WordPress тема на основе new_redesign (1-2 недели)**
- Конвертировать new_redesign в WordPress тему
- Сохранить текущий контент и URL-структуру
- CSS custom properties для теминга
- Миграция контента из 2012-го формата
**Вариант В: Косметический ремонт текущего сайта (3-5 часов)**
- Добавить viewport meta и media queries
- Унифицировать цвета через CSS custom properties
- Заменить @font-face на WOFF2 + system font stack
- Добавить семантические HTML5 теги (nav, main, footer)
### Рекомендация для iqon.com
IQON — международная IT-консалтинговая компания. Сайт не обновлялся 13 лет. Контент устарел (последнее обновление 2013). Наиболее целесообразный вариант:
**Вариант А (деплой new_redesign)** — если контент будет переписан.
**Вариант В (косметический ремонт)** — если нужно быстро «оживить» текущий сайт.
Вариант Б (WP тема) не рекомендуется — контент всё равно требует обновления, а WP 4.9.13 — критический риск безопасности.
---
## 7. Референс: дизайн-системы
Из Open Design для iqon.com (B2B IT-консалтинг):
| Система | Категория | Рекомендация |
|---------|-----------|--------------|
| **Corporate** | Professional | Оптимальна для iqon.com — enterprise, структурированный |
| **Clean** | Minimal | Второй вариант — чистый, минималистичный |
| **Bold** | Bold | Если нужен яркий бренд — primary `#0077BC` близок к IQON жёлтому по контрасту |
**Текущий акцентный цвет `#fbc100` (жёлтый)** — сохранён в new_redesign как `#ffd000`. Corporate и Clean используют `#3B82F6` (синий), что типичнее для IT-консалтинга. Но жёлтый — часть бренда IQON с 2012 года.
---
*Updated: 18 May 2026*
+272
View File
@@ -0,0 +1,272 @@
# Полный аудит iqon.com
Purpose: текущий аудит live-сайта `iqon.com` и план необходимых изменений с опорой на Open Design `design-review` и `frontend-design`.
## Contents
- [Executive Finding](#executive-finding)
- [Verified Live Facts](#verified-live-facts)
- [Open Design Assessment](#open-design-assessment)
- [Findings](#findings)
- [Change Plan](#change-plan)
- [Recommended Strategy](#recommended-strategy)
- [Phase 1 Local Package](#phase-1-local-package)
- [Phase 2 URL Cleanup Package](#phase-2-url-cleanup-package)
- [Phase 3 Content Structure Package](#phase-3-content-structure-package)
- [Phase 4 Static Prototype Package](#phase-4-static-prototype-package)
- [Verification Checklist](#verification-checklist)
- [Open Questions](#open-questions)
## Executive Finding
`iqon.com` сейчас выглядит и работает как legacy WordPress-сайт 2012-2013 года с частично обновлённой платформой. PHP 8 и jQuery fixes применены, но сайт всё ещё не соответствует современному уровню B2B IT-консалтинга: фиксированная ширина 960px, устаревший контент, слабая SEO-семантика, открытые WordPress surfaces, mixed content и отсутствие ключевых security headers.
Главная рекомендация: не развивать текущую тему как долгосрочную основу. Правильнее использовать быстрый hardening текущего WordPress как временную меру, затем заменить публичный сайт на статический или headless/static-пакет на базе локального light redesign.
## Verified Live Facts
Проверено 19 May 2026.
| Area | Fact | Evidence |
|------|------|----------|
| Canonical host | `https://www.iqon.com/` redirects to `https://iqon.com/` | `curl -I -L https://www.iqon.com/` |
| HTTPS | HSTS present: `strict-transport-security: max-age=31536000` | `curl -I -L https://www.iqon.com/` |
| Security headers | CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy absent from sampled homepage headers | `curl -I -L https://www.iqon.com/` |
| WordPress REST | `/wp-json/` is public and exposes namespaces/routes | `curl https://www.iqon.com/wp-json/` |
| Users endpoint | Public users include `admin` and `iqnadm01` | `curl https://iqon.com/wp-json/wp/v2/users` |
| Yoast | Live HTML shows Yoast SEO plugin v27.3 | homepage HTML |
| Readme | `https://iqon.com/readme.html` returns HTTP 200 | `curl -I -L https://iqon.com/readme.html` |
| Sitemap | `page-sitemap.xml` has 66 URLs | parsed sitemap |
| Sitemap duplicates | 3 duplicated URL groups: `/industry-specific-services/` x2, `/contact/` x2, `/homepage/` x3 | parsed sitemap |
| Encoded URLs | 29 sitemap URLs are percent-encoded Cyrillic paths | parsed sitemap |
| Last content freshness | Latest page sitemap `lastmod` is `2013-07-25T11:20:03+00:00` | parsed sitemap |
| Theme layout | CSS uses fixed `#wrapper { width: 960px; }` and no responsive media strategy in theme CSS | live `style.css` |
| Contact page | Contact page embeds HTTP Google Maps iframe and uses legacy `jquery.realperson` CAPTCHA | `curl https://iqon.com/contact/` |
| Homepage mixed content | Homepage includes HTTP hero/image/OG resources | homepage HTML |
| XML-RPC | `xmlrpc.php` gives empty reply under HTTP/1.1 HEAD check; treat as unresolved until POST-tested | `curl -I --http1.1 https://iqon.com/xmlrpc.php` |
Important correction: old local memory says WordPress 4.9.13. The live site now exposes newer platform signals, including Yoast 27.3 and modern REST namespaces. Exact WordPress core version was not confirmed in this audit, so do not repeat `WP 4.9.13` as a current live fact without a direct core-version check.
## Open Design Assessment
The requested `opendesign` skill is represented locally by Open Design skill entries `design-review` and `frontend-design`.
Applied Open Design criteria:
- Production interface should be responsive, not fixed-width desktop.
- Navigation and page sections should use semantic HTML and predictable scan patterns.
- B2B/consulting interface should feel clear, credible, current, and operationally useful.
- Typography, spacing, color, focus states, and layout should be systematic rather than incidental.
- A redesign should be the actual usable site, not a marketing mockup disconnected from contact, services, and cases.
Live `iqon.com` fails the production UI bar mainly because its visual system is still built around fixed pixel widths, floats, absolute positioning, old fonts, image-based buttons, and content from 2012-2013. The local root static draft is closer to the right direction than the live site: it has semantic sections, modern typography, a responsive viewport, clear service tiles, and current consulting language.
## Findings
### P0 — Security And Exposure
| Finding | Severity | Evidence | Required Change |
|---------|----------|----------|-----------------|
| Public REST user enumeration | High | `/wp-json/wp/v2/users` exposes `admin`, `iqnadm01` | Restrict user endpoints and author archives; preserve only required public REST routes |
| Missing defensive headers | High | Homepage headers only show HSTS among sampled security headers | Add CSP, X-Frame-Options or frame-ancestors, X-Content-Type-Options, Referrer-Policy, Permissions-Policy |
| Public `readme.html` | Medium | `readme.html` returns HTTP 200 | Block or return 404/403 for readme and other install docs |
| Legacy contact CAPTCHA | Medium | `jquery.realperson` plugin is from 2009 and uses removed `.live()` API | Replace CAPTCHA/contact flow or browser-test and patch compatibility immediately |
| XML-RPC state unresolved | Medium | HEAD check produced empty reply | Perform safe POST method check; disable XML-RPC unless explicitly needed |
### P0 — Mixed Content And Trust
| Finding | Severity | Evidence | Required Change |
|---------|----------|----------|-----------------|
| HTTP hero image and link | High | Homepage uses `http://www.iqon.com/...homepage.png` and `http://www.iqon.com/hows-business/` | Replace with HTTPS/canonical URLs |
| HTTP OG image and schema thumbnail | High | `og:image` and schema image point to HTTP | Set HTTPS image URL in Yoast/schema filters |
| HTTP Google Maps iframe | Medium | Contact page iframe uses `http://maps.google.com/...` | Replace with HTTPS embed or static contact block |
### P1 — SEO And Information Architecture
| Finding | Severity | Evidence | Required Change |
|---------|----------|----------|-----------------|
| Duplicate title tags | High | Homepage has initial `<title>` plus Yoast `<title>` | Ensure exactly one meaningful title |
| Weak homepage title | High | Yoast title is only `Hows business?` | Use brand/category: `IQON | IT Strategy and Transformation Consulting` |
| Broken brand name in metadata | Medium | `og:site_name` is `- IQON` | Set site name to `IQON` |
| Stale sitemap dates | High | latest page `lastmod` is 2013-07-25 | Update content or noindex stale pages until refreshed |
| Duplicate sitemap URLs | Medium | 3 duplicated URL groups in sitemap | Remove duplicate pages or canonicalize/redirect |
| 29 encoded Cyrillic URLs | Medium | percent-encoded Russian URL paths in sitemap | Decide: keep bilingual architecture with hreflang, or noindex/redirect archived Russian pages |
| Thin service landing page | High | `/services-solutions/` renders only a heading | Build meaningful service overview with links and conversion path |
| Single old case study | Medium | case studies archive shows one 2010-era Rompetrol case | Add current cases or reposition as historical archive |
### P1 — Design, UX, Accessibility
| Finding | Severity | Evidence | Required Change |
|---------|----------|----------|-----------------|
| No mobile-first layout | High | CSS fixed `960px` wrapper and desktop floats | Replace with responsive grid/flex layout |
| No viewport meta in live theme | High | sampled live pages omit viewport meta | Add viewport immediately |
| Div-based navigation | Medium | `div#menu`, `div#content`, `div#footer` | Use `header`, `nav`, `main`, `section`, `footer` in redesign |
| Missing image alt text | Medium | hero/case images have no useful alt | Add descriptive alt or mark decorative images |
| No visible focus system in theme CSS | Medium | theme CSS has hover styles, no focus-visible system | Add keyboard focus states |
| Image buttons | Low | case/read and submit use image-based controls | Replace with semantic buttons/links and text labels |
### P1 — Content And Positioning
| Finding | Severity | Evidence | Required Change |
|---------|----------|----------|-----------------|
| Brand message is dated | High | homepage leads with old case-study headline, not clear offer | Define current IQON positioning and value proposition |
| Footer copyright stale | Medium | live footer says 2016 | Update copyright and legal footer |
| Contact information conflicts | Medium | local draft and live site have different phone/address details | Choose canonical contact data before launch |
| Russian/Kazakhstan offices may be stale | Medium | contact page lists Moscow and Almaty office details | Verify active offices before publishing |
### P2 — Technical Debt
| Finding | Severity | Evidence | Required Change |
|---------|----------|----------|-----------------|
| WordPress core version unknown | Medium | live signals differ from old memory | Confirm via admin/core files before platform decision |
| Legacy theme still active | High | theme CSS and markup are still 2012-style | Do not invest heavily in theme beyond hardening |
| Google-hosted jQuery dependency | Medium | loads jQuery from `ajax.googleapis.com` | Prefer local bundled asset or verified CDN policy |
| `jquery.realperson` compatibility risk | Medium | plugin uses `.live()` while jQuery is 3.7.1 | Replace or patch plugin |
## Change Plan
### Phase 0 — Backup And Baseline
| Task | Owner Action | Verification |
|------|--------------|--------------|
| Confirm DB archive completion | Check reg.ru backup archive status for `u0012812_iqon` | Archive exists and can be downloaded |
| Capture current live HTML/CSS | Save homepage/contact/services/case samples | Files exist in backup folder |
| Confirm WP core version | Check admin/core/version source | Exact version recorded |
| Browser-test contact form | Submit safe test using non-production message | Form validation and delivery behavior known |
### Phase 1 — Same-Day Hardening
| Task | Method | Expected Signal |
|------|--------|-----------------|
| Add viewport meta | `wp_head` or output buffering snippet | HTML contains `<meta name="viewport" content="width=device-width, initial-scale=1">` |
| Replace HTTP URLs | DB update or output buffering | `rg "http://www.iqon.com|http://maps.google.com"` returns no live HTML hits |
| Add security headers | nginx/hosting config or WP `send_headers` | Headers include CSP/frame/content/referrer/permissions policy |
| Restrict REST users | WP filter or security plugin | `/wp-json/wp/v2/users` no longer exposes usernames |
| Block readme | nginx/hosting rule or WP redirect | `readme.html` returns 403/404 |
| Disable XML-RPC if unused | hosting rule or WP filter | XML-RPC cannot be used for pingback/login abuse |
### Phase 2 — SEO And Content Cleanup
| Task | Method | Expected Signal |
|------|--------|-----------------|
| Fix site name | Yoast/site settings | `og:site_name` is `IQON` |
| Fix homepage title and description | Yoast/page settings | Search snippet describes IQON offer clearly |
| Fix sitemap duplicates | Delete/redirect/noindex duplicate pages | `/contact/`, `/homepage/`, `/industry-specific-services/` are singletons |
| Decide Russian URLs policy | hreflang bilingual mode or noindex/redirect archive | 29 encoded URLs have intentional index status |
| Rewrite services overview | Replace empty page content | `/services-solutions/` has meaningful overview and service cards |
| Update contact facts | Verify addresses/phones/emails | Live contact matches approved company data |
### Phase 3 — Open Design Redesign
Recommended direction: use the local root light redesign as the base, not the dark `new_redesign/` as-is.
| Task | Method | Expected Signal |
|------|--------|-----------------|
| Choose canonical local variant | Decide root draft vs `new_redesign/` | One source of truth recorded in memory |
| Build light B2B design system | Tokens for color, type, spacing, components | CSS variables and reusable sections exist |
| Rebuild navigation | Real URLs, mobile nav, semantic landmarks | Header works desktop/mobile |
| Rebuild services | 5 service pages or 5 sections with clear CTAs | Service pages have titles, descriptions, CTAs |
| Rebuild cases | Current case cards or historical archive framing | Case content no longer feels abandoned |
| Rebuild contact | Verified data, simple form/mailto/Telegram, privacy note | Contact path works without legacy CAPTCHA |
### Phase 4 — Deployment Strategy
| Option | Use When | Pros | Cons |
|--------|----------|------|------|
| Static replacement | Content can be frozen and maintained in repo | Fast, secure, low maintenance | Requires redirects and deployment discipline |
| New WordPress theme | Client needs WP editing | Preserves CMS workflows | More moving parts and security maintenance |
| Incremental legacy repair | Need risk reduction today | Fastest safe improvement | Does not solve brand/design/content age |
## Recommended Strategy
1. Execute Phase 0 and Phase 1 first. This reduces public risk without committing to a redesign path.
2. Choose static replacement unless there is a hard requirement for WordPress editing.
3. Use the light root draft as the base direction: it preserves the yellow IQON signal, reads more credible for B2B consulting, and avoids the overly dark tech-startup tone of `new_redesign/`.
4. Treat old WordPress content as source material, not as final copy. Most service pages and cases need rewriting, not restyling.
5. Keep the old site restorable until the new package passes desktop/mobile browser QA and URL redirect checks.
## Phase 1 Local Package
Prepared 20 May 2026, not deployed to live WordPress.
| Artifact | Purpose | Status |
|----------|---------|--------|
| `wp-snippets/iqon-phase1-hardening.php` | Reversible WordPress snippet for immediate hardening | Local draft |
| `wp-snippets/README.md` | Install draft, verification commands, rollback notes | Local draft |
| `wp-snippets/hosting-rules.md` | nginx/Apache/file-level drafts for install docs and XML-RPC | Local draft |
| `scripts/iqon-phase1-verify.sh` | Automated post-activation verification script | Local draft |
| `reports/phase1-baseline-2026-05-20.md` | Current live baseline before activation | Local report |
The snippet covers defensive headers, REST user endpoint removal, XML-RPC disable filter, viewport fallback, emergency responsive CSS, HTTP URL rewriting, Yoast site-name correction, and generator removal. The package intentionally does not include credentials and does not perform any remote writes.
Important limit: physical `readme.html` and `license.html` may be served by nginx before WordPress runs. The PHP snippet includes only a WordPress fallback; guaranteed enforcement requires hosting-level blocking or removing the files after backup.
Baseline result: `scripts/iqon-phase1-verify.sh https://iqon.com` currently fails on missing defensive headers, missing viewport, missing skip link, known HTTP URLs, `og:site_name`, public REST users, and `readme.html` returning `200`. This is expected before deployment and gives a comparison point after activation.
## Phase 2 URL Cleanup Package
Prepared 20 May 2026, not deployed to live WordPress.
| Artifact | Purpose | Status |
|----------|---------|--------|
| `reports/live-captures/2026-05-20/page-sitemap.xml` | Captured current Yoast page sitemap | Local capture |
| `scripts/iqon-sitemap-inventory.py` | Reproducible sitemap parser | Local tool |
| `seo/sitemap-inventory-2026-05-20.csv` | Parsed sitemap inventory | Local inventory |
| `seo/url-cleanup-plan-2026-05-20.md` | URL policy, duplicate cleanup, redirect drafts | Local plan |
Current inventory: 66 sitemap rows, 29 encoded multilingual URLs, 7 duplicate rows, 1 typo slug, 1 thin services landing, and 1 legacy home alias.
## Phase 3 Content Structure Package
Prepared 20 May 2026, not implemented on live site.
| Artifact | Purpose | Status |
|----------|---------|--------|
| `content/site-structure-brief-2026-05-20.md` | Target sitemap, positioning, page briefs, content backlog | Local brief |
Recommended structure: root homepage, `/services/`, five service detail pages, `/industries/`, `/case-studies/`, and `/contact/`. Required owner inputs before launch: canonical contact data, language policy, deployment target, service naming, case-study policy, and legal/privacy footer.
## Phase 4 Static Prototype Package
Prepared 20 May 2026, not deployed to live site.
| Artifact | Purpose | Status |
|----------|---------|--------|
| `index.html` | Updated homepage with real target-sitemap links | Local prototype |
| `services/index.html` | Services overview page | Local prototype |
| `services/*/index.html` | Five service detail pages | Local prototype |
| `industries/index.html` | Industry overview page | Local prototype |
| `case-studies/index.html` | Case-study decision placeholder | Local prototype |
| `contact/index.html` | Contact page with owner-confirmation notes | Local prototype |
| `sitemap.xml` | Static target sitemap | Local prototype |
| `robots.txt` | Static robots file | Local prototype |
| `reports/static-prototype-smoke-2026-05-20.md` | Local HTTP smoke results | Local report |
| `reports/visual-qa-2026-05-20.md` | Headless Chrome visual QA report | Local report |
Local smoke result: all 10 target pages plus `sitemap.xml` and `robots.txt` returned HTTP 200 through `python3 -m http.server 8061`. Headless Chrome mobile QA found and fixed horizontal clipping in nav, hero copy, and service-card copy. The prototype still needs owner input for contact data/cases before deployment.
## Verification Checklist
| Check | Command Or Method | Expected Signal |
|-------|-------------------|-----------------|
| Headers | `curl -I -L https://iqon.com/` | Security headers present |
| Mixed content | Fetch homepage/contact and search `http://` | No HTTP asset/embed URLs |
| REST users | `curl https://iqon.com/wp-json/wp/v2/users` | No public user list |
| Readme | `curl -I https://iqon.com/readme.html` | 403 or 404 |
| Sitemap | Parse `page-sitemap.xml` | No duplicate canonical URLs |
| Mobile | Browser at 390px width | No horizontal scroll, nav usable |
| Accessibility | Keyboard tab through header/form | Visible focus and reachable controls |
| Contact | Safe test submission | Known outcome: delivered, blocked, or replaced |
## Open Questions
- Which contact data is canonical: live Bucharest/Moscow/Almaty details or local draft Bucharest-only details?
- Should the site remain English-only, bilingual EN/RU, or archive Russian pages?
- Should the final site be static, WordPress, or hybrid?
- Are there current IQON case studies that can replace the 2010 Rompetrol example?
- Is `office@iqon.kz` still valid and monitored?
---
*Created: 19 May 2026, 22:45*
*Updated: 19 May 2026, 22:45*
+247
View File
@@ -0,0 +1,247 @@
<!doctype html>
<html lang="ru-KZ">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>IQON Kazakhstan | AI и цифровая трансформация</title>
<meta
name="description"
content="Русская версия IQON для Казахстана: технологический консалтинг, корпоративные AI-кейсы, архитектура, управление данными и инфраструктурная устойчивость."
/>
<meta name="theme-color" content="#09090b" />
<link rel="icon" href="/favicon.ico" sizes="any" />
<link rel="icon" type="image/png" href="/favicon.png" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
<link rel="canonical" href="https://www.iqon.com/kz/" />
<link rel="alternate" hreflang="en" href="https://www.iqon.com/" />
<link rel="alternate" hreflang="ru-KZ" href="https://www.iqon.com/kz/" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Sora:wght@300;400;600;700;800&display=swap"
rel="stylesheet"
/>
<link rel="stylesheet" href="../styles.css?v=20260531-kz2" />
</head>
<body class="kz-page">
<a class="skip-link" href="#main">Перейти к содержанию</a>
<header class="topbar" id="topbar">
<a class="brand" href="/">
<img
class="brand-mark"
src="/wp-content/themes/iqon/images/logo.png"
width="84"
height="87"
alt="IQON"
/>
</a>
<nav class="main-nav" aria-label="Основная навигация">
<a href="#market">Казахстан</a>
<a href="#services">Услуги</a>
<a href="#ai-cases">AI-кейсы</a>
<a href="#contacts">Контакты</a>
<a href="/">EN</a>
</nav>
<a class="nav-cta" href="#contacts">Обсудить задачу</a>
</header>
<main id="main">
<section class="hero kz-hero" id="market">
<div class="hero-copy kz-hero-copy reveal">
<p class="eyebrow">IQON Kazakhstan</p>
<h1>AI-портфель<br />для компаний<br />Казахстана.</h1>
<p class="lead">
IQON помогает советам директоров, C-level и операционным командам
выбрать AI-инициативы, проверить данные, оценить риски и довести
пилоты до управляемого внедрения.
</p>
<div class="hero-actions">
<a class="btn btn-solid" href="#ai-cases"><span>Смотреть AI-кейсы</span></a>
<a class="btn btn-outline" href="#contacts">Связаться</a>
</div>
</div>
<div class="kz-decision-panel reveal" aria-label="Фокус обследования">
<div class="kz-panel-head">
<span>Enterprise AI readiness</span>
<strong>KZ</strong>
</div>
<dl class="kz-metrics">
<div>
<dt>01</dt>
<dd>Цели бизнеса</dd>
</div>
<div>
<dt>02</dt>
<dd>Данные и доступы</dd>
</div>
<div>
<dt>03</dt>
<dd>Риски и контроль</dd>
</div>
<div>
<dt>04</dt>
<dd>Roadmap внедрения</dd>
</div>
</dl>
<div class="kz-panel-note">
<span>Результат</span>
<p>Карта AI-инициатив с приоритетами, владельцами, зависимостями и критериями промышленного запуска.</p>
</div>
</div>
</section>
<section class="kz-service-board" id="services">
<article class="kz-service-card reveal">
<span class="service-num">01</span>
<h2>AI-стратегия и governance</h2>
<p>Портфель AI-инициатив, модель ответственности, риски, метрики и дорожная карта внедрения.</p>
</article>
<article class="kz-service-card reveal">
<span class="service-num">02</span>
<h2>Данные и управленческая аналитика</h2>
<p>Единая логика показателей, качество данных, executive dashboards и decision intelligence.</p>
</article>
<article class="kz-service-card reveal">
<span class="service-num">03</span>
<h2>Enterprise architecture</h2>
<p>Связь бизнес-возможностей, приложений, интеграций, команд и технологических платформ.</p>
</article>
<article class="kz-service-card reveal">
<span class="service-num">04</span>
<h2>Инфраструктура и надежность</h2>
<p>Оценка устойчивости, cost control, continuity planning и практичный план модернизации.</p>
</article>
<article class="kz-service-card reveal">
<span class="service-num">05</span>
<h2>Пилоты и внедрение</h2>
<p>Короткие advisory sprints, проверка гипотез, подготовка требований и контроль эффекта.</p>
</article>
</section>
<section class="method">
<div class="section-head reveal">
<p class="eyebrow">Обследование</p>
<h3>Что стоит проверить перед AI-внедрением.</h3>
</div>
<ol class="steps">
<li class="reveal">
<span>01</span>
<div>
<h4>Цели</h4>
<p>Какие решения, процессы или клиентские сценарии должны измениться.</p>
</div>
</li>
<li class="reveal">
<span>02</span>
<div>
<h4>Данные</h4>
<p>Где находятся источники, кто владелец качества и какие ограничения есть.</p>
</div>
</li>
<li class="reveal">
<span>03</span>
<div>
<h4>Риски</h4>
<p>Безопасность, регуляторика, человеческий контроль и устойчивость операций.</p>
</div>
</li>
<li class="reveal">
<span>04</span>
<div>
<h4>Эффект</h4>
<p>Метрики ценности, бюджет пилота и критерии перехода к промышленному масштабу.</p>
</div>
</li>
</ol>
</section>
<section class="cases" id="ai-cases">
<div class="section-head reveal">
<p class="eyebrow">Enterprise AI cases</p>
<h3>Предложения для корпоративного портфеля Казахстана.</h3>
</div>
<div class="case-grid ai-case-grid">
<article class="case-copy reveal">
<h4>AI-помощник для операционных регламентов</h4>
<p>Поиск по политикам, инструкциям и базе знаний с цитированием источников, разграничением доступа и журналом ответов.</p>
<ul>
<li>Снижает нагрузку на поддержку и внутренних экспертов</li>
<li>Подходит для банков, телеком, энергетики и холдингов</li>
<li>Требует governance по источникам и правам доступа</li>
</ul>
</article>
<article class="case-copy reveal">
<h4>Executive decision cockpit</h4>
<p>AI-слой над управленческой отчетностью: объяснение отклонений, сценарное сравнение и подготовка материалов к комитетам.</p>
<ul>
<li>Ускоряет подготовку управленческих решений</li>
<li>Связывает KPI, проекты, бюджеты и риски</li>
<li>Начинается с аудита качества данных и метрик</li>
</ul>
</article>
<article class="case-copy reveal">
<h4>AI для service desk и полевых команд</h4>
<p>Классификация обращений, подсказки инженерам, triage инцидентов и рекомендации по следующим действиям.</p>
<ul>
<li>Сокращает время первичной диагностики</li>
<li>Повышает повторяемость операционных процедур</li>
<li>Нужны интеграции с ITSM и контроль качества ответов</li>
</ul>
</article>
<article class="case-copy reveal">
<h4>Risk and compliance assistant</h4>
<p>Проверка документов, требований, контрольных процедур и evidence-пакетов для внутренних и внешних проверок.</p>
<ul>
<li>Полезен для регулируемых организаций</li>
<li>Сохраняет трассировку к исходным требованиям</li>
<li>Не заменяет юридическое решение без human review</li>
</ul>
</article>
</div>
</section>
<section class="cta-band" id="contacts">
<h3>Нужен AI-портфель без лишнего риска?</h3>
<p>
Начните с обследования: цели, данные, архитектура, риски, quick wins
и roadmap внедрения для Казахстана.
</p>
<a class="btn btn-solid" href="mailto:office@iqon.com"><span>office@iqon.com</span></a>
</section>
</main>
<footer>
<div class="footer-grid">
<section>
<h4>AI-кейсы</h4>
<ul>
<li>AI-помощник для регламентов</li>
<li>Executive decision cockpit</li>
<li>Service desk intelligence</li>
<li>Risk and compliance assistant</li>
</ul>
</section>
<section>
<h4>Услуги</h4>
<ul>
<li>AI governance</li>
<li>Enterprise architecture</li>
<li>Data and analytics</li>
<li>Infrastructure resilience</li>
</ul>
</section>
<section>
<h4>Контакты</h4>
<p>10th Montreal Sq. 3rd Floor 3.01 bis Office, 011469 Bucharest, Romania</p>
<p><a href="mailto:office@iqon.com">office@iqon.com</a></p>
</section>
</div>
<div class="footer-bottom">
<p><a href="/">English version</a> | Kazakhstan / Russian</p>
<p>2011-2026 Copyright IQON. All Rights Reserved.</p>
</div>
</footer>
<script src="../script.js"></script>
</body>
</html>
+223
View File
@@ -0,0 +1,223 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>IQON | Consultancy That Moves Business</title>
<meta
name="description"
content="IQON helps organizations align technology decisions with measurable business outcomes through strategy, architecture, and transformation consulting."
/>
<meta name="theme-color" content="#09090b" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Sora:wght@300;400;600;700;800&display=swap"
rel="stylesheet"
/>
<link rel="stylesheet" href="./styles.css" />
</head>
<body>
<a class="skip-link" href="#main">Skip to content</a>
<header class="topbar" id="topbar">
<a class="brand" href="#">
<svg class="brand-mark" viewBox="0 0 44 44" aria-hidden="true">
<circle cx="22" cy="22" r="21" fill="#09090b" stroke="#09090b" stroke-width="1"></circle>
<circle cx="22" cy="22" r="20" stroke="#FFD000" stroke-width="1.5" fill="none"></circle>
<ellipse cx="22" cy="22" rx="13" ry="12" fill="#FFD000"></ellipse>
<ellipse cx="22" cy="22" rx="13" ry="12" fill="url(#eyeGlow)"></ellipse>
<path
d="M22 10.5 C19.2 14 18.2 18 18.2 22 C18.2 26 19.2 30 22 33.5 C24.8 30 25.8 26 25.8 22 C25.8 18 24.8 14 22 10.5Z"
fill="#09090b"
></path>
<ellipse
cx="17"
cy="16.5"
rx="2.2"
ry="3.2"
fill="rgba(255,255,255,0.32)"
transform="rotate(-22 17 16.5)"
></ellipse>
<circle cx="26.5" cy="26" r="1" fill="rgba(255,255,255,0.12)"></circle>
<defs>
<radialGradient id="eyeGlow" cx="40%" cy="38%" r="65%">
<stop offset="0%" stop-color="#FFE84D" stop-opacity=".7"></stop>
<stop offset="50%" stop-color="#FFD000" stop-opacity="0"></stop>
<stop offset="100%" stop-color="#AA8000" stop-opacity=".15"></stop>
</radialGradient>
</defs>
</svg>
<span class="brand-name">iqon</span>
</a>
<nav class="main-nav" aria-label="Primary">
<a href="#approach">How's Business?</a>
<a href="#services">Services & Solutions</a>
<a href="#cases">Case Studies</a>
<a href="#contacts">Contacts</a>
</nav>
<a class="nav-cta" href="#contacts">Book Discovery Call</a>
</header>
<main id="main">
<section class="hero" id="approach">
<div class="hero-copy reveal">
<p class="eyebrow">Our Proprietary Consultive Approach</p>
<h1>Technology decisions with business consequences in view.</h1>
<p class="lead">
Ask. Understand. Challenge. Propose. We transform complex IT initiatives into
predictable outcomes for leadership teams.
</p>
<div class="hero-actions">
<a class="btn btn-solid" href="#contacts">
<span>Start a conversation</span>
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
</a>
<a class="btn btn-outline" href="#services">Explore services</a>
</div>
</div>
<div class="hero-cloud reveal">
<span>Systems</span>
<span>Technology</span>
<span>Engineering</span>
<span>Implementation</span>
<span>Outsourcing</span>
<strong>How's IT<br />Business?</strong>
</div>
</section>
<section class="service-strip" id="services">
<article class="service-tile reveal">
<span class="service-num">01</span>
<h2>Enterprise Management & Decision Support</h2>
<p>Executive visibility, governance rhythm, and strategic decision intelligence.</p>
</article>
<article class="service-tile reveal">
<span class="service-num">02</span>
<h2>Industry Specific Services</h2>
<p>Domain-led delivery models for regulated and high-complexity sectors.</p>
</article>
<article class="service-tile reveal">
<span class="service-num">03</span>
<h2>IS Advisory Services</h2>
<p>Architecture guidance that links platform choices to growth goals.</p>
</article>
<article class="service-tile reveal">
<span class="service-num">04</span>
<h2>IT Infrastructure Services</h2>
<p>Resilient, right-sized infrastructure with cost and risk under control.</p>
</article>
<article class="service-tile reveal">
<span class="service-num">05</span>
<h2>Mobility Consulting Services</h2>
<p>Modern digital experiences and field-ready operating models.</p>
</article>
</section>
<section class="method">
<div class="section-head reveal">
<p class="eyebrow">Method</p>
<h3>From uncertainty to delivery confidence.</h3>
</div>
<ol class="steps">
<li class="reveal">
<span>01</span>
<div>
<h4>Ask</h4>
<p>Frame business objectives, constraints, and expectations with leadership.</p>
</div>
</li>
<li class="reveal">
<span>02</span>
<div>
<h4>Understand</h4>
<p>Assess architecture, teams, process maturity, and delivery bottlenecks.</p>
</div>
</li>
<li class="reveal">
<span>03</span>
<div>
<h4>Challenge</h4>
<p>Test assumptions and de-risk roadmap choices before execution begins.</p>
</div>
</li>
<li class="reveal">
<span>04</span>
<div>
<h4>Propose</h4>
<p>Deliver an actionable transformation blueprint with measurable KPIs.</p>
</div>
</li>
</ol>
</section>
<section class="cases" id="cases">
<div class="section-head reveal">
<p class="eyebrow">Success Story</p>
<h3>Stabilized enterprise delivery and cut time-to-decision by 35%.</h3>
</div>
<div class="case-grid">
<div class="case-visual reveal">
<div class="chart-box" aria-hidden="true">
<span></span><span></span><span></span><span></span><span></span><span></span>
</div>
</div>
<article class="case-copy reveal">
<p>
A regional enterprise faced fragmented reporting and delayed investment decisions.
IQON redesigned governance, aligned architecture to business streams, and introduced
a portfolio-level decision framework.
</p>
<ul>
<li>35% faster strategic decision cycle</li>
<li>22% reduction in duplicated platform spend</li>
<li>Cross-team execution model adopted in 90 days</li>
</ul>
</article>
</div>
</section>
<section class="cta-band">
<h3>Need clarity on your next IT move?</h3>
<p>We can turn ambiguity into a practical roadmap in a two-week advisory sprint.</p>
<a class="btn btn-solid" href="#contacts">
<span>Talk to IQON</span>
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
</a>
</section>
</main>
<footer id="contacts">
<div class="footer-grid">
<section>
<h4>Latest Case Studies</h4>
<ul>
<li>Operating model redesign for a financial group</li>
<li>Infrastructure modernization for retail network</li>
<li>Advisory program for digital public services</li>
</ul>
</section>
<section>
<h4>Our Services</h4>
<ul>
<li>Mobility Consulting Services</li>
<li>IT Infrastructure Services</li>
<li>IS Advisory Services</li>
<li>Industry Specific Services</li>
</ul>
</section>
<section>
<h4>Contact</h4>
<p>10th Montreal Sq. 3rd Floor 3.01 bis Office, 011469 Bucharest, Romania</p>
<p><a href="https://t.me/infobidgebot" rel="noopener" target="_blank">@infobidgebot</a></p>
<p>office@iqon.com</p>
</section>
</div>
<div class="footer-bottom">
<p>Home | Services & Solutions | Case Studies | Contacts</p>
<p>2011-2026 Copyright IQON. All Rights Reserved.</p>
</div>
</footer>
<script src="./script.js"></script>
</body>
</html>
@@ -0,0 +1,58 @@
# IQON continuation risk closure
Purpose: record the next execution pass after legacy hardening: backup confirmation, live health, visual QA, and remaining gates.
Created: 2026-05-20
Updated: 2026-05-20
## Completed checks
1. Git worktree was clean before this continuation pass.
2. Local backup folder was checked for SQL/dump/archive files at max depth 3.
3. No local SQL/dump/archive file was found under `server-backup-20260518`.
4. Existing restore documentation says DB archive for `u0012812_iqon` was initiated on 2026-05-18, not confirmed downloaded.
5. FTP account root listing was checked read-only.
6. FTP webroot listing was checked read-only.
7. No DB dump/archive was visible in the accessible FTP listings.
8. `scripts/iqon-phase1-verify.sh https://iqon.com` passed.
9. `https://www.iqon.com/` still showed new redesign markers: `theme-color`, `topbar`, `hero-cloud`.
10. `https://iqon.com/contact/` showed legacy contact content with `office@iqon.com` and `@infobidgebot`.
11. Browser QA checked apex home, apex contact, and www home at 390px, 768px, and 1440px.
12. Browser QA found contact page horizontal overflow at 390px.
13. Contact template inline `width: 600px!important` was removed from the CAPTCHA row.
14. Browser QA after the fix showed contact 390px `scrollWidth=375`, `viewportWidth=390`, `horizontalOverflow=false`.
## Classification
| Item | Status | Evidence |
|---|---|---|
| DB/archive confirmation | IN_PROGRESS | No local or FTP-visible DB archive found; panel archive only documented as initiated |
| Apex hardening health | VERIFIED | Existing phase verification script passed |
| WWW redesign health | VERIFIED | Live markers still present on `www.iqon.com` |
| Contact page content | VERIFIED | Current email and Telegram found; obsolete phone patterns absent in matched output |
| Contact mobile overflow | VERIFIED | Browser QA after patch reports no horizontal overflow at 390px |
| Contact form delivery | PROPOSED | Not submitted; requires explicit approval because it sends external mail |
## Browser artifacts
Screenshots were created inside the Firecrawl browser session at:
1. `/private/tmp/iqon-visual-qa-20260520/apex-home-390.png`
2. `/private/tmp/iqon-visual-qa-20260520/apex-home-768.png`
3. `/private/tmp/iqon-visual-qa-20260520/apex-home-1440.png`
4. `/private/tmp/iqon-visual-qa-20260520/apex-contact-390.png`
5. `/private/tmp/iqon-visual-qa-20260520/apex-contact-390-after.png`
6. `/private/tmp/iqon-visual-qa-20260520/apex-contact-768.png`
7. `/private/tmp/iqon-visual-qa-20260520/apex-contact-1440.png`
8. `/private/tmp/iqon-visual-qa-20260520/www-home-390.png`
9. `/private/tmp/iqon-visual-qa-20260520/www-home-768.png`
10. `/private/tmp/iqon-visual-qa-20260520/www-home-1440.png`
Note: these paths belong to the browser execution environment, not the local git workspace.
## Remaining gates
1. Confirm/download DB archive from reg.ru panel or another trusted source.
2. Submit contact form smoke only after explicit approval.
3. Decide whether to keep WordPress apex long-term or freeze old design into static snapshot.
4. Implement sitemap/redirect cleanup only after target sitemap approval.
+54
View File
@@ -0,0 +1,54 @@
# IQON current plan status
Purpose: record the current state of the IQON remediation plan after backup, hardening, redirects, contact smoke, and retention decisions.
Created: 2026-05-20
Updated: 2026-05-25
## Current decisions
1. Apex `iqon.com` remains on the old hardened WordPress design.
2. `www.iqon.com` remains on the new static redesign.
3. Public site policy is English-only.
4. Remote plaintext DB archive remains on the hosting account as a rollback layer.
5. Encrypted local DB archive remains the durable secure backup layer.
6. WordPress static snapshot is deferred.
## Completed plan items
| Item | Status | Evidence |
|---|---|---|
| Old WordPress hardening | Done | Phase verification script passed repeatedly |
| Mobile contact overflow | Done | Browser QA after patch showed no 390px overflow |
| SEO cleanup | Done | `og:site_name=IQON`, HTTPS URL rewrite, English redirects |
| Contacts cleanup | Done | Contact page uses `office@iqon.com` and `@infobidgebot` |
| Contact form smoke | Done | Form returned `sent=ok` success script |
| `www` redesign QA | Done | `scripts/iqon-phase1-verify.sh https://www.iqon.com` passed after skip-link fix |
| Legacy case studies routing | Done | Apex `/case-studies/` now rewrites to `/legacy-case-studies/` |
| English-only redirects | Done | Sampled 301 rules passed |
| DB archive creation | Done | Remote and local `gzip -t` passed |
| Encrypted local backup | Done | Decrypt-to-`gzip -t` passed; key stored in Vaultwarden |
| Remote backup retention | Decided | Remote archive remains by owner decision |
## Current backup layers
| Layer | Location | Purpose |
|---|---|---|
| Remote rollback archive | `/var/www/u0012812/data/backups/iqon-u0012812_iqon-20260520-231601.sql.gz` | Fast hosting-side rollback source |
| Encrypted durable archive | `/Users/svmac/.codex/memories/secure-artifacts/iqon/iqon-u0012812_iqon-20260520-231601.sql.gz.enc` | Local encrypted backup copy |
| Vaultwarden key | `IQON DB archive encryption key - 20260520-231601` | Decryption passphrase |
## Remaining optional work
1. Decide whether to retire WordPress later by taking a static snapshot of the old design.
2. Periodically re-run live health checks after DNS/hosting changes.
3. Review old WordPress plugins/admin surface if deeper security hardening is desired.
## Baseline health commands
```bash
scripts/iqon-phase1-verify.sh https://iqon.com
curl -k -sS -L https://www.iqon.com/ | rg -n "theme-color|hero-cloud|topbar"
curl -k -sS -I 'https://iqon.com/homepage/' | rg -n '^HTTP/|^location:'
curl -k -sS -I 'https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/' | rg -n '^HTTP/|^location:'
```
+60
View File
@@ -0,0 +1,60 @@
# IQON DB archive created
Purpose: record the verified database archive created after direct SSH/MySQL access was provided.
Created: 2026-05-20
Updated: 2026-05-20
## Status
`VERIFIED`: DB archive exists remotely and locally, and gzip integrity passed.
## Vault storage
The provided access credentials were stored in Vaultwarden under these item names:
1. `REG.RU hosting panel SSH SFTP - iqon.com server71`
2. `REG.RU FTP - iqon.com server71`
3. `REG.RU MySQL - iqon.com u0012812_default`
No credential values are stored in this report.
## Database actually archived
The live WordPress configuration uses:
| Field | Value |
|---|---|
| DB name | `u0012812_iqon` |
| DB user | `u0012812_iqon` |
| DB host | `localhost` |
Note: this differs from the separately provided MySQL credential whose database name was `u0012812_default`. The live site archive was created from the WordPress DB in `wp-config.php`.
## Archive paths
| Location | Path |
|---|---|
| Remote server | `/var/www/u0012812/data/backups/iqon-u0012812_iqon-20260520-231601.sql.gz` |
| Local temporary copy | `/private/tmp/iqon-u0012812_iqon-20260520-231601.sql.gz` |
## Verification evidence
1. Remote `mysqldump --no-tablespaces` completed successfully.
2. Remote `gzip -t` completed successfully.
3. Remote archive size was approximately `469K`.
4. Local `scp` completed successfully.
5. Local `gzip -t` completed successfully.
6. Local archive size was approximately `468K`.
7. SQL header matched `MySQL dump 10.13`.
8. SQL header matched `Database: u0012812_iqon`.
## Failed attempts retained for context
1. The provided `u0012812_default` MySQL credential did not authenticate for the target dump path used first.
2. A direct dump with default options failed because shared hosting lacked `PROCESS` privilege and the client attempted unsupported column statistics.
3. The successful command used `--no-tablespaces` and the actual WordPress DB credentials from `wp-config.php`.
## Remaining operational note
The archive is stored in `/private/tmp` locally, which is temporary storage. If long-term retention is required, move the archive to an encrypted backup location outside the git repository.
@@ -0,0 +1,49 @@
# IQON DB archive encrypted storage
Purpose: record durable encrypted storage of the verified IQON database archive without storing raw credentials or SQL dumps in git.
Created: 2026-05-20
Updated: 2026-05-20
## Status
`VERIFIED`: the database archive was encrypted, decryption was tested through `gzip -t`, the encryption key was stored in Vaultwarden, and plaintext temporary files were removed.
## Encrypted artifact
| Field | Value |
|---|---|
| Path | `/Users/svmac/.codex/memories/secure-artifacts/iqon/iqon-u0012812_iqon-20260520-231601.sql.gz.enc` |
| Mode | `600` |
| Size | approximately `468K` |
| Algorithm | `openssl enc -aes-256-cbc -salt -pbkdf2 -iter 200000` |
| Source DB | `u0012812_iqon` |
## Vaultwarden key item
| Field | Value |
|---|---|
| Item name | `IQON DB archive encryption key - 20260520-231601` |
| Folder | `Client Infrastructure` |
| Stored secret | encryption passphrase |
## Checksums
| Artifact | SHA-256 |
|---|---|
| Source gzip before plaintext cleanup | `65625e331661df6fc1cff220f10e634b0afd8967aba2387764c0e9ea0698be56` |
| Encrypted artifact | `8f1244a5f9b4e9fb2c5d0491c6f92affbf12125437a67560af6ab774efd61083` |
## Verification
1. Source gzip passed `gzip -t` before encryption.
2. Encrypted artifact was created with PBKDF2 and AES-256-CBC.
3. Decryption was piped directly to `gzip -t` without writing plaintext SQL.
4. Vaultwarden key item was created successfully.
5. Temporary plaintext passphrase file was removed.
6. Temporary plaintext DB dump in `/private/tmp` was removed.
7. Encrypted artifact remains present at the durable local path.
## Safety
No database dump or password is stored in the git repository. This report contains only paths, metadata, and checksums.
@@ -0,0 +1,35 @@
# IQON DB archive panel confirmation attempt
Purpose: record the Chrome/REG.RU panel attempt to close the `DB archive still needs panel confirmation` gate.
Created: 2026-05-20
Updated: 2026-05-20
## Result
Status: `BLOCKED`, not confirmed.
## Evidence observed
1. Chrome was opened to the existing ISPmanager panel at `server71.hosting.reg.ru:1500`.
2. ISPmanager `Databases` page opened successfully via direct route.
3. Database `u0012812_iqon` is visible in the database list.
4. ISPmanager route `func=backup2` opened a blank page; no backup/archive list was visible.
5. ISPmanager route `form?func=backup2` also showed no backup/archive data.
6. REG.RU personal account page opened, but the active account shown in Chrome was `dsu-project`.
7. REG.RU `Все услуги` page showed `У вас пока нет доменов и услуг`, so this account cannot confirm IQON hosting backups.
8. GUI click automation was unavailable because macOS denied Assistive Access for `System Events`.
9. Chrome DOM automation was unavailable because `Allow JavaScript from Apple Events` is disabled.
10. Direct ISPmanager API with the FTP credential was rejected as `Invalid username or password`, so browser session cookies could not be reused safely from CLI.
## Conclusion
The database itself is confirmed present in ISPmanager, but the backup archive is still not confirmed. Closing this gate requires one of the following:
1. Switch Chrome/REG.RU to the account that owns the IQON hosting service, then open `Бэкапы` for the hosting service.
2. Provide the downloaded DB archive path for verification.
3. Temporarily allow GUI automation or Chrome JavaScript from Apple Events so the panel can be navigated programmatically.
## Safety
No destructive action was performed. No DB restore or deletion was attempted. No credential values are stored in this report.
+191
View File
@@ -0,0 +1,191 @@
# 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 `Hows 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 `Hows 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*
@@ -0,0 +1,81 @@
# IQON gates 1-3 execution: contact smoke, DB archive check, English redirects
Purpose: record approved execution of gates 1, 2, and 3 while keeping the old WordPress apex site.
Created: 2026-05-20
Updated: 2026-05-20
## User decisions
1. Run `contact form smoke`.
2. Continue `DB archive confirmation`.
3. Implement sitemap redirects as English-only.
4. Keep WordPress for now.
## Gate 1: contact form smoke
Status: `VERIFIED` at application-response level.
Submitted approved smoke POST to `https://iqon.com/contact/` with a clearly marked test subject and message.
Observed signal:
```text
<script>top.location = "https://iqon.com/contact/?sent=ok";</script>
```
Caveat: this verifies the WordPress/PHP form path accepted the submission and attempted the success flow. It does not independently prove inbox delivery unless the recipient confirms the email arrived.
## Gate 2: DB archive confirmation
Status: `IN_PROGRESS`, not confirmed.
Evidence checked:
1. Local `server-backup-20260518` was previously checked for SQL/dump/archive files; none found.
2. FTP account root was listed read-only; no DB archive visible.
3. FTP webroot was listed read-only; no DB archive visible.
4. FTP `bin-tmp` was listed partially; visible entries were PHP session files, not DB archive files.
5. Existing restore documentation only says the `u0012812_iqon` archive was initiated on 2026-05-18.
Required to close:
1. Confirm/download archive from reg.ru panel.
2. Or provide a trusted SQL/dump/archive file path for verification.
## Gate 3: English-only redirects
Status: `VERIFIED` for sampled live rules.
Implemented 32 redirect rules from `seo/redirect-map-2026-05-20.csv` into `.htaccess` under marker:
```apache
# IQON English-only legacy redirects, 2026-05-20
```
Policy:
1. Russian/encoded URLs redirect to English legacy equivalents.
2. Obvious aliases redirect to canonical root or English page.
3. Typo `retail-wholesail` redirects to corrected `retail-wholesale`.
4. `www.iqon.com` root new-design split remains unchanged.
Verified samples:
| Source | Observed result |
|---|---|
| `https://iqon.com/homepage/` | `HTTP/2 301`, `location: https://iqon.com/` |
| `https://iqon.com/hows-business/` | `HTTP/2 301`, `location: https://iqon.com/` |
| `https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/` | `HTTP/2 301`, `location: https://iqon.com/services-solutions/` |
| `https://iqon.com/services-solutions/industry-specific-services/retail-wholesail/` | `HTTP/2 301`, `location: https://iqon.com/services-solutions/industry-specific-services/retail-wholesale/` |
## Post-change health
1. `scripts/iqon-phase1-verify.sh https://iqon.com` passed.
2. `https://www.iqon.com/` still shows new redesign markers: `theme-color`, `topbar`, `hero-cloud`.
## Remaining items
1. DB archive confirmation remains unresolved.
2. Inbox delivery confirmation remains external to this automation.
3. WordPress remains the apex production platform by user decision.
@@ -0,0 +1,53 @@
# IQON legacy selected steps live patch
Purpose: record the live implementation of selected old-design steps 2, 3, 4, 6, and 8 for `iqon.com`.
Created: 2026-05-20
Updated: 2026-05-20
## Scope
Selected items implemented:
1. Hardening old WordPress.
2. Mobile fix.
3. SEO cleanup.
4. Contacts cleanup.
5. Verification.
Out of scope:
1. Replacing the old apex design.
2. Deleting WordPress files.
3. Moving the new `www.iqon.com` redesign.
## Live files uploaded
| Local artifact | Remote target |
|---|---|
| `deploy/legacy-wordpress-2026-05-20/.htaccess` | `www/iqon.com/.htaccess` |
| `deploy/legacy-wordpress-2026-05-20/theme/functions.php` | `www/iqon.com/wp-content/themes/iqon/functions.php` |
| `deploy/legacy-wordpress-2026-05-20/theme/header.php` | `www/iqon.com/wp-content/themes/iqon/header.php` |
| `deploy/legacy-wordpress-2026-05-20/theme/footer.php` | `www/iqon.com/wp-content/themes/iqon/footer.php` |
| `deploy/legacy-wordpress-2026-05-20/theme/contactkz.php` | `www/iqon.com/wp-content/themes/iqon/contactkz.php` |
| `deploy/legacy-wordpress-2026-05-20/theme/css/style.css` | `www/iqon.com/wp-content/themes/iqon/css/style.css` |
## Verification
`COMPLETED` with live checks on 2026-05-20.
Evidence:
1. `scripts/iqon-phase1-verify.sh https://iqon.com` returned `[OK] iqon Phase 1 verification passed for https://iqon.com`.
2. Apex homepage contains old WordPress markers and hardening markers: `viewport`, `skip-link`, `wp-content/themes/iqon`, `og:site_name=IQON`.
3. Apex homepage JSON-LD no longer exposes `http://www.iqon.com` image URLs.
4. `https://iqon.com/contact/` resolves to old WordPress contact page, not static redesign contact.
5. Contact page contains `office@iqon.com` and `@infobidgebot`.
6. Contact page check did not match obsolete `office@iqon.kz`, old phone, old fax, Moscow, or Almaty phone patterns.
7. `https://www.iqon.com/` still contains new redesign markers: `theme-color #09090b`, `topbar`, `hero-cloud`.
## Residual risks
1. Local PHP CLI was unavailable, so PHP syntax verification could not run locally.
2. Contact form delivery was not submitted, so mail transport remains unverified.
3. The old WordPress database archive status remains unresolved.
@@ -0,0 +1,280 @@
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="//iqon.com/wp-content/plugins/wordpress-seo/css/main-sitemap.xsl"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd http://www.google.com/schemas/sitemap-image/1.1 http://www.google.com/schemas/sitemap-image/1.1/sitemap-image.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://iqon.com/</loc>
<lastmod>2013-07-25T11:19:25+00:00</lastmod>
<image:image>
<image:loc>http://www.iqon.com/wp-content/uploads/2012/05/imagine-text-home.png</image:loc>
</image:image>
</url>
<url>
<loc>https://iqon.com/services-solutions/</loc>
<lastmod>2012-05-03T06:22:32+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/industry-specific-services/</loc>
<lastmod>2012-05-03T06:28:50+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/industry-specific-services/</loc>
<lastmod>2012-05-03T06:28:50+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/enterprise-management-decision-support-solutions/</loc>
<lastmod>2012-05-04T12:52:30+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/enterprise-management-decision-support-solutions/enterprise-information-management/</loc>
<lastmod>2012-05-04T12:55:19+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/enterprise-management-decision-support-solutions/managed-services/</loc>
<lastmod>2012-05-09T03:24:58+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/enterprise-management-decision-support-solutions/customer-intelligence-solutions/</loc>
<lastmod>2012-05-09T03:26:00+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/enterprise-management-decision-support-solutions/enterprise-management-systems/</loc>
<lastmod>2012-05-09T03:27:08+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/enterprise-management-decision-support-solutions/enterprise-orchestration/</loc>
<lastmod>2012-05-09T03:29:16+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/industry-specific-services/energy-utilities/</loc>
<lastmod>2012-05-09T03:31:13+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/industry-specific-services/telecommunication/</loc>
<lastmod>2012-05-09T03:35:56+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/industry-specific-services/retail-wholesail/</loc>
<lastmod>2012-05-09T03:37:41+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/industry-specific-services/logistics-transport/</loc>
<lastmod>2012-05-09T03:38:41+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/industry-specific-services/manufacturing-process/</loc>
<lastmod>2012-05-09T03:39:12+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/industry-specific-services/</loc>
<lastmod>2012-05-09T03:39:35+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/is-advisory-services/it-strategy-governance/</loc>
<lastmod>2012-05-09T03:40:55+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/is-advisory-services/</loc>
<lastmod>2012-05-09T03:41:26+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/is-advisory-services/is-regulatory-and-compliance-services/</loc>
<lastmod>2012-05-09T03:42:07+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/is-advisory-services/business-continuity-and-disaster-recovery-planning-services/</loc>
<lastmod>2012-05-09T03:42:40+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/is-advisory-services/information-security-services/</loc>
<lastmod>2012-05-09T03:53:47+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/is-advisory-services/business-technology-enterprise-architecture/</loc>
<lastmod>2012-05-09T03:54:30+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/it-infrastructure-services/end-user-computing-technology-solutions/</loc>
<lastmod>2012-05-09T03:57:14+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/it-infrastructure-services/infrastructure-management-consulting/</loc>
<lastmod>2012-05-09T03:57:44+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/it-infrastructure-services/</loc>
<lastmod>2012-05-09T03:59:50+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/mobility-consulting-services/</loc>
<lastmod>2012-05-09T04:12:35+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/it-infrastructure-services/it-infrastructure-transformation-services/</loc>
<lastmod>2012-05-11T00:49:48+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/mobility-consulting-services/mobility-software-services-applications/</loc>
<lastmod>2012-05-11T00:57:13+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/mobility-consulting-services/mobility-managed-services/</loc>
<lastmod>2012-05-11T00:57:17+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/mobility-consulting-services/mobility-business-integration-services/</loc>
<lastmod>2012-05-11T00:57:25+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/services-solutions/mobility-consulting-services/mobility-software-services-devices-and-platforms/</loc>
<lastmod>2012-05-11T00:57:51+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/</loc>
<lastmod>2013-05-17T11:20:07+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/hows-business/</loc>
<lastmod>2013-05-20T16:11:40+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d0%ba%d0%b0%d0%ba-%d0%b8%d0%b4%d0%b5%d1%82-%d0%b1%d0%b8%d0%b7%d0%bd%d0%b5%d1%81/</loc>
<lastmod>2013-05-20T16:21:27+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/enterprise-orchestration/</loc>
<lastmod>2013-05-20T18:45:44+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/enterprise-management-systems/</loc>
<lastmod>2013-05-20T18:54:03+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/customer-intelligence-solutions/</loc>
<lastmod>2013-05-20T19:07:13+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/enterprise-information-management/</loc>
<lastmod>2013-05-20T19:47:23+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it-infrastructure-services/</loc>
<lastmod>2013-05-20T19:52:40+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it-infrastructure-services/infrastructure-management-consulting/</loc>
<lastmod>2013-05-20T20:04:11+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it-infrastructure-services/it-infrastructure-transformation-services/</loc>
<lastmod>2013-05-20T20:25:10+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it-infrastructure-services/end-user-computing-technology-solutions/</loc>
<lastmod>2013-05-20T20:50:52+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/</loc>
<lastmod>2013-05-20T20:55:24+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/managed-services/</loc>
<lastmod>2013-05-20T20:56:19+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/logistics-transport/</loc>
<lastmod>2013-05-20T21:07:43+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/retail-wholesail/</loc>
<lastmod>2013-05-20T21:30:38+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/telecommunication/</loc>
<lastmod>2013-05-20T21:45:21+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/energy-utilities/</loc>
<lastmod>2013-05-20T21:54:37+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/manufacturing-process/</loc>
<lastmod>2013-05-20T21:58:59+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/</loc>
<lastmod>2013-05-20T22:02:54+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/mobility-software-services-applications/</loc>
<lastmod>2013-05-20T22:06:33+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/mobility-managed-services/</loc>
<lastmod>2013-05-20T22:13:33+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/mobility-software-services-devices-and-platforms/</loc>
<lastmod>2013-05-20T22:19:24+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/mobility-business-integration-services/</loc>
<lastmod>2013-05-20T22:22:30+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/</loc>
<lastmod>2013-05-20T22:27:40+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/business-continuity-and-disaster-recovery-planning-services/</loc>
<lastmod>2013-05-20T22:30:45+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/business-technology-enterprise-architecture/</loc>
<lastmod>2013-05-20T22:35:11+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/it-strategy-governance/</loc>
<lastmod>2013-05-20T22:46:17+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/information-security-services/</loc>
<lastmod>2013-05-20T22:55:16+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/is-regulatory-and-compliance-services/</loc>
<lastmod>2013-05-20T22:59:29+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/contact/</loc>
<lastmod>2013-07-18T14:12:20+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/contact/</loc>
<lastmod>2013-07-23T12:24:21+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/</loc>
<lastmod>2013-07-23T12:27:35+00:00</lastmod>
</url>
<url>
<loc>https://iqon.com/homepage/</loc>
<lastmod>2013-07-25T11:19:25+00:00</lastmod>
<image:image>
<image:loc>http://www.iqon.com/wp-content/uploads/2012/05/imagine-text-home.png</image:loc>
</image:image>
</url>
<url>
<loc>https://iqon.com/homepage/</loc>
<lastmod>2013-07-25T11:19:25+00:00</lastmod>
<image:image>
<image:loc>http://www.iqon.com/wp-content/uploads/2012/05/imagine-text-home.png</image:loc>
</image:image>
</url>
<url>
<loc>https://iqon.com/homepage/</loc>
<lastmod>2013-07-25T11:20:03+00:00</lastmod>
<image:image>
<image:loc>http://www.iqon.com/wp-content/uploads/2012/05/imagine-text-home.png</image:loc>
</image:image>
</url>
</urlset>
<!-- XML Sitemap generated by Yoast SEO -->
+60
View File
@@ -0,0 +1,60 @@
# IQON next gates and rollback runbook
Purpose: document the remaining IQON operational gates after restoring the old apex design and hardening it.
Created: 2026-05-20
Updated: 2026-05-20
## Current production split
| Host | Intended live design | Current role |
|---|---|---|
| `https://iqon.com/` | Old WordPress IQON design | Primary apex site |
| `https://www.iqon.com/` | New static dark redesign | Separate www variant |
## Rollback sources
| Source | Path | Use |
|---|---|---|
| Pre-static remote snapshot | `/private/tmp/iqon-remote-prestatic-20260520-ftp/` | Restore files that existed before static upload |
| Current deployed legacy patch copy | `deploy/legacy-wordpress-2026-05-20/` | Re-upload current known-good patched theme files |
| Legacy restore docs | `server-backup-20260518/RESTORE.md` | Recovery instructions and non-secret server paths |
| Static www artifact | `index-www-new-redesign.html` on remote webroot | Keep `www.iqon.com` new design route active |
## Health checks to run before and after any future change
```bash
scripts/iqon-phase1-verify.sh https://iqon.com
curl -k -sS -L https://www.iqon.com/ | rg -n "theme-color|hero-cloud|topbar"
curl -k -sS -L https://iqon.com/contact/ | rg -n "Bucharest Office|office@iqon.com|infobidgebot"
```
Expected signal:
1. Apex hardening script prints `[OK] iqon Phase 1 verification passed for https://iqon.com`.
2. `www.iqon.com` contains `theme-color`, `topbar`, and `hero-cloud`.
3. Apex contact page contains `Bucharest Office`, `office@iqon.com`, and `@infobidgebot`.
## Remaining approval gates
| Gate | Status | Required approval or evidence |
|---|---|---|
| DB archive confirmation | Blocked | Confirm/download `u0012812_iqon` archive from reg.ru panel or another trusted source |
| Contact form smoke | Approval required | Explicit approval to submit a live form that sends email |
| Sitemap redirects | Approval required | Confirm target sitemap and whether stale multilingual URLs should redirect or remain archived |
| WordPress retirement | Decision required | Choose long-term mode: keep hardened WP apex or freeze old design into static snapshot |
## Recommended next execution order
1. Confirm DB archive in reg.ru panel and download it if available.
2. Run contact form smoke with a clearly marked test message after approval.
3. Decide long-term apex platform: hardened WordPress or static snapshot of old design.
4. Approve sitemap redirect policy for stale RU/KZ/encoded URLs.
5. Implement redirect policy only after backup gate is closed.
## Explicit non-actions
1. Do not delete WordPress files.
2. Do not overwrite `www.iqon.com` routing.
3. Do not submit contact form silently.
4. Do not publish broad redirects without target sitemap approval.
+54
View File
@@ -0,0 +1,54 @@
# IQON Phase 1 Baseline
Purpose: зафиксировать состояние live `iqon.com` перед применением локального Phase 1 hardening-пакета.
## Contents
- [Command](#command)
- [Result](#result)
- [Failing Checks](#failing-checks)
- [Passing Checks](#passing-checks)
- [Interpretation](#interpretation)
## Command
```bash
scripts/iqon-phase1-verify.sh https://iqon.com
```
Run date: 20 May 2026.
## Result
Overall status: failed, as expected before snippet and hosting rules are activated.
## Failing Checks
| Check | Observed Signal |
|-------|-----------------|
| `X-Content-Type-Options` | Missing |
| `X-Frame-Options` | Missing |
| `Referrer-Policy` | Missing |
| `Permissions-Policy` | Missing |
| `Content-Security-Policy` | Missing |
| Viewport meta | Missing |
| Skip link | Missing |
| Known HTTP URLs | Still present |
| `og:site_name` | Still has `- IQON` |
| REST users endpoint | Public users still exposed |
| `readme.html` | Returns `200` |
## Passing Checks
| Check | Observed Signal |
|-------|-----------------|
| XML-RPC HEAD smoke | Empty reply via HEAD, status `000` |
## Interpretation
The baseline confirms that the Phase 1 package targets real current live findings. After activation, the same script should move from failed to passed, except any item that is intentionally handled outside WordPress, such as physical install-document files.
---
*Created: 20 May 2026*
*Updated: 20 May 2026*
@@ -0,0 +1,43 @@
# IQON production-ready state after DB archive gate
Purpose: record final live state after legacy hardening, English-only redirects, contact smoke, and verified DB archive creation.
Created: 2026-05-20
Updated: 2026-05-20
## Status
`COMPLETED` for the current IQON remediation cycle.
## Verified production state
| Area | Status | Evidence |
|---|---|---|
| Apex old design | VERIFIED | `scripts/iqon-phase1-verify.sh https://iqon.com` passed |
| WWW new design | VERIFIED | `https://www.iqon.com/` contains `theme-color`, `topbar`, `hero-cloud` |
| English-only redirects | VERIFIED | Encoded RU services URL returns `301` to `/services-solutions/` |
| Contact form path | VERIFIED | `?sent=ok` page displays `[Your message has been sent.]` |
| Contact data | VERIFIED | Contact page contains `office@iqon.com` and `@infobidgebot` |
| DB archive | VERIFIED | Local archive passes `gzip -t`; SQL header already confirmed `Database: u0012812_iqon` |
## Current backup artifact
| Location | Path |
|---|---|
| Remote server | `/var/www/u0012812/data/backups/iqon-u0012812_iqon-20260520-231601.sql.gz` |
| Local temporary copy | `/private/tmp/iqon-u0012812_iqon-20260520-231601.sql.gz` |
Local archive size: approximately `468K`.
## Deferred cleanup
Two failed remote dump attempts may have left tiny invalid gzip files on the server:
1. `iqon-u0012812_default-20260520-231601.sql.gz`
2. Earlier failed `iqon-u0012812_iqon-20260520-231601.sql.gz` was overwritten by the valid archive path.
Cleanup was not performed in this pass because SSH re-check returned `Permission denied`, and deleting files is destructive. If cleanup is required, first restore SSH access, then remove only the confirmed invalid tiny file after listing exact size/path.
## Next recommended operational step
Move the local `/private/tmp` archive to a durable encrypted backup location outside git, or download/store it through the chosen backup vault process. Do not commit DB dumps to the repository.
@@ -0,0 +1,51 @@
# IQON remote backup retention check
Purpose: record the read-only remote backup directory check after creating the encrypted local DB archive.
Created: 2026-05-20
Updated: 2026-05-20
## Status
`VERIFIED`: live site health still passes and the remote backup directory contains one IQON DB archive.
## Live health
1. `scripts/iqon-phase1-verify.sh https://iqon.com` passed.
2. `https://www.iqon.com/` still contains new-design markers: `theme-color`, `topbar`, `hero-cloud`.
3. Git worktree was clean before this report was created.
## Remote backup directory
Read-only listing showed one file:
```text
/var/www/u0012812/data/backups/iqon-u0012812_iqon-20260520-231601.sql.gz
```
Observed size: approximately `469K`.
## Interpretation
1. Failed tiny dump attempts are no longer present in the matched `iqon-*.sql.gz` listing.
2. A valid plaintext DB archive remains on the remote shared hosting account.
3. A durable encrypted local artifact already exists at `/Users/svmac/.codex/memories/secure-artifacts/iqon/iqon-u0012812_iqon-20260520-231601.sql.gz.enc`.
4. The encryption key is stored in Vaultwarden item `IQON DB archive encryption key - 20260520-231601`.
## Decision needed
Deleting the remote plaintext DB archive is destructive. Do it only after explicit approval.
Recommended if minimizing secret exposure on shared hosting:
```bash
rm /var/www/u0012812/data/backups/iqon-u0012812_iqon-20260520-231601.sql.gz
```
Expected post-delete verification:
```bash
ls -lh ~/backups/iqon-*.sql.gz 2>/dev/null || true
```
Expected signal: no plaintext IQON DB archive remains on the remote host.
Binary file not shown.

After

Width:  |  Height:  |  Size: 734 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 693 KiB

@@ -0,0 +1,90 @@
[
{
"name": "www-desktop",
"url": "https://www.iqon.com/",
"status": 200,
"title": "IQON | Consultancy That Moves Business",
"markers": {
"hasOldLogo": true,
"hasNewSvgBrand": false,
"hasFavicon": [
"/favicon.ico",
"/favicon.png",
"/favicon-32x32.png"
],
"bodyWidth": 1440,
"viewportWidth": 1440,
"overflowX": false,
"topbarText": "HOW'S BUSINESS?\nSERVICES & SOLUTIONS\nCASE STUDIES\nKZ/RU\nCONTACTS\nBOOK DISCOVERY CALL"
},
"errors": [],
"failed": [],
"screenshot": "/Users/svmac/development/iqon/reports/screenshots/2026-06-17/www-desktop.png"
},
{
"name": "www-mobile",
"url": "https://www.iqon.com/",
"status": 200,
"title": "IQON | Consultancy That Moves Business",
"markers": {
"hasOldLogo": true,
"hasNewSvgBrand": false,
"hasFavicon": [
"/favicon.ico",
"/favicon.png",
"/favicon-32x32.png"
],
"bodyWidth": 390,
"viewportWidth": 390,
"overflowX": false,
"topbarText": "HOW'S BUSINESS?\nSERVICES & SOLUTIONS\nCASE STUDIES\nKZ/RU\nCONTACTS"
},
"errors": [],
"failed": [],
"screenshot": "/Users/svmac/development/iqon/reports/screenshots/2026-06-17/www-mobile.png"
},
{
"name": "kz-mobile",
"url": "https://www.iqon.com/kz/",
"status": 200,
"title": "IQON Kazakhstan | AI и цифровая трансформация",
"markers": {
"hasOldLogo": true,
"hasNewSvgBrand": false,
"hasFavicon": [
"/favicon.ico",
"/favicon.png",
"/favicon-32x32.png"
],
"bodyWidth": 390,
"viewportWidth": 390,
"overflowX": false,
"topbarText": "КАЗАХСТАН\nУСЛУГИ\nAI-КЕЙСЫ\nEN"
},
"errors": [],
"failed": [],
"screenshot": "/Users/svmac/development/iqon/reports/screenshots/2026-06-17/kz-mobile.png"
},
{
"name": "kz-desktop",
"url": "https://www.iqon.com/kz/",
"status": 200,
"title": "IQON Kazakhstan | AI и цифровая трансформация",
"markers": {
"hasOldLogo": true,
"hasNewSvgBrand": false,
"hasFavicon": [
"/favicon.ico",
"/favicon.png",
"/favicon-32x32.png"
],
"bodyWidth": 1440,
"viewportWidth": 1440,
"overflowX": false,
"topbarText": "КАЗАХСТАН\nУСЛУГИ\nAI-КЕЙСЫ\nКОНТАКТЫ\nEN\nОБСУДИТЬ ЗАДАЧУ"
},
"errors": [],
"failed": [],
"screenshot": "/Users/svmac/development/iqon/reports/screenshots/2026-06-17/kz-desktop.png"
}
]
Binary file not shown.

After

Width:  |  Height:  |  Size: 797 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 KiB

@@ -0,0 +1,57 @@
# IQON Static Prototype Smoke
Purpose: зафиксировать локальную проверку multi-page static prototype после приведения к target sitemap.
## Contents
- [Command](#command)
- [Result](#result)
- [Checked URLs](#checked-urls)
- [Notes](#notes)
## Command
```bash
python3 -m http.server 8061
```
```bash
for p in / /services/ /services/strategy-governance/ /services/enterprise-architecture/ /services/data-analytics/ /services/infrastructure-cloud/ /services/security-continuity/ /industries/ /case-studies/ /contact/ /sitemap.xml /robots.txt; do
printf '%s ' "$p"
curl -sS -o /dev/null -w '%{http_code}\n' "http://localhost:8061$p"
done
```
Run date: 20 May 2026.
## Result
Overall status: passed.
## Checked URLs
| URL | Status |
|-----|--------|
| `/` | 200 |
| `/services/` | 200 |
| `/services/strategy-governance/` | 200 |
| `/services/enterprise-architecture/` | 200 |
| `/services/data-analytics/` | 200 |
| `/services/infrastructure-cloud/` | 200 |
| `/services/security-continuity/` | 200 |
| `/industries/` | 200 |
| `/case-studies/` | 200 |
| `/contact/` | 200 |
| `/sitemap.xml` | 200 |
| `/robots.txt` | 200 |
## Notes
- `sitemap.xml` parses successfully with `xml.etree.ElementTree`.
- Local sandbox blocked direct localhost requests until the read-only smoke command was approved outside the sandbox.
- Initial browser visual QA passed for homepage and services; full target-page QA remains the final pre-deploy check.
---
*Created: 20 May 2026*
*Updated: 20 May 2026*
+72
View File
@@ -0,0 +1,72 @@
# IQON Visual QA
Purpose: зафиксировать browser-level visual QA локального static prototype после mobile layout fixes.
## Contents
- [Setup](#setup)
- [Screenshots](#screenshots)
- [Findings](#findings)
- [Fixes Applied](#fixes-applied)
- [Verification](#verification)
## Setup
Local server:
```bash
python3 -m http.server 8061
```
Browser tool:
```bash
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --headless=new --disable-gpu --hide-scrollbars
```
## Screenshots
| File | Viewport | Status |
|------|----------|--------|
| `reports/screenshots/2026-05-20/home-desktop-fixed.png` | 1440 x 1200 | Captured |
| `reports/screenshots/2026-05-20/home-mobile-qa6.png` | 390 x 900 | Passed after fixes |
| `reports/screenshots/2026-05-20/services-mobile-qa6.png` | 390 x 1200 | Passed after fixes |
| `reports/screenshots/2026-05-20/qa7-full/` | 10 pages x desktop/mobile | Captured |
| `reports/screenshots/2026-05-20/qa7-full/contact-mobile-fixed.png` | 390 x 1000 | Passed after CTA wrap fix |
## Findings
| Finding | Status |
|---------|--------|
| Mobile nav overflowed horizontally at 390px | Fixed |
| Mobile hero paragraph clipped at right edge | Fixed |
| Mobile services card paragraphs clipped at right edge | Fixed |
| Desktop homepage screenshot rendered | Captured |
| Mobile contact CTA heading clipped at right edge | Fixed |
## Fixes Applied
- Converted mobile nav into compact wrapped links.
- Shortened `Case Studies` nav label to `Cases`.
- Added mobile text measure for hero, page, card, and detail copy.
- Added CSS/JS cache-busting query on prototype pages.
- Kept target URLs as real paths instead of section anchors.
- Added mobile CTA text constraint for contact and other CTA bands.
- Added skip link target for deployed static pages.
## Verification
Current visual pass is based on screenshot inspection of the final mobile files:
- `reports/screenshots/2026-05-20/home-mobile-qa6.png`
- `reports/screenshots/2026-05-20/services-mobile-qa6.png`
Remaining checks before deployment:
- Cross-browser check outside headless Chrome.
- Full desktop and mobile screenshots exist for every target page after the `qa7` update.
---
*Created: 20 May 2026*
*Updated: 20 May 2026*
+4
View File
@@ -0,0 +1,4 @@
User-agent: *
Allow: /
Sitemap: https://www.iqon.com/sitemap.xml
+84 -9
View File
@@ -1,40 +1,115 @@
/* ===== IQON — Interactive Scripts ===== */
// ——— Scroll Reveal ———
const reveals = document.querySelectorAll(".reveal"); const reveals = document.querySelectorAll(".reveal");
const observer = new IntersectionObserver( const revealObserver = new IntersectionObserver(
(entries) => { (entries) => {
entries.forEach((entry) => { entries.forEach((entry) => {
if (entry.isIntersecting) { if (entry.isIntersecting) {
entry.target.classList.add("on"); entry.target.classList.add("on");
observer.unobserve(entry.target); revealObserver.unobserve(entry.target);
} }
}); });
}, },
{ threshold: 0.18 } { threshold: 0.12, rootMargin: "0px 0px -40px 0px" }
); );
reveals.forEach((item, idx) => { reveals.forEach((item) => {
item.style.transitionDelay = `${Math.min(idx * 45, 280)}ms`; revealObserver.observe(item);
observer.observe(item);
}); });
// ——— Active Nav Section Tracking ———
const navLinks = document.querySelectorAll(".main-nav a"); const navLinks = document.querySelectorAll(".main-nav a");
const sectionIds = ["approach", "services", "cases", "contacts"];
const sectionObserver = new IntersectionObserver( const sectionObserver = new IntersectionObserver(
(entries) => { (entries) => {
entries.forEach((entry) => { entries.forEach((entry) => {
if (entry.isIntersecting) { if (entry.isIntersecting) {
navLinks.forEach((link) => { navLinks.forEach((link) => {
link.classList.toggle("active", link.getAttribute("href") === `#${entry.target.id}`); link.classList.toggle(
"active",
link.getAttribute("href") === `#${entry.target.id}`
);
}); });
} }
}); });
}, },
{ threshold: 0.55 } { threshold: 0.35, rootMargin: "-80px 0px 0px 0px" }
); );
["approach", "services", "cases", "contacts"].forEach((id) => { sectionIds.forEach((id) => {
const section = document.getElementById(id); const section = document.getElementById(id);
if (section) { if (section) {
sectionObserver.observe(section); sectionObserver.observe(section);
} }
}); });
// ——— Navbar Shrink on Scroll ———
const topbar = document.getElementById("topbar") || document.querySelector(".topbar");
let lastScrollY = 0;
let ticking = false;
function handleScroll() {
if (!topbar) {
ticking = false;
return;
}
const scrolled = window.scrollY > 60;
topbar.classList.toggle("scrolled", scrolled);
ticking = false;
}
window.addEventListener("scroll", () => {
if (!ticking) {
requestAnimationFrame(handleScroll);
ticking = true;
}
});
// ——— Smooth Scroll for Anchor Links ———
document.querySelectorAll('a[href^="#"]').forEach((anchor) => {
anchor.addEventListener("click", function (e) {
const target = document.querySelector(this.getAttribute("href"));
if (target) {
e.preventDefault();
const offset = (topbar ? topbar.offsetHeight : 0) + 12;
const top = target.getBoundingClientRect().top + window.scrollY - offset;
window.scrollTo({ top, behavior: "smooth" });
}
});
});
// ——— Chart Bar Animation ———
const chartBox = document.querySelector(".chart-box");
if (chartBox) {
const chartObserver = new IntersectionObserver(
(entries) => {
entries.forEach((entry) => {
if (entry.isIntersecting) {
const bars = chartBox.querySelectorAll("span");
bars.forEach((bar, i) => {
bar.style.transition = `height 0.8s ${0.1 + i * 0.08}s cubic-bezier(0.34, 1.56, 0.64, 1)`;
bar.style.height = bar.style.height; // trigger reflow
});
chartObserver.unobserve(entry.target);
}
});
},
{ threshold: 0.5 }
);
chartObserver.observe(chartBox);
}
// ——— Service Tile Hover Glow ———
const serviceTiles = document.querySelectorAll(".service-tile");
serviceTiles.forEach((tile) => {
tile.addEventListener("mousemove", (e) => {
const rect = tile.getBoundingClientRect();
const x = e.clientX - rect.left;
const y = e.clientY - rect.top;
tile.style.setProperty("--mouse-x", `${x}px`);
tile.style.setProperty("--mouse-y", `${y}px`);
});
});
+123
View File
@@ -0,0 +1,123 @@
#!/usr/bin/env python3
"""Generate a draft redirect map from the iqon sitemap inventory.
SPEC: seo/url-cleanup-plan-2026-05-20.md#redirect-drafts
Compliance date: 2026-05-20
Launch type: manual SEO migration planning
Registry: iqon redirect map generator
"""
from __future__ import annotations
import csv
import sys
import urllib.parse
from pathlib import Path
DIRECT_PATH_REDIRECTS = {
"/homepage/": "/",
"/hows-business/": "/",
"/industry-specific-services/": "/services-solutions/industry-specific-services/",
"/services-solutions/industry-specific-services/retail-wholesail/": "/services-solutions/industry-specific-services/retail-wholesale/",
}
RU_PREFIX = "/услуги-решения/"
EN_PREFIX = "/services-solutions/"
def normalize_path(path: str) -> str:
if not path.startswith("/"):
path = "/" + path
if not path.endswith("/"):
path += "/"
return path
def target_for(decoded_path: str) -> tuple[str, str, str]:
path = normalize_path(decoded_path)
if path in DIRECT_PATH_REDIRECTS:
return DIRECT_PATH_REDIRECTS[path], "301", "direct_alias_or_typo"
if path.startswith(RU_PREFIX):
english_path = EN_PREFIX + path[len(RU_PREFIX) :]
return normalize_path(english_path), "301", "ru_to_english_default_policy"
return "", "", "manual_review"
def read_inventory(path: Path) -> list[dict[str, str]]:
with path.open(encoding="utf-8", newline="") as handle:
return list(csv.DictReader(handle))
def write_redirect_csv(rows: list[dict[str, str]], output_path: Path) -> None:
seen: set[tuple[str, str]] = set()
output_rows: list[dict[str, str]] = []
for row in rows:
source = normalize_path(row["decoded_path"])
target, status, reason = target_for(source)
if not target:
continue
key = (source, target)
if key in seen:
continue
seen.add(key)
output_rows.append(
{
"source_path": source,
"target_path": target,
"status": status,
"reason": reason,
"source_url": row["url"],
}
)
with output_path.open("w", encoding="utf-8", newline="") as handle:
writer = csv.DictWriter(handle, fieldnames=["source_path", "target_path", "status", "reason", "source_url"])
writer.writeheader()
writer.writerows(output_rows)
def write_nginx_map(redirect_csv: Path, output_path: Path) -> None:
rows = read_inventory_csv(redirect_csv)
with output_path.open("w", encoding="utf-8") as handle:
handle.write("# IQON redirect draft generated from seo/sitemap-inventory-2026-05-20.csv\n")
handle.write("# Review before deployment. Not applied to live hosting.\n\n")
for row in rows:
source = urllib.parse.quote(row["source_path"], safe="/-._~")
target = urllib.parse.quote(row["target_path"], safe="/-._~")
escaped_source = source.strip("/")
handle.write(f"rewrite ^/{escaped_source}/?$ {target} permanent;\n")
def read_inventory_csv(path: Path) -> list[dict[str, str]]:
with path.open(encoding="utf-8", newline="") as handle:
return list(csv.DictReader(handle))
def main() -> int:
if len(sys.argv) != 4:
print(
"Usage: iqon-generate-redirect-map.py <inventory.csv> <redirects.csv> <nginx.conf>",
file=sys.stderr,
)
return 2
inventory_path = Path(sys.argv[1])
redirect_csv = Path(sys.argv[2])
nginx_conf = Path(sys.argv[3])
rows = read_inventory(inventory_path)
write_redirect_csv(rows, redirect_csv)
write_nginx_map(redirect_csv, nginx_conf)
return 0
if __name__ == "__main__":
raise SystemExit(main())
+110
View File
@@ -0,0 +1,110 @@
#!/usr/bin/env bash
# SPEC: wp-snippets/README.md#verification
# Compliance date: 2026-05-20
# Launch type: manual post-deployment verification
# Registry: iqon Phase 1 hardening verification
set -u
BASE_URL="${1:-https://iqon.com}"
FAILED=0
note() {
printf '\n[%s] %s\n' "$1" "$2"
}
fail() {
FAILED=1
printf '[FAIL] %s\n' "$1"
}
pass() {
printf '[PASS] %s\n' "$1"
}
fetch_headers() {
curl -sS -I -L "$BASE_URL/"
}
fetch_home() {
curl -sS -L "$BASE_URL/"
}
note CHECK "Security headers"
if ! HEADERS="$(fetch_headers)"; then
HEADERS=""
fail 'could not fetch homepage headers'
fi
printf '%s\n' "$HEADERS" | rg -qi '^x-content-type-options:\s*nosniff' \
&& pass 'X-Content-Type-Options present' \
|| fail 'X-Content-Type-Options missing'
printf '%s\n' "$HEADERS" | rg -qi '^x-frame-options:\s*SAMEORIGIN' \
&& pass 'X-Frame-Options present' \
|| fail 'X-Frame-Options missing'
printf '%s\n' "$HEADERS" | rg -qi '^referrer-policy:' \
&& pass 'Referrer-Policy present' \
|| fail 'Referrer-Policy missing'
printf '%s\n' "$HEADERS" | rg -qi '^permissions-policy:' \
&& pass 'Permissions-Policy present' \
|| fail 'Permissions-Policy missing'
printf '%s\n' "$HEADERS" | rg -qi '^content-security-policy:' \
&& pass 'Content-Security-Policy present' \
|| fail 'Content-Security-Policy missing'
note CHECK "Homepage HTML"
if HOME="$(fetch_home)"; then
printf '%s\n' "$HOME" | rg -q 'name=["'\'']viewport["'\'']' \
&& pass 'viewport present' \
|| fail 'viewport missing'
printf '%s\n' "$HOME" | rg -q 'class=["'\''][^"'\'']*(iqon-skip-link|skip-link)' \
&& pass 'skip link present' \
|| fail 'skip link missing'
printf '%s\n' "$HOME" | rg -q 'http://www\.iqon\.com|http://iqon\.com|http://maps\.google\.com|http://maps\.googleapis\.com' \
&& fail 'known HTTP URLs still present' \
|| pass 'known HTTP URLs absent'
printf '%s\n' "$HOME" | rg -q 'property=["'\'']og:site_name["'\''][^>]*content=["'\'']- IQON["'\'']' \
&& fail 'og:site_name still has - IQON' \
|| pass 'og:site_name no longer has - IQON'
else
fail 'could not fetch homepage HTML'
fi
note CHECK "REST users endpoint"
if USERS_BODY="$(curl -sS -L "$BASE_URL/wp-json/wp/v2/users")"; then
printf '%s\n' "$USERS_BODY" | rg -q '"slug"\s*:\s*"(admin|iqnadm01)"' \
&& fail 'public REST users still exposed' \
|| pass 'public REST users not exposed'
else
fail 'could not fetch REST users endpoint'
fi
note CHECK "Install documents"
README_STATUS="$(curl -sS -o /dev/null -w '%{http_code}' -L "$BASE_URL/readme.html")"
case "$README_STATUS" in
403|404) pass "readme.html blocked with $README_STATUS" ;;
*) fail "readme.html returned $README_STATUS" ;;
esac
note CHECK "XML-RPC HEAD smoke"
XMLRPC_STATUS="$(curl -sS -o /dev/null -w '%{http_code}' -I --http1.1 "$BASE_URL/xmlrpc.php")"
XMLRPC_CURL_STATUS=$?
case "$XMLRPC_STATUS" in
403|404|405) pass "xmlrpc.php not plainly usable via HEAD: $XMLRPC_STATUS" ;;
000)
if [ "$XMLRPC_CURL_STATUS" -eq 52 ]; then
pass "xmlrpc.php returned empty reply via HEAD: $XMLRPC_STATUS"
else
fail "xmlrpc.php check failed with curl status $XMLRPC_CURL_STATUS"
fi
;;
*) fail "xmlrpc.php returned $XMLRPC_STATUS; run safe POST check" ;;
esac
printf '\n'
if [ "$FAILED" -eq 0 ]; then
printf '[OK] iqon Phase 1 verification passed for %s\n' "$BASE_URL"
else
printf '[FAIL] iqon Phase 1 verification failed for %s\n' "$BASE_URL"
fi
exit "$FAILED"
+93
View File
@@ -0,0 +1,93 @@
#!/usr/bin/env python3
"""Create a CSV inventory from the iqon.com page sitemap.
SPEC: reports/live-captures/2026-05-20/page-sitemap.xml
Compliance date: 2026-05-20
Launch type: manual SEO inventory generation
Registry: iqon sitemap inventory parser
"""
from __future__ import annotations
import csv
import sys
import urllib.parse
import xml.etree.ElementTree as ET
from collections import Counter
from pathlib import Path
SITEMAP_NS = {"sm": "http://www.sitemaps.org/schemas/sitemap/0.9"}
def classify_url(url: str, duplicate_count: int) -> tuple[str, str]:
parsed = urllib.parse.urlparse(url)
decoded_path = urllib.parse.unquote(parsed.path)
if duplicate_count > 1:
return "duplicate", "canonicalize_or_remove_duplicate"
if "%" in parsed.path:
return "encoded_multilingual", "decide_hreflang_or_noindex_redirect"
if decoded_path in {"/homepage/", "/hows-business/"}:
return "legacy_home_alias", "redirect_to_root_or_rewrite"
if "retail-wholesail" in decoded_path:
return "typo_slug", "redirect_to_correct_spelling"
if decoded_path == "/services-solutions/":
return "thin_landing", "rewrite_as_services_overview"
if decoded_path == "/contact/":
return "contact", "verify_contact_data_then_keep"
if decoded_path == "/":
return "homepage", "rewrite_homepage_metadata_and_content"
return "service_or_content", "review_rewrite_or_merge"
def iter_urls(path: Path) -> list[dict[str, str]]:
tree = ET.parse(path)
urls: list[dict[str, str]] = []
for node in tree.findall("sm:url", SITEMAP_NS):
loc_node = node.find("sm:loc", SITEMAP_NS)
lastmod_node = node.find("sm:lastmod", SITEMAP_NS)
if loc_node is None or not loc_node.text:
continue
loc = loc_node.text.strip()
parsed = urllib.parse.urlparse(loc)
urls.append(
{
"url": loc,
"decoded_path": urllib.parse.unquote(parsed.path),
"lastmod": (lastmod_node.text.strip() if lastmod_node is not None and lastmod_node.text else ""),
}
)
counts = Counter(item["url"] for item in urls)
for item in urls:
duplicate_count = counts[item["url"]]
item["duplicate_count"] = str(duplicate_count)
item["class"], item["recommended_action"] = classify_url(item["url"], duplicate_count)
return urls
def main() -> int:
if len(sys.argv) not in {2, 3}:
print("Usage: iqon-sitemap-inventory.py <page-sitemap.xml> [output.csv]", file=sys.stderr)
return 2
rows = iter_urls(Path(sys.argv[1]))
output = open(sys.argv[2], "w", newline="", encoding="utf-8") if len(sys.argv) == 3 else sys.stdout
writer = csv.DictWriter(
output,
fieldnames=["url", "decoded_path", "lastmod", "duplicate_count", "class", "recommended_action"],
)
writer.writeheader()
writer.writerows(rows)
if output is not sys.stdout:
output.close()
return 0
if __name__ == "__main__":
raise SystemExit(main())
+35
View File
@@ -0,0 +1,35 @@
# IQON redirect draft generated from seo/sitemap-inventory-2026-05-20.csv
# Review before deployment. Not applied to live hosting.
rewrite ^/industry-specific-services/?$ /services-solutions/industry-specific-services/ permanent;
rewrite ^/services-solutions/industry-specific-services/retail-wholesail/?$ /services-solutions/industry-specific-services/retail-wholesale/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/?$ /services-solutions/ permanent;
rewrite ^/hows-business/?$ / permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/enterprise-management-decision-support-solutions/enterprise-orchestration/?$ /services-solutions/enterprise-management-decision-support-solutions/enterprise-orchestration/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/enterprise-management-decision-support-solutions/enterprise-management-systems/?$ /services-solutions/enterprise-management-decision-support-solutions/enterprise-management-systems/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/enterprise-management-decision-support-solutions/customer-intelligence-solutions/?$ /services-solutions/enterprise-management-decision-support-solutions/customer-intelligence-solutions/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/enterprise-management-decision-support-solutions/enterprise-information-management/?$ /services-solutions/enterprise-management-decision-support-solutions/enterprise-information-management/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/it-infrastructure-services/?$ /services-solutions/it-infrastructure-services/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/it-infrastructure-services/infrastructure-management-consulting/?$ /services-solutions/it-infrastructure-services/infrastructure-management-consulting/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/it-infrastructure-services/it-infrastructure-transformation-services/?$ /services-solutions/it-infrastructure-services/it-infrastructure-transformation-services/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/it-infrastructure-services/end-user-computing-technology-solutions/?$ /services-solutions/it-infrastructure-services/end-user-computing-technology-solutions/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/industry-specific-services/?$ /services-solutions/industry-specific-services/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/enterprise-management-decision-support-solutions/managed-services/?$ /services-solutions/enterprise-management-decision-support-solutions/managed-services/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/industry-specific-services/logistics-transport/?$ /services-solutions/industry-specific-services/logistics-transport/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/industry-specific-services/retail-wholesail/?$ /services-solutions/industry-specific-services/retail-wholesail/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/industry-specific-services/telecommunication/?$ /services-solutions/industry-specific-services/telecommunication/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/industry-specific-services/energy-utilities/?$ /services-solutions/industry-specific-services/energy-utilities/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/industry-specific-services/manufacturing-process/?$ /services-solutions/industry-specific-services/manufacturing-process/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/mobility-consulting-services/?$ /services-solutions/mobility-consulting-services/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/mobility-consulting-services/mobility-software-services-applications/?$ /services-solutions/mobility-consulting-services/mobility-software-services-applications/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/mobility-consulting-services/mobility-managed-services/?$ /services-solutions/mobility-consulting-services/mobility-managed-services/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/mobility-consulting-services/mobility-software-services-devices-and-platforms/?$ /services-solutions/mobility-consulting-services/mobility-software-services-devices-and-platforms/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/mobility-consulting-services/mobility-business-integration-services/?$ /services-solutions/mobility-consulting-services/mobility-business-integration-services/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/is-advisory-services/?$ /services-solutions/is-advisory-services/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/is-advisory-services/business-continuity-and-disaster-recovery-planning-services/?$ /services-solutions/is-advisory-services/business-continuity-and-disaster-recovery-planning-services/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/is-advisory-services/business-technology-enterprise-architecture/?$ /services-solutions/is-advisory-services/business-technology-enterprise-architecture/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/is-advisory-services/it-strategy-governance/?$ /services-solutions/is-advisory-services/it-strategy-governance/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/is-advisory-services/information-security-services/?$ /services-solutions/is-advisory-services/information-security-services/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/is-advisory-services/is-regulatory-and-compliance-services/?$ /services-solutions/is-advisory-services/is-regulatory-and-compliance-services/ permanent;
rewrite ^/%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F/enterprise-management-decision-support-solutions/?$ /services-solutions/enterprise-management-decision-support-solutions/ permanent;
rewrite ^/homepage/?$ / permanent;
+33
View File
@@ -0,0 +1,33 @@
source_path,target_path,status,reason,source_url
/industry-specific-services/,/services-solutions/industry-specific-services/,301,direct_alias_or_typo,https://iqon.com/industry-specific-services/
/services-solutions/industry-specific-services/retail-wholesail/,/services-solutions/industry-specific-services/retail-wholesale/,301,direct_alias_or_typo,https://iqon.com/services-solutions/industry-specific-services/retail-wholesail/
/услуги-решения/,/services-solutions/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/
/hows-business/,/,301,direct_alias_or_typo,https://iqon.com/hows-business/
/услуги-решения/enterprise-management-decision-support-solutions/enterprise-orchestration/,/services-solutions/enterprise-management-decision-support-solutions/enterprise-orchestration/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/enterprise-orchestration/
/услуги-решения/enterprise-management-decision-support-solutions/enterprise-management-systems/,/services-solutions/enterprise-management-decision-support-solutions/enterprise-management-systems/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/enterprise-management-systems/
/услуги-решения/enterprise-management-decision-support-solutions/customer-intelligence-solutions/,/services-solutions/enterprise-management-decision-support-solutions/customer-intelligence-solutions/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/customer-intelligence-solutions/
/услуги-решения/enterprise-management-decision-support-solutions/enterprise-information-management/,/services-solutions/enterprise-management-decision-support-solutions/enterprise-information-management/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/enterprise-information-management/
/услуги-решения/it-infrastructure-services/,/services-solutions/it-infrastructure-services/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it-infrastructure-services/
/услуги-решения/it-infrastructure-services/infrastructure-management-consulting/,/services-solutions/it-infrastructure-services/infrastructure-management-consulting/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it-infrastructure-services/infrastructure-management-consulting/
/услуги-решения/it-infrastructure-services/it-infrastructure-transformation-services/,/services-solutions/it-infrastructure-services/it-infrastructure-transformation-services/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it-infrastructure-services/it-infrastructure-transformation-services/
/услуги-решения/it-infrastructure-services/end-user-computing-technology-solutions/,/services-solutions/it-infrastructure-services/end-user-computing-technology-solutions/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it-infrastructure-services/end-user-computing-technology-solutions/
/услуги-решения/industry-specific-services/,/services-solutions/industry-specific-services/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/
/услуги-решения/enterprise-management-decision-support-solutions/managed-services/,/services-solutions/enterprise-management-decision-support-solutions/managed-services/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/managed-services/
/услуги-решения/industry-specific-services/logistics-transport/,/services-solutions/industry-specific-services/logistics-transport/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/logistics-transport/
/услуги-решения/industry-specific-services/retail-wholesail/,/services-solutions/industry-specific-services/retail-wholesail/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/retail-wholesail/
/услуги-решения/industry-specific-services/telecommunication/,/services-solutions/industry-specific-services/telecommunication/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/telecommunication/
/услуги-решения/industry-specific-services/energy-utilities/,/services-solutions/industry-specific-services/energy-utilities/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/energy-utilities/
/услуги-решения/industry-specific-services/manufacturing-process/,/services-solutions/industry-specific-services/manufacturing-process/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/manufacturing-process/
/услуги-решения/mobility-consulting-services/,/services-solutions/mobility-consulting-services/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/
/услуги-решения/mobility-consulting-services/mobility-software-services-applications/,/services-solutions/mobility-consulting-services/mobility-software-services-applications/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/mobility-software-services-applications/
/услуги-решения/mobility-consulting-services/mobility-managed-services/,/services-solutions/mobility-consulting-services/mobility-managed-services/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/mobility-managed-services/
/услуги-решения/mobility-consulting-services/mobility-software-services-devices-and-platforms/,/services-solutions/mobility-consulting-services/mobility-software-services-devices-and-platforms/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/mobility-software-services-devices-and-platforms/
/услуги-решения/mobility-consulting-services/mobility-business-integration-services/,/services-solutions/mobility-consulting-services/mobility-business-integration-services/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/mobility-business-integration-services/
/услуги-решения/is-advisory-services/,/services-solutions/is-advisory-services/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/
/услуги-решения/is-advisory-services/business-continuity-and-disaster-recovery-planning-services/,/services-solutions/is-advisory-services/business-continuity-and-disaster-recovery-planning-services/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/business-continuity-and-disaster-recovery-planning-services/
/услуги-решения/is-advisory-services/business-technology-enterprise-architecture/,/services-solutions/is-advisory-services/business-technology-enterprise-architecture/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/business-technology-enterprise-architecture/
/услуги-решения/is-advisory-services/it-strategy-governance/,/services-solutions/is-advisory-services/it-strategy-governance/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/it-strategy-governance/
/услуги-решения/is-advisory-services/information-security-services/,/services-solutions/is-advisory-services/information-security-services/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/information-security-services/
/услуги-решения/is-advisory-services/is-regulatory-and-compliance-services/,/services-solutions/is-advisory-services/is-regulatory-and-compliance-services/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/is-regulatory-and-compliance-services/
/услуги-решения/enterprise-management-decision-support-solutions/,/services-solutions/enterprise-management-decision-support-solutions/,301,ru_to_english_default_policy,https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/
/homepage/,/,301,direct_alias_or_typo,https://iqon.com/homepage/
1 source_path target_path status reason source_url
2 /industry-specific-services/ /services-solutions/industry-specific-services/ 301 direct_alias_or_typo https://iqon.com/industry-specific-services/
3 /services-solutions/industry-specific-services/retail-wholesail/ /services-solutions/industry-specific-services/retail-wholesale/ 301 direct_alias_or_typo https://iqon.com/services-solutions/industry-specific-services/retail-wholesail/
4 /услуги-решения/ /services-solutions/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/
5 /hows-business/ / 301 direct_alias_or_typo https://iqon.com/hows-business/
6 /услуги-решения/enterprise-management-decision-support-solutions/enterprise-orchestration/ /services-solutions/enterprise-management-decision-support-solutions/enterprise-orchestration/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/enterprise-orchestration/
7 /услуги-решения/enterprise-management-decision-support-solutions/enterprise-management-systems/ /services-solutions/enterprise-management-decision-support-solutions/enterprise-management-systems/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/enterprise-management-systems/
8 /услуги-решения/enterprise-management-decision-support-solutions/customer-intelligence-solutions/ /services-solutions/enterprise-management-decision-support-solutions/customer-intelligence-solutions/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/customer-intelligence-solutions/
9 /услуги-решения/enterprise-management-decision-support-solutions/enterprise-information-management/ /services-solutions/enterprise-management-decision-support-solutions/enterprise-information-management/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/enterprise-information-management/
10 /услуги-решения/it-infrastructure-services/ /services-solutions/it-infrastructure-services/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it-infrastructure-services/
11 /услуги-решения/it-infrastructure-services/infrastructure-management-consulting/ /services-solutions/it-infrastructure-services/infrastructure-management-consulting/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it-infrastructure-services/infrastructure-management-consulting/
12 /услуги-решения/it-infrastructure-services/it-infrastructure-transformation-services/ /services-solutions/it-infrastructure-services/it-infrastructure-transformation-services/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it-infrastructure-services/it-infrastructure-transformation-services/
13 /услуги-решения/it-infrastructure-services/end-user-computing-technology-solutions/ /services-solutions/it-infrastructure-services/end-user-computing-technology-solutions/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it-infrastructure-services/end-user-computing-technology-solutions/
14 /услуги-решения/industry-specific-services/ /services-solutions/industry-specific-services/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/
15 /услуги-решения/enterprise-management-decision-support-solutions/managed-services/ /services-solutions/enterprise-management-decision-support-solutions/managed-services/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/managed-services/
16 /услуги-решения/industry-specific-services/logistics-transport/ /services-solutions/industry-specific-services/logistics-transport/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/logistics-transport/
17 /услуги-решения/industry-specific-services/retail-wholesail/ /services-solutions/industry-specific-services/retail-wholesail/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/retail-wholesail/
18 /услуги-решения/industry-specific-services/telecommunication/ /services-solutions/industry-specific-services/telecommunication/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/telecommunication/
19 /услуги-решения/industry-specific-services/energy-utilities/ /services-solutions/industry-specific-services/energy-utilities/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/energy-utilities/
20 /услуги-решения/industry-specific-services/manufacturing-process/ /services-solutions/industry-specific-services/manufacturing-process/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/manufacturing-process/
21 /услуги-решения/mobility-consulting-services/ /services-solutions/mobility-consulting-services/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/
22 /услуги-решения/mobility-consulting-services/mobility-software-services-applications/ /services-solutions/mobility-consulting-services/mobility-software-services-applications/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/mobility-software-services-applications/
23 /услуги-решения/mobility-consulting-services/mobility-managed-services/ /services-solutions/mobility-consulting-services/mobility-managed-services/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/mobility-managed-services/
24 /услуги-решения/mobility-consulting-services/mobility-software-services-devices-and-platforms/ /services-solutions/mobility-consulting-services/mobility-software-services-devices-and-platforms/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/mobility-software-services-devices-and-platforms/
25 /услуги-решения/mobility-consulting-services/mobility-business-integration-services/ /services-solutions/mobility-consulting-services/mobility-business-integration-services/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/mobility-business-integration-services/
26 /услуги-решения/is-advisory-services/ /services-solutions/is-advisory-services/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/
27 /услуги-решения/is-advisory-services/business-continuity-and-disaster-recovery-planning-services/ /services-solutions/is-advisory-services/business-continuity-and-disaster-recovery-planning-services/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/business-continuity-and-disaster-recovery-planning-services/
28 /услуги-решения/is-advisory-services/business-technology-enterprise-architecture/ /services-solutions/is-advisory-services/business-technology-enterprise-architecture/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/business-technology-enterprise-architecture/
29 /услуги-решения/is-advisory-services/it-strategy-governance/ /services-solutions/is-advisory-services/it-strategy-governance/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/it-strategy-governance/
30 /услуги-решения/is-advisory-services/information-security-services/ /services-solutions/is-advisory-services/information-security-services/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/information-security-services/
31 /услуги-решения/is-advisory-services/is-regulatory-and-compliance-services/ /services-solutions/is-advisory-services/is-regulatory-and-compliance-services/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/is-regulatory-and-compliance-services/
32 /услуги-решения/enterprise-management-decision-support-solutions/ /services-solutions/enterprise-management-decision-support-solutions/ 301 ru_to_english_default_policy https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/
33 /homepage/ / 301 direct_alias_or_typo https://iqon.com/homepage/
+67
View File
@@ -0,0 +1,67 @@
url,decoded_path,lastmod,duplicate_count,class,recommended_action
https://iqon.com/,/,2013-07-25T11:19:25+00:00,1,homepage,rewrite_homepage_metadata_and_content
https://iqon.com/services-solutions/,/services-solutions/,2012-05-03T06:22:32+00:00,1,thin_landing,rewrite_as_services_overview
https://iqon.com/industry-specific-services/,/industry-specific-services/,2012-05-03T06:28:50+00:00,2,duplicate,canonicalize_or_remove_duplicate
https://iqon.com/industry-specific-services/,/industry-specific-services/,2012-05-03T06:28:50+00:00,2,duplicate,canonicalize_or_remove_duplicate
https://iqon.com/services-solutions/enterprise-management-decision-support-solutions/,/services-solutions/enterprise-management-decision-support-solutions/,2012-05-04T12:52:30+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/enterprise-management-decision-support-solutions/enterprise-information-management/,/services-solutions/enterprise-management-decision-support-solutions/enterprise-information-management/,2012-05-04T12:55:19+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/enterprise-management-decision-support-solutions/managed-services/,/services-solutions/enterprise-management-decision-support-solutions/managed-services/,2012-05-09T03:24:58+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/enterprise-management-decision-support-solutions/customer-intelligence-solutions/,/services-solutions/enterprise-management-decision-support-solutions/customer-intelligence-solutions/,2012-05-09T03:26:00+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/enterprise-management-decision-support-solutions/enterprise-management-systems/,/services-solutions/enterprise-management-decision-support-solutions/enterprise-management-systems/,2012-05-09T03:27:08+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/enterprise-management-decision-support-solutions/enterprise-orchestration/,/services-solutions/enterprise-management-decision-support-solutions/enterprise-orchestration/,2012-05-09T03:29:16+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/industry-specific-services/energy-utilities/,/services-solutions/industry-specific-services/energy-utilities/,2012-05-09T03:31:13+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/industry-specific-services/telecommunication/,/services-solutions/industry-specific-services/telecommunication/,2012-05-09T03:35:56+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/industry-specific-services/retail-wholesail/,/services-solutions/industry-specific-services/retail-wholesail/,2012-05-09T03:37:41+00:00,1,typo_slug,redirect_to_correct_spelling
https://iqon.com/services-solutions/industry-specific-services/logistics-transport/,/services-solutions/industry-specific-services/logistics-transport/,2012-05-09T03:38:41+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/industry-specific-services/manufacturing-process/,/services-solutions/industry-specific-services/manufacturing-process/,2012-05-09T03:39:12+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/industry-specific-services/,/services-solutions/industry-specific-services/,2012-05-09T03:39:35+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/is-advisory-services/it-strategy-governance/,/services-solutions/is-advisory-services/it-strategy-governance/,2012-05-09T03:40:55+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/is-advisory-services/,/services-solutions/is-advisory-services/,2012-05-09T03:41:26+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/is-advisory-services/is-regulatory-and-compliance-services/,/services-solutions/is-advisory-services/is-regulatory-and-compliance-services/,2012-05-09T03:42:07+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/is-advisory-services/business-continuity-and-disaster-recovery-planning-services/,/services-solutions/is-advisory-services/business-continuity-and-disaster-recovery-planning-services/,2012-05-09T03:42:40+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/is-advisory-services/information-security-services/,/services-solutions/is-advisory-services/information-security-services/,2012-05-09T03:53:47+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/is-advisory-services/business-technology-enterprise-architecture/,/services-solutions/is-advisory-services/business-technology-enterprise-architecture/,2012-05-09T03:54:30+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/it-infrastructure-services/end-user-computing-technology-solutions/,/services-solutions/it-infrastructure-services/end-user-computing-technology-solutions/,2012-05-09T03:57:14+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/it-infrastructure-services/infrastructure-management-consulting/,/services-solutions/it-infrastructure-services/infrastructure-management-consulting/,2012-05-09T03:57:44+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/it-infrastructure-services/,/services-solutions/it-infrastructure-services/,2012-05-09T03:59:50+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/mobility-consulting-services/,/services-solutions/mobility-consulting-services/,2012-05-09T04:12:35+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/it-infrastructure-services/it-infrastructure-transformation-services/,/services-solutions/it-infrastructure-services/it-infrastructure-transformation-services/,2012-05-11T00:49:48+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/mobility-consulting-services/mobility-software-services-applications/,/services-solutions/mobility-consulting-services/mobility-software-services-applications/,2012-05-11T00:57:13+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/mobility-consulting-services/mobility-managed-services/,/services-solutions/mobility-consulting-services/mobility-managed-services/,2012-05-11T00:57:17+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/mobility-consulting-services/mobility-business-integration-services/,/services-solutions/mobility-consulting-services/mobility-business-integration-services/,2012-05-11T00:57:25+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/services-solutions/mobility-consulting-services/mobility-software-services-devices-and-platforms/,/services-solutions/mobility-consulting-services/mobility-software-services-devices-and-platforms/,2012-05-11T00:57:51+00:00,1,service_or_content,review_rewrite_or_merge
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/,/услуги-решения/,2013-05-17T11:20:07+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/hows-business/,/hows-business/,2013-05-20T16:11:40+00:00,1,legacy_home_alias,redirect_to_root_or_rewrite
https://iqon.com/%d0%ba%d0%b0%d0%ba-%d0%b8%d0%b4%d0%b5%d1%82-%d0%b1%d0%b8%d0%b7%d0%bd%d0%b5%d1%81/,/как-идет-бизнес/,2013-05-20T16:21:27+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/enterprise-orchestration/,/услуги-решения/enterprise-management-decision-support-solutions/enterprise-orchestration/,2013-05-20T18:45:44+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/enterprise-management-systems/,/услуги-решения/enterprise-management-decision-support-solutions/enterprise-management-systems/,2013-05-20T18:54:03+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/customer-intelligence-solutions/,/услуги-решения/enterprise-management-decision-support-solutions/customer-intelligence-solutions/,2013-05-20T19:07:13+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/enterprise-information-management/,/услуги-решения/enterprise-management-decision-support-solutions/enterprise-information-management/,2013-05-20T19:47:23+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it-infrastructure-services/,/услуги-решения/it-infrastructure-services/,2013-05-20T19:52:40+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it-infrastructure-services/infrastructure-management-consulting/,/услуги-решения/it-infrastructure-services/infrastructure-management-consulting/,2013-05-20T20:04:11+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it-infrastructure-services/it-infrastructure-transformation-services/,/услуги-решения/it-infrastructure-services/it-infrastructure-transformation-services/,2013-05-20T20:25:10+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it-infrastructure-services/end-user-computing-technology-solutions/,/услуги-решения/it-infrastructure-services/end-user-computing-technology-solutions/,2013-05-20T20:50:52+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/,/услуги-решения/industry-specific-services/,2013-05-20T20:55:24+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/managed-services/,/услуги-решения/enterprise-management-decision-support-solutions/managed-services/,2013-05-20T20:56:19+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/logistics-transport/,/услуги-решения/industry-specific-services/logistics-transport/,2013-05-20T21:07:43+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/retail-wholesail/,/услуги-решения/industry-specific-services/retail-wholesail/,2013-05-20T21:30:38+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/telecommunication/,/услуги-решения/industry-specific-services/telecommunication/,2013-05-20T21:45:21+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/energy-utilities/,/услуги-решения/industry-specific-services/energy-utilities/,2013-05-20T21:54:37+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/manufacturing-process/,/услуги-решения/industry-specific-services/manufacturing-process/,2013-05-20T21:58:59+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/,/услуги-решения/mobility-consulting-services/,2013-05-20T22:02:54+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/mobility-software-services-applications/,/услуги-решения/mobility-consulting-services/mobility-software-services-applications/,2013-05-20T22:06:33+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/mobility-managed-services/,/услуги-решения/mobility-consulting-services/mobility-managed-services/,2013-05-20T22:13:33+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/mobility-software-services-devices-and-platforms/,/услуги-решения/mobility-consulting-services/mobility-software-services-devices-and-platforms/,2013-05-20T22:19:24+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/mobility-business-integration-services/,/услуги-решения/mobility-consulting-services/mobility-business-integration-services/,2013-05-20T22:22:30+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/,/услуги-решения/is-advisory-services/,2013-05-20T22:27:40+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/business-continuity-and-disaster-recovery-planning-services/,/услуги-решения/is-advisory-services/business-continuity-and-disaster-recovery-planning-services/,2013-05-20T22:30:45+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/business-technology-enterprise-architecture/,/услуги-решения/is-advisory-services/business-technology-enterprise-architecture/,2013-05-20T22:35:11+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/it-strategy-governance/,/услуги-решения/is-advisory-services/it-strategy-governance/,2013-05-20T22:46:17+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/information-security-services/,/услуги-решения/is-advisory-services/information-security-services/,2013-05-20T22:55:16+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/is-regulatory-and-compliance-services/,/услуги-решения/is-advisory-services/is-regulatory-and-compliance-services/,2013-05-20T22:59:29+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/contact/,/contact/,2013-07-18T14:12:20+00:00,2,duplicate,canonicalize_or_remove_duplicate
https://iqon.com/contact/,/contact/,2013-07-23T12:24:21+00:00,2,duplicate,canonicalize_or_remove_duplicate
https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/,/услуги-решения/enterprise-management-decision-support-solutions/,2013-07-23T12:27:35+00:00,1,encoded_multilingual,decide_hreflang_or_noindex_redirect
https://iqon.com/homepage/,/homepage/,2013-07-25T11:19:25+00:00,3,duplicate,canonicalize_or_remove_duplicate
https://iqon.com/homepage/,/homepage/,2013-07-25T11:19:25+00:00,3,duplicate,canonicalize_or_remove_duplicate
https://iqon.com/homepage/,/homepage/,2013-07-25T11:20:03+00:00,3,duplicate,canonicalize_or_remove_duplicate
1 url decoded_path lastmod duplicate_count class recommended_action
2 https://iqon.com/ / 2013-07-25T11:19:25+00:00 1 homepage rewrite_homepage_metadata_and_content
3 https://iqon.com/services-solutions/ /services-solutions/ 2012-05-03T06:22:32+00:00 1 thin_landing rewrite_as_services_overview
4 https://iqon.com/industry-specific-services/ /industry-specific-services/ 2012-05-03T06:28:50+00:00 2 duplicate canonicalize_or_remove_duplicate
5 https://iqon.com/industry-specific-services/ /industry-specific-services/ 2012-05-03T06:28:50+00:00 2 duplicate canonicalize_or_remove_duplicate
6 https://iqon.com/services-solutions/enterprise-management-decision-support-solutions/ /services-solutions/enterprise-management-decision-support-solutions/ 2012-05-04T12:52:30+00:00 1 service_or_content review_rewrite_or_merge
7 https://iqon.com/services-solutions/enterprise-management-decision-support-solutions/enterprise-information-management/ /services-solutions/enterprise-management-decision-support-solutions/enterprise-information-management/ 2012-05-04T12:55:19+00:00 1 service_or_content review_rewrite_or_merge
8 https://iqon.com/services-solutions/enterprise-management-decision-support-solutions/managed-services/ /services-solutions/enterprise-management-decision-support-solutions/managed-services/ 2012-05-09T03:24:58+00:00 1 service_or_content review_rewrite_or_merge
9 https://iqon.com/services-solutions/enterprise-management-decision-support-solutions/customer-intelligence-solutions/ /services-solutions/enterprise-management-decision-support-solutions/customer-intelligence-solutions/ 2012-05-09T03:26:00+00:00 1 service_or_content review_rewrite_or_merge
10 https://iqon.com/services-solutions/enterprise-management-decision-support-solutions/enterprise-management-systems/ /services-solutions/enterprise-management-decision-support-solutions/enterprise-management-systems/ 2012-05-09T03:27:08+00:00 1 service_or_content review_rewrite_or_merge
11 https://iqon.com/services-solutions/enterprise-management-decision-support-solutions/enterprise-orchestration/ /services-solutions/enterprise-management-decision-support-solutions/enterprise-orchestration/ 2012-05-09T03:29:16+00:00 1 service_or_content review_rewrite_or_merge
12 https://iqon.com/services-solutions/industry-specific-services/energy-utilities/ /services-solutions/industry-specific-services/energy-utilities/ 2012-05-09T03:31:13+00:00 1 service_or_content review_rewrite_or_merge
13 https://iqon.com/services-solutions/industry-specific-services/telecommunication/ /services-solutions/industry-specific-services/telecommunication/ 2012-05-09T03:35:56+00:00 1 service_or_content review_rewrite_or_merge
14 https://iqon.com/services-solutions/industry-specific-services/retail-wholesail/ /services-solutions/industry-specific-services/retail-wholesail/ 2012-05-09T03:37:41+00:00 1 typo_slug redirect_to_correct_spelling
15 https://iqon.com/services-solutions/industry-specific-services/logistics-transport/ /services-solutions/industry-specific-services/logistics-transport/ 2012-05-09T03:38:41+00:00 1 service_or_content review_rewrite_or_merge
16 https://iqon.com/services-solutions/industry-specific-services/manufacturing-process/ /services-solutions/industry-specific-services/manufacturing-process/ 2012-05-09T03:39:12+00:00 1 service_or_content review_rewrite_or_merge
17 https://iqon.com/services-solutions/industry-specific-services/ /services-solutions/industry-specific-services/ 2012-05-09T03:39:35+00:00 1 service_or_content review_rewrite_or_merge
18 https://iqon.com/services-solutions/is-advisory-services/it-strategy-governance/ /services-solutions/is-advisory-services/it-strategy-governance/ 2012-05-09T03:40:55+00:00 1 service_or_content review_rewrite_or_merge
19 https://iqon.com/services-solutions/is-advisory-services/ /services-solutions/is-advisory-services/ 2012-05-09T03:41:26+00:00 1 service_or_content review_rewrite_or_merge
20 https://iqon.com/services-solutions/is-advisory-services/is-regulatory-and-compliance-services/ /services-solutions/is-advisory-services/is-regulatory-and-compliance-services/ 2012-05-09T03:42:07+00:00 1 service_or_content review_rewrite_or_merge
21 https://iqon.com/services-solutions/is-advisory-services/business-continuity-and-disaster-recovery-planning-services/ /services-solutions/is-advisory-services/business-continuity-and-disaster-recovery-planning-services/ 2012-05-09T03:42:40+00:00 1 service_or_content review_rewrite_or_merge
22 https://iqon.com/services-solutions/is-advisory-services/information-security-services/ /services-solutions/is-advisory-services/information-security-services/ 2012-05-09T03:53:47+00:00 1 service_or_content review_rewrite_or_merge
23 https://iqon.com/services-solutions/is-advisory-services/business-technology-enterprise-architecture/ /services-solutions/is-advisory-services/business-technology-enterprise-architecture/ 2012-05-09T03:54:30+00:00 1 service_or_content review_rewrite_or_merge
24 https://iqon.com/services-solutions/it-infrastructure-services/end-user-computing-technology-solutions/ /services-solutions/it-infrastructure-services/end-user-computing-technology-solutions/ 2012-05-09T03:57:14+00:00 1 service_or_content review_rewrite_or_merge
25 https://iqon.com/services-solutions/it-infrastructure-services/infrastructure-management-consulting/ /services-solutions/it-infrastructure-services/infrastructure-management-consulting/ 2012-05-09T03:57:44+00:00 1 service_or_content review_rewrite_or_merge
26 https://iqon.com/services-solutions/it-infrastructure-services/ /services-solutions/it-infrastructure-services/ 2012-05-09T03:59:50+00:00 1 service_or_content review_rewrite_or_merge
27 https://iqon.com/services-solutions/mobility-consulting-services/ /services-solutions/mobility-consulting-services/ 2012-05-09T04:12:35+00:00 1 service_or_content review_rewrite_or_merge
28 https://iqon.com/services-solutions/it-infrastructure-services/it-infrastructure-transformation-services/ /services-solutions/it-infrastructure-services/it-infrastructure-transformation-services/ 2012-05-11T00:49:48+00:00 1 service_or_content review_rewrite_or_merge
29 https://iqon.com/services-solutions/mobility-consulting-services/mobility-software-services-applications/ /services-solutions/mobility-consulting-services/mobility-software-services-applications/ 2012-05-11T00:57:13+00:00 1 service_or_content review_rewrite_or_merge
30 https://iqon.com/services-solutions/mobility-consulting-services/mobility-managed-services/ /services-solutions/mobility-consulting-services/mobility-managed-services/ 2012-05-11T00:57:17+00:00 1 service_or_content review_rewrite_or_merge
31 https://iqon.com/services-solutions/mobility-consulting-services/mobility-business-integration-services/ /services-solutions/mobility-consulting-services/mobility-business-integration-services/ 2012-05-11T00:57:25+00:00 1 service_or_content review_rewrite_or_merge
32 https://iqon.com/services-solutions/mobility-consulting-services/mobility-software-services-devices-and-platforms/ /services-solutions/mobility-consulting-services/mobility-software-services-devices-and-platforms/ 2012-05-11T00:57:51+00:00 1 service_or_content review_rewrite_or_merge
33 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/ /услуги-решения/ 2013-05-17T11:20:07+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
34 https://iqon.com/hows-business/ /hows-business/ 2013-05-20T16:11:40+00:00 1 legacy_home_alias redirect_to_root_or_rewrite
35 https://iqon.com/%d0%ba%d0%b0%d0%ba-%d0%b8%d0%b4%d0%b5%d1%82-%d0%b1%d0%b8%d0%b7%d0%bd%d0%b5%d1%81/ /как-идет-бизнес/ 2013-05-20T16:21:27+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
36 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/enterprise-orchestration/ /услуги-решения/enterprise-management-decision-support-solutions/enterprise-orchestration/ 2013-05-20T18:45:44+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
37 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/enterprise-management-systems/ /услуги-решения/enterprise-management-decision-support-solutions/enterprise-management-systems/ 2013-05-20T18:54:03+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
38 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/customer-intelligence-solutions/ /услуги-решения/enterprise-management-decision-support-solutions/customer-intelligence-solutions/ 2013-05-20T19:07:13+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
39 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/enterprise-information-management/ /услуги-решения/enterprise-management-decision-support-solutions/enterprise-information-management/ 2013-05-20T19:47:23+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
40 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it-infrastructure-services/ /услуги-решения/it-infrastructure-services/ 2013-05-20T19:52:40+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
41 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it-infrastructure-services/infrastructure-management-consulting/ /услуги-решения/it-infrastructure-services/infrastructure-management-consulting/ 2013-05-20T20:04:11+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
42 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it-infrastructure-services/it-infrastructure-transformation-services/ /услуги-решения/it-infrastructure-services/it-infrastructure-transformation-services/ 2013-05-20T20:25:10+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
43 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/it-infrastructure-services/end-user-computing-technology-solutions/ /услуги-решения/it-infrastructure-services/end-user-computing-technology-solutions/ 2013-05-20T20:50:52+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
44 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/ /услуги-решения/industry-specific-services/ 2013-05-20T20:55:24+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
45 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/managed-services/ /услуги-решения/enterprise-management-decision-support-solutions/managed-services/ 2013-05-20T20:56:19+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
46 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/logistics-transport/ /услуги-решения/industry-specific-services/logistics-transport/ 2013-05-20T21:07:43+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
47 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/retail-wholesail/ /услуги-решения/industry-specific-services/retail-wholesail/ 2013-05-20T21:30:38+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
48 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/telecommunication/ /услуги-решения/industry-specific-services/telecommunication/ 2013-05-20T21:45:21+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
49 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/energy-utilities/ /услуги-решения/industry-specific-services/energy-utilities/ 2013-05-20T21:54:37+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
50 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/industry-specific-services/manufacturing-process/ /услуги-решения/industry-specific-services/manufacturing-process/ 2013-05-20T21:58:59+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
51 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/ /услуги-решения/mobility-consulting-services/ 2013-05-20T22:02:54+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
52 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/mobility-software-services-applications/ /услуги-решения/mobility-consulting-services/mobility-software-services-applications/ 2013-05-20T22:06:33+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
53 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/mobility-managed-services/ /услуги-решения/mobility-consulting-services/mobility-managed-services/ 2013-05-20T22:13:33+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
54 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/mobility-software-services-devices-and-platforms/ /услуги-решения/mobility-consulting-services/mobility-software-services-devices-and-platforms/ 2013-05-20T22:19:24+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
55 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/mobility-consulting-services/mobility-business-integration-services/ /услуги-решения/mobility-consulting-services/mobility-business-integration-services/ 2013-05-20T22:22:30+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
56 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/ /услуги-решения/is-advisory-services/ 2013-05-20T22:27:40+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
57 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/business-continuity-and-disaster-recovery-planning-services/ /услуги-решения/is-advisory-services/business-continuity-and-disaster-recovery-planning-services/ 2013-05-20T22:30:45+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
58 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/business-technology-enterprise-architecture/ /услуги-решения/is-advisory-services/business-technology-enterprise-architecture/ 2013-05-20T22:35:11+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
59 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/it-strategy-governance/ /услуги-решения/is-advisory-services/it-strategy-governance/ 2013-05-20T22:46:17+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
60 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/information-security-services/ /услуги-решения/is-advisory-services/information-security-services/ 2013-05-20T22:55:16+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
61 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/is-advisory-services/is-regulatory-and-compliance-services/ /услуги-решения/is-advisory-services/is-regulatory-and-compliance-services/ 2013-05-20T22:59:29+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
62 https://iqon.com/contact/ /contact/ 2013-07-18T14:12:20+00:00 2 duplicate canonicalize_or_remove_duplicate
63 https://iqon.com/contact/ /contact/ 2013-07-23T12:24:21+00:00 2 duplicate canonicalize_or_remove_duplicate
64 https://iqon.com/%d1%83%d1%81%d0%bb%d1%83%d0%b3%d0%b8-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d1%8f/enterprise-management-decision-support-solutions/ /услуги-решения/enterprise-management-decision-support-solutions/ 2013-07-23T12:27:35+00:00 1 encoded_multilingual decide_hreflang_or_noindex_redirect
65 https://iqon.com/homepage/ /homepage/ 2013-07-25T11:19:25+00:00 3 duplicate canonicalize_or_remove_duplicate
66 https://iqon.com/homepage/ /homepage/ 2013-07-25T11:19:25+00:00 3 duplicate canonicalize_or_remove_duplicate
67 https://iqon.com/homepage/ /homepage/ 2013-07-25T11:20:03+00:00 3 duplicate canonicalize_or_remove_duplicate
+151
View File
@@ -0,0 +1,151 @@
# IQON URL Cleanup Plan
Purpose: определить безопасную стратегию очистки sitemap, дублей, устаревших URL и multilingual-страниц `iqon.com` перед редизайном.
## Contents
- [Inputs](#inputs)
- [Inventory Summary](#inventory-summary)
- [Priority Groups](#priority-groups)
- [Recommended URL Policy](#recommended-url-policy)
- [Redirect Drafts](#redirect-drafts)
- [Verification](#verification)
- [Open Decisions](#open-decisions)
## Inputs
| Artifact | Role |
|----------|------|
| `reports/live-captures/2026-05-20/page-sitemap.xml` | Captured live Yoast page sitemap |
| `seo/sitemap-inventory-2026-05-20.csv` | Parsed URL inventory with classes and recommended actions |
| `scripts/iqon-sitemap-inventory.py` | Reproducible sitemap parser |
| `seo/redirect-map-2026-05-20.csv` | Draft 301 redirect map generated from inventory |
| `seo/nginx-redirects-2026-05-20.conf` | Draft nginx rewrite rules generated from redirect map |
| `scripts/iqon-generate-redirect-map.py` | Reproducible redirect-map generator |
## Inventory Summary
| Class | Count | Recommended Action |
|-------|-------|--------------------|
| `encoded_multilingual` | 29 | Decide hreflang or noindex/redirect |
| `service_or_content` | 26 | Review, rewrite, merge, or archive |
| `duplicate` | 7 | Canonicalize or remove duplicate entries |
| `homepage` | 1 | Rewrite homepage metadata and content |
| `thin_landing` | 1 | Rewrite as services overview |
| `typo_slug` | 1 | Redirect to corrected spelling |
| `legacy_home_alias` | 1 | Redirect to root or rewrite intentionally |
## Priority Groups
### P0: Fix Duplicates And Obvious Aliases
| URL Pattern | Problem | Proposed Action |
|-------------|---------|-----------------|
| `/homepage/` | Appears 3 times and duplicates root homepage intent | 301 to `/` unless WordPress requires it internally |
| `/contact/` | Appears twice in sitemap with different `lastmod` | Keep one canonical contact page |
| `/industry-specific-services/` | Appears twice outside the main `/services-solutions/` tree | 301 to `/services-solutions/industry-specific-services/` |
| `/hows-business/` | Legacy home/campaign alias | 301 to `/` or rewrite as a current thought-leadership page |
### P1: Fix Typo Slug
| URL | Problem | Proposed Action |
|-----|---------|-----------------|
| `/services-solutions/industry-specific-services/retail-wholesail/` | Typo in `wholesail` | 301 to `/services-solutions/industry-specific-services/retail-wholesale/` if page is retained |
### P1: Decide Russian URL Policy
There are 29 percent-encoded Russian-path URLs. Do not leave them as accidental indexable pages.
Choose one policy:
| Policy | Use When | Result |
|--------|----------|--------|
| Keep bilingual | Russian content is current and maintained | Add hreflang, clean RU nav, keep indexable |
| Archive Russian | Russian content is stale but useful | Noindex RU pages, keep reachable from archive |
| Remove Russian | Final site is English-only | 301 relevant RU URLs to English equivalents |
Recommended default unless business says otherwise: English-only public site with selected 301 redirects from Russian service URLs to matching English service pages.
### P1: Rewrite Thin Service Landing
`/services-solutions/` is a thin landing page. It should become the primary services overview with current service groups:
- IT strategy and governance
- Enterprise architecture and transformation
- Data, analytics, and decision support
- Infrastructure and cloud operations
- Security, continuity, and compliance
## Recommended URL Policy
Use a smaller, intentional URL set for the redesigned site:
| Final URL | Purpose |
|-----------|---------|
| `/` | Homepage |
| `/services/` | Services overview |
| `/services/strategy-governance/` | IT strategy and governance |
| `/services/enterprise-architecture/` | Business technology architecture |
| `/services/data-analytics/` | Enterprise information and decision support |
| `/services/infrastructure-cloud/` | Infrastructure and managed operations |
| `/services/security-continuity/` | Security, compliance, continuity |
| `/industries/` | Industry experience overview |
| `/case-studies/` | Current or clearly historical cases |
| `/contact/` | Verified contact path |
## Redirect Drafts
These are drafts, not deployed rules.
```nginx
rewrite ^/homepage/?$ / permanent;
rewrite ^/hows-business/?$ / permanent;
rewrite ^/industry-specific-services/?$ /services-solutions/industry-specific-services/ permanent;
rewrite ^/services-solutions/industry-specific-services/retail-wholesail/?$ /services-solutions/industry-specific-services/retail-wholesale/ permanent;
```
If the redesigned site uses the shorter `/services/` taxonomy, replace the destination URLs with the final URL set above.
Generated redirect artifacts:
| Artifact | Count | Notes |
|----------|-------|-------|
| `seo/redirect-map-2026-05-20.csv` | 32 rules | 28 RU-to-English defaults, 4 direct alias/typo redirects |
| `seo/nginx-redirects-2026-05-20.conf` | 32 rewrite rules | Review before deployment; not applied |
## Verification
```bash
scripts/iqon-sitemap-inventory.py reports/live-captures/2026-05-20/page-sitemap.xml seo/sitemap-inventory-2026-05-20.csv
python3 -c "import csv,collections; rows=list(csv.DictReader(open('seo/sitemap-inventory-2026-05-20.csv',encoding='utf-8'))); print(len(rows)); print(collections.Counter(r['class'] for r in rows))"
PYTHONPYCACHEPREFIX=/private/tmp/iqon-pycache python3 -m py_compile scripts/iqon-generate-redirect-map.py
python3 scripts/iqon-generate-redirect-map.py seo/sitemap-inventory-2026-05-20.csv seo/redirect-map-2026-05-20.csv seo/nginx-redirects-2026-05-20.conf
```
Expected current signal:
- `66` rows.
- `encoded_multilingual: 29`.
- `duplicate: 7`.
- `typo_slug: 1`.
- `thin_landing: 1`.
- `legacy_home_alias: 1`.
After cleanup, expected signal:
- No duplicate canonical URLs in sitemap.
- No accidental encoded Russian URLs unless bilingual policy is approved.
- No typo slug in sitemap.
- Root homepage and `/homepage/` are not both indexable.
## Open Decisions
- Should final public site be English-only or bilingual EN/RU?
- Should old service-detail pages survive as pages, merge into sections, or redirect to fewer modern pages?
- Should `/services-solutions/` stay for SEO continuity or redirect to `/services/` in the redesign?
- Should `/case-studies/` show historical cases or wait for current case material?
---
*Created: 20 May 2026*
*Updated: 20 May 2026*
File diff suppressed because it is too large Load Diff
+29
View File
@@ -0,0 +1,29 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Data & Analytics | IQON</title>
<meta name="description" content="IQON improves enterprise information management, decision support, reporting trust, and customer intelligence." />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Sora:wght@300;400;600;700;800&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="../../styles.css?v=20260520-qa7" />
</head>
<body>
<a class="skip-link" href="#main">Skip to content</a>
<header class="topbar"><a class="brand" href="/"><span class="brand-name">iqon</span></a><nav class="main-nav" aria-label="Primary"><a href="/">Home</a><a href="/services/" aria-current="page">Services</a><a href="/industries/">Industries</a><a href="/case-studies/">Cases</a><a href="/contact/">Contact</a></nav><a class="nav-cta" href="/contact/">Book Discovery Call</a></header>
<main id="main">
<section class="page-hero"><p class="eyebrow">Service</p><h1>Decision support leaders can trust.</h1><p class="lead">IQON helps teams move from fragmented reporting to governed data products and executive visibility.</p></section>
<section class="detail-grid">
<article class="detail-panel"><h2>Business Problem</h2><p>Reports conflict, ownership is unclear, and decisions slow down because business users do not trust the data.</p></article>
<article class="detail-panel"><h2>What IQON Delivers</h2><ul><li>Information management assessment</li><li>Decision-support model</li><li>Customer intelligence roadmap</li><li>Data governance operating rhythm</li></ul></article>
<article class="detail-panel"><h2>Stakeholders</h2><p>Executives, finance, operations, commercial teams, data owners, platform teams.</p></article>
<article class="detail-panel"><h2>Outcome</h2><p>A clearer data foundation for portfolio steering, customer insight, performance visibility, and operational control.</p></article>
</section>
<section class="cta-band"><h3>Improve decision visibility.</h3><a class="btn btn-dark" href="/contact/">Start with an assessment</a></section>
</main>
<footer><div class="footer-bottom"><p><a href="/services/">Services</a> | <a href="/contact/">Contact</a></p><p>2011-2026 Copyright IQON. All Rights Reserved.</p></div></footer>
<script src="../../script.js?v=20260520-qa7"></script>
</body>
</html>
@@ -0,0 +1,29 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Enterprise Architecture | IQON</title>
<meta name="description" content="IQON aligns business capabilities, systems, integrations, and transformation sequencing through enterprise architecture advisory." />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Sora:wght@300;400;600;700;800&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="../../styles.css?v=20260520-qa7" />
</head>
<body>
<a class="skip-link" href="#main">Skip to content</a>
<header class="topbar"><a class="brand" href="/"><span class="brand-name">iqon</span></a><nav class="main-nav" aria-label="Primary"><a href="/">Home</a><a href="/services/" aria-current="page">Services</a><a href="/industries/">Industries</a><a href="/case-studies/">Cases</a><a href="/contact/">Contact</a></nav><a class="nav-cta" href="/contact/">Book Discovery Call</a></header>
<main id="main">
<section class="page-hero"><p class="eyebrow">Service</p><h1>Architecture that connects business and delivery.</h1><p class="lead">IQON maps capabilities, platforms, dependencies, and constraints so transformation work can proceed with fewer surprises.</p></section>
<section class="detail-grid">
<article class="detail-panel"><h2>Business Problem</h2><p>Systems evolve in fragments. Teams need a coherent architecture that supports change without blocking delivery.</p></article>
<article class="detail-panel"><h2>What IQON Delivers</h2><ul><li>Current-state architecture assessment</li><li>Target architecture blueprint</li><li>Integration and migration sequencing</li><li>Architecture governance routines</li></ul></article>
<article class="detail-panel"><h2>Stakeholders</h2><p>CIO, CTO, enterprise architects, product owners, delivery leads, operations teams.</p></article>
<article class="detail-panel"><h2>Outcome</h2><p>Clear architectural direction, practical migration steps, and a stronger link between business goals and platform decisions.</p></article>
</section>
<section class="cta-band"><h3>Make architecture actionable.</h3><a class="btn btn-dark" href="/contact/">Talk to IQON</a></section>
</main>
<footer><div class="footer-bottom"><p><a href="/services/">Services</a> | <a href="/contact/">Contact</a></p><p>2011-2026 Copyright IQON. All Rights Reserved.</p></div></footer>
<script src="../../script.js?v=20260520-qa7"></script>
</body>
</html>
+68
View File
@@ -0,0 +1,68 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Services | IQON</title>
<meta name="description" content="IQON services align technology strategy, architecture, data, infrastructure, security, and delivery governance with business outcomes." />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Sora:wght@300;400;600;700;800&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="../styles.css?v=20260520-qa7" />
</head>
<body>
<a class="skip-link" href="#main">Skip to content</a>
<header class="topbar">
<a class="brand" href="/"><span class="brand-name">iqon</span></a>
<nav class="main-nav" aria-label="Primary">
<a href="/">Home</a>
<a href="/services/" aria-current="page">Services</a>
<a href="/industries/">Industries</a>
<a href="/case-studies/">Cases</a>
<a href="/contact/">Contact</a>
</nav>
<a class="nav-cta" href="/contact/">Book Discovery Call</a>
</header>
<main id="main">
<section class="page-hero">
<p class="eyebrow">Services</p>
<h1>Technology advisory built around decisions.</h1>
<p class="lead">IQON helps leadership teams turn unclear technology choices into governed roadmaps, resilient architectures, and measurable delivery plans.</p>
</section>
<section class="content-grid">
<article class="content-card">
<h2>Strategy & Governance</h2>
<p>Clarify investment priorities, operating cadence, decision rights, and delivery accountability.</p>
<a href="/services/strategy-governance/">Open service</a>
</article>
<article class="content-card">
<h2>Enterprise Architecture</h2>
<p>Connect business capabilities, platforms, integrations, teams, and transformation sequencing.</p>
<a href="/services/enterprise-architecture/">Open service</a>
</article>
<article class="content-card">
<h2>Data & Analytics</h2>
<p>Build trusted reporting, decision support, customer intelligence, and portfolio visibility.</p>
<a href="/services/data-analytics/">Open service</a>
</article>
<article class="content-card">
<h2>Infrastructure & Cloud</h2>
<p>Modernize infrastructure, service management, end-user computing, and operational resilience.</p>
<a href="/services/infrastructure-cloud/">Open service</a>
</article>
<article class="content-card">
<h2>Security & Continuity</h2>
<p>Improve risk posture, compliance readiness, continuity planning, and recovery confidence.</p>
<a href="/services/security-continuity/">Open service</a>
</article>
</section>
<section class="cta-band">
<h3>Need a sharper roadmap?</h3>
<p>Start with a focused advisory sprint to define priorities, risks, and next decisions.</p>
<a class="btn btn-dark" href="/contact/">Talk to IQON</a>
</section>
</main>
<footer><div class="footer-bottom"><p><a href="/">Home</a> | <a href="/services/">Services</a> | <a href="/contact/">Contact</a></p><p>2011-2026 Copyright IQON. All Rights Reserved.</p></div></footer>
<script src="../script.js?v=20260520-qa7"></script>
</body>
</html>
+29
View File
@@ -0,0 +1,29 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Infrastructure & Cloud | IQON</title>
<meta name="description" content="IQON helps organizations modernize infrastructure, cloud operations, service management, and end-user computing." />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Sora:wght@300;400;600;700;800&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="../../styles.css?v=20260520-qa7" />
</head>
<body>
<a class="skip-link" href="#main">Skip to content</a>
<header class="topbar"><a class="brand" href="/"><span class="brand-name">iqon</span></a><nav class="main-nav" aria-label="Primary"><a href="/">Home</a><a href="/services/" aria-current="page">Services</a><a href="/industries/">Industries</a><a href="/case-studies/">Cases</a><a href="/contact/">Contact</a></nav><a class="nav-cta" href="/contact/">Book Discovery Call</a></header>
<main id="main">
<section class="page-hero"><p class="eyebrow">Service</p><h1>Infrastructure built for resilience and control.</h1><p class="lead">IQON assesses operating risk, modernization options, service models, and cloud decisions through a business lens.</p></section>
<section class="detail-grid">
<article class="detail-panel"><h2>Business Problem</h2><p>Infrastructure cost, reliability, and service quality are difficult to steer when ownership and priorities are fragmented.</p></article>
<article class="detail-panel"><h2>What IQON Delivers</h2><ul><li>Infrastructure maturity assessment</li><li>Cloud and platform roadmap</li><li>Managed services model</li><li>End-user computing strategy</li></ul></article>
<article class="detail-panel"><h2>Stakeholders</h2><p>CIO, infrastructure leads, service owners, procurement, security, finance, operations.</p></article>
<article class="detail-panel"><h2>Outcome</h2><p>A modernization plan that balances resilience, cost, service quality, and execution risk.</p></article>
</section>
<section class="cta-band"><h3>Modernize without losing control.</h3><a class="btn btn-dark" href="/contact/">Discuss infrastructure priorities</a></section>
</main>
<footer><div class="footer-bottom"><p><a href="/services/">Services</a> | <a href="/contact/">Contact</a></p><p>2011-2026 Copyright IQON. All Rights Reserved.</p></div></footer>
<script src="../../script.js?v=20260520-qa7"></script>
</body>
</html>
+29
View File
@@ -0,0 +1,29 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Security & Continuity | IQON</title>
<meta name="description" content="IQON advises on information security, compliance readiness, business continuity, and disaster recovery planning." />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Sora:wght@300;400;600;700;800&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="../../styles.css?v=20260520-qa7" />
</head>
<body>
<a class="skip-link" href="#main">Skip to content</a>
<header class="topbar"><a class="brand" href="/"><span class="brand-name">iqon</span></a><nav class="main-nav" aria-label="Primary"><a href="/">Home</a><a href="/services/" aria-current="page">Services</a><a href="/industries/">Industries</a><a href="/case-studies/">Cases</a><a href="/contact/">Contact</a></nav><a class="nav-cta" href="/contact/">Book Discovery Call</a></header>
<main id="main">
<section class="page-hero"><p class="eyebrow">Service</p><h1>Risk readiness that fits the business.</h1><p class="lead">IQON helps organizations improve security posture, regulatory confidence, continuity planning, and recovery capability.</p></section>
<section class="detail-grid">
<article class="detail-panel"><h2>Business Problem</h2><p>Security and continuity programs often sit apart from business priorities, making investment and accountability unclear.</p></article>
<article class="detail-panel"><h2>What IQON Delivers</h2><ul><li>Security services assessment</li><li>Compliance readiness roadmap</li><li>Business continuity planning</li><li>Disaster recovery operating model</li></ul></article>
<article class="detail-panel"><h2>Stakeholders</h2><p>CIO, CISO, risk, compliance, operations, legal, business continuity owners.</p></article>
<article class="detail-panel"><h2>Outcome</h2><p>A practical risk roadmap tied to business priorities, regulatory expectations, and operational recovery needs.</p></article>
</section>
<section class="cta-band"><h3>Make risk decisions explicit.</h3><a class="btn btn-dark" href="/contact/">Talk to IQON</a></section>
</main>
<footer><div class="footer-bottom"><p><a href="/services/">Services</a> | <a href="/contact/">Contact</a></p><p>2011-2026 Copyright IQON. All Rights Reserved.</p></div></footer>
<script src="../../script.js?v=20260520-qa7"></script>
</body>
</html>
+29
View File
@@ -0,0 +1,29 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Strategy & Governance | IQON</title>
<meta name="description" content="IQON helps leadership teams govern technology investment, delivery priorities, risks, and executive decision cadence." />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Sora:wght@300;400;600;700;800&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="../../styles.css?v=20260520-qa7" />
</head>
<body>
<a class="skip-link" href="#main">Skip to content</a>
<header class="topbar"><a class="brand" href="/"><span class="brand-name">iqon</span></a><nav class="main-nav" aria-label="Primary"><a href="/">Home</a><a href="/services/" aria-current="page">Services</a><a href="/industries/">Industries</a><a href="/case-studies/">Cases</a><a href="/contact/">Contact</a></nav><a class="nav-cta" href="/contact/">Book Discovery Call</a></header>
<main id="main">
<section class="page-hero"><p class="eyebrow">Service</p><h1>Strategy and governance for technology decisions.</h1><p class="lead">When priorities compete and delivery confidence is low, IQON structures decision rights, investment logic, and execution governance.</p></section>
<section class="detail-grid">
<article class="detail-panel"><h2>Business Problem</h2><p>Leadership needs a way to compare initiatives, fund the right work, and see risk before execution cost compounds.</p></article>
<article class="detail-panel"><h2>What IQON Delivers</h2><ul><li>IT strategy assessment</li><li>Governance model and decision cadence</li><li>Portfolio prioritization framework</li><li>Transformation roadmap</li></ul></article>
<article class="detail-panel"><h2>Stakeholders</h2><p>CEO, CIO, CFO, transformation leads, enterprise architects, risk and compliance owners.</p></article>
<article class="detail-panel"><h2>Outcome</h2><p>A roadmap that makes tradeoffs explicit and gives leadership a repeatable way to steer technology investment.</p></article>
</section>
<section class="cta-band"><h3>Clarify the next decision.</h3><a class="btn btn-dark" href="/contact/">Start an advisory sprint</a></section>
</main>
<footer><div class="footer-bottom"><p><a href="/services/">Services</a> | <a href="/contact/">Contact</a></p><p>2011-2026 Copyright IQON. All Rights Reserved.</p></div></footer>
<script src="../../script.js?v=20260520-qa7"></script>
</body>
</html>
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url><loc>https://www.iqon.com/</loc></url>
<url><loc>https://www.iqon.com/kz/</loc></url>
<url><loc>https://www.iqon.com/case-studies/</loc></url>
</urlset>

Some files were not shown because too many files have changed in this diff Show More