- Removed the PublicHelpPage component and streamlined navigation by adding a direct link to the Support page in the SiteFooter. - Updated the PublicShell component to redirect to the Support page instead of the Contact page. - Enhanced the CTABanner and HeroSection components with new text and improved call-to-action buttons. - Replaced the ServicesGrid component with ServicesCarousel for better service presentation. - Introduced new conversion service cards in the services data structure for improved service offerings. - Updated the PublicContactView and PublicSupportView components for better styling and accessibility.
8.6 KiB
Public Pages Restructuring v2 — Design
Date: 2026-03-04 Scope: Landing page conversion overhaul, contact section restoration, routing cleanup
Problem
The previous restructuring (v1) stripped the landing page down to an informational layout — hero, static 4-card grid, trust section, and a CTA banner with a phone number. The contact form was removed from the landing page and pushed to a standalone /contact page. This broke the conversion funnel:
- No contact form on the landing page — visitors must navigate away to reach out
- CTA Banner leads with a phone number instead of driving visitors to services
- Services presented as a static 4-card grid with no pricing — no hook to click through
- Service cards are informational, not conversion-oriented
- No smart grouping of Personal vs Business services
/helproute is unnecessary- Support downloads (Acronis, TeamViewer) removed from landing page
The services page (/services and sub-pages) is the actual converter — where visitors select plans and enter the checkout funnel. The landing page's job is to funnel visitors there, with the contact form as a fallback for those who want to talk.
Design
1. Landing Page (/)
Seven sections, structured as a conversion funnel that drives visitors to /services:
Section 1: Hero (problem-first framing)
Reframe from company-centric to visitor-centric:
- Heading: "Just Moved to Japan? Get Connected in English."
- Subtitle: "Internet, phone, VPN and IT support — set up in days, not weeks. No Japanese needed."
- Primary CTA: "Find Your Plan" →
/services - Secondary CTA: "Talk to Us" →
#contact(same-page smooth scroll)
Section 2: Trust Strip (unchanged)
- 20+ years | Full English | Foreign Cards | 10,000+ Customers
- No changes to current implementation
Section 3: Services Section (tabbed carousel with conversion cards)
Replace the static 4-card ServicesGrid with a tabbed carousel:
- Tab switcher: "For You" | "For Business"
- "For You" tab: Internet, SIM, VPN, Onsite (from
personalServicesdata) - "For Business" tab: Office LAN, Tech Support, Dedicated Internet, Data Center, Web Construction (from
businessServicesdata) - Horizontal scroll with prev/next buttons and auto-scroll
Each card is a conversion-oriented mini-ad:
┌──────────────────────────────┐
│ "Need reliable internet?" │ ← problem hook
│ NTT Fiber up to 10Gbps │ ← key benefit
│ from ¥3,200/mo │ ← price anchor
│ ★ Most Popular │ ← badge (optional)
│ [View Plans →] │ ← CTA
└──────────────────────────────┘
Card data structure (extend existing ServiceItem):
interface ConversionServiceCard {
title: string;
problemHook: string; // "Need reliable internet?"
keyBenefit: string; // "NTT Fiber up to 10Gbps"
priceFrom: string; // "from ¥3,200/mo"
badge?: string; // "Most Popular" | "1st month free"
icon: React.ReactNode;
href: string;
ctaLabel: string; // "View Plans"
}
Section 4: Why Us (unchanged)
- "Built on Trust and Excellence"
- Image + trust points (English support, foreign cards, bilingual contracts)
- Link to
/about
Section 5: CTA Banner (repurposed)
- Heading: "Ready to Get Set Up?"
- Subtitle: "No Japanese required. Our English-speaking team is here to help."
- Primary CTA: "Find Your Plan" →
/services - Secondary CTA: "Talk to Us" →
#contact - Phone number removed as headline
Section 6: Support Downloads
Restored from old landing page. Two cards side-by-side:
- Acronis Quick Assist (download link)
- TeamViewer QS (download link)
Uses existing supportDownloads data from features/landing-page/data/services.tsx.
Section 7: Contact Section (#contact)
Full contact section restored (like original pre-v1 landing page):
- Left column:
- Contact form (uses existing
ContactFormcomponent) - "By Chat (Anytime)" — chat mention
- "By Phone (9:30-18:00 JST)" — toll-free (0120-660-470) + international (+81-3-3560-1006)
- Contact form (uses existing
- Right column:
- Google Maps embed
- Access info card (Azabu-Juban Station, Exit 6)
- Address card (3F Azabu Maruka Bldg., Minato-ku, Tokyo)
Sticky Mobile CTA:
- "Find Your Plan" →
/services - Shows when hero CTA scrolls out of viewport (existing
useStickyCtahook)
2. Routing Changes
| Route | Current | New |
|---|---|---|
/ |
Stripped-down landing | Full 7-section conversion funnel |
/contact |
Standalone contact page | No change — stays for SEO, external links, cross-site nav |
/support |
Self-service hub | No change |
/help |
Redirects to /contact |
Delete — route removed entirely |
3. Navigation Link Updates
| Location | Link Text | Target |
|---|---|---|
| Header nav | "Support" | /support |
| Footer | "Support" | /support |
| Footer | "Contact" | /contact |
| Hero primary | "Find Your Plan" | /services |
| Hero secondary | "Talk to Us" | #contact |
| CTA Banner primary | "Find Your Plan" | /services |
| CTA Banner secondary | "Talk to Us" | #contact |
| Service page CTAs | "Contact Us" | /contact |
| Sticky mobile | "Find Your Plan" | /services |
4. Component Changes
New components:
ServicesCarousel.tsx— tabbed (For You / For Business) horizontal carousel with conversion cards, auto-scroll, prev/next buttonsContactSection.tsx— full contact section: form (left) + map/address (right), usesContactFormcomponentSupportDownloadsSection.tsx— two-card grid for Acronis + TeamViewer downloads
Modified components:
PublicLandingView.tsx— new 7-section composition replacing current 5-section layoutCTABanner.tsx— remove phone number headline, update CTAs to "Find Your Plan" + "Talk to Us"HeroSection.tsx— problem-first copy, secondary CTA targets#contactinstead of/contactSiteFooter.tsx— ensure "Support" →/supportand "Contact" →/contactas separate linksfeatures/landing-page/data/services.tsx— extend service data withproblemHook,keyBenefit,priceFrom,badgefields for conversion cards
Deleted:
ServicesGrid.tsx— replaced byServicesCarousel.tsxapp/(public)/(site)/help/page.tsx— route removed
Unchanged:
PublicContactView.tsx— standalone contact page stays as-isPublicSupportView.tsx— support page stays as-is (KB cards decorative)ContactForm.tsx— reused in landing page contact section + contact page + support page- All service pages, about, blog, auth pages — no changes
TrustStrip.tsx— no changesWhyUsSection.tsx— no changes
Service Card Pricing Data
Pricing to display on conversion cards (sourced from service pages):
| Service | Price From | Badge |
|---|---|---|
| Internet | ¥3,200/mo | — |
| SIM | ¥1,100/mo | 1st month free |
| VPN | ¥2,500/mo | — |
| Onsite Support | — (quote-based) | — |
| Office LAN Setup | — (quote-based) | — |
| Tech Support | — (quote-based) | — |
| Dedicated Internet | — (quote-based) | — |
| Data Center | — (quote-based) | — |
| Web Construction | — (quote-based) | — |
Quote-based services show "Get a Quote" instead of a price.
File Changes Summary
New files
features/landing-page/components/ServicesCarousel.tsxfeatures/landing-page/components/ContactSection.tsxfeatures/landing-page/components/SupportDownloadsSection.tsx
Modified files
features/landing-page/views/PublicLandingView.tsxfeatures/landing-page/components/HeroSection.tsxfeatures/landing-page/components/CTABanner.tsxfeatures/landing-page/components/index.tsfeatures/landing-page/data/services.tsxcomponents/organisms/SiteFooter/SiteFooter.tsx
Deleted files
features/landing-page/components/ServicesGrid.tsxapp/(public)/(site)/help/page.tsx