Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Robots.txt настроен корректно. Размер файла: 23686 байт. Загружен за: 1сек.
Проверяемая страница не запрещена в robots.txt.
Цепочка редиректов для файла robots.txt:
http://rundouble.com/robots.txt
302 Found
https://rundouble.com/robots.txt
200 OK
Показать содержимое robots.txt
<!doctype html>
<!-- RunDouble relaunch marketing page (Pulse design system).
Served as the welcome file and as the /* catch-all, replacing the old
datastore-backed Angular shell in user.jsp. Deliberately static: no
JavaScript, no external fonts, no third party requests. The privacy
policy tells users the site only keeps server logs - keep it that way. -->
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>RunDouble - Couch to 5K. It's back, and now it's free.</title>
<meta name="description" content="RunDouble, the Couch to 5K running coach with over two million downloads, is back on Google Play - rebuilt for modern Android, extended to Wear OS, and now completely free.">
<link rel="icon" href="/images/pulse/logo.png">
<meta property="og:title" content="RunDouble - It's back. And now it's free.">
<meta property="og:description" content="The favourite Couch to 5K coach returns: voice cues, GPS tracking, Wear OS, and every training plan free for everyone.">
<meta property="og:image" content="https://www.rundouble.com/images/pulse/feature-graphic.png">
<meta property="og:url" content="https://www.rundouble.com/">
<meta property="og:type" content="website">
<style>
:root {
--bg-top: #16233a;
--bg-mid: #0a0d16;
--bg-bottom: #07080d;
--card: #171d2b;
--card-alt: #111622;
--stroke: #232a3c;
--stroke-soft: #2a3346;
--ink: #f3f4f8;
--muted: #7a8194;
--muted-2: #8a91a5;
--accent: #ff5d3a;
--accent-2: #ffb23a;
--walk: #33465f;
--radius-card: 14px;
--radius-pill: 26px;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
background: var(--bg-bottom) linear-gradient(180deg, var(--bg-top) 0%, var(--bg-mid) 1400px, var(--bg-bottom) 100%) no-repeat;
color: var(--ink);
font-family: "Segoe UI Variable Text", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif;
line-height: 1.6;
-webkit-font-smoothing: antialiased;
}
a { color: var(--accent-2); text-decoration: none; }
a:hover { text-decoration: underline; }
a:focus-visible, .btn:focus-visible {
outline: 2px solid var(--accent-2);
outline-offset: 3px;
border-radius: 4px;
}
img { max-width: 100%; display: block; }
.wrap { max-width: 1060px; margin: 0 auto; padding: 0 22px; }
/* Pulse utility voice: tiny letterspaced uppercase labels */
.label {
font-size: 11px;
font-weight: 600;
letter-spacing: 0.22em;
text-transform: uppercase;
color: var(--muted-2);
}
.label .dot { color: var(--accent); }
/* ---- Top bar ---- */
header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 20px 0;
}
.brand { display: flex; align-items: center; gap: 12px; color: var(--ink); font-weight: 700; font-size: 19px; }
.brand:hover { text-decoration: none; }
.brand img { width: 40px; height: 40px; border-radius: 10px; }
.top-cta {
font-size: 14px; font-weight: 600; color: var(--ink);
border: 1px solid var(--stroke-soft); border-radius: var(--radius-pill);
padding: 8px 18px; transition: border-color .15s ease;
}
.top-cta:hover { border-color: var(--accent); text-decoration: none; }
/* ---- Hero ---- */
.hero {
display: grid;
grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
gap: 48px;
align-items: center;
padding: 64px 0 40px;
}
.hero h1 {
font-family: "Segoe UI Variable Display", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, sans-serif;
font-size: clamp(42px, 7vw, 72px);
font-weight: 800;
letter-spacing: -0.03em;
line-height: 1.04;
margin: 18px 0 22px;
}
.hero h1 .free {
background: linear-gradient(100deg, var(--accent) 20%, var(--accent-2) 80%);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}
.hero .lede { font-size: 18px; color: var(--muted-2); max-width: 34em; }
.hero .lede strong { color: var(--ink); font-weight: 600; }
.cta-row { display: flex; align-items: center; gap: 20px; margin-top: 30px; flex-wrap: wrap; }
.btn-play {
display: inline-flex; align-items: center; gap: 12px;
background: linear-gradient(100deg, var(--accent), var(--accent-2));
color: #141824; font-weight: 700; font-size: 16px;
padding: 14px 26px; border-radius: var(--radius-pill);
transition: transform .15s ease, box-shadow .15s ease;
box-shadow: 0 6px 24px rgba(255, 93, 58, 0.25);
}
.btn-play:hover { text-decoration: none; transform: translateY(-1px); box-shadow: 0 8px 30px rgba(255, 93, 58, 0.35); }
.btn-play svg { flex: none; }
.cta-note { font-size: 13px; color: var(--muted); line-height: 1.5; }
.hero-shot { position: relative; justify-self: center; }
.hero-shot img {
width: min(270px, 70vw);
border-radius: 26px;
border: 1px solid var(--stroke-soft);
box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55);
}
/* ---- Signature: W1D1 interval bar ---- */
.session { padding: 34px 0 10px; }
.session-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; margin-bottom: 12px; }
.legend { display: flex; gap: 18px; font-size: 12px; color: var(--muted-2); }
.legend span { display: inline-flex; align-items: center; gap: 7px; }
.swatch { width: 12px; height: 12px; border-radius: 4px; display: inline-block; }
.swatch.run { background: linear-gradient(120deg, var(--accent), var(--accent-2)); }
.swatch.walk { background: var(--walk); }
.bar {
display: flex; gap: 3px; height: 34px;
border-radius: 10px; overflow: hidden;
}
.bar i {
display: block; height: 100%; border-radius: 3px;
animation: fill .5s ease backwards;
}
.bar .w { background: var(--walk); }
.bar .r { background: linear-gradient(120deg, var(--accent), var(--accent-2)); }
@keyframes fill { from { transform: scaleY(0); opacity: 0; } to { transform: scaleY(1); opacity: 1; } }
.session .caption { margin-top: 12px; font-size: 14px; color: var(--muted); }
@media (prefers-reduced-motion: reduce) {
.bar i { animation: none; }
html { scroll-behavior: auto; }
.btn-play, .card { transition: none; }
}
/* ---- Sections ---- */
section { padding: 56px 0; }
section h2 {
font-family: "Segoe UI Variable Display", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, sans-serif;
font-size: clamp(26px, 4vw, 36px);
font-weight: 800; letter-spacing: -0.02em; line-height: 1.15;
margin: 12px 0 16px;
}
section > .wrap > p, .story p { color: var(--muted-2); max-width: 44em; }
.story p + p { margin-top: 14px; }
.story em { color: var(--ink); font-style: italic; }
.story .quote {
margin: 26px 0 0; padding: 18px 22px;
border-left: 3px solid var(--accent);
background: var(--card-alt);
border-radius: 0 var(--radius-card) var(--radius-card) 0;
color: var(--muted-2); font-size: 15px;
}
.story .quote footer { margin-top: 8px; font-size: 12px; color: var(--muted); }
/* ---- Feature cards ---- */
.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 30px; }
.card {
background: var(--card);
border: 1px solid var(--stroke);
border-radius: var(--radius-card);
padding: 22px;
transition: border-color .15s ease;
}
.card:hover { border-color: var(--stroke-soft); }
.card h3 { font-size: 16px; font-weight: 700; margin: 0 0 8px; }
.card p { font-size: 14px; color: var(--muted-2); }
.card .k {
display: inline-flex; align-items: center; justify-content: center;
width: 34px; height: 34px; margin-bottom: 14px;
border-radius: 9px;
background: rgba(255, 93, 58, 0.12);
color: var(--accent);
}
/* ---- Screenshots ---- */
.shots { display: flex; gap: 14px; overflow-x: auto; padding: 26px 4px 18px; scroll-snap-type: x mandatory; }
.shots img {
width: 200px; flex: none;
border-radius: 18px;
border: 1px solid var(--stroke);
scroll-snap-align: start;
}
/* ---- Plans ---- */
.plans-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 18px; }
.plan-pill {
display: inline-flex; align-items: baseline; gap: 9px;
border: 1px solid var(--stroke-soft);
background: var(--card-alt);
border-radius: var(--radius-pill);
padding: 10px 18px;
font-size: 15px; font-weight: 600;
}
.plan-pill small {
font-size: 10px; font-weight: 700; letter-spacing: 0.14em;
color: var(--accent-2);
}
/* ---- Press ---- */
.press-card {
display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center;
background: var(--card);
border: 1px solid var(--stroke);
border-radius: var(--radius-card);
padding: 30px;
}
.press-card h2 { margin-top: 6px; }
.press-card p { color: var(--muted-2); font-size: 15px; max-width: 40em; }
.press-actions { display: flex; flex-direction: column; gap: 12px; }
.btn-ghost {
display: inline-block; text-align: center;
font-size: 14px; font-weight: 600; color: var(--ink);
border: 1px solid var(--stroke-soft); border-radius: var(--radius-pill);
padding: 10px 22px; transition: border-color .15s ease;
}
.btn-ghost:hover { border-color: var(--accent); text-decoration: none; }
/* ---- Footer ---- */
footer.site {
border-top: 1px solid var(--stroke);
margin-top: 30px; padding: 30px 0 44px;
font-size: 13px; color: var(--muted);
}
footer.site .wrap { display: flex; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
footer.site a { color: var(--muted-2); }
footer.site a:hover { color: var(--ink); }
footer.site nav { display: flex; gap: 22px; flex-wrap: wrap; }
@media (max-width: 840px) {
.hero { grid-template-columns: 1fr; padding-top: 34px; gap: 38px; }
.hero-shot { order: 2; }
.grid { grid-template-columns: 1fr 1fr; }
.press-card { grid-template-columns: 1fr; }
.press-actions { flex-direction: row; flex-wrap: wrap; }
}
@media (max-width: 540px) {
.grid { grid-template-columns: 1fr; }
.bar { height: 26px; }
}
</style>
</head>
<body>
<div class="wrap">
<header>
<a class="brand" href="/">
<img src="/images/pulse/logo.png" alt="" width="40" height="40">
RunDouble
</a>
<a class="top-cta" href="https://play.google.com/store/apps/details?id=com.rundouble.companion">Get the app</a>
</header>
</div>
<div class="wrap">
<div class="hero">
<div>
<div class="label">Back on Google Play <span class="dot">•</span> July 2026</div>
<h1>It’s back. <br>And now it’s <span class="free">free</span>.</h1>
<p class="lede">RunDouble — the Couch to 5K coach that talked over <strong>two million downloads’</strong> worth of beginners into becoming runners — has returned, rebuilt for modern Android and extended to your wrist. <strong>Every plan and every feature, free for everyone.</strong> No subscription. No premium tier.</p>
<div class="cta-row">
<a class="btn-play" href="https://play.google.com/store/apps/details?id=com.rundouble.companion">
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M4 2.5v19a1 1 0 0 0 1.5.9l16-9.5a1 1 0 0 0 0-1.8l-16-9.5A1 1 0 0 0 4 2.5z"/></svg>
Get it on Google Play
</a>
<span class="cta-note">Free forever · Android 10+<br>Wear OS companion included</span>
</div>
</div>
<div class="hero-shot">
<img src="/images/pulse/screen-home.png" alt="RunDouble home screen showing the next Couch to 5K workout" width="270">
</div>
</div>
</div>
<div class="wrap">
<div class="session">
<div class="session-head">
<div class="label">Week 1 <span class="dot">•</span> Day 1 — where everyone starts</div>
<div class="legend">
<span><i class="swatch run"></i>Run</span>
<span><i class="swatch walk"></i>Walk</span>
</div>
</div>
<div class="bar" role="img" aria-label="Week one, day one: a five minute warm-up walk, then eight repeats of sixty seconds running and ninety seconds walking.">
<i class="w" style="width:20%; animation-delay:.05s"></i>
<i class="r" style="width:4%; animation-delay:.15s"></i><i class="w" style="width:6%; animation-delay:.20s"></i>
<i class="r" style="width:4%; animation-delay:.25s"></i><i class="w" style="width:6%; animation-delay:.30s"></i>
<i class="r" style="width:4%; animation-delay:.35s"></i><i class="w" style="width:6%; animation-delay:.40s"></i>
<i class="r" style="width:4%; animation-delay:.45s"></i><i class="w" style="width:6%; animation-delay:.50s"></i>
<i class="r" style="width:4%; animation-delay:.55s"></i><i class="w" style="width:6%; animation-delay:.60s"></i>
<i class="r" style="width:4%; animation-delay:.65s"></i><i class="w" style="width:6%; animation-delay:.70s"></i>
<i class="r" style="width:4%; animation-delay:.75s"></i><i class="w" style="width:6%; animation-delay:.80s"></i>
<i class="r" style="width:4%; animation-delay:.85s"></i><i class="w" style="width:6%; animation-delay:.90s"></i>
</div>
<p class="caption">Run for sixty seconds, walk for ninety. That’s everything week one asks of you — and nine weeks later, you’re running 5K.</p>
</div>
</div>
<section class="story">
<div class="wrap">
<div class="label">The comeback</div>
<h2>Six years of “is it coming back?”</h2>
<p>RunDouble became the quiet favourite of people who didn’t think of themselves as runners: a calm voice in your ear telling you when to run and when to walk, three sessions a week, over your own music. Then, in 2020, the updates stopped — and the reviews filled with a single question from runners who refused to uninstall it: <em>is it coming back?</em></p>
<p>It’s back. Rebuilt for today’s Android, wrapped in a new design, extended to Wear OS — and, for the first time in its history, completely free.</p>
<blockquote class="quote">
“Somewhere out there right now is someone who’s decided this is the week they finally get off the couch. They’re nervous, they’re not sure they can do it, and they’re staring at a wall of fitness apps demanding eighty pounds a year before they’ve run a single step. I didn’t want price to be the reason anyone stays on the sofa. So now it’s free — all of it, for everyone.”
<footer>— Martin Long, founder</footer>
</blockquote>
</div>
</section>
<section>
<div class="wrap">
<div class="label">What it does</div>
<h2>A coach in your ear, not a screen in your face</h2>
<div class="grid">
<div class="card">
<span class="k"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 18v-6a9 9 0 0 1 18 0v6"/><path d="M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z"/></svg></span>
<h3>Spoken cues, not screens</h3>
<p>RunDouble tells you when to run, when to walk, and when a change is coming — so you can relax, get outside, and just move.</p>
</div>
<div class="card">
<span class="k"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 18V5l12-2v13"/><circle cx="6" cy="18" r="3"/><circle cx="18" cy="16" r="3"/></svg></span>
<h3>Your music keeps playing</h3>
<p>Cues duck under whatever you’re listening to — music, podcast or audiobook — and never take over your player.</p>
</div>
<div class="card">
<span class="k"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z"/><circle cx="12" cy="10" r="3"/></svg></span>
<h3>GPS recorded, not distracting</h3>
<p>Route, pace and splits are tracked in the background and shown afterwards. Deliberately, there’s no live map mid-run — the run stays about running.</p>
</div>
<div class="card">
<span class="k"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="6"/><path d="M12 8v4M9 2h6M10 22h4"/></svg></span>
<h3>On your wrist</h3>
<p>The new Wear OS companion shows your interval, time, distance and heart rate at a glance — with pause and skip from the watch. It installs itself alongside the phone app.</p>
</div>
<div class="card">
<span class="k"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8z"/></svg></span>
<h3>Heart rate, three ways</h3>
<p>Bluetooth and ANT+ chest straps, or the sensor already in your Wear OS watch. Train in the right zone with no extra hardware.</p>
</div>
<div class="card">
<span class="k"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 3v18h18"/><path d="M7 14l4-4 4 3 5-6"/></svg></span>
<h3>History, bests and Strava</h3>
<p>Every interval is saved with real distance and time, personal bests are tracked automatically, and finished runs share to Strava in one tap.</p>
</div>
</div>
</div>
</section>
<section>
<div class="wrap">
<div class="label">The app</div>
<h2>A fresh coat of paint on an old friend</h2>
<div class="shots">
<img src="/images/pulse/screen-home.png" alt="Home screen with the next workout ready to start" loading="lazy" width="200">
<img src="/images/pulse/screen-run_active.png" alt="An active run showing the current interval and time remaining" loading="lazy" width="200">
<img src="/images/pulse/screen-plans.png" alt="Training plan list from Couch to 5K to half marathon" loading="lazy" width="200">
<img src="/images/pulse/screen-run_details.png" alt="Completed run details with intervals and splits" loading="lazy" width="200">
<img src="/images/pulse/screen-map.png" alt="Route map shown after a finished run" loading="lazy" width="200">
<img src="/images/pulse/screen-history.png" alt="Run history with personal bests" loading="lazy" width="200">
</div>
</div>
</section>
<section>
<div class="wrap">
<div class="label">Free, in a market that isn’t</div>
<h2>Every plan. Unlocked. For everyone.</h2>
<p>Popular running apps routinely charge £50–£120 a year and lock their beginner plans behind trials. RunDouble’s answer is deliberately old-fashioned: the whole app, free, forever — for the people who need the lowest possible barrier to starting.</p>
<div class="plans-list">
<span class="plan-pill">Couch to 5K <small>FREE</small></span>
<span class="plan-pill">5K Improver <small>FREE</small></span>
<span class="plan-pill">Five to 10K <small>FREE</small></span>
<span class="plan-pill">Zero to 10K <small>FREE</small></span>
<span class="plan-pill">10K Event Training <small>FREE</small></span>
<span class="plan-pill">Half Marathon <small>FREE</small></span>
</div>
<p>Repeat a session, redo a week, or jump ahead — you choose exactly which workout to do, whenever you like.</p>
</div>
</section>
<section id="press">
<div class="wrap">
<div class="press-card">
<div>
<div class="label">For press</div>
<h2>Covering the relaunch?</h2>
<p>High-resolution screenshots, the app icon, feature graphic and Wear OS imagery are available on request. Martin Long, RunDouble’s founder, is available for interview about the relaunch, the decision to go free, and building a beginner-first running app as a solo developer.</p>
</div>
<div class="press-actions">
<a class="btn-ghost" href="mailto:press@rundouble.com">press@rundouble.com</a>
<a class="btn-ghost" href="/press.html">Read the press release</a>
</div>
</div>
</div>
</section>
<footer class="site">
<div class="wrap">
<span>© 2026 RunDouble Limited</span>
<nav>
<a href="https://play.google.com/store/apps/details?id=com.rundouble.companion">Google Play</a>
<a href="/privacy">Privacy policy</a>
<a href="/pocketdeco-privacy.html">PocketDeco privacy</a>
<a href="mailto:press@rundouble.com">Press</a>
</nav>
</div>
</footer>
</body>
</html>