PageSourceSearch

https://connorwalberg.com/singletrack-sites/

html connorwalberg.com collected 2026-10-06 13:02:25 UTC 94,813 bytes, 54 lines download raw bytes

1<!DOCTYPE html><html lang="en" class="scroll-smooth"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="generator" content="Astro v7.2.0"><title>Singletrack Sites: A Photographer Website You Actually Own | Connor Walberg SEO</title><link rel="canonical" href="https://connorwalberg.com/singletrack-sites/"><!-- Structured data -->
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","@id":"https://connorwalberg.com/#organization","name":"Connor Walberg SEO","url":"https://connorwalberg.com","logo":{"@type":"ImageObject","url":"https://cdn.sanity.io/images/0qig9ixl/production/bd4716c946d3b063a75faa113b9933ee2f88c8ee-1224x1224.png?w=256&h=256"},"founder":{"@id":"https://connorwalberg.com/#person"},"sameAs":["https://www.youtube.com/channel/UCaxiWCl_YQbYRDmBfZUkB5A","https://www.facebook.com/groups/photographerseo"]}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"Person","@id":"https://connorwalberg.com/#person","name":"Connor Walberg","url":"https://connorwalberg.com/about/","jobTitle":"Website Designer & SEO Specialist for Photographers","worksFor":{"@type":"Organization","@id":"https://connorwalberg.com/#organization","name":"Connor Walberg SEO"},"sameAs":["https://www.youtube.com/channel/UCaxiWCl_YQbYRDmBfZUkB5A","https://www.facebook.com/groups/photographerseo"]}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","@id":"https://connorwalberg.com/#website","name":"Connor Walberg SEO","url":"https://connorwalberg.com","publisher":{"@id":"https://connorwalberg.com/#organization"}}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"Product","name":"Singletrack Sites — Photographer Website Platform","image":"https://cdn.sanity.io/images/0qig9ixl/production/728f5daaa9c6607fbd4a1abfb5b23782ab28cacc-1641x1010.png?w=1200","description":"A photographer website you own, on your own Cloudflare account. Fast, built for Google, no monthly fees. From $297 one time.","url":"https://connorwalberg.com/singletrack-sites/","brand":{"@id":"https://connorwalberg.com/#organization"},"category":"Website Platform","offers":{"@type":"Offer","price":"297","priceCurrency":"USD","availability":"https://schema.org/InStock","url":"https://connorwalberg.com/singletrack-sites/"}}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Do I need to be tech-savvy to use this?","acceptedAnswer":{"@type":"Answer","text":"<p>If you can use Pixieset, Squarespace or ShowIt, you can use Singletrack Studio. You click on your page to change it, and drag sections to reorder them. No code.</p><p>Setup takes one technical step: creating a Cloudflare account and giving me access, about 10 minutes. Your walkthrough video covers it. After that, you sign in with Google or a one-time code by email. No passwords to remember.</p>"}},{"@type":"Question","name":"What happens if you stop working on this platform?","acceptedAnswer":{"@type":"Answer","text":"<p>Your site and your editor keep working. Both live in your own Cloudflare account, not on a server I control, so nothing depends on me to stay online. You can keep editing and publishing. You just wouldn't get new updates. If something ever needs fixing years from now, any web developer can pick up the code, and handoff documentation is built in. And you can download a full backup of your site anytime, with every photo as a normal image file.</p>"}},{"@type":"Question","name":"Can you move my existing blog posts and SEO?","acceptedA
1nswer":{"@type":"Answer","text":"<p>Yes, with the $600 option. Up to 15 pages and 40 blog posts come over with formatting, images and SEO intact. I handle your URLs, redirects, structured data and domain switch myself so your Google rankings carry over. Sarah Beth Photography moved 400+ addresses this way and kept her rankings.</p><p>Bigger archives or a page-for-page design match are quoted before we start. No surprises.</p>"}},{"@type":"Question","name":"How is this different from Squarespace, ShowIt or Pixieset?","acceptedAnswer":{"@type":"Answer","text":"<ul><li><strong>You're never locked out.</strong> On those platforms, your site disappears when you stop paying. Singletrack sites run in your own account, and they keep running.</li><li><strong>No monthly fee.</strong> Those platforms charge $20 to $80 a month forever. Singletrack Sites is a one-time price, plus $100/year for care if you want it.</li><li><strong>Mobile actually works.</strong> No building on desktop and then fighting the phone version. Sections work on mobile automatically.</li></ul>"}},{"@type":"Question","name":"What does the $100/year care plan cover?","acceptedA
1nswer":{"@type":"Answer","text":"<ul><li>Platform updates and new features as I release them</li><li>The built-in, searchable Help center inside your editor</li><li>Membership in my Heartbeat community (<a href=\"https://member.connorwalberg.com\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"text-sage underline underline-offset-2 hover:text-charcoal transition-colors\">member.connorwalberg.com</a>), where support happens</li></ul><p>Custom changes, design work and big archive moves are separate, quoted work. Care is optional. Without it, your site and editor keep running on your Cloudflare account.</p><p>Already on my care plan? Your renewal drops from $180 to $100/year too.</p>"}},{"@type":"Question","name":"What does hosting cost?","acceptedAnswer":{"@type":"Answer","text":"<p>Nothing, for nearly every photographer site. It runs on the free allowance of your own Cloudflare account. If your site ever outgrows it, Cloudflare's paid plan is $5/month, billed to you directly by Cloudflare. I never hold your billing.</p>"}},{"@type":"Question","name":"Why is it called Singletrack Sites?","acceptedA
1nswer":{"@type":"Answer","text":"<p>Singletrack is a narrow mountain bike trail: one clear path, no clutter. The platform gives you the right pieces in the right order so you're never fighting the tool. It's also part of a family: my company is Singletrack Digital, my SEO service is Singletrack SEO, and the platform is the newest member.</p>"}}]}</script>
1<meta name="description" content="A photographer website you own, on your own Cloudflare account. Fast, built for Google, no monthly fees. From $297 one time."><!-- Open Graph --><meta property="og:title" content="Singletrack Sites: A Photographer Website You Actually Own | Connor Walberg SEO"><meta property="og:description" content="A photographer website you own, on your own Cloudflare account. Fast, built for Google, no monthly fees. From $297 one time."><meta property="og:type" content="website"><meta property="og:url" content="https://connorwalberg.com/singletrack-sites/"><meta property="og:site_name" content="Connor Walberg SEO"><meta property="og:image" content="https://cdn.sanity.io/images/0qig9ixl/production/76f5896678d8bac478138747e5351aa492b81420-800x800.jpg?rect=0,190,800,420&amp;w=1200&amp;h=630&amp;fit=crop&amp;auto=format"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="og:image:alt" content="Singletrack Sites: A Photographer Website You Actually Own | Connor Walberg SEO"><!-- Twitter/X card --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Singletrack Sites: A Photographer Website You Actually Own | Connor Walberg SEO"><meta name="twitter:description" content="A photographer website you own, on your own Cloudflare account. Fast, built for Google, no monthly fees. From $297 one time."><meta name="twitter:image" content="https://cdn.sanity.io/images/0qig9ixl/production/76f5896678d8bac478138747e5351aa492b81420-800x800.jpg?rect=0,190,800,420&amp;w=1200&amp;h=630&amp;fit=crop&amp;auto=format"><!-- Favicon --><link rel="icon" type="image/png" href="https://cdn.sanity.io/images/0qig9ixl/production/bd4716c946d3b063a75faa113b9933ee2f88c8ee-1224x1224.png?w=64&amp;h=64"><!-- Google Tag Manager -->
1<script>(function(){const gtmId = "GTM-W34TG699";
2
3        (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
4        new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
5        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
6        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
7        })(window,document,'script','dataLayer',gtmId);
8      })();</script>
8<!-- Self-hosted fonts (see global.css). Preload the two faces used above the
9         fold so text paints without waiting on the CSS to be parsed first. --><link rel="preload" href="/fonts/playfair-display-normal-latin.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/fonts/inter-normal-latin.woff2" as="font" type="font/woff2" crossorigin><link rel="stylesheet" href="/_astro/Layout.CU4GWK-I.css"><style>.prose-invert-st[data-astro-cid-xf77pset] p,.prose-invert-st[data-astro-cid-xf77pset] li{color:#f8f4e3bf}.prose-invert-st[data-astro-cid-xf77pset] strong,.prose-invert-st[data-astro-cid-xf77pset] a{color:#f8f4e3}
10</style></head><body class="font-sans text-charcoal bg-cream antialiased"><!-- Google Tag Manager (noscript) -->
vendor: 67 bytes, line 10
10<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
10GTM-W34TG699
vendor: 82 bytes, line 10
10" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
10<!--
11  data-scrolled="false"  = transparent, cream text (over dark hero)
12  data-scrolled="true"   = cream bg, charcoal text (over light page content)
13  data-hamburger="false" = desktop link row visible
14  data-hamburger="true"  = hamburger button visible, links hidden
15--><header id="site-header" class="group/nav fixed top-0 left-0 right-0 z-50 transition-colors duration-300
16         data-[scrolled=true]:bg-cream data-[scrolled=true]:shadow-[0_1px_0_rgba(42,43,42,0.08)]" data-scrolled="false" data-hamburger="false"><nav class="max-w-[1200px] mx-auto px-6 lg:px-12 h-[72px] flex items-center justify-between gap-4"><!-- Logo / Site Name --><a href="/" class="shrink-0 leading-none"><span class="relative inline-flex items-center h-16"><img src="https://cdn.sanity.io/images/0qig9ixl/production/f092f244d473763b69213114148e9209f9df1134-1215x305.png?h=128&amp;auto=format" alt="Connor Walberg SEO" width="255" height="64" class="h-16 w-auto transition-opacity duration-300 group-data-[scrolled=true]/nav:opacity-0"><img src="https://cdn.sanity.io/images/0qig9ixl/production/f092f244d473763b69213114148e9209f9df1134-1215x305.png?h=128&amp;auto=format" alt="Connor Walberg SEO" width="255" height="64" class="h-16 w-auto transition-opacity duration-300 absolute inset-0 opacity-0 group-data-[scrolled=true]/nav:opacity-100"></span></a><!-- Desktop links — hidden in hamburger mode --><ul id="nav-desktop-links" class="flex items-center group-data-[hamburger=true]/nav:hidden"><li class="relative"><button class="nav-dropdown-btn link-underline flex items-center gap-1 text-sm font-sans tracking-[0.08em]
17                         whitespace-nowrap px-[15px] transition-colors duration-300
18                         text-cream/80 hover:text-cream
19                         group-data-[scrolled=true]/nav:text-charcoal/70 group-data-[scrolled=true]/nav:hover:text-charcoal" aria-expanded="false" aria-haspopup="true">Web Design<svg class="nav-chevron w-3 h-3 transition-transform duration-200" viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="2,4 6,8 10,4"></polyline></svg></button><ul class="nav-dropdown absolute top-full left-1/2 -translate-x-1/2 mt-2 hidden
20                         min-w-[180px] bg-charcoal rounded-[3px] shadow-lg py-2
21                         border border-cream/10"><li><a href="/singletrack-sites/" class="block px-5 py-2.5 text-sm font-sans tracking-[0.06em]
22                               text-cream/75 hover:text-cream hover:bg-cream/5 transition-colors duration-150">Website Platform</a></li><li><a href="/pet-photographer-showit-template/" class="block px-5 py-2.5 text-sm font-sans tracking-[0.06em]
23                               text-cream/75 hover:text-cream hover:bg-cream/5 transition-colors duration-150">Pet Photographer Template</a></li></ul></li><li class="relative"><button class="nav-dropdown-btn link-underline flex items-center gap-1 text-sm font-sans tracking-[0.08em]
24                         whitespace-nowrap px-[15px] transition-colors duration-300
25                         text-cream/80 hover:text-cream
26                         group-data-[scrolled=true]/nav:text-charcoal/70 group-data-[scrolled=true]/nav:hover:text-charcoal" aria-expanded="false" aria-haspopup="true">SEO<svg class="nav-chevron w-3 h-3 transition-transform duration-200" viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="2,4 6,8 10,4"></polyline></svg></button><ul class="nav-dropdown absolute top-full left-1/2 -translate-x-1/2 mt-2 hidden
27                         min-w-[180px] bg-charcoal rounded-[3px] shadow-lg py-2
28                         border border-cream/10"><li><a href="/seo-audit/" class="block px-5 py-2.5 text-sm font-sans tracking-[0.06em]
29                               text-cream/75 hover:text-cream hover:bg-cream/5 transition-colors duration-150">SEO Assessment</a></li><li><a href="/seo-for-photographers/" class="block px-5 py-2.5 text-sm font-sans tracking-[0.06em]
30                               text-cream/75 hover:text-cream hover:bg-cream/5 transition-colors duration-150">SEO for Photographers</a></li><li><a href="/photo-business-collective/" class="block px-5 py-2.5 text-sm font-sans tracking-[0.06em]
31                               text-cream/75 hover:text-cream hover:bg-cream/5 transition-colors duration-150">Photo Business Collective</a></li><li><a href="/seo-tools/" class="block px-5 py-2.5 text-sm font-sans tracking-[0.06em]
32                               text-cream/75 hover:text-cream hover:bg-cream/5 transition-colors duration-150">SEO Tools</a></li></ul></li><li class="relative"><button class="nav-dropdown-btn link-underline flex items-center gap-1 text-sm font-sans tracking-[0.08em]
33                         whitespace-nowrap px-[15px] transition-colors duration-300
34                         text-cream/80 hover:text-cream
35                         group-data-[scrolled=true]/nav:text-charcoal/70 group-data-[scrolled=true]/nav:hover:text-charcoal" aria-expanded="false" aria-haspopup="true">About<svg class="nav-chevron w-3 h-3 transition-transform duration-200" viewB
35ox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="2,4 6,8 10,4"></polyline></svg></button><ul class="nav-dropdown absolute top-full left-1/2 -translate-x-1/2 mt-2 hidden
36                         min-w-[180px] bg-charcoal rounded-[3px] shadow-lg py-2
37                         border border-cream/10"><li><a href="/contact/" class="block px-5 py-2.5 text-sm font-sans tracking-[0.06em]
38                               text-cream/75 hover:text-cream hover:bg-cream/5 transition-colors duration-150">Contact</a></li><li><a href="/about/" class="block px-5 py-2.5 text-sm font-sans tracking-[0.06em]
39                               text-cream/75 hover:text-cream hover:bg-cream/5 transition-colors duration-150">About</a></li></ul></li><li class><a href="/blog/" class="link-underline block text-sm font-sans tracking-[0.08em] whitespace-nowrap
40                       px-[15px] transition-colors duration-300
41                       text-cream/80 hover:text-cream
42                       group-data-[scrolled=true]/nav:text-charcoal/70 group-data-[scrolled=true]/nav:hover:text-charcoal">Blog</a></li></ul><!-- CTA + hamburger --><div id="nav-right" class="flex items-center gap-4 shrink-0"><a id="nav-cta" href="https://connorwalberg.com/singletrack-sites/" class="btn-shimmer btn-pill inline-flex items-center px-5 py-2.5 rounded-[6px] bg-sage text-charcoal
43                 text-sm font-sans font-medium tracking-[0.08em] whitespace-nowrap
44                 hover:bg-sage/85 hover:-translate-y-0.5
45                 transition-[color,background-color,transform] duration-200
46                 group-data-[hamburger=true]/nav:hidden">Web Platform</a><!-- Hamburger — only shown in hamburger mode --><button id="nav-toggle" aria-label="Toggle menu" aria-expanded="false" class="hidden group-data-[hamburger=true]/nav:flex flex-col justify-center items-center w-10 h-10 gap-[5px]"><span class="nav-bar block w-6 h-px transition-all duration-300
47                     bg-cream group-data-[scrolled=true]/nav:bg-charcoal"></span><span class="nav-bar block w-6 h-px transition-all duration-300
48                     bg-cream group-data-[scrolled=true]/nav:bg-charcoal"></span><span class="nav-bar block w-4 h-px transition-all duration-300 self-start
49                     bg-cream group-data-[scrolled=true]/nav:bg-charcoal"></span></button></div></nav><!-- Mobile drawer — always charcoal, sits below the nav bar --><div id="nav-mobile" class="hidden bg-charcoal/95 backdrop-blur-sm border-t border-cream/10 px-6 pb-8 pt-6"><ul class="flex flex-col gap-1 mb-6"><li><details class="group/details"><summary class="flex items-center justify-between py-3 cursor-pointer list-none
50                               text-cream/75 hover:text-cream font-sans text-base tracking-[0.08em] transition-colors">Web Design<svg class="w-3 h-3 transition-transform duration-200 group-open/details:rotate-180" viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="2,4 6,8 10,4"></polyline></svg></summary><ul class="flex flex-col gap-1 pl-4 pb-2"><li><a href="/singletrack-sites/" class="block py-2 text-cream/60 hover:text-cream font-sans text-sm tracking-[0.08em] transition-colors">Website Platform</a></li><li><a href="/pet-photographer-showit-template/" class="block py-2 text-cream/60 hover:text-cream font-sans text-sm tracking-[0.08em] transition-colors">Pet Photographer Template</a></li></ul></details></li><li><details class="group/details"><summary class="flex items-center justify-between py-3 cursor-pointer list-none
51                               text-cream/75 hover:text-cream font-sans text-base tracking-[0.08em] transition-colors">SEO<svg class="w-3 h-3 transition-transform duration-200 group-open/details:rotate-180" viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="2,4 6,8 10,4"></polyline></svg></summary><ul class="flex flex-col gap-1 pl-4 pb-2"><li><a href="/seo-audit/" class="block py-2 text-cream/60 hover:text-cream font-sans text-sm tracking-[0.08em] transition-colors">SEO Assessment</a></li><li><a href="/seo-for-photographers/" class="block py-2 text-cream/60 hover:text-cream font-sans text-sm tracking-[0.08em] transition-colors">SEO for Photographers</a></li><li><a href="/photo-business-collective/" class="block py-2 text-cream/60 hover:text-cream font-sans text-sm tracking-[0.08em] transition-colors">Photo Business Collective</a></li><li><a href="/seo-tools/" class="block py-2 text-cream/60 hover:text-cream font-sans text-sm tracking-[0.08em] transition-colors">SEO Tools</a></li></ul></details></li><li>
51<details class="group/details"><summary class="flex items-center justify-between py-3 cursor-pointer list-none
52                               text-cream/75 hover:text-cream font-sans text-base tracking-[0.08em] transition-colors">About<svg class="w-3 h-3 transition-transform duration-200 group-open/details:rotate-180" viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="2,4 6,8 10,4"></polyline></svg></summary><ul class="flex flex-col gap-1 pl-4 pb-2"><li><a href="/contact/" class="block py-2 text-cream/60 hover:text-cream font-sans text-sm tracking-[0.08em] transition-colors">Contact</a></li><li><a href="/about/" class="block py-2 text-cream/60 hover:text-cream font-sans text-sm tracking-[0.08em] transition-colors">About</a></li></ul></details></li><li><a href="/blog/" class="block py-3 text-cream/75 hover:text-cream font-sans text-base tracking-[0.08em] transition-colors">Blog</a></li></ul><a href="https://connorwalberg.com/singletrack-sites/" class="inline-flex items-center px-6 py-3 rounded-[6px] bg-sage text-charcoal
53               font-sans font-bold text-[0.7rem] tracking-[0.08em] uppercase hover:bg-sage/85 transition-colors">Web Platform</a></div></header>
53<script type="module">var e=document.getElementById(`site-header`),t=document.getElementById(`nav-toggle`),n=document.getElementById(`nav-mobile`),r=document.getElementById(`nav-desktop-links`),i=document.getElementById(`nav-right`),a=e.querySelector(`nav > a`),o=e.dataset.scrolled===`true`;function s(t){e.dataset.scrolled=t?`true`:`false`}function c(){o||s(window.scrollY>60)}c(),window.addEventListener(`scroll`,c,{passive:!0});function l(){let t=e.dataset.hamburger===`true`;e.dataset.hamburger=`false`;let n=e.querySelector(`nav`).clientWidth,o=a.offsetWidth,s=i.offsetWidth,c=o+r.scrollWidth+s+32>n;e.dataset.hamburger=c?`true`:`false`,t&&!c&&u()}new ResizeObserver(l).observe(e),l();function u(){n.classList.add(`hidden`),t.setAttribute(`aria-expanded`,`false`);let e=t.querySelectorAll(`.nav-bar`);e[0].style.transform=``,e[1].style.transform=``,e[2].style.opacity=``}t.addEventListener(`click`,()=>{let e=n.classList.contains(`hidden`);n.classList.toggle(`hidden`,!e),t.setAttribute(`aria-expanded`,String(e));let r=t.querySelectorAll(`.nav-bar`);e?(r[0].style.transform=`translateY(6px) rotate(45deg)`,r[1].style.transform=`translateY(-6px) rotate(-45deg)`,r[2].style.opacity=`0`):u()}),n.querySelectorAll(`a`).forEach(e=>{e.addEventListener(`click`,u)});var d=e.querySelectorAll(`.nav-dropdown-btn`);function f(e){d.forEach(t=>{if(t===e)return;t.setAttribute(`aria-expanded`,`false`);let n=t.nextElementSibling;n&&n.classList.add(`hidden`);let r=t.querySelector(`.nav-chevron`);r&&(r.style.transform=``)})}d.forEach(e=>{e.addEventListener(`click`,t=>{t.stopPropagation();let n=e.getAttribute(`aria-expanded`)===`true`;if(f(n?void 0:e),!n){e.setAttribute(`aria-expanded`,`true`);let t=e.nextElementSibling;t&&t.classList.remove(`hidden`);let n=e.querySelector(`.nav-chevron`);n&&(n.style.transform=`rotate(180deg)`)}})}),document.addEventListener(`click`,()=>f()),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&f()});</script>
53<main id="main-content"><section class="bg-charcoal pt-36 pb-20 lg:pt-44 lg:pb-28" data-astro-cid-xf77pset><div class="max-w-[1200px] mx-auto px-6 lg:px-12" data-astro-cid-xf77pset><div class="grid lg:grid-cols-[1.05fr_1fr] gap-12 lg:gap-16 items-center" data-astro-cid-xf77pset><div data-astro-cid-xf77pset><h1 class="font-display font-normal text-cream leading-[0.95] tracking-[-0.025em] mb-7" style="font-size: clamp(2.4rem, 5vw, 4.4rem);" data-astro-cid-xf77pset>A photographer website you actually own</h1><p class="font-sans text-cream/70 leading-relaxed mb-10 max-w-xl" style="font-size: clamp(1.05rem, 1.5vw, 1.2rem);" data-astro-cid-xf77pset>A fast, good-looking site that lives on your own Cloudflare account. No monthly platform fee, no plugins, no theme to buy. It looks right on phones without you fixing it.</p><div class="flex flex-col sm:flex-row sm:items-center gap-3 sm:gap-4" data-astro-cid-xf77pset><a href="#get-in-touch" class="btn-shimmer btn-pill inline-flex items-center justify-center px-8 py-4 rounded-[6px] bg-sage text-charcoal font-sans font-bold text-[0.7rem] tracking-[0.08em] uppercase hover:bg-sage/90 hover:-translate-y-0.5 transition-[color,background-color,transform] duration-200" data-astro-cid-xf77pset>Get in touch<span class="ml-2" aria-hidden="true" data-astro-cid-xf77pset>→</span></a><a href="#see-it-in-action" class="btn-shimmer btn-pill inline-flex items-center justify-center px-7 py-4 rounded-[6px] border border-cream/35 text-cream font-sans font-bold text-[0.7rem] tracking-[0.08em] uppercase hover:border-cream/70 hover:bg-cream/5 hover:-translate-y-0.5 transition-[color,background-color,border-color,transform] duration-200" data-astro-cid-xf77pset>See it in action</a></div><p class="mt-8 font-sans text-cream/70 text-sm" data-astro-cid-xf77pset>From $297, one time. Your first year of care is included.</p></div><div data-astro-cid-xf77pset><img src="https://cdn.sanity.io/images/0qig9ixl/production/728f5daaa9c6607fbd4a1abfb5b23782ab28cacc-1641x1010.png?w=900&amp;auto=format" srcset="https://cdn.sanity.io/images/0qig9ixl/production/728f5daaa9c6607fbd4a1abfb5b23782ab28cacc-1641x1010.png?w=480&amp;auto=format 480w, https://cdn.sanity.io/images/0qig9ixl/production/728f5daaa9c6607fbd4a1abfb5b23782ab28cacc-1641x1010.png?w=800&amp;auto=format 800w, https://cdn.sanity.io/images/0qig9ixl/production/728f5daaa9c6607fbd4a1abfb5b23782ab28cacc-1641x1010.png?w=1200&amp;auto=format 1200w, https://cdn.sanity.io/images/0qig9ixl/production/728f5daaa9c6607fbd4a1abfb5b23782ab28cacc-1641x1010.png?w=1600&amp;auto=format 1600w" sizes="(max-width: 1024px) 100vw, 50vw" width="900" height="554" alt="Demo of family photography site using Singletrack sites web platform" class="w-full h-auto rounded-[3px]" loading="eager" fetchpriority="high" decoding="sync"></div></div></div></section><section class="bg-cream py-20 lg:py-28 border-t border-charcoal/8" data-astro-cid-xf77pset><div class="max-w-[1000px] mx-auto px-6 lg:px-12" data-astro-cid-xf77pset><h2 class="font-display font-normal text-charcoal leading-tight tracking-[-0.015em] mb-4 text-center" style="font-size: clamp(2rem, 4vw, 3rem);" data-astro-cid-xf77pset>Simple pricing, paid once</h2><p class="font-sans text-charcoal/70 leading-relaxed text-center max-w-2xl mx-auto mb-10" style="font-size: clamp(0.95rem, 1.5vw, 1.1rem);" data-astro-cid-xf77pset>Add your own content, or have me move it over for you. Either way, the site and the account are yours.</p><div class="grid md:grid-cols-3 gap-6 lg:gap-8 mt-4 mb-10 text-left" data-astro-cid-xf77pset><div class="bg-cream rounded-[3px] p-8 flex flex-col border border-charcoal/10" data-astro-cid-xf77pset><p class="text-[11px] font-sans font-bold tracking-[0.22em] uppercase text-sage mb-4" data-astro-cid-xf77pset>The platform</p><p class="font-display text-charcoal leading-none mb-2" style="font-size: clamp(2rem, 4vw, 2.6rem);" data-astro-cid-xf77pset>$297<span class="font-sans text-charcoal/55 text-sm font-normal ml-2" data-astro-cid-xf77pset>one time</span></p><p class="font-sans text-charcoal/75 leading-relaxed mt-4 text-[0.95rem]" data-astro-cid-xf77pset>I do the full technical setup, give you a starter theme for your niche, switch your domain over and record a walkthrough video for your site. You add your own content. Your first year of care is included.</p></div><div class="bg-cream rounded-[3px] p-8 flex flex-col border border-charcoal/10" data-astro-cid-xf77pset><p class="text-[11px] font-sans font-bold tracking-[0.22em] uppercase text-sage mb-4" data-astro-cid-xf77pset>Platform + content move</p><p class="font-display text-charcoal leading-none mb-2" style="font-size: clamp(2rem, 4vw, 2.6rem);" data-astro-cid-xf77pset>$600<span class="font-sans text-charcoal/55 text-sm font-normal ml-2" data-astro-cid-xf77pset>one time</span></p><p class="font-sans text-charcoal/75 leading-relaxed mt-4 text-[0.95rem]" data-astro-cid-xf77pset>Everything in the platform, plus I move your existing content over for you: up to 15 pages and 40 blog posts, with formatting, images and SEO kept intact. Your first year of care is included.</p></div><div class="bg-cream rounded-[3px] p-8 flex flex-col border border-charcoal/10" data-astro-cid-xf77pset><p class="text-[11px] font-sans font-bold tracking-[0.22em] uppercase text-sage mb-4" data-astro-cid-xf77pset>Care, after year one</p><p class="font-display text-charcoal leading-none mb-2" style="font-size: clamp(2rem, 4vw, 2.6rem);" data-astro-cid-xf77pset>$100<span class="font-sans text-charcoal/55 text-sm font-normal ml-2" data-astro-cid-xf77pset>per year, optional</span></p><p class="font-sans text-charcoal/75 leading-relaxed mt-4 text-[0.95rem]" data-astro-cid-xf77pset>Platform updates, the built-in Help center, and membership in my Heartbeat community, which is where support happens.</p></div></div><div class="prose-body max-w-2xl mx-auto mb-10" data-astro-cid-xf77pset><p>Don't want care after the first year? Pay nothing. Your site and editor keep running on your own Cloudflare account. You just stop getting updates.</p><p>Rather spread it out? You can choose 3 payments at checkout.</p><h3>What about hosting?</h3><p>Hosting is free on your own Cloudflare account for nearly every photographer site. If yours ever outgrows the free allowance, Cloudflare's paid plan is $5/month, billed to you directly by Cloudflare. I never hold your billing.¹</p><p><em>¹ Cloudflare's free plan includes 5,000 new photo sizes a month. The platform makes each size once and keeps it, so after launch most sites use a small slice of that. Moving a very large photo library can go over in the first month. If it does, Cloudflare charges $0.50 per extra 1,000 photos, billed to you.</em></p></div></div></section><section class="bg-cream py-24 lg:py-32 border-t border-charcoal/8" data-astro-cid-xf77pset><div class="max-w-[720px] mx-auto px-6 lg:px-12 text-center" data-astro-cid-xf77pset><h2 class="font-display font-normal text-charcoal leading-[1.1] tracking-[-0.015em] mb-10" style="font-size: clamp(2rem, 4vw, 3.2rem);" data-astro-cid-xf77pset>The site you build today should still be yours in ten years</h2><div class="prose-body text-left" data-astro-cid-xf77pset><p>Most photographers rent their websites. You pay every month, and the day you stop, the site goes dark. Theme builders and WordPress add their own tax: plugins to buy, plugins to update, plugins that break each other.</p><p>Singletrack Sites works differently. I built my own platform from the ground up for photographers. It's called Singletrack Studio, and everything runs on your own Cloudflare account: the website and the editor you use to change it.</p><p>That means:</p><ul><li><strong>You own it.</strong> The account is in your name. I never hold your billing.</li><li><strong>It keeps running if you stop paying me.</strong> Your site and your editor both keep working, because both live in your account. You'd just stop getting updates.</li><li><strong>Your content is always yours.</strong> One click downloads your whole site, with every photo as a normal image file.</li><li><strong>One account, no passwords.</strong> You create a Cloudflare account once. After that you sign in to your editor with Google or a one-time code sent to your email.</li></ul></div></div></section><section class="bg-cream-dark py-20 lg:py-28 border-t border-charcoal/8" data-astro-cid-xf77pset><div class="max-w-[680px] mx-auto px-6 lg:px-12 text-center" data-astro-cid-xf77pset><h2 class="font-display font-normal text-charcoal leading-tight tracking-[-0.015em] mb-8" style="font-size: clamp(1.9rem, 3.5vw, 2.8rem);" data-astro-cid-xf77pset>Editing that feels like your site</h2><div class="prose-body text-left" data-astro-cid-xf77pset><p>You edit on your actual page, not a form that sort of resembles it.</p><ul><li><strong>Click to edit.</strong> Your page sits beside the editing panel. Click any heading, photo or button and you're in the right field, with changes showing as you type.</li><li><strong>See it every way.</strong> Switch between Full width and Mobile views, or press Preview to open the page full size.</li><li><strong>Pages built from sections.</strong> Heroes, galleries, text, testimonials, FAQs, contact forms, steps and more. Add, reorder, copy or hide them.</li><li><strong>Landing pages.</strong> One tick hides the menu and footer for an ad or a single offer.</li></ul><h3>Nothing gets lost</h3><ul><li>It saves as you type. Nothing goes live until you press Publish.</li><li>History and "Recently deleted" let you put back an earlier version or undo a deletion.</li><li>One-click full backup: a single download of your whole site, with every photo as a normal image file.</li></ul><h3>Built for photographers</h3><ul><li>A photo library with descriptions (alt text), tags, and "where is this photo used?"</li><li>Crop right in the editor (hold Shift to keep the shape, like Photoshop), and set a focal point so the important part stays in frame on phones.</li><li>A portfolio with gallery tabs, masonry or justified-row layouts, and a lightbox.</li><li>A blog with categories, and photos and video in posts.</li><li>Testimonials, downloadable PDFs like your pricing guide, and booking, newsletter or application forms from the services you already use.</li></ul><h3>Your brand</h3><ul><li>Color sets that check readability for you.</li><li>Font pairings, or bring your own brand font.</li><li>A choice of menu and footer styles.</li></ul><h3>Help when you need it</h3><ul><li>A searchable Help center inside the editor, with a "?" beside the trickier screens.</li><li>My Heartbeat community for anything else. That's where you'll find me.</li></ul></div><img src="https://cdn.sanity.io/images/0qig9ixl/production/1a89d29c04d1a2c43e290487bd389c6143e0670c-2320x1353.png?w=1100&amp;auto=format" srcset="https://cdn.sanity.io/images/0qig9ixl/production/1a89d29c04d1a2c43e290487bd389c6143e0670c-2320x1353.png?w=480&amp;auto=format 480w, https://cdn.sanity.io/images/0qig9ixl/production/1a89d29c04d1a2c43e290487bd389c6143e0670c-2320x1353.png?w=800&amp;auto=format 800w, https://cdn.sanity.io/images/0qig9ixl/production/1a89d29c04d1a2c43e290487bd389c6143e0670c-2320x1353.png?w=1200&amp;auto=format 1200w, https://cdn.sanity.io/images/0qig9ixl/production/1a89d29c04d1a2c43e290487bd389c6143e0670c-2320x1353.png?w=1600&amp;auto=format 1600w" sizes="(max-width: 1024px) 100vw, 800px" width="1100" height="642" alt="Image of a singletrack sites page being edited 
53with the Studio App" class="w-full h-auto rounded-[3px] mt-10" loading="lazy" decoding="async"></div></section><section class="bg-cream py-20 lg:py-28 border-t border-charcoal/8" data-astro-cid-xf77pset><div class="max-w-[880px] mx-auto px-6 lg:px-12" data-astro-cid-xf77pset><h2 class="font-display font-normal text-charcoal leading-tight tracking-[-0.015em] mb-14 lg:mb-20 text-center" style="font-size: clamp(2rem, 4vw, 3rem);" data-astro-cid-xf77pset>Why photographers are switching</h2><div class="flex flex-col" data-astro-cid-xf77pset><div class="py-10 lg:py-14 " data-astro-cid-xf77pset><div class="flex flex-col sm:flex-row sm:gap-10" data-astro-cid-xf77pset><span aria-hidden="true" class="font-display text-sage/45 leading-none shrink-0 mb-4 sm:mb-0 sm:pt-1 sm:w-16" style="font-size: clamp(1.6rem, 3vw, 2.4rem);" aria-hidden="true" data-astro-cid-xf77pset>01</span><div class="flex-1 min-w-0" data-astro-cid-xf77pset><h3 class="font-display font-normal text-charcoal leading-snug mb-5" style="font-size: clamp(1.4rem, 2.4vw, 1.9rem);" data-astro-cid-xf77pset>Mobile that just works</h3><div class="prose-body" data-astro-cid-xf77pset><p>Every section is built for phones from the start. Build once and it works everywhere.</p></div><blockquote class="mt-8 lg:mt-9 border-l-[3px] border-sage pl-6" data-astro-cid-xf77pset><p class="font-display italic text-charcoal/80 leading-relaxed" style="font-size: clamp(1.1rem, 1.8vw, 1.35rem);" data-astro-cid-xf77pset>“I can&#39;t tell you how huge that is. How many times I have worked things around in Pixieset. I&#39;m like, okay, it looks great, and then I click and I&#39;m like, how did that get below the picture?”</p><cite class="not-italic block mt-3 text-sm font-sans text-charcoal/70" data-astro-cid-xf77pset>— Photographer on a recent demo call</cite></blockquote></div></div></div><div class="py-10 lg:py-14 border-t border-charcoal/10" data-astro-cid-xf77pset><div class="flex flex-col sm:flex-row sm:gap-10" data-astro-cid-xf77pset><span aria-hidden="true" class="font-display text-sage/45 leading-none shrink-0 mb-4 sm:mb-0 sm:pt-1 sm:w-16" style="font-size: clamp(1.6rem, 3vw, 2.4rem);" aria-hidden="true" data-astro-cid-xf77pset>02</span><div class="flex-1 min-w-0" data-astro-cid-xf77pset><h3 class="font-display font-normal text-charcoal leading-snug mb-5" style="font-size: clamp(1.4rem, 2.4vw, 1.9rem);" data-astro-cid-xf77pset>Fast</h3><div class="prose-body" data-astro-cid-xf77pset><p>I reviewed 100+ photographer websites, and only 6% scored "fast" on Google PageSpeed Insights. Singletrack sites score 95+ on mobile.</p><ul><li>Pages are cached on servers around the world, so they load quickly wherever your clients are.</li><li>Photos are resized automatically for every screen. You upload the full-size file and never think about it again.</li></ul></div><blockquote class="mt-8 lg:mt-9 border-l-[3px] border-sage pl-6" data-astro-cid-xf77pset><p class="font-display italic text-charcoal/80 leading-relaxed" style="font-size: clamp(1.1rem, 1.8vw, 1.35rem);" data-astro-cid-xf77pset>“It&#39;s a way faster loading time than my other one. That&#39;s the biggest difference.”</p><cite class="not-italic block mt-3 text-sm font-sans text-charcoal/70" data-astro-cid-xf77pset>— Carla Jacobson, Coola Creative</cite></blockquote></div></div></div><div class="py-10 lg:py-14 border-t border-charcoal/10" data-astro-cid-xf77pset><div class="flex flex-col sm:flex-row sm:gap-10" data-astro-cid-xf77pset><span aria-hidden="true" class="font-display text-sage/45 leading-none shrink-0 mb-4 sm:mb-0 sm:pt-1 sm:w-16" style="font-size: clamp(1.6rem, 3vw, 2.4rem);" aria-hidden="true" data-astro-cid-xf77pset>03</span><div class="flex-1 min-w-0" data-astro-cid-xf77pset><h3 class="font-display font-normal text-charcoal leading-snug mb-5" style="font-size: clamp(1.4rem, 2.4vw, 1.9rem);" data-astro-cid-xf77pset>Good for Google</h3><div class="prose-body" data-astro-cid-xf77pset><ul><li>Search titles and descriptions for every page, right in the editor.</li><li>Sharing images for when someone posts your link.</li><li>Sitemaps and structured data, handled for you.</li><li>Redirects for old links, so a move doesn't cost you rankings.</li><li>Your photos are eligible to show up in Google Images.</li></ul></div></div></div></div><div class="py-10 lg:py-14 border-t border-charcoal/10" data-astro-cid-xf77pset><div class="flex flex-col sm:flex-row sm:gap-10" data-astro-cid-xf77pset><span aria-hidden="true" class="font-display text-sage/45 leading-none shrink-0 mb-4 sm:mb-0 sm:pt-1 sm:w-16" style="font-size: clamp(1.6rem, 3vw, 2.4rem);" aria-hidden="true" data-astro-cid-xf77pset>04</span><div class="flex-1 min-w-0" data-astro-cid-xf77pset><h3 class="font-display font-normal text-charcoal leading-snug mb-5" style="font-size: clamp(1.4rem, 2.4vw, 1.9rem);" data-astro-cid-xf77pset>Safe editing</h3><div class="prose-body" data-astro-cid-xf77pset><p>You work with finished sections, so you can change words, photos, colors and fonts without breaking the layout. Saves happen as you type, and n
53othing goes live until you press Publish.</p></div></div></div></div><div class="py-10 lg:py-14 border-t border-charcoal/10" data-astro-cid-xf77pset><div class="flex flex-col sm:flex-row sm:gap-10" data-astro-cid-xf77pset><span aria-hidden="true" class="font-display text-sage/45 leading-none shrink-0 mb-4 sm:mb-0 sm:pt-1 sm:w-16" style="font-size: clamp(1.6rem, 3vw, 2.4rem);" aria-hidden="true" data-astro-cid-xf77pset>05</span><div class="flex-1 min-w-0" data-astro-cid-xf77pset><h3 class="font-display font-normal text-charcoal leading-snug mb-5" style="font-size: clamp(1.4rem, 2.4vw, 1.9rem);" data-astro-cid-xf77pset>Moving without starting over</h3><div class="prose-body" data-astro-cid-xf77pset><p>Pick the $600 option and I move your existing content over for you, with formatting, images and SEO kept intact. I handle your URLs, redirects and domain switch myself so your Google rankings come with you.</p><p><strong><a href="https://sarahbethphotography.com" target="_blank" rel="noopener noreferrer" class="text-sage underline underline-offset-2 hover:text-charcoal transition-colors">Sarah Beth Photography</a></strong> came over from my old platform with a 400+ post blog and 2,200+ photos. All 400+ addresses moved with titles, redirects and structured data matching, so her rankings carried over. Her mobile PageSpeed went from 79 to 95–96 after the migration!</p></div></div></div></div></div></div></section><section class="bg-cream-dark py-20 lg:py-28 border-t border-charcoal/8" data-astro-cid-xf77pset><div class="max-w-[1200px] mx-auto px-6 lg:px-12" data-astro-cid-xf77pset><h2 class="font-display font-normal text-charcoal leading-tight tracking-[-0.015em] mb-12 lg:mb-16 text-center" style="font-size: clamp(2rem, 4vw, 3rem);" data-astro-cid-xf77pset>See what&#39;s possible</h2><div class="grid lg:grid-cols-2 gap-10 lg:gap-16 items-center" data-astro-cid-xf77pset><div data-astro-cid-xf77pset><h3 class="font-display font-normal text-charcoal leading-snug mb-4" style="font-size: clamp(1.5rem, 2.6vw, 2.1rem);" data-astro-cid-xf77pset>Coola Creative — Carla&#39;s product photography site</h3><p class="font-sans text-charcoal/70 leading-relaxed mb-8" style="font-size: clamp(1rem, 1.4vw, 1.1rem);" data-astro-cid-xf77pset>Carla launched in under two weeks. She figured out the editor on her own. Her husband&#39;s reaction when she showed him the homepage: &quot;So, are these stock images?&quot;</p><div class="flex flex-col sm:flex-row sm:items-center gap-5" data-astro-cid-xf77pset><a href="https://coolacreative.com/" target="_blank" rel="noopener noreferrer" class="btn-shimmer btn-pill inline-flex items-center px-7 py-3.5 rounded-[6px] bg-charcoal text-cream font-sans font-bold text-[0.7rem] tracking-[0.08em] uppercase hover:bg-charcoal/85 hover:-translate-y-0.5 transition-[color,background-color,transform] duration-200" data-astro-cid-xf77pset>Visit the site →</a><a href="/Coola-creative-custom-website/" class="inline-flex items-center gap-2 text-[0.7rem] font-sans font-bold tracking-[0.08em] uppercase text-charcoal hover:text-sage transition-colors duration-200 group" data-astro-cid-xf77pset>Read the full case study<span class="transition-transform duration-200 group-hover:translate-x-1" aria-hidden="true" data-astro-cid-xf77pset>→</span></a></div></div><div class="rounded-[3px] border-t-[2px] border-sage shadow-sm overflow-hidden bg-cream" data-astro-cid-xf77pset><a href="https://coolacreative.com/" target="_blank" rel="noopener noreferrer" class="block" data-astro-cid-xf77pset><img src="https://cdn.sanity.io/images/0qig9ixl/production/bd42556b4acdef2ccf2fc9896bffa38b7d56afad-1796x1341.png?rect=42,0,1712,1070&amp;w=1200&amp;h=750&amp;fit=crop&amp;auto=format" srcset="https://cdn.sanity.io/images/0qig9ixl/production/bd42556b4acdef2ccf2fc9896bffa38b7d56afad-1796x1341.png?rect=42,0,1712,1070&amp;w=480&amp;h=300&amp;fit=crop&amp;auto=format 480w, https://cdn.sanity.io/images/0qig9ixl/production/bd42556b4acdef2ccf2fc9896bffa38b7d56afad-1796x1341.png?rect=42,0,1712,1070&amp;w=800&amp;h=500&amp;fit=crop&amp;auto=format 800w, https://cdn.sanity.io/images/0qig9ixl/production/bd42556b4acdef2ccf2fc9896bffa38b7d56afad-1796x1341.png?rect=42,0,1712,1070&amp;w=1200&amp;h=750&amp;fit=crop&amp;auto=format 1200w, https://cdn.sanity.io/images/0qig9ixl/production/bd42556b4acdef2ccf2fc9896bffa38b7d56afad-1796x1341.png?rect=42,0,1712,1070&amp;w=1600&amp;h=1000&amp;fit=crop&amp;auto=format 1600w" sizes="(max-width: 1024px) 100vw, 50vw" width="1200" height="750" alt="Coola Collective Screenshot for Carla Jacobson" class="w-full object-cover" loading="lazy" decoding="async"></a></div></div></div></section><section class="bg-cream py-20 lg:py-28 border-t border-charcoal/8" data-astro-cid-xf77pset><div class="max-w-[1200px] mx-auto px-6 lg:px-12" data-astro-cid-xf77pset><h2 class="font-display font-normal text-charcoal leading-tight tracking-[-0.015em] mb-4 text-center" style="font-size: clamp(2rem, 4vw, 3rem);" data-astro-cid-xf77pset>Client sites</h2><p class="font-sans text-charcoal/70 leading-relaxed text-center max-w-2xl mx-auto mb-12" style="font-size: clamp(0.95rem, 1.5vw, 1.1rem);" data-astro-cid-xf77pset>A few of the photographers I&#39;ve built sites for.</p><div class="grid sm:grid-cols-2 gap-8 lg:gap-10" data-astro-cid-xf77pset><a href="https://karenconradphotography.com/" target="_blank" rel="noopener noreferrer" class="group block" data-astro-cid-xf77pset><div class="rounded-[3px] overflow-hidden border border-charcoal/10 shadow-sm bg-cream-dark aspect-[12/7]" data-astro-cid-xf77pset><img src="https://cdn.sanity.io/images/0qig9ixl/production/122a6b60bc46949ece829bd9d1ff2f8e926157f7-1428x833.jpg?w=1200&amp;h=700&amp;fit=crop&amp;crop=top&amp;auto=format" alt="Karen Conrad Photography homepage" width="1200" height="700" loading="lazy" decoding="async" class="w-full h-full object-cover object-top transition-transform duration-500 group-hover:scale-[1.02]" data-astro-cid-xf77pset></div><p class="mt-4 font-sans font-semibold text-charcoal group-hover:text-sage transition-colors duration-200" data-astro-cid-xf77pset>Karen Conrad Photography<span class="sr-only" data-astro-cid-xf77pset> (opens in a new tab)</span></p></a><a href="https://www.petsinfocus.com/" target="_blank" rel="noopener noreferrer" class="group block" data-astro-cid-xf77pset><div class="rounded-[3px] overflow-hidden border border-charcoal/10 shadow-sm bg-cream-dark aspect-[12/7]" data-astro-cid-xf77pset><img src="https://cdn.sanity.io/images/0qig9ixl/production/c1e9ad1de4bbb5be89b69ccadb1b6d5f87588002-1428x833.jpg?w=1200&amp;h=700&amp;fit=crop&amp;crop=top&amp;auto=format" alt="Pets in Focus homepage" width="1200" height="700" loading="lazy" decoding="async" class="w-full h-full object-cover object-top transition-transform duration-500 group-hover:scale-[1.02]" data-astro-cid-xf77pset></div><p class="mt-4 font-sans font-semibold text-charcoal group-hover:text-sage transition-colors duration-200" data-astro-cid-xf77pset>Pets in Focus<span class="sr-only" data-astro-cid-xf77pset> (opens in a new tab)</span></p></a><a href="https://sarahbethphotography.com/" target="_blank" rel="noopener noreferrer" class="group block" data-astro-cid-xf77pset><div class="rounded-[3px] overflow-hidden border border-charcoal/10 shadow-sm bg-cream-dark aspect-[12/7]" data-astro-cid-xf77pset><img src="https://cdn.sanity.io/images/0qig9ixl/production/80bdc0b10e01b7c4ac95b9ce318581e677419b9e-1428x833.jpg?w=1200&amp;h=700&amp;fit=crop&amp;crop=top&amp;auto=format" alt="Sarah Beth Photography homepage" width="1200" height="700" loading="lazy" decoding="async" class="w-full h-full object-cover object-top transition-transform duration-500 group-hover:scale-[1.02]" data-astro-cid-xf77pset></div><p class="mt-4 font-sans font-semibold text-charcoal group-hover:text-sage transition-colors duration-200" data-astro-cid-xf77pset>Sarah Beth Photography<span class="sr-only" data-astro-cid-xf77pset> (opens in a new tab)</span></p></a><a href="https://www.heidiadlerphotography.com/" target="_blank" rel="noopener noreferrer" class="group block" data-astro-cid-xf77pset><div class="rounded-[3px] overflow-hidden border border-charcoal/10 shadow-sm bg-cream-dark aspect-[12/7]" data-astro-cid-xf77pset><img src="https://cdn.sanity.io/images/0qig9ixl/production/a7ccf5f8ed3f49bf8c617b96e26a5bb39eb094a1-1428x833.jpg?w=1200&amp;h=700&amp;fit=crop&amp;crop=top&amp;auto=format" alt="Heidi Adler Photography homepage" width="1200" height="700" loading="lazy" decoding="async" class="w-full h-full object-cover object-top transition-transform duration-500 group-hover:scale-[1.02]" data-astro-cid-xf77pset></div><p class="mt-4 font-sans font-semibold text-charcoal group-hover:text-sage transition-colors duration-200" data-astro-cid-xf77pset>Heidi Adler Photography<span class="sr-only" data-astro-cid-xf77pset> (opens in a new tab)</span></p></a></div></div></section><section id="see-it-in-action" class="bg-cream py-20 lg:py-28 border-t border-charcoal/8 scroll-mt-24" data-astro-cid-xf77pset><div class="max-w-[1000px] mx-auto px-6 lg:px-12" data-astro-cid-xf77pset><h2 class="font-display font-normal text-charcoal leading-tight tracking-[-0.015em] mb-6 text-center" style="font-size: clamp(2rem, 4vw, 3rem);" data-astro-cid-xf77pset>See it in action</h2><div class="prose-body text-center max-w-2xl mx-auto mb-10" data-astro-cid-xf77pset><p>These are three live demos — family, pet, and wedding. They're examples, not limits. Singletrack Sites works for any photography niche — newborns, seniors, real estate, brand, product — with the galleries, blog, and SEO every niche needs. Your niche, your style, the same fast foundation.</p></div><div class="flex flex-col sm:flex-row flex-wrap justify-center gap-4 mb-10" data-astro-cid-xf77pset><a href="https://family-demo.connor-213.workers.dev/" target="_blank" rel="noopener noreferrer" class="btn-shimmer btn-pill inline-flex items-center justify-center px-7 py-3.5 rounded-[6px] border border-charcoal/20 text-charcoal font-sans font-bold text-[0.7rem] tracking-[0.08em] uppercase hover:border-sage hover:bg-sage/10 hover:-translate-y-0.5 transition-[color,background-color,border-color,transform] duration-200" data-astro-cid-xf77pset>Family Demo<span class="ml-2" aria-hidden="true" data-astro-cid-xf77pset>↗</span></a><a href="https://cnw-photo-demo.connor-213.workers.dev/" target="_blank" rel="noopener noreferrer" class="btn-shimmer btn-pill inline-flex items-center justify-center px-7 py-3.5 rounded-[6px] border border-charcoal/20 text-charcoal font-sans font-bold text-[0.7rem] tracking-[0.08em] uppercase hover:border-sage hover:bg-sage/10 hover:-translate-y-0.5 transition-[color,background-color,border-color,transform] duration-200" data-astro-cid-xf77pset>Pet Demo<span class="ml-2" aria-hidden="true" data-astro-cid-xf77pset>↗</span></a><a href="https://wedding-demo.connor-213.workers.dev/" target="_blank" rel="noopener noreferrer" class="btn-shimmer btn-pill inline-flex items-center justify-center px-7 py-3.5 rounded-[6px] border border-charcoal/20 text-charcoal font-sans font-bold text-[0.7rem] tracking-[0.08em] uppercase hover:border-sage hover:bg-sage/10 hover:-translate-y-0.5 transition-[color,background-color,border-color,transform] duration-200" data-astro-cid-xf77pset>Wedding Demo<span class="ml-2" aria-hidden="true" data-astro-cid-xf77pset>↗</span></a></div><div class="aspect-video w-full rounded-[3px] overflow-hidden bg-charcoal/8 shadow-sm" data-astro-cid-xf77pset><iframe src="https://play.gumlet.io/embed/6a1dc55a1bc4884e66b7c8d7" title="See it in action" class="w-full h-full block" loading="lazy" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen data-astro-cid-xf77pset></iframe></div></div></section><section id="try-it-free" class="bg-cream-dark py-20 lg:py-28 border-t border-charcoal/8 scroll-mt-24" data-astro-cid-xf77pset><div class="max-w-[560px] mx-auto px-6 lg:px-12" data-astro-cid-xf77pset><h2 class="font-display font-normal text-charcoal leading-tight tracking-[-0.015em] mb-4 text-center" style="font-size: clamp(2rem, 4vw, 3rem);" data-astro-cid-xf77pset>Try It Before You Commit</h2><div class="prose-body text-center mb-10" data-astro-cid-xf77pset><p>Tell me a bit about your work and I'll set up a working preview — real starter content, built around your niche, ready within a day. No card, no commitment. Free for 7 days.</p></div><form id="trial-form" method="POST" action="/api/contact" class="flex flex-col gap-5" novalidate data-astro-cid-xf77pset><label class="flex flex-col gap-2" data-astro-cid-xf77pset><span class="text-sm font-sans font-medium text-charcoal" data-astro-cid-xf77pset>Name <span class="text-sage" aria-hidden="true" data-astro-cid-xf77pset>*</span></span><input type="text" name="name" required maxlength="120" autocomplete="name" class="w-full bg-transparent border border-charcoal/20 rounded-[3px] px-4 py-3 font-sans text-charcoal focus:outline-none focus:border-sage transition-colors" data-astro-cid-xf77pset></label><label class="flex flex-col gap-2" data-astro-cid-xf77pset><span class="text-sm font-sans font-medium text-charcoal" data-astro-cid-xf77pset>Email <span class="text-sage" aria-hidden="true" data-astro-cid-xf77pset>*</span></span><input type="email" name="email" required maxlength="200" autocomplete="email" class="w-full bg-transparent border border-charcoal/20 rounded-[3px] px-4 py-3 font-sans text-charcoal focus:outline-none focus:border-sage transition-colors" data-astro-cid-xf77pset></label><label class="flex flex-col gap-2" data-astro-cid-xf77pset><span class="text-sm font-sans font-medium text-charcoal" data-astro-cid-xf77pset>What kind of photography do you do? <span class="text-sage" aria-hidden="true" data-astro-cid-xf77pset>*</span></span><input type="text" name="niche" required maxlength="200" placeholder="E.g. pet portraits, weddings, newborns" class="w-full bg-transparent border border-charcoal/20 rounded-[3px] px-4 py-3 font-sans text-charcoal placeholder:text-charcoal/45 focus:outline-none focus:border-sage transition-colors" data-astro-cid-xf77pset></label><!-- Honeypot --><div aria-hidden="true" style="position:absolute;
53left:-9999px;opacity:0;pointer-events:none;" tabindex="-1" data-astro-cid-xf77pset><label data-astro-cid-xf77pset>Website<input type="text" name="website" tabindex="-1" autocomplete="off" data-astro-cid-xf77pset></label></div><div class="cf-turnstile" data-sitekey="0x4AAAAAADB4Eo_8elAhFurA" data-theme="light" data-size="flexible" data-astro-cid-xf77pset></div><div id="trial-status" role="status" aria-live="polite" class="hidden text-sm font-sans" data-astro-cid-xf77pset></div><button type="submit" id="trial-submit" class="btn-shimmer btn-pill inline-flex justify-center items-center px-8 py-4 rounded-[6px] bg-sage text-charcoal font-sans font-bold text-[0.7rem] tracking-[0.08em] uppercase hover:bg-sage/90 hover:-translate-y-0.5 disabled:opacity-60 disabled:hover:translate-y-0 disabled:cursor-not-allowed transition-[color,background-color,transform,opacity] duration-200" data-astro-cid-xf77pset>Request My Free Trial</button><p class="text-xs font-sans text-charcoal/60 text-center leading-relaxed" data-astro-cid-xf77pset>Protected by Cloudflare Turnstile. I'll email your trial link within one business day.</p></form></div></section><section class="bg-cream py-20 lg:py-28 border-t border-charcoal/8" data-astro-cid-xf77pset><div class="max-w-[900px] mx-auto px-6 lg:px-12" data-astro-cid-xf77pset><h2 class="font-display font-normal text-charcoal leading-tight tracking-[-0.015em] mb-10 text-center" style="font-size: clamp(2rem, 4vw, 3rem);" data-astro-cid-xf77pset>What it actually costs</h2><div class="prose-body" data-astro-cid-xf77pset><div class="table-wrap" data-astro-cid-xf77pset><table data-astro-cid-xf77pset><thead data-astro-cid-xf77pset><tr data-astro-cid-xf77pset><th data-astro-cid-xf77pset></th><th data-astro-cid-xf77pset>Typical photographer platform</th><th style="color: #95b19a;" data-astro-cid-xf77pset>Singletrack Sites</th></tr></thead><tbody data-astro-cid-xf77pset><tr data-astro-cid-xf77pset><td class="font-medium text-charcoal" data-astro-cid-xf77pset>Time to launch</td><td data-astro-cid-xf77pset>2–8 weeks minimum</td><td class="text-charcoal" style="background-color: rgba(149, 177, 154, 0.10);" data-astro-cid-xf77pset>1–2 weeks</td></tr><tr data-astro-cid-xf77pset><td class="font-medium text-charcoal" data-astro-cid-xf77pset>Initial build</td><td data-astro-cid-xf77pset>$0 to $900 (template)</td><td class="text-charcoal" style="background-color: rgba(149, 177, 154, 0.10);" data-astro-cid-xf77pset>$297, or $600 with your content moved</td></tr><tr data-astro-cid-xf77pset><td class="font-medium text-charcoal" data-astro-cid-xf77pset>Content migration</td><td data-astro-cid-xf77pset>Do it yourself</td><td class="text-charcoal" style="background-color: rgba(149, 177, 154, 0.10);" data-astro-cid-xf77pset>Included with the $600 option</td></tr><tr data-astro-cid-xf77pset><td class="font-medium text-charcoal" data-astro-cid-xf77pset>Monthly platform fee</td><td data-astro-cid-xf77pset>$20 to $80</td><td class="text-charcoal" style="background-color: rgba(149, 177, 154, 0.10);" data-astro-cid-xf77pset>$0</td></tr><tr data-astro-cid-xf77pset><td class="font-medium text-charcoal" data-astro-cid-xf77pset>Hosting</td><td data-astro-cid-xf77pset>Included or extra</td><td class="text-charcoal" style="background-color: rgba(149, 177, 154, 0.10);" data-astro-cid-xf77pset>Free on your Cloudflare account¹</td></tr><tr data-astro-cid-xf77pset><td class="font-medium text-charcoal" data-astro-cid-xf77pset>SEO plugin</td><td data-astro-cid-xf77pset>$100 to $200/year</td><td class="text-charcoal" style="background-color: rgba(149, 177, 154, 0.10);" data-astro-cid-xf77pset>Built in</td></tr><tr data-astro-cid-xf77pset><td class="font-medium text-charcoal" data-astro-cid-xf77pset>Security plugin</td><td data-astro-cid-xf77pset>$100 to $120/year</td><td class="text-charcoal" style="background-color: rgba(149, 177, 154, 0.10);" data-astro-cid-xf77pset>Not needed</td></tr><tr data-astro-cid-xf77pset><td class="font-medium text-charcoal" data-astro-cid-xf77pset>Gallery plugin</td><td data-astro-cid-xf77pset>$50 to $150/year</td><td class="text-charcoal" style="background-color: rgba(149, 177, 154, 0.10);" data-astro-cid-xf77pset>Built in</td></tr><tr data-astro-cid-xf77pset><td class="font-medium text-charcoal" data-astro-cid-xf77pset>Care</td><td data-astro-cid-xf77pset>n/a</td><td class="text-charcoal" style="background-color: rgba(149, 177, 154, 0.10);" data-astro-cid-xf77pset>$100/year after year one (optional)</td></tr><tr data-astro-cid-xf77pset><td class="font-medium text-charcoal" data-astro-cid-xf77pset>10-year total</td><td data-astro-cid-xf77pset><strong>$3,600 to $9,000+</strong></td><td class="text-charcoal" style="background-color: rgba(149, 177, 154, 0.10);" data-astro-cid-xf77pset><strong>$1,197</strong> ($297) or <strong>$1,500</strong> ($600)</td></tr><tr data-astro-cid-xf77pset><td class="font-medium text-charcoal" data-astro-cid-xf77pset>If you stop paying</td><td data-astro-cid-xf77pset>Your site goes offline</td><td class="text-charcoal" style="background-color: rgba(149, 177, 154, 0.10);" data-astro-cid-xf77pset>Your site and editor keep running</td></tr><tr data-astro-cid-xf77pset><td class="font-medium text-charcoal" data-astro-cid-xf77pset>Do you own it?</td><td data-astro-cid-xf77pset>No</td><td class="text-charcoal" style="background-color: rgba(149, 177, 154, 0.10);" data-astro-cid-xf77pset>Yes</td></tr></tbody></table></div></div><div class="max-w-[680px] mx-auto mt-16 pt-12 border-t border-charcoal/8" data-astro-cid-xf77pset><h3 class="font-display font-normal text-charcoal leading-tight tracking-[-0.01em] mb
53-6" style="font-size: clamp(1.5rem, 3vw, 2.1rem);" data-astro-cid-xf77pset>&quot;But Squarespace is only $39 a month&quot;</h3><div class="prose-body" data-astro-cid-xf77pset><p>Squarespace plus the gallery tools most photographers add runs about $36 to $46 a month. Over three years, that's roughly $1,400, and you still don't own anything.</p><p>Over the same three years, Singletrack Sites costs $497 if you style your own site, or $800 with your content moved, care included the whole time. The $297 option is cheaper that Squarespace from the first year, the $600 option by the second, and both come with professional setup, a faster site and a site that's yours.</p><p>The real cost of most platforms isn't the monthly fee, though. It's paying every month for a site you keep meaning to finish.</p></div></div><div class="prose-body max-w-[680px] mx-auto mt-14 pt-10 border-t border-charcoal/8" data-astro-cid-xf77pset><h3>About care</h3><p>Care is $100/year after your first year, and it's optional. It covers platform updates, the built-in Help center and the Heartbeat community. Without it, your site and editor keep running on your own Cloudflare account. You just stop getting updates.</p><p>Already on my care plan? Your renewal drops from $180 to $100/year too.</p></div></div></section><section class="bg-charcoal py-20 lg:py-28" data-astro-cid-xf77pset><div class="max-w-[720px] mx-auto px-6 lg:px-12" data-astro-cid-xf77pset><h2 class="font-display font-normal text-cream leading-tight tracking-[-0.02em] mb-8" style="font-size: clamp(2rem, 4vw, 3rem);" data-astro-cid-xf77pset>“What happens if you disappear?”</h2><div class="prose-body prose-invert-st" data-astro-cid-xf77pset><p>Your site and your editor keep working. Both live in your own Cloudflare account, not on a server I control, so nothing depends on me to stay online. You can keep editing and publishing. You just wouldn't get new updates.</p><p>If something ever needs fixing years from now, any web developer can pick up the code, and handoff documentation is built in. And you can download a full backup of your site anytime, with every photo as a normal image file.</p><p>Squarespace, ShowIt and Pixieset shut your site off when the payments stop. This doesn't.</p></div><blockquote class="mt-10 lg:mt-12 border-l-[3px] border-sage pl-6" data-astro-cid-xf77pset><p class="font-display italic text-cream/85 leading-relaxed" style="font-size: clamp(1.15rem, 2vw, 1.5rem);" data-astro-cid-xf77pset>“Even if the back-end goes down, I still have a website.”</p><cite class="not-italic block mt-3 text-sm font-sans text-cream/55" data-astro-cid-xf77pset>— Carla Jacobson</cite></blockquote></div></section><section class="bg-cream py-20 lg:py-28" data-astro-cid-xf77pset><div class="max-w-[800px] mx-auto px-6 lg:px-12" data-astro-cid-xf77pset><h2 class="font-display font-normal text-charcoal leading-tight tracking-[-0.015em] mb-14 text-center" style="font-size: clamp(2rem, 4vw, 3rem);" data-astro-cid-xf77pset>How it works</h2><ol class="flex flex-col gap-10" data-astro-cid-xf77pset><li class="flex gap-6" data-astro-cid-xf77pset><span aria-hidden="true" class="font-display text-sage/40 leading-none shrink-0" style="font-size: clamp(2rem, 4vw, 3rem);" data-astro-cid-xf77pset>01</span><div data-astro-cid-xf77pset><h3 class="font-sans font-semibold text-charcoal text-lg mb-2" data-astro-cid-xf77pset>Get in touch</h3><p class="font-sans text-charcoal/70 leading-relaxed" data-astro-cid-xf77pset>Tell me a bit about your current site. I&#39;ll reply within one business day to set up a call or answer questions.</p></div></li><li class="flex gap-6" data-astro-cid-xf77pset><span aria-hidden="true" class="font-display text-sage/40 leading-none shrink-0" style="font-size: clamp(2rem, 4vw, 3rem);" data-astro-cid-xf77pset>02</span><div data-astro-cid-xf77pset><h3 class="font-sans font-semibold text-charcoal text-lg mb-2" data-astro-cid-xf77pset>We talk</h3><p class="font-sans text-charcoal/70 leading-relaxed" data-astro-cid-xf77pset>A 30-minute conversation. I show you Singletrack Sites and we figure out together whether it&#39;s a good fit. No pitch.</p></div></li><li class="flex gap-6" data-astro-cid-xf77pset><span aria-hidden="true" class="font-display text-sage/40 leading-none shrink-0" style="font-size: clamp(2rem, 4vw, 3rem);" data-astro-cid-xf77pset>03</span><div data-astro-cid-xf77pset><h3 class="font-sans font-semibold text-charcoal text-lg mb-2" data-astro-cid-xf77pset>You pick an option</h3><p class="font-sans text-charcoal/70 leading-relaxed" data-astro-cid-xf77pset>$297 if you&#39;d like to add your own content, or $600 if you&#39;d like me to move it for you.</p></div></li><li class="flex gap-6" data-astro-cid-xf77pset><span aria-hidden="true" class="font-display text-sage/40 leading-none shrink-0" style="font-size: clamp(2rem, 4vw, 3rem);" data-astro-cid-xf77pset>04</span><div data-astro-cid-xf77pset><h3 class="font-sans font-semibold text-charcoal text-lg mb-2" data-astro-cid-xf77pset>Technical setup</h3><p class="font-sans text-charcoal/70 leading-relaxed" data-astro-cid-xf77pset>
53You create one Cloudflare account (about 10 minutes, and the walkthrough shows you how). I set up the platform and your starter theme, usually within a day.</p></div></li><li class="flex gap-6" data-astro-cid-xf77pset><span aria-hidden="true" class="font-display text-sage/40 leading-none shrink-0" style="font-size: clamp(2rem, 4vw, 3rem);" data-astro-cid-xf77pset>05</span><div data-astro-cid-xf77pset><h3 class="font-sans font-semibold text-charcoal text-lg mb-2" data-astro-cid-xf77pset>Build out your site</h3><p class="font-sans text-charcoal/70 leading-relaxed" data-astro-cid-xf77pset>With the $600 option, I move your content first, so you&#39;re polishing a real site instead of an empty template. With $297, your walkthrough video shows you how to add it. Most photographers spend 4 to 8 hours over a week or two, and I&#39;m around the whole time.</p></div></li><li class="flex gap-6" data-astro-cid-xf77pset><span aria-hidden="true" class="font-display text-sage/40 leading-none shrink-0" style="font-size: clamp(2rem, 4vw, 3rem);" data-astro-cid-xf77pset>06</span><div data-astro-cid-xf77pset><h3 class="font-sans font-semibold text-charcoal text-lg mb-2" data-astro-cid-xf77pset>Launch</h3><p class="font-sans text-charcoal/70 leading-relaxed" data-astro-cid-xf77pset>I switch your domain over myself and set up redirects, so your Google rankings come with you.</p></div></li></ol></div></section><section class="bg-cream-dark py-20 lg:py-28 border-t border-charcoal/8" data-astro-cid-xf77pset><div class="max-w-[1000px] mx-auto px-6 lg:px-12" data-astro-cid-xf77pset><h2 class="font-display font-normal text-charcoal leading-tight tracking-[-0.015em] mb-12 text-center" style="font-size: clamp(2rem, 4vw, 3rem);" data-astro-cid-xf77pset>What&#39;s not included, and what is</h2><div class="bg-cream rounded-[3px] border-t-[2px] border-sage shadow-sm" data-astro-cid-xf77pset><div class="grid md:grid-cols-2" data-astro-cid-xf77pset><div class="p-8 lg:p-12 border-b md:border-b-0 md:border-r border-charcoal/10" data-astro-cid-xf77pset><p class="text-[11px] font-sans font-bold tracking-[0.22em] uppercase text-sage mb-6" data-astro-cid-xf77pset>Included</p><ul class="flex flex-col gap-4" data-astro-cid-xf77pset><li class="flex items-start gap-3" data-astro-cid-xf77pset><span class="shrink-0 mt-1 w-5 h-5 rounded-full bg-sage/20 text-sage flex items-center justify-center" aria-hidden="true" data-astro-cid-xf77pset>
53<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-xf77pset><polyline points="20 6 9 17 4 12" data-astro-cid-xf77pset></polyline></svg></span><span class="font-sans text-charcoal/80 leading-relaxed" data-astro-cid-xf77pset>Full technical setup on your own Cloudflare account</span></li><li class="flex items-start gap-3" data-astro-cid-xf77pset><span class="shrink-0 mt-1 w-5 h-5 rounded-full bg-sage/20 text-sage flex items-center justify-center" aria-hidden="true" data-astro-cid-xf77pset><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-xf77pset><polyline points="20 6 9 17 4 12" data-astro-cid-xf77pset></polyline></svg></span><span class="font-sans text-charcoal/80 leading-relaxed" data-astro-cid-xf77pset>A starter theme for your niche</span></li><li class="flex items-start gap-3" data-astro-cid-xf77pset><span class="shrink-0 mt-1 w-5 h-5 rounded-full bg-sage/20 text-sage flex items-center justify-center" aria-hidden="true" data-astro-cid-xf77pset>
53<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-xf77pset><polyline points="20 6 9 17 4 12" data-astro-cid-xf77pset></polyline></svg></span><span class="font-sans text-charcoal/80 leading-relaxed" data-astro-cid-xf77pset>Domain switch and redirects, so your Google rankings carry over</span></li><li class="flex items-start gap-3" data-astro-cid-xf77pset><span class="shrink-0 mt-1 w-5 h-5 rounded-full bg-sage/20 text-sage flex items-center justify-center" aria-hidden="true" data-astro-cid-xf77pset><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-xf77pset><polyline points="20 6 9 17 4 12" data-astro-cid-xf77pset></polyline></svg></span><span class="font-sans text-charcoal/80 leading-relaxed" data-astro-cid-xf77pset>A walkthrough video for your site</span></li><li class="flex items-start gap-3" data-astro-cid-xf77pset><span class="shrink-0 mt-1 w-5 h-5 rounded-full bg-sage/20 text-sage flex items-center justify-center" aria-hidden="true" data-astro-cid-xf77pset>
53<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-xf77pset><polyline points="20 6 9 17 4 12" data-astro-cid-xf77pset></polyline></svg></span><span class="font-sans text-charcoal/80 leading-relaxed" data-astro-cid-xf77pset>Your first year of care: updates, the Help center and the Heartbeat community</span></li><li class="flex items-start gap-3" data-astro-cid-xf77pset><span class="shrink-0 mt-1 w-5 h-5 rounded-full bg-sage/20 text-sage flex items-center justify-center" aria-hidden="true" data-astro-cid-xf77pset><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-xf77pset><polyline points="20 6 9 17 4 12" data-astro-cid-xf77pset></polyline></svg></span><span class="font-sans text-charcoal/80 leading-relaxed" data-astro-cid-xf77pset>With the $600 option: your content moved for you (up to 15 pages and 40 blog posts, with formatting, images and SEO intact)</span></li></ul></div><div class="p-8 lg:p-12" data-astro-cid-xf77pset><p class="text-[11px] font-sans font-bold tracking-[0.22em] uppercase text-charcoal/70 mb-6" data-astro-cid-xf77pset>Available as an add-on</p><ul class="flex flex-col gap-4" data-astro-cid-xf77pset><li class="flex items-start gap-3" data-astro-cid-xf77pset><span class="shrink-0 mt-1 w-5 h-5 rounded-full border border-charcoal/25 text-charcoal/70 flex items-center justify-center" aria-hidden="true" data-astro-cid-xf77pset>
53<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" data-astro-cid-xf77pset><line x1="12" y1="5" x2="12" y2="19" data-astro-cid-xf77pset></line><line x1="5" y1="12" x2="19" y2="12" data-astro-cid-xf77pset></line></svg></span><span class="font-sans text-charcoal/70 leading-relaxed" data-astro-cid-xf77pset>Moving a bigger archive than 40 blog posts (priced by count)</span></li><li class="flex items-start gap-3" data-astro-cid-xf77pset><span class="shrink-0 mt-1 w-5 h-5 rounded-full border border-charcoal/25 text-charcoal/70 flex items-center justify-center" aria-hidden="true" data-astro-cid-xf77pset><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" data-astro-cid-xf77pset><line x1="12" y1="5" x2="12" y2="19" data-astro-cid-xf77pset></line><line x1="5" y1="12" x2="19" y2="12" data-astro-cid-xf77pset></line></svg></span><span class="font-sans text-charcoal/70 leading-relaxed" data-astro-cid-xf77pset>Rebuilding your current design page for page</span></li><li class="flex items-start gap-3" data-astro-cid-xf77pset><span class="shrink-0 mt-1 w-5 h-5 rounded-full border border-charcoal/25 text-charcoal/70 flex items-center justify-center" aria-hidden="true" data-astro-cid-xf77pset>
53<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" data-astro-cid-xf77pset><line x1="12" y1="5" x2="12" y2="19" data-astro-cid-xf77pset></line><line x1="5" y1="12" x2="19" y2="12" data-astro-cid-xf77pset></line></svg></span><span class="font-sans text-charcoal/70 leading-relaxed" data-astro-cid-xf77pset>Custom design beyond the included themes and color sets</span></li><li class="flex items-start gap-3" data-astro-cid-xf77pset><span class="shrink-0 mt-1 w-5 h-5 rounded-full border border-charcoal/25 text-charcoal/70 flex items-center justify-center" aria-hidden="true" data-astro-cid-xf77pset><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" data-astro-cid-xf77pset><line x1="12" y1="5" x2="12" y2="19" data-astro-cid-xf77pset></line><line x1="5" y1="12" x2="19" y2="12" data-astro-cid-xf77pset></line></svg></span><span class="font-sans text-charcoal/70 leading-relaxed" data-astro-cid-xf77pset>Ongoing SEO strategy and keyword research</span></li></ul></div></div></div></div></section><section class="bg-cream py-20 lg:py-28 border-t border-charcoal/8" data-astro-cid-xf77pset><div class="max-w-[820px] mx-auto px-6 lg:px-12" data-astro-cid-xf77pset><h2 class="font-display font-normal text-charcoal leading-tight tracking-[-0.015em] mb-12 text-center" style="font-size: clamp(2rem, 4vw, 3rem);" data-astro-cid-xf77pset>Frequently asked questions</h2><dl class="divide-y divide-charcoal/10" data-astro-cid-xf77pset><details class="group py-6" data-astro-cid-xf77pset><summary class="flex items-center justify-between gap-4 cursor-pointer list-none select-none" data-astro-cid-xf77pset><dt class="font-sans font-medium text-charcoal text-lg" data-astro-cid-xf77pset>Do I need to be tech-savvy to use this?</dt><span class="text-charcoal/70 shrink-0 text-2xl leading-none transition-transform duration-200 group-open:rotate-45" aria-hidden="true" data-astro-cid-xf77pset>+</span></summary><dd class="mt-4 prose-body text-[0.95rem]" data-astro-cid-xf77pset><p>If you can use Pixieset, Squarespace or ShowIt, you can use Singletrack Studio. You click on your page to change it, and drag sections to reorder them. No code.</p><p>Setup takes one technical step: creating a Cloudflare account and giving me access, about 10 minutes. Your walkthrough video covers it. After that, you sign in with Google or a one-time code by email. No passwords to remember.</p></dd></details><details class="group py-6" data-astro-cid-xf77pset><summary class="flex items-center justify-between gap-4 cursor-pointer list-none select-none" data-astro-cid-xf77pset><dt class="font-sans font-medium text-charcoal text-lg" data-astro-cid-xf77pset>What happens if you stop working on this platform?</dt><span class="text-charcoal/70 shrink-0 text-2xl leading-none transition-transform duration-200 group-open:rotate-45" aria-hidden="true" data-astro-cid-xf77pset>+</span></summary><dd class="mt-4 prose-body text-[0.95rem]" data-astro-cid-xf77pset><p>Your site and your editor keep working. Both live in your own Cloudflare account, not on a server I control, so nothing depends on me to stay online. You can keep editing and publishing. You just wouldn't get new updates. If something ever needs fixing years from now, any web developer can pick up the code, and handoff documentation is built in. And you can download a full backup of your site anytime, with every photo as a normal image file.</p></dd></details><details class="group py-6" data-astro-cid-xf77pset><summary class="flex items-center justify-between gap-4 cursor-pointer list-none select-none" data-astro-cid-xf77pset><dt class="font-sans font-medium text-charcoal text-lg" data-astro-cid-xf77pset>Can you move my existing blog posts and SEO?</dt><span class="text-charcoal/70 shrink-0 text-2xl leading-none transition-transform duration-200 group-open:rotate-45" aria-hidden="true" data-astro-cid-xf77pset>+</span></summary><dd class="mt-4 prose-body text-[0.95rem]" data-astro-cid-xf77pset><p>Yes, with the $600 option. Up to 15 pages and 40 blog posts come over with formatting, images and SEO intact. I handle your URLs, redirects, structured data and domain switch myself so your Google rankings carry over. Sarah Beth Photography moved 400+ addresses this way and kept her rankings.</p><p>Bigger archives or a page-for-page design match are quoted before we start. No surprises.</p></dd></details>
53<details class="group py-6" data-astro-cid-xf77pset><summary class="flex items-center justify-between gap-4 cursor-pointer list-none select-none" data-astro-cid-xf77pset><dt class="font-sans font-medium text-charcoal text-lg" data-astro-cid-xf77pset>How is this different from Squarespace, ShowIt or Pixieset?</dt><span class="text-charcoal/70 shrink-0 text-2xl leading-none transition-transform duration-200 group-open:rotate-45" aria-hidden="true" data-astro-cid-xf77pset>+</span></summary><dd class="mt-4 prose-body text-[0.95rem]" data-astro-cid-xf77pset><ul><li><strong>You're never locked out.</strong> On those platforms, your site disappears when you stop paying. Singletrack sites run in your own account, and they keep running.</li><li><strong>No monthly fee.</strong> Those platforms charge $20 to $80 a month forever. Singletrack Sites is a one-time price, plus $100/year for care if you want it.</li><li><strong>Mobile actually works.</strong> No building on desktop and then fighting the phone version. Sections work on mobile automatically.</li></ul></dd></details><details class="group py-6" data-astro-cid-xf77pset><summary class="flex items-center justify-between gap-4 cursor-pointer list-none select-none" data-astro-cid-xf77pset><dt class="font-sans font-medium text-charcoal text-lg" data-astro-cid-xf77pset>What does the $100/year care plan cover?</dt><span class="text-charcoal/70 shrink-0 text-2xl leading-none transition-transform duration-200 group-open:rotate-45" aria-hidden="true" data-astro-cid-xf77pset>+</span></summary><dd class="mt-4 prose-body text-[0.95rem]" data-astro-cid-xf77pset><ul><li>Platform updates and new features as I release them</li><li>The built-in, searchable Help center inside your editor</li><li>Membership in my Heartbeat community (<a href="https://member.connorwalberg.com" target="_blank" rel="noopener noreferrer" class="text-sage underline underline-offset-2 hover:text-charcoal transition-colors">member.connorwalberg.com</a>), where support happens</li></ul><p>Custom changes, design work and big archive moves are separate, quoted work. Care is optional. Without it, your site and editor keep running on your Cloudflare account.</p><p>Already on my care plan? Your renewal drops from $180 to $100/year too.</p></dd></details><details class="group py-6" data-astro-cid-xf77pset><summary class="flex items-center justify-between gap-4 cursor-pointer list-none select-none" data-astro-cid-xf77pset><dt class="font-sans font-medium text-charcoal text-lg" data-astro-cid-xf77pset>What does hosting cost?</dt><span class="text-charcoal/70 shrink-0 text-2xl leading-none transition-transform duration-200 group-open:rotate-45" aria-hidden="true" data-astro-cid-xf77pset>+</span></summary><dd class="mt-4 prose-body text-[0.95rem]" data-astro-cid-xf77pset><p>Nothing, for nearly every photographer site. It runs on the free allowance of your own Cloudflare account. If your site ever outgrows it, Cloudflare's paid plan is $5/month, billed to you directly by Cloudflare. I never hold your billing.</p></dd></details><details class="group py-6" data-astro-cid-xf77pset><summary class="flex items-center justify-between gap-4 cursor-pointer list-none select-none" data-astro-cid-xf77pset><dt class="font-sans font-medium text-charcoal text-lg" data-astro-cid-xf77pset>Why is it called Singletrack Sites?</dt><span class="text-charcoal/70 shrink-0 text-2xl leading-none transition-transform duration-200 group-open:rotate-45" aria-hidden="true" data-astro-cid-xf77pset>+</span></summary><dd class="mt-4 prose-body text-[0.95rem]" data-astro-cid-xf77pset><p>Singletrack is a narrow mountain bike trail: one clear path, no clutter. The platform gives you the right pieces in the right order so you're never fighting the tool. It's also part of a family: my company is Singletrack Digital, my SEO service is Singletrack SEO, and the platform is the newest member.</p></dd></details></dl></div></section><section id="get-in-touch" class="bg-charcoal py-20 lg:py-28 scroll-mt-24" data-astro-cid-xf77pset><div class="max-w-[800px] mx-auto px-6 lg:px-12" data-astro-cid-xf77pset><h2 class="font-display font-normal text-cream leading-tight tracking-[-0.02em] mb-6 text-center" style="font-size: clamp(2.2rem, 4.5vw, 3.4rem);" data-astro-cid-xf77pset>Get in touch</h2><div class="prose-body prose-invert-st text-center mb-10" data-astro-cid-xf77pset><p>The first step isn't a sales pitch. I want to hear what you're on now, what's bugging you about it, and whether Singletrack Sites actually fixes that. If it doesn't, I'll tell you.</p></div><form id="st-form" method="POST" action="/api/contact" class="flex flex-col gap-6" novalidate data-astro-cid-xf77pset><label class="flex flex-col gap-2" data-astro-cid-xf77pset><span class="text-sm font-sans font-medium text-cream/85" data-astro-cid-xf77pset>Name <span class="text-sage" aria-hidden="true" data-astro-cid-xf77pset>*</span></span><input type="text" name="name" required maxlength="120" autocomplete="name" class="w-full bg-cream/5 border border-cream/20 rounded-[3px] px-4 py-3 font-sans text-cream placeholder:text-cream/55 focus:outline-none focus:border-sage transition-colors" data-astro-cid-xf77pset></label><label class="flex flex-col gap-2" data-astro-cid-xf77pset><span class="text-sm font-sans font-medium text-cream/85" data-astro-cid-xf77pset>Email <span class="text-sage" aria-hidden="true" data-astro-cid-xf77pset>*</span></span><input type="email" name="email" required maxlength="200" autocomplete="email" class="w-full bg-cream/5 border border-cream/20 rounded-[3px] px-4 py-3 font-sans text-cream placeholder:text-cream/55 focus:outline-none focus:border-sage transition-colors" data-astro-cid-xf77pset></label><label class="flex flex-col gap-2" data-astro-cid-xf77pset><span class="text-sm font-sans font-medium text-cream/85" data-astro-cid-xf77pset>What platform are you using now? <span class="text-sage" aria-hidden="true" data-astro-cid-xf77pset>*</span></span><select name="platform" required class="w-full bg-cream/5 border border-cream/20 rounded-[3px] px-4 py-3 font-sans text-cream focus:outline-none focus:border-sage transition-colors" data-astro-cid-xf77pset><option value="" disabled selected data-astro-cid-xf77pset>Select one…</option><option value="ShowIt" data-astro-cid-xf77pset>ShowIt</option><option value="Squarespace" data-astro-cid-xf77pset>Squarespace</option><option value="Pixieset" data-astro-cid-xf77pset>Pixieset</option><option value="WordPress" data-astro-cid-xf77pset>WordPress</option><option value="ProPhoto" data-astro-cid-xf77pset>ProPhoto</option><option value="Wix" data-astro-cid-xf77pset>Wix</option><option value="Other" data-astro-cid-xf77pset>Other</option><option value="Not yet — I'm starting fresh" data-astro-cid-xf77pset>Not yet — I'm starting fresh</option></select></label><label class="flex flex-col gap-2" data-astro-cid-xf77pset><span class="text-sm font-sans font-medium text-cream/85" data-astro-cid-xf77pset>Anything you want me to know before we talk?</span><textarea name="message" rows="4" maxlength="5000" class="w-full bg-cream/5 border border-cream/20 rounded-[3px] px-4 py-3 font-sans text-cream placeholder:text-cream/55 focus:outline-none focus:border-sage transition-colors resize-y" data-astro-cid-xf77pset></textarea></label><!-- Honeypot --><div aria-hidden="true" style="position:absolute;
53left:-9999px;opacity:0;pointer-events:none;" tabindex="-1" data-astro-cid-xf77pset><label data-astro-cid-xf77pset>Website<input type="text" name="website" tabindex="-1" autocomplete="off" data-astro-cid-xf77pset></label></div><div class="cf-turnstile" data-sitekey="0x4AAAAAADB4Eo_8elAhFurA" data-theme="dark" data-size="flexible" data-astro-cid-xf77pset></div><div id="st-status" role="status" aria-live="polite" class="hidden text-sm font-sans" data-astro-cid-xf77pset></div><button type="submit" id="st-submit" class="btn-shimmer btn-pill inline-flex justify-center items-center px-8 py-4 rounded-[6px] bg-sage text-charcoal font-sans font-bold text-[0.7rem] tracking-[0.08em] uppercase hover:bg-sage/90 hover:-translate-y-0.5 disabled:opacity-60 disabled:hover:translate-y-0 disabled:cursor-not-allowed transition-[color,background-color,transform,opacity] duration-200" data-astro-cid-xf77pset>Get in touch</button></form><div class="mt-10 pt-8 border-t border-cream/15 text-center" data-astro-cid-xf77pset><p class="text-[11px] font-sans font-bold tracking-[0.22em] uppercase text-sage mb-4" data-astro-cid-xf77pset>Already decided?</p><a href="https://connorwalberg.thrivecart.com/singletrack-sites/" target="_blank" rel="noopener noreferrer" class="btn-shimmer btn-pill inline-flex items-center px-7 py-3.5 rounded-[6px] border border-cream/35 text-cream font-sans font-bold text-[0.7rem] tracking-[0.08em] uppercase hover:border-cream/70 hover:bg-cream/5 hover:-translate-y-0.5 transition-[color,background-color,border-color,transform] duration-200" data-astro-cid-xf77pset>Buy Now<span class="ml-2" aria-hidden="true" data-astro-cid-xf77pset>→</span></a><p class="font-sans text-xs text-cream/55 mt-3" data-astro-cid-xf77pset>Skip the call and start now.</p></div><p class="text-center mt-6 text-sm font-sans text-cream/55" data-astro-cid-xf77pset>Or <a href="mailto:[email protected]" class="text-cream/70 underline underline-offset-4 decoration-cream/30 hover:text-cream transition-colors" data-astro-cid-xf77pset>email me directly</a> if you'd rather skip the form.</p></div></section></main><footer class="bg-charcoal text-cream/70"><div class="max-w-[1200px] mx-auto px-6 lg:px-12 pt-20 pb-10"><!-- Top row: brand + columns --><div class="grid grid-cols-1 lg:grid-cols-[2fr_repeat(4,1fr)] gap-12 lg:gap-8 mb-16"><!-- Brand block --><div><a href="/" class="font-display text-2xl text-cream tracking-wide mb-4 block">Connor Walberg SEO</a><p class="text-sm leading-relaxed text-cream/60 max-w-[240px]">Website Design + SEO for Photographers</p><!-- Social icons --><div class="flex items-center gap-4 mt-6"><a href="https://www.youtube.com/channel/UCaxiWCl_YQbYRDmBfZUkB5A" target="_blank" rel="noopener noreferrer" aria-label="YouTube" class="text-cream/55 hover:text-cream transition-colors duration-200"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M23.5 6.2a3 3 0 0 0-2.1-2.1C19.5 3.6 12 3.6 12 3.6s-7.5 0-9.4.5A3 3 0 0 0 .5 6.2 31.1 31.1 0 0 0 0 12a31.1 31.1 0 0 0 .5 5.8 3 3 0 0 0 2.1 2.1c1.9.5 9.4.5 9.4.5s7.5 0 9.4-.5a3 3 0 0 0 2.1-2.1A31.1 31.1 0 0 0 24 12a31.1 31.1 0 0 0-.5-5.8zM9.8 15.5V8.5L15.8 12l-6 3.5z"></path></svg></a><a href="https://www.facebook.com/groups/photographerseo" target="_blank" rel="noopener noreferrer" aria-label="Facebook Community" class="text-cream/55 hover:text-cream transition-colors duration-200"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 24 24"><path d="M24 12.07C24 5.41 18.63 0 12 0S0 5.4 0 12.07C0 18.1 4.39 23.1 10.13 24v-8.44H7.08v-3.49h3.04V9.41c0-3.02 1.8-4.7 4.54-4.7 1.31 0 2.68.24 2.68.24v2.97h-1.5c-1.49 0-1.96.93-1.96 1.89v2.26h3.32l-.53 3.5h-2.8V24C19.62 23.1 24 18.1 24 12.07z"></path></svg></a></div></div><!-- Link columns --><div><h3 class="text-xs font-sans font-semibold tracking-[0.15em] uppercase text-cream/55 mb-5">Products</h3><ul class="flex flex-col gap-3"><li><a href="/singletrack-sites/" class="footer-link text-sm text-cream/65 hover:text-cream transition-colors duration-200">Web Platform</a></li><li><a href="/seo-for-photographers/" class="footer-link text-sm text-cream/65 hover:text-cream transition-colors duration-200">SEO Guide</a></li><li><a href="/photo-business-collective/" class="footer-link text-sm text-cream/65 hover:text-cream transition-colors duration-200">Collective</a></li><li><a href="/pet-photographer-showit-template/" class="footer-link text-sm text-cream/65 hover:text-cream transition-colors duration-200">Template</a></li></ul></div><div><h3 class="text-xs font-sans font-semibold tracking-[0.15em] uppercase text-cream/55 mb-5">
53Resources</h3><ul class="flex flex-col gap-3"><li><a href="/blog/" class="footer-link text-sm text-cream/65 hover:text-cream transition-colors duration-200">Blog</a></li><li><a href="/seo-tools/" class="footer-link text-sm text-cream/65 hover:text-cream transition-colors duration-200">SEO Tools</a></li><li><a href="/seo-glossary-for-photographers/" class="footer-link text-sm text-cream/65 hover:text-cream transition-colors duration-200">SEO Glossary</a></li><li><a href="/about/" class="footer-link text-sm text-cream/65 hover:text-cream transition-colors duration-200">About</a></li><li><a href="/contact/" class="footer-link text-sm text-cream/65 hover:text-cream transition-colors duration-200">Contact</a></li></ul></div><div><h3 class="text-xs font-sans font-semibold tracking-[0.15em] uppercase text-cream/55 mb-5">Account</h3><ul class="flex flex-col gap-3"><li><a href="https://member.connorwalberg.com/" class="footer-link text-sm text-cream/65 hover:text-cream transition-colors duration-200">Member Login</a></li><li><a href="/photo-business-collective/" class="footer-link text-sm text-cream/65 hover:text-cream transition-colors duration-200">Membership</a></li><li><a href="https://www.youtube.com/channel/UCaxiWCl_YQbYRDmBfZUkB5A" class="footer-link text-sm text-cream/65 hover:text-cream transition-colors duration-200">YouTube</a></li></ul></div><div><h3 class="text-xs font-sans font-semibold tracking-[0.15em] uppercase text-cream/55 mb-5">Legal</h3><ul class="flex flex-col gap-3"><li><a href="https://www.iubenda.com/privacy-policy/80872077" class="footer-link text-sm text-cream/65 hover:text-cream transition-colors duration-200">Privacy Policy</a></li><li><a href="https://www.iubenda.com/terms-and-conditions/80872077" class="footer-link text-sm text-cream/65 hover:text-cream transition-colors duration-200">Terms &amp; Conditions</a></li></ul></div></div><!-- Divider --><div class="border-t border-cream/10"></div><!-- Bottom row: copyright --><div class="pt-8 text-xs text-cream/55"><p>Connor Walberg SEO | ©2026</p></div></div></footer><!-- Facebook Pixel -->
53<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"0c8b37ab7d994da5a730568652cc2847","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 53
53
54<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a464dc3f0dfb127b',t:'MTc5MTI5MTc0NQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
54</body>
54<script type="module">if(!window.matchMedia(`(prefers-reduced-motion: reduce)`).matches){let e=new IntersectionObserver(t=>{t.forEach(t=>{t.isIntersecting&&(t.target.classList.add(`is-visible`),e.unobserve(t.target))})},{threshold:.12});document.querySelectorAll(`.animate-on-scroll`).forEach(t=>{e.observe(t)})}</script>
54<script type="module">document.addEventListener(`click`,e=>{let t=e.target?.closest?.(`.yt-facade`);if(!t)return;let n=t.dataset.ytId;if(!n)return;let r=document.createElement(`iframe`);r.src=`https://www.youtube-nocookie.com/embed/${n}?autoplay=1`,r.title=`YouTube video player`,r.className=`absolute inset-0 w-full h-full rounded-[3px]`,r.allow=`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture`,r.allowFullscreen=!0;let i=document.createElement(`div`);i.className=`relative w-full`,i.style.paddingTop=`56.25%`,i.appendChild(r),t.replaceWith(i),r.focus()});</script>
54</html>
54<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
54<script type="module">function e(e){let t=document.getElementById(e.formId),n=document.getElementById(e.submitId),r=document.getElementById(e.statusId);!t||!n||!r||t.addEventListener(`submit`,async i=>{i.preventDefault(),r.classList.add(`hidden`),n.disabled=!0;let a=n.textContent;n.textContent=`Sending…`;let o=new FormData(t),s={...e.buildPayload(o),website:o.get(`website`)??``,turnstileToken:o.get(`cf-turnstile-response`)??``};try{let i=await fetch(`/api/contact`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(s)}),o=await i.json().catch(()=>({}));i.ok&&o.ok?(t.reset(),t.style.display=`none`,r.textContent=e.successMessage,r.classList.remove(`hidden`,e.errorColorClass),r.classList.add(`text-sage`,`text-center`,`text-base`)):(r.textContent=o.error??`Something went wrong. Please try again.`,r.classList.remove(`hidden`,`text-sage`),r.classList.add(e.errorColorClass),n.disabled=!1,n.textContent=a,window.turnstile&&window.turnstile.reset())}catch{r.textContent=`Network error. Please try again.`,r.classList.remove(`hidden`,`text-sage`),r.classList.add(e.errorColorClass),n.disabled=!1,n.textContent=a}})}e({formId:`st-form`,submitId:`st-submit`,statusId:`st-status`,errorColorClass:`text-red-400`,successMessage:`Thanks. I'll get back to you within one business day.`,buildPayload:e=>({name:e.get(`name`)??``,email:e.get(`email`)??``,platform:e.get(`platform`)??``,message:e.get(`message`)??``})}),e({formId:`trial-form`,submitId:`trial-submit`,statusId:`trial-status`,errorColorClass:`text-red-700`,successMessage:`Thanks! I'll email your trial link within one business day.`,buildPayload:e=>({name:e.get(`name`)??``,email:e.get(`email`)??``,niche:e.get(`niche`)??``,requestType:`trial`})});</script>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.