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>
This commit is contained in:
Sergei Vasilev
2026-05-18 12:58:44 +03:00
parent 212909283c
commit 2fadc15923
52 changed files with 2208 additions and 0 deletions
+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*