ошибка
#001 · ALL
A · Техническое SEO
Целевой URL отдаёт HTTP 200 (не 404/410/5xx)
предупреждение
#002 · ALL
A · Техническое SEO
Final URL после редиректов совпадает с canonical (нет лишних hop)
пройдено
#003 · ALL
A · Техническое SEO
Страница indexable: нет `noindex` на money-page
ошибка
#004 · ALL
A · Техническое SEO
Canonical присутствует и self-referencing
ошибка
#005 · EX
A · Техническое SEO
Canonical указывает на ту же пару и язык (не другую пару)
пройдено
#006 · ALL
A · Техническое SEO
HTTPS везде; нет mixed content (http assets)
вручную
#007 · SITE
A · Техническое SEO
Единый хост: www vs non-www — один канон, второй 301
вручную
#008 · ALL
A · Техническое SEO
Trailing slash политика единообразна (со slash или без)
ошибка
#009 · SITE
A · Техническое SEO
robots.txt доступен (200) и не содержит `Disallow: /`
ошибка
#010 · SITE
A · Техническое SEO
Sitemap указан в robots.txt (`Sitemap:` directive)
ошибка
#011 · SITE
A · Техническое SEO
sitemap.xml доступен (200), валидный XML
предупреждение
#012 · EX
A · Техническое SEO
URL страницы присутствует в sitemap (или child sitemap)
ошибка
#013 · ALL
A · Техническое SEO
Контент SSR/пререндер — в HTML есть H1 и основной текст (не пустой shell)
ошибка
#014 · ALL
A · Техническое SEO
Viewport meta для mobile (`width=device-width`)
предупреждение
#015 · ALL
A · Техническое SEO
Charset UTF-8 задан
вручную
#016 · ALL
A · Техническое SEO
Нет битых внутренних ссылок на первом экране и в nav
предупреждение
#017 · EX
A · Техническое SEO
Slug URL `/exchange-{from}-{to}` соответствует монетам на странице
пройдено
#018 · ALL
A · Техническое SEO
TTFB / latency ≤ 3s (warn > 3s, fail > 6s)
вручную
#019 · ALL
A · Техническое SEO
Pagination / params не создают дубли indexable (utm, session)
вручную
#020 · SITE
A · Техническое SEO
404 страница кастомная, не soft-404 (200 с пустым контентом)
ошибка
#021 · ALL
B · Мета и соцсети
meta title [`meta_title`] не пустой на indexable URL
ошибка
#022 · ALL
B · Мета и соцсети
Длина meta title 45–65 символов (warn вне диапазона)
вручную
#023 · EX
B · Мета и соцсети
Primary keyword ближе к началу meta title
предупреждение
#024 · ALL
B · Мета и соцсети
Бренд Quickex в title (
вручную
#025 · EX
B · Мета и соцсети
meta title уникален для пары (не copy-paste другой пары)
ошибка
#026 · ALL
B · Мета и соцсети
meta description присутствует
ошибка
#027 · ALL
B · Мета и соцсети
Длина description 120–170 символов
ошибка
#028 · ALL
B · Мета и соцсети
Description не содержит body-copy (>300 символов = fail)
пройдено
#029 · ALL
B · Мета и соцсети
Description не дублирует H1 дословно
вручную
#030 · ALL
B · Мета и соцсети
Description содержит intent + УТП + мягкий CTA
предупреждение
#031 · ALL
B · Мета и соцсети
og:title заполнен и согласован с meta title
предупреждение
#032 · ALL
B · Мета и соцсети
og:description заполнен
предупреждение
#033 · ALL
B · Мета и соцсети
og:image присутствует, абсолютный URL, ≥200px
предупреждение
#034 · ALL
B · Мета и соцсети
twitter:card (summary/summary_large_image) задан
предупреждение
#035 · ALL
B · Мета и соцсети
twitter:title / description не пустые
ошибка
#036 · EX
C · Контент и структура
H1 [`title`] присутствует (ровно один видимый H1)
ошибка
#037 · EX
C · Контент и структура
H1 содержит полные имена монет: `Bitcoin (BTC) to Monero (XMR)`
пройдено
#038 · EX
C · Контент и структура
H1 без шаблона `BTC (BTC)` / `XMR (XMR)`
пройдено
#039 · EX
C · Контент и структура
H1 не дублирует meta title дословно
предупреждение
#040 · EX
C · Контент и структура
subtitle / main_subtitle заполнен, поддерживает intent
предупреждение
#041 · EX
C · Контент и структура
Блок How-to (`exchange_pair_section1_title`) — заголовок есть
предупреждение
#042 · EX
C · Контент и структура
how_step1–4 — все 4 шага заполнены, без template leak
вручную
#043 · EX
C · Контент и структура
how_text_1–4 (тела шагов) — заполнены, не пустые
пройдено
#044 · EX
C · Контент и структура
В how steps нет `{instrument`, `BTC (BTC)`, `123`, `1122`
предупреждение
#045 · EX
C · Контент и структура
Блок Exchange rate today — title + description
предупреждение
#046 · EX
C · Контент и структура
section_pairs_pair_from (TOP links) — title + описание
предупреждение
#047 · EX
C · Контент и структура
section_pairs_pair_to (BOTTOM links) — title + описание
вручную
#048 · EX
C · Контент и структура
Перелинковка ведёт на валидные exchange URL
предупреждение
#049 · EX
C · Контент и структура
FAQ — минимум 3–5 вопросов видимы
вручную
#050 · EX
C · Контент и структура
FAQ ответы уникальны для пары, не generic placeholder
предупреждение
#051 · EX
C · Контент и структура
about_section — заголовок + subtitle про обе монеты
пройдено
#052 · EX
C · Контент и структура
About: формат `Bitcoin (BTC):` не `BTC (Bitcoin):`
предупреждение
#053 · EX
C · Контент и структура
section_why (benefits) — блок присутствует
предупреждение
#054 · EX
C · Контент и структура
KYC / anonymous блок (`section3_*`) — честная формулировка
предупреждение
#055 · EX
C · Контент и структура
Transparent rate (`section4_*`) — без ложных claim
предупреждение
#056 · EX
C · Контент и структура
Instant swap (`section5_*`) — без overclaim speed
предупреждение
#057 · EX
C · Контент и структура
Reviews / trust блок виден на странице
вручную
#058 · EX
C · Контент и структура
Left nav anchors (`nav_*`) работают (scroll to section)
н/д
#059 · HP
C · Контент и структура
Homepage: уникальный H1, не generic «Crypto Exchange» only
н/д
#060 · PR
C · Контент и структура
Premium/VIP: meta не содержит body-copy в title/description
вручную
#061 · EX
D · LQA и бренд
Направление пары в тексте совпадает с URL (FROM→TO)
н/д
#062 · RU
D · LQA и бренд
В RU-текстах нет латинского «swap» (только «обмен»)
вручную
#063 · EX
D · LQA и бренд
EN↔RU parity: смысл совпадает, нет противоречий
предупреждение
#064 · ALL
D · LQA и бренд
Комиссии в тексте: Fixed 1% / Floating 0.5% — без выдуманных цифр
пройдено
#065 · ALL
D · LQA и бренд
KYC claim честный: без KYC для стандартных сумм, не «100% anonymous»
пройдено
#066 · EX
D · LQA и бренд
Privacy-пары (btc-xmr): нет overclaim («untraceable», «100%»)
пройдено
#067 · EX
D · LQA и бренд
Нейминг сети: `Tether (TRC20)` не `USDT (USDT)`
вручную
#068 · EX
D · LQA и бренд
TMS meta_title заполнен (не null → шаблон на live)
вручную
#069 · EX
D · LQA и бренд
TMS meta_description заполнен
вручную
#070 · EX
D · LQA и бренд
TMS title (H1) override есть на high-risk паре
н/д
#071 · EX
D · LQA и бренд
nav_how_to_swap_title — не трогаем без запроса (DEFER)
н/д
#072 · EX
D · LQA и бренд
how_step2 «Provide … address» — DEFER, не fail
н/д
#073 · EX
D · LQA и бренд
«Step N.» prefix в how_step — DEFER
пройдено
#074 · ALL
D · LQA и бренд
Нет опечаток бренда: Quickex, не Quicex / QuickEx
пройдено
#075 · ALL
D · LQA и бренд
Non-custodial messaging согласован (не «мы храним»)
вручную
#076 · EX
E · Ключевые слова
Primary KW (Ahrefs top) в meta title — естественно
вручную
#077 · EX
E · Ключевые слова
Primary KW в H1 или первом абзаце
вручную
#078 · EX
E · Ключевые слова
Secondary / LSI в FAQ или about (2+ вхождения)
пройдено
#079 · EX
E · Ключевые слова
Нет keyword stuffing (один KW >5× подряд)
предупреждение
#080 · EX
E · Ключевые слова
Privacy intent: anonymous / no KYC / fast — уместно для xmr-пар
вручную
#081 · EX
E · Ключевые слова
Search intent (informational vs transactional) соответствует типу страницы
вручную
#082 · EX
E · Ключевые слова
Gap vs ChangeNOW: структура блоков не слабее (how/FAQ/about)
вручную
#083 · EX
E · Ключевые слова
Gap vs Changelly: meta/H1 покрывают top KW
вручную
#084 · EX
E · Ключевые слова
Title/description не копируют конкурента дословно
вручную
#085 · EX
E · Ключевые слова
Long-tail из PAA закрыт минимум 1 FAQ
предупреждение
#086 · ALL
F · Структурированные данные
JSON-LD присутствует (`application/ld+json`)
н/д
#087 · EX
F · Структурированные данные
FAQPage schema есть, если FAQ виден
вручную
#088 · EX
F · Структурированные данные
FAQ schema matches видимым Q/A (нет hidden FAQ only in schema)
вручную
#089 · SITE
F · Структурированные данные
Organization / WebSite schema на homepage или global
предупреждение
#090 · ALL
F · Структурированные данные
JSON-LD валидный JSON (нет syntax error)
ошибка
#091 · EX
G · i18n и hreflang
hreflang теги присутствуют для языковых версий
предупреждение
#092 · EX
G · i18n и hreflang
x-default hreflang задан
вручную
#093 · EX
G · i18n и hreflang
hreflang reciprocal (ru↔en ссылаются друг на друга)
вручную
#094 · EX
G · i18n и hreflang
hreflang URL 200 и тот же path пары
н/д
#095 · EX
G · i18n и hreflang
Контент локализован, не EN duplicate на /ru/
предупреждение
#096 · ALL
H · Доверие и UX
Favicon и app icons присутствуют
вручную
#097 · ALL
H · Доверие и UX
CTA не spam (не >3 aggressive popups above fold)
предупреждение
#098 · EX
H · Доверие и UX
Exchange widget загружается и показывает пару
пройдено
#099 · ALL
H · Доверие и UX
Core Web Vitals LCP < 2.5s (field or lab, warn if worse)
пройдено
#100 · ALL
H · Доверие и UX
Accessibility basics: images с alt, контраст кнопок приемлемый
ошибка
#101 · NUXT
N · Nuxt / SPA
SSR/SSG: в view-source есть осмысленный текст (>150 символов), не пустой shell
предупреждение
#102 · NUXT
N · Nuxt / SPA
Payload __NUXT__ / __NUXT_DATA__ / `window.__NUXT__` в HTML (Nuxt 3)
ошибка
#103 · NUXT
N · Nuxt / SPA
H1 в исходном HTML — не только после гидрации JS
ошибка
#104 · NUXT
N · Nuxt / SPA
`<title>` в исходном HTML — useHead/useSeoMeta отработал на сервере
ошибка
#105 · NUXT
N · Nuxt / SPA
meta description в исходном HTML (не client-only)
предупреждение
#106 · NUXT
N · Nuxt / SPA
canonical в исходном HTML
ошибка
#107 · NUXT
N · Nuxt / SPA
`/_nuxt/` assets — главный JS-бандл отдаёт 200 (не 404)
ошибка
#108 · NUXT
N · Nuxt / SPA
`html lang="..."` задан и соответствует локали URL
ошибка
#109 · NUXT
N · Nuxt / SPA
Нет паттерна пустого `#__nuxt`/`#app` (<200 символов видимого текста)
предупреждение
#110 · NUXT
N · Nuxt / SPA
OG-теги в исходном HTML (не только после Vue mount)
предупреждение
#111 · NUXT
N · Nuxt / SPA
JSON-LD в исходном HTML для SEO-страниц
пройдено
#112 · NUXT
N · Nuxt / SPA
CLS: ≥50% `<img>` без width/height (типично для самописных Nuxt)
пройдено
#113 · NUXT
N · Nuxt / SPA
Не более 10 blocking scripts в `<head>`
пройдено
#114 · NUXT
N · Nuxt / SPA
Нет `<meta http-equiv="refresh">` редиректа (soft SEO trap)
пройдено
#115 · NUXT
N · Nuxt / SPA
Один `<title>` — layout + page не дублируют
пройдено
#116 · NUXT
N · Nuxt / SPA
i18n prefix: `/ru/` → lang=ru или hreflang ru
предупреждение
#117 · NUXT
N · Nuxt / SPA
preload критичных шрифтов или CSS (не всё через JS)
предупреждение
#118 · NUXT
N · Nuxt / SPA
`modulepreload` / prefetch для route chunks — признак нормального Nuxt build
ошибка
#119 · NUXT
N · Nuxt / SPA
Нет `data-server-rendered="true"` missing + empty body (CSR-only mode)
пройдено
#120 · NUXT
N · Nuxt / SPA
robots/noindex не задан ошибочно в nuxt.config через meta на prod
пройдено
#121 · SITE
I · AI Readiness
llms.txt на корне (`/llms.txt` → 200, не пустой)
пройдено
#122 · SITE
I · AI Readiness
PerplexityBot не заблокирован в robots.txt
пройдено
#123 · SITE
I · AI Readiness
ClaudeBot / Anthropic-AI — осознанная политика доступа
пройдено
#124 · SITE
I · AI Readiness
GPTBot / ChatGPT-User — явная политика (не accidental block)
предупреждение
#125 · SITE
I · AI Readiness
Google-Extended / GoogleOther — training vs search разделены
пройдено
#126 · SITE
I · AI Readiness
Applebot-Extended доступен (Apple Intelligence citations)
предупреждение
#127 · ALL
I · AI Readiness
FAQPage schema на money/pillar страницах
предупреждение
#128 · ALL
I · AI Readiness
Data tables — HTML `<table>` для AI citability
ошибка
#129 · SITE
J · Безопасность
Strict-Transport-Security (HSTS) в ответе сервера
ошибка
#130 · SITE
J · Безопасность
X-Content-Type-Options: nosniff
пройдено
#131 · SITE
J · Безопасность
X-Frame-Options или CSP `frame-ancestors`
пройдено
#132 · SITE
J · Безопасность
Content-Security-Policy задан (не пустой)
пройдено
#133 · ALL
J · Безопасность
Mixed content — нет `http://` ресурсов на HTTPS странице
пройдено
#134 · SITE
J · Безопасность
Privacy policy — ссылка в footer / навигации
пройдено
#135 · SITE
J · Безопасность
Контакты — email или телефон на сайте
пройдено
#136 · ALL
K · Pro-архитектура
Redirect chain ≤2 hops до финального URL
пройдено
#137 · ALL
K · Pro-архитектура
Нет redirect loop
пройдено
#138 · ALL
K · Pro-архитектура
Канонический редирект 301 (не 302) где применимо
пройдено
#139 · SITE
K · Pro-архитектура
Уникальные title — нет дублей между страницами шаблона
пройдено
#140 · SITE
K · Pro-архитектура
Уникальные meta description — нет массовых дублей
вручную
#141 · ALL
K · Pro-архитектура
Schema drift — JSON-LD name/title ≈ visible H1 (±40%)
ошибка
#142 · ALL
K · Pro-архитектура
Internal links ≥3 на странице (same-domain)
ошибка
#143 · SITE
K · Pro-архитектура
Sitemap в robots.txt и sitemap.xml → 200
ошибка
#144 · ALL
K · Pro-архитектура
Self-referencing canonical (не chain на другой URL)
пройдено
#145 · SITE
K · Pro-архитектура
Googlebot не заблокирован (search ≠ training)