For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: Adapt dymka.app for Google indexing and ranking without losing existing Yandex positions.
Architecture: Single-deployment approach — fix technical blockers (robots.txt, hreflang, JSON-LD) and add content (MTProxy section, unlocks section, comparison expansion, 4 FAQ) in one PR. All changes are additive — nothing currently working in Yandex gets modified.
Tech Stack: Jekyll 4.3, HTML, CSS, JSON-LD structured data
Spec: docs/superpowers/specs/2026-04-05-google-seo-adaptation-design.md
| File | Action | Responsibility |
|---|---|---|
robots.txt |
Fix | Sitemap URL old domain → dymka.app |
_config.yml |
Update | description field |
_layouts/default.html |
Add | hreflang, Organization JSON-LD, BreadcrumbList JSON-LD, 4 new FAQ in FAQPage JSON-LD |
index.html |
Add | 2 new sections, expanded comparison, 4 new FAQ items |
styles.css |
Add | Styles for .proxy-section and .unlocks |
Files:
robots.txtModify: _config.yml
In robots.txt, replace line 4:
Sitemap: https://vpn.nnslvp.io/sitemap.xml
with:
Sitemap: https://dymka.app/sitemap.xml
In _config.yml, replace line 3:
description: "VPN для России с умным роутингом. Госуслуги, Авито, Wildberries работают без отключения. Telegram разблокирован. Бесплатно."
with:
description: "Бесплатный VPN бот в Telegram. Обход блокировок Telegram и сайтов в России. Умный роутинг — Госуслуги работают без отключения. Подключись за 30 секунд."
Run: bundle exec jekyll build 2>&1 | tail -5
Expected: Build succeeds, no errors.
git add robots.txt _config.yml
git commit -m "fix: update robots.txt sitemap URL and config description for Google indexing"
Files:
Modify: _layouts/default.html
Step 1: Add hreflang tags
In _layouts/default.html, after line 14 (<meta name="robots" content="index, follow">), add:
<link rel="alternate" hreflang="ru" href="https://dymka.app/docs/superpowers/plans/2026-04-05-google-seo-adaptation.html" />
<link rel="alternate" hreflang="x-default" href="https://dymka.app/docs/superpowers/plans/2026-04-05-google-seo-adaptation.html" />
In _layouts/default.html, after the closing </script> of the FAQPage JSON-LD block (line 161), add:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Дымка VPN",
"url": "https://dymka.app",
"logo": "https://dymka.app/assets/favicon-96x96.png",
"sameAs": ["https://t.me/dymkavpn_bot"]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1,
"name": "Главная",
"item": "https://dymka.app/"
}]
}
</script>
Run: bundle exec jekyll build 2>&1 | tail -5
Expected: Build succeeds.
Run: grep -c 'hreflang' _site/index.html
Expected: 2
Run: grep -c 'BreadcrumbList' _site/index.html
Expected: 1
git add _layouts/default.html
git commit -m "feat: add hreflang tags, Organization and BreadcrumbList JSON-LD"
Files:
Modify: _layouts/default.html
Step 1: Append 4 new questions to FAQPage JSON-LD
In _layouts/default.html, inside the FAQPage JSON-LD mainEntity array, after the last existing question object (the “Есть ли пробный период?” entry ending around line 157), add a comma after the closing } of the last entry, then add these 4 new question objects:
,
{
"@type": "Question",
"name": "Какой VPN работает через Telegram?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Дымка VPN работает как Telegram-бот @dymkavpn_bot. Откройте бот, нажмите /start — бот определит ваше устройство и выдаст конфигурацию. Скачайте VPN-приложение из Play Store или App Store (v2rayNG для Android, Streisand для iOS), вставьте ссылку — VPN подключится за 30 секунд. Протокол VLESS+Reality обходит блокировки DPI в России."
}
},
{
"@type": "Question",
"name": "Какой VPN скачать чтобы работал YouTube?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Для YouTube в России нужен VPN с обходом DPI-блокировок. Большинство популярных VPN (NordVPN, ExpressVPN, ProtonVPN) заблокированы. Дымка VPN использует протокол VLESS+Reality — трафик неотличим от обычного HTTPS, поэтому блокировки не срабатывают. YouTube работает без замедления, включая видео в HD и 4K."
}
},
{
"@type": "Question",
"name": "Как сделать VPN в телеграмме?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Откройте @dymkavpn_bot в Telegram и нажмите /start. Бот спросит ваше устройство — Android, iPhone или ПК. Скачайте VPN-приложение из магазина: v2rayNG (Android, Play Store), Streisand (iOS, App Store), v2rayN (Windows/macOS/Linux). Бот выдаст ссылку подписки — скопируйте её в приложение. VPN подключится автоматически. Весь процесс — 30 секунд, регистрация не нужна."
}
},
{
"@type": "Question",
"name": "Чем отличается прокси от VPN?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Прокси (MTProxy) разблокирует только Telegram — работает мгновенно, без установки приложений. Нажмите «Добавить прокси» — Telegram подключится за секунды. VPN разблокирует всё: YouTube, Instagram, ChatGPT и другие сервисы — но нужно скачать приложение из Play Store или App Store. Если нужен только Telegram — добавьте прокси. Нужны другие сервисы — подключите VPN через бота @dymkavpn_bot."
}
}
Run: bundle exec jekyll build && python3 -c "import json; data=open('_site/index.html').read(); [json.loads(s.split('</script>')[0]) for s in data.split('application/ld+json\">')[1:]]; print('All JSON-LD blocks valid')"
Expected: All JSON-LD blocks valid
git add _layouts/default.html
git commit -m "feat: add 4 new FAQ entries to FAQPage JSON-LD for Google PAA"
Files:
Modify: index.html
Step 1: Add proxy section HTML
In index.html, after the closing </section> of the Hero section (line 51, after <!-- Hero --> section ends), add:
<!-- Proxy -->
<section class="proxy-section" id="proxy">
<div class="wrap">
<div class="slabel">Прокси</div>
<h2>Бесплатный прокси для Telegram — доступ за 30 секунд</h2>
<div class="proxy-content">
<div class="proxy-text">
<p>Telegram заблокирован? <strong>Добавьте MTProxy прокси</strong> — Telegram подключится мгновенно, без установки приложений и регистрации. MTProxy — это встроенная в Telegram технология прокси, которая работает на уровне мессенджера и не требует дополнительного ПО.</p>
<p>Прокси разблокирует переписки, каналы, звонки и видеозвонки в Telegram. Настройка занимает 30 секунд: нажмите кнопку или отсканируйте QR-код — Telegram сам предложит подключиться к прокси. В 2026 году это самый быстрый способ вернуть доступ к Telegram в России.</p>
<p>Нужен доступ к YouTube, Instagram или ChatGPT? Через прокси откройте бота <a href="https://t.me/dymkavpn_bot">@dymkavpn_bot</a> и подключите полноценный VPN — он разблокирует все заблокированные сервисы.</p>
</div>
<div class="proxy-action">
<a href="tg://proxy?server=proxy.dymka.app&port=2087&secret=ee9294cd43917c945d88db17fa0c0988617777772e636c6f7564666c6172652e636f6d" class="btn">
Добавить прокси в Telegram
<span class="btn-arr">→</span>
</a>
</div>
</div>
</div>
</section>
Run: bundle exec jekyll build 2>&1 | tail -3
Expected: Build succeeds.
Run: grep -c 'proxy-section' _site/index.html
Expected: 1
git add index.html
git commit -m "feat: add MTProxy section targeting 'прокси для телеграм' keyword cluster"
Files:
Modify: index.html
Step 1: Add unlocks section HTML
In index.html, after the closing </section> of the VLESS section (after <!-- VLESS section --> ends), add:
<!-- Unlocks -->
<section class="unlocks" id="unlocks">
<div class="wrap">
<div class="slabel">Доступ</div>
<h2>Какие сервисы разблокирует Дымка VPN</h2>
<div class="unlocks-grid">
<div class="unlock-card">
<h3>Видео и музыка</h3>
<p><strong>YouTube</strong> — видео без буферизации в HD и 4K, Shorts загружаются мгновенно, YouTube Music работает в фоне. <strong>Spotify</strong> — полный каталог без региональных ограничений. <strong>Netflix</strong> — зарубежные библиотеки контента. <strong>Twitch</strong> — стримы без задержек.</p>
</div>
<div class="unlock-card">
<h3>Соцсети</h3>
<p><strong>Instagram</strong> — лента, Stories, Reels и Direct без ограничений. <strong>Twitter/X</strong> — полный доступ к ленте и Space. <strong>Facebook</strong> — страницы, группы и Marketplace. <strong>LinkedIn</strong> — поиск вакансий и деловые контакты. <strong>TikTok</strong> — просмотр и публикация видео.</p>
</div>
<div class="unlock-card">
<h3>Мессенджеры</h3>
<p><strong>Telegram</strong> — мгновенный доступ через MTProxy прокси без установки приложений, или полный VPN для всего трафика. <strong>WhatsApp</strong> — голосовые и видеозвонки, которые блокируются без VPN. <strong>Discord</strong> — голосовые каналы, стримы и экран.</p>
</div>
<div class="unlock-card">
<h3>Работа и AI</h3>
<p><strong>ChatGPT</strong> — доступ к GPT-4 и генерации изображений. <strong>Claude</strong> — полный доступ к claude.ai. <strong>Google Gemini</strong> — AI-функции Google без ограничений. <strong>Notion AI</strong>, <strong>GitHub Copilot</strong> — инструменты для разработчиков и продуктивности.</p>
</div>
</div>
<p class="unlocks-note">Умный роутинг гарантирует, что российские сайты — Госуслуги, Авито, Wildberries, Сбербанк, банковские приложения — продолжают работать напрямую, без замедления. VPN включается только для заблокированных сервисов.</p>
</div>
</section>
Run: bundle exec jekyll build 2>&1 | tail -3
Expected: Build succeeds.
Run: grep -c 'unlocks' _site/index.html
Expected: at least 3 (section class, grid class, note class)
git add index.html
git commit -m "feat: add 'Какие сервисы разблокирует' section with service categories"
Files:
Modify: index.html
Step 1: Add expanded comparison text
In index.html, after the existing <p class="cmp-note"> paragraph in the comparison section (line 143), add:
<div class="cmp-detail">
<p>В 2024–2026 годах Роскомнадзор усилил блокировки VPN через систему глубокой инспекции пакетов (DPI) и ТСПУ. Протоколы OpenVPN, WireGuard и L2TP имеют характерные «отпечатки» в трафике и легко обнаруживаются. NordVPN, ExpressVPN и ProtonVPN перестали работать в России именно по этой причине.</p>
<p>Дымка VPN использует протокол VLESS+Reality — трафик маскируется под обычное TLS-соединение и неотличим от обычного HTTPS. DPI-системы не могут его обнаружить. VPN-приложения (v2rayNG, Streisand, v2rayN) доступны в Play Store и App Store — не нужно скачивать файлы с непроверенных сайтов. Бот @dymkavpn_bot выдаёт только конфигурацию подключения.</p>
</div>
In index.html, after the last <div class="faq-item"> (the “Есть ли пробный период?” item ending around line 296), but before the closing </div> of .faq-list, add:
<div class="faq-item">
<div class="faq-q">Какой VPN работает через Telegram?</div>
<div class="faq-a">
<p>Дымка VPN работает как Telegram-бот <a href="https://t.me/dymkavpn_bot">@dymkavpn_bot</a>. Откройте бот, нажмите /start — бот определит ваше устройство и выдаст конфигурацию. Скачайте VPN-приложение из Play Store или App Store (v2rayNG для Android, Streisand для iOS), вставьте ссылку — VPN подключится за 30 секунд. Протокол VLESS+Reality обходит блокировки DPI в России.</p>
</div>
</div>
<div class="faq-item">
<div class="faq-q">Какой VPN скачать чтобы работал YouTube?</div>
<div class="faq-a">
<p>Для YouTube в России нужен VPN с обходом DPI-блокировок. Большинство популярных VPN (NordVPN, ExpressVPN, ProtonVPN) заблокированы. Дымка VPN использует протокол VLESS+Reality — трафик неотличим от обычного HTTPS, поэтому блокировки не срабатывают. YouTube работает без замедления, включая видео в HD и 4K.</p>
</div>
</div>
<div class="faq-item">
<div class="faq-q">Как сделать VPN в телеграмме?</div>
<div class="faq-a">
<p>Откройте <a href="https://t.me/dymkavpn_bot">@dymkavpn_bot</a> в Telegram и нажмите /start. Бот спросит ваше устройство — Android, iPhone или ПК. Скачайте VPN-приложение из магазина: v2rayNG (Android, Play Store), Streisand (iOS, App Store), v2rayN (Windows/macOS/Linux). Бот выдаст ссылку подписки — скопируйте её в приложение. VPN подключится автоматически. Весь процесс — 30 секунд, регистрация не нужна.</p>
</div>
</div>
<div class="faq-item">
<div class="faq-q">Чем отличается прокси от VPN?</div>
<div class="faq-a">
<p><strong>Прокси (MTProxy)</strong> разблокирует только Telegram — работает мгновенно, без установки приложений. Нажмите «Добавить прокси» — Telegram подключится за секунды. <strong>VPN</strong> разблокирует всё: YouTube, Instagram, ChatGPT и другие сервисы — но нужно скачать приложение из Play Store или App Store. Если нужен только Telegram — добавьте прокси. Нужны другие сервисы — подключите VPN через бота <a href="https://t.me/dymkavpn_bot">@dymkavpn_bot</a>.</p>
</div>
</div>
Run: bundle exec jekyll build 2>&1 | tail -3
Expected: Build succeeds.
Run: grep -c 'faq-item' _site/index.html
Expected: 12 (8 existing + 4 new)
git add index.html
git commit -m "feat: expand comparison text and add 4 new FAQ entries for Google"
Files:
Modify: styles.css
Step 1: Add proxy section styles
In styles.css, after the .features styles block (after line 262, before .howto), add:
/* ─── PROXY SECTION ─── */
.proxy-section { padding:80px 0; border-top:1px solid var(--border); }
.proxy-content { max-width:700px; }
.proxy-content p { font-size:16px; color:var(--muted); line-height:1.75; margin-bottom:18px; }
.proxy-content strong { color:var(--smoke-light); font-weight:500; }
.proxy-content a { color:var(--smoke); text-decoration:underline; text-decoration-color:rgba(124,58,237,.3); text-underline-offset:3px; }
.proxy-content a:hover { text-decoration-color:var(--smoke-deep); }
.proxy-action { margin-top:32px; }
In styles.css, after the .vless styles block (after line 333), add:
/* ─── UNLOCKS ─── */
.unlocks { padding:80px 0; border-top:1px solid var(--border); }
.unlocks-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--border); }
.unlock-card {
background:var(--bg); padding:36px 32px; transition:background .2s;
}
.unlock-card:hover { background:rgba(124,58,237,.03); }
.unlock-card h3 {
font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:400;
color:var(--text); margin-bottom:14px;
}
.unlock-card p { font-size:15px; color:var(--muted); line-height:1.75; }
.unlock-card strong { color:var(--smoke-light); font-weight:500; }
.unlocks-note { font-size:15px; color:var(--muted); line-height:1.7; margin-top:32px; max-width:700px; }
In styles.css, after the .cmp-note style (around line 328), add:
.cmp-detail { max-width:700px; margin-top:24px; }
.cmp-detail p { font-size:15px; color:var(--muted); line-height:1.75; margin-bottom:14px; }
.cmp-detail strong { color:var(--smoke-light); font-weight:500; }
Find the existing mobile media query in styles.css (look for @media with max-width). Add inside it:
.proxy-section { padding:48px 0; }
.unlocks-grid { grid-template-columns:1fr; }
.unlock-card { padding:28px 20px; }
Run: bundle exec jekyll build 2>&1 | tail -3
Expected: Build succeeds.
Run: bundle exec jekyll serve and check http://localhost:4000 in browser. Verify:
Mobile view: unlocks grid stacks to single column
git add styles.css
git commit -m "feat: add CSS for proxy section, unlocks grid, and comparison detail"
Files:
Possibly modify: styles.css
Step 1: Verify all JSON-LD blocks are valid
Run: bundle exec jekyll build && python3 -c "import json; data=open('_site/index.html').read(); blocks=[json.loads(s.split('</script>')[0]) for s in data.split('application/ld+json\">')[1:]]; print(f'{len(blocks)} JSON-LD blocks valid'); [print(f' - {b.get(\"@type\", \"unknown\")}') for b in blocks]"
Expected output:
5 JSON-LD blocks valid
- WebSite
- SoftwareApplication
- FAQPage
- Organization
- BreadcrumbList
Run: python3 -c "from html.parser import HTMLParser; import re; h=HTMLParser(); text=re.sub(r'<[^>]+>','',open('_site/index.html').read()); words=len([w for w in text.split() if len(w)>0]); print(f'Word count: {words}')"
Expected: Word count should be ~1200-1500 (up from 784).
Run: grep -ic 'прокси' _site/index.html && grep -ic 'mtproxy' _site/index.html && grep -ic 'youtube' _site/index.html && grep -ic 'обход блокировок' _site/index.html
Expected: All counts > 0.
Check that links in .proxy-content, .unlock-card, .cmp-detail, and new FAQ items have proper underline styling. If .proxy-content a was already added in Task 7, verify it. If .unlock-card a or .cmp-detail a is missing, add to styles.css line 20:
.feat-d a, .faq-a a, .vless-content a, .cmp-note a, .cmp-detail a, .review a, .proxy-content a, .unlock-card a, .unlocks-note a {
And the matching hover rule on line 24.
Run these checks to confirm nothing was modified:
grep '<title>' _site/index.html | head -1
# Expected: contains "Дымка — бесплатный VPN для Telegram через бота"
grep 'meta name="description"' _site/index.html
# Expected: contains "Бесплатный VPN бот в Telegram"
grep -c '<h1>' _site/index.html
# Expected: 1
grep '<h1>' _site/index.html
# Expected: contains "Бесплатный VPN" and "для Telegram"
If any fixes were made in step 4:
git add styles.css
git commit -m "fix: add link styles for new content sections"
If no fixes needed, skip this step.