Canvas & Current — SEO Architecture
The site is built as a scaling machine, not a brochure. Every template below is a mold you pour a new page into. Adding page 200 is a content task, never a design task.
Strategy: hybrid local + national. Two independent growth axes that cross-link into each other, so every new page on either axis strengthens the other.
1. The two axes
NATIONAL AXIS (what you do, for whom)
services x industries
|
LOCAL AXIS ----------------+---------------- the cross-product
cities x services | is where the volume is
/website-design-for-contractors/
/austin/website-design/
Axis 1 — National / vertical. You are not fighting 40,000 agencies for "web design." You are winning "app design for logistics startups" and "Shopify redesign for outdoor brands." Low competition, high intent, high ticket.
Axis 2 — Local / geo. "Web design [city]" converts at a far higher rate than national because the buyer wants someone they can meet. One home metro, then adjacent cities.
Neither axis is allowed to produce a thin page. See §7.
2. URL architecture
/ home
/services/ services hub
/services/website-design/ money page
/services/app-design/ money page
/services/branding/ money page
/services/graphic-design/ money page
/services/website-design/ecommerce/ sub-service (silo child)
/services/website-design/redesign/
/services/website-design/landing-pages/
/services/website-design/webflow/
/services/app-design/ios/
/services/app-design/design-systems/
/services/app-design/prototyping/
/services/branding/logo-design/
/services/branding/brand-identity/
/services/branding/rebrand/
/services/graphic-design/flyers/
/services/graphic-design/packaging/
/services/graphic-design/social-media/
/industries/ industries hub
/industries/home-services/ vertical page
/industries/saas/
/industries/ecommerce/
/industries/healthcare/
/industries/restaurants/
/industries/real-estate/
/industries/professional-services/
/industries/nonprofits/
/website-design-for-{industry}/ CROSS-PRODUCT, national. highest ROI template
/app-design-for-{industry}/
/branding-for-{industry}/
/locations/ service-area hub
/locations/{city}/ city page
/locations/{city}/website-design/ CROSS-PRODUCT, local
/locations/{city}/app-design/
/locations/{city}/branding/
/work/ portfolio hub
/work/{project-slug}/ case study
/work/category/{service}/ filtered portfolio view
/insights/ blog hub
/insights/{cluster}/ cluster hub
/insights/{post-slug}/ post
/about/ /team/ /process/ /pricing/ /contact/ /faq/
/tools/{tool-slug}/ free link-magnet tools
/compare/{a}-vs-{b}/ BOFU comparison
/404 /privacy /terms /accessibility
Rule: no live URL is ever renamed. If a slug has to change, ship a _redirects 301 map alongside it (house §48).
3. Title tag and meta patterns
Keep every title under ~60 characters and every description under ~155.
| Template | Title pattern | H1 pattern | ||
|---|---|---|---|---|
| Home | `UX/UI & Web Design Studio \ | Canvas & Current` | Brand promise, keyword in first 5 words | |
| Service | `{Service} Services \ | Canvas & Current` | {Service} That {Outcome} | |
| Sub-service | `{Sub-service} \ | {Service} \ | Canvas & Current` | {Sub-service} |
| Industry | `{Industry} Web & App Design \ | Canvas & Current` | Design For {Industry} | |
| Cross national | `{Service} for {Industry} \ | Canvas & Current` | {Service} For {Industry} | |
| City | `Web Design in {City}, {ST} \ | Canvas & Current` | {City} Web & App Design | |
| City x service | `{Service} in {City}, {ST} \ | Canvas & Current` | {Service} in {City} | |
| Case study | `{Client}: {Result} \ | Canvas & Current Work` | {Client} + result line | |
| Post | `{Title} \ | Canvas & Current` | {Title} |
Never duplicate a title. Never let a template emit the same description twice with only the city swapped; the intro paragraph and the proof block must differ per page (§7).
4. Schema per template
Every page carries Organization + WebSite + BreadcrumbList sitewide. Then:
| Template | Additional JSON-LD |
|---|---|
| Home | ProfessionalService, FAQPage |
| Service | Service with areaServed, hasOfferCatalog |
| Industry / cross | Service scoped to audience |
| City / city x service | LocalBusiness (or ProfessionalService with areaServed City) |
| Case study | CreativeWork + Review when a real client quote exists |
| Post | Article with author as a real named designer |
| Pricing | OfferCatalog with real price ranges |
| FAQ | FAQPage |
| Team | Person per designer, linked from Organization.employee |
| Tools | SoftwareApplication or WebApplication |
Person and Review schema are legal claims about real humans. Per house rule, never invent a designer name, a client name or a testimonial author. Placeholders stay visible until Chris supplies verified names.
5. Internal linking model
The homepage is a hub, not a destination. Five link surfaces on the homepage feed the whole architecture, and every one of them is a real navigational section, not a footer link dump:
- Services grid → the four money pages, with sub-service chips under each
- Industries strip → the vertical hub and its eight children
- Selected work → case studies, which link back up to their service and industry
- Service areas → the locations hub and the top cities
- Insights teaser → the cluster hubs
Then the rules that keep it healthy as it grows:
- Every child links up to its parent hub and sideways to two siblings.
- Every case study links to the service it used, the industry it served, and the city it was for. This is what makes a case study worth three internal links instead of one.
- Every city page links to its service cross-products and to the two nearest cities.
- Every post links to exactly one money page in the first 300 words, in body copy.
- Orphan check runs before every deploy: any page reachable only from the sitemap fails.
6. Content clusters (Insights)
Four clusters. Each one is a hub page plus 8 to 12 posts, all linking up to the hub and into one money page.
- Web design cost & process — "how much does a website cost", "web design process", "how long does a redesign take". BOFU, feeds
/services/website-design/and/pricing/. - UX & conversion — "landing page best practices", "why is my site not converting", "UX audit checklist". Feeds the audit tool and
/services/website-design/. - Branding — "how much does a logo cost", "brand identity vs logo", "when to rebrand". Feeds
/services/branding/. - App & product design — "MVP design", "design systems for startups", "app design cost". Feeds
/services/app-design/.
AI visibility (GEO/AEO) is a first-class target, not an afterthought. Each cluster carries a short, directly-quotable answer block near the top of the page (40 to 60 words, one claim, no hedging) because that is the unit an assistant lifts. Comparison tables, explicit definitions and FAQPage markup do the same job.
7. The anti-thin-page gate
Programmatic pages are how this architecture scales and also how it dies. Every generated page must clear all five before it ships:
- 700+ words of page-specific body copy. Not the same 700 with a city swapped.
- One unique proof element — a case study, a named local client, a photo, a specific stat. If there is no proof for that city or industry yet, the page waits.
- A unique intro and a unique FAQ block. Three of the six FAQs must be specific to that page's topic.
- Three inbound internal links from elsewhere in the site, not counting the footer.
- A reason to exist. If you cannot say in one sentence what a searcher gets here that they cannot get on the parent page, do not publish it.
Ship cities in batches of 3 to 5 with real depth. Never dump 60 at once.
8. Technical SEO baseline
Built into the templates so it cannot be forgotten:
- One
<h1>per page, keyword in the first five words, heading order never skips a level. - Self-referencing
<link rel="canonical">on every page. robots.txt+sitemap.xml, regenerated on every build, city and industry pages included.- OG + Twitter card tags with a per-template share image.
- A favicon on every page. Blocking item (house §37) —
favicon.icoat the deploy zip root, plus the full link set. - Every image: descriptive
alt, explicitwidth/heightattributes plusobject-fitso nothing distorts,loading="lazy"below the fold,fetchpriority="high"on the LCP image. - Inlined CSS, zero external requests, no render-blocking anything. Target under 100KB.
- CSS-only animation (house §7b), so nothing about the motion costs a JS payload.
- WCAG 2.2 AA is an SEO asset here, not just compliance: it is the proof that the studio can do the thing it sells.
_redirectsfile maintained from day one, even while it is empty.
9. Conversion architecture
SEO that does not convert is a vanity metric. Every template carries the same four conversion surfaces in the same order, so a visitor landing on page 180 gets the same path as one landing on the homepage:
- Above the fold — one primary CTA. Book a call. Never two competing primaries.
- Mid-page proof — case study or result stat, placed right after the first ask.
- The qualifier — a short multi-step form that asks budget and timeline. A form that qualifies converts fewer and closes more.
- Exit CTA — the global band above the footer, on every single page.
Plus: a sticky bar on mobile, the email as a visible fallback for people who will not fill in a form, and a real pricing page, because hiding price is the single biggest leak on an agency site.
10. Build order
| Phase | Pages | Why first |
|---|---|---|
| 1 | Home, 4 services, about, team, process, contact, pricing, FAQ | The trust and money core. Nothing ranks without it. |
| 2 | 6 to 8 case studies, work hub | Proof. Unlocks the anti-thin gate for everything after. |
| 3 | Industries hub + 4 verticals + their service cross-products | National axis, lowest competition, fastest wins. |
| 4 | Locations hub + home metro + 4 adjacent cities | Local axis, highest conversion rate. |
| 5 | Insights hubs + first 12 posts | Topical authority and the AI-visibility surface. |
| 6 | Sub-services, tools, comparison pages | Long-tail and link magnets. |
Phases 3 through 6 never require touching the design system. That is what "built to scale" has to mean.