Compare commits
36 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8abb1cf57b | |||
| 26daff2ca7 | |||
| 3ae9c9a7d6 | |||
| 94607db51b | |||
| d7cc1eb6e9 | |||
| 0dd847e3b3 | |||
| 52eea4c262 | |||
| c95cd8626f | |||
| 37ef8bdf29 | |||
| 38d8a9cb01 | |||
| d10b3427af | |||
| 298b3f0778 | |||
| 84d994e2a4 | |||
| 20f9a7736b | |||
| 8fec597468 | |||
| ad15249f17 | |||
| 25509db9f5 | |||
| 2031fbd5f2 | |||
| bdbe206e32 | |||
| 7e8b25b8e2 | |||
| 4af92e9ab4 | |||
| 67a873c989 | |||
| 8b2797305e | |||
| 92dccaa620 | |||
| 86f147659a | |||
| 856bc66d70 | |||
| e076f361bc | |||
| 50e3e892c5 | |||
| f6fc0fb767 | |||
| 7fdd2a31e1 | |||
| ed15b841b6 | |||
| 93da9da371 | |||
| f7faa99582 | |||
| 9b04838f75 | |||
| f8c43aa9a8 | |||
| eafa5374e9 |
201
src/app/page.tsx
201
src/app/page.tsx
@@ -6,10 +6,8 @@ import ContactCTA from '@/components/sections/contact/ContactCTA';
|
|||||||
import FeatureCardTwentyFour from '@/components/sections/feature/FeatureCardTwentyFour';
|
import FeatureCardTwentyFour from '@/components/sections/feature/FeatureCardTwentyFour';
|
||||||
import FooterMedia from '@/components/sections/footer/FooterMedia';
|
import FooterMedia from '@/components/sections/footer/FooterMedia';
|
||||||
import HeroBillboard from '@/components/sections/hero/HeroBillboard';
|
import HeroBillboard from '@/components/sections/hero/HeroBillboard';
|
||||||
import MetricCardOne from '@/components/sections/metrics/MetricCardOne';
|
|
||||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||||
import TextAbout from '@/components/sections/about/TextAbout';
|
import TextAbout from '@/components/sections/about/TextAbout';
|
||||||
import { LineChart, MapPin, Target } from "lucide-react";
|
|
||||||
|
|
||||||
export default function LandingPage() {
|
export default function LandingPage() {
|
||||||
return (
|
return (
|
||||||
@@ -21,7 +19,7 @@ export default function LandingPage() {
|
|||||||
sizing="largeSizeMediumTitles"
|
sizing="largeSizeMediumTitles"
|
||||||
background="aurora"
|
background="aurora"
|
||||||
cardStyle="subtle-shadow"
|
cardStyle="subtle-shadow"
|
||||||
primaryButtonStyle="double-inset"
|
primaryButtonStyle="diagonal-gradient"
|
||||||
secondaryButtonStyle="solid"
|
secondaryButtonStyle="solid"
|
||||||
headingFontWeight="normal"
|
headingFontWeight="normal"
|
||||||
>
|
>
|
||||||
@@ -29,22 +27,10 @@ export default function LandingPage() {
|
|||||||
<div id="nav" data-section="nav">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarStyleCentered
|
<NavbarStyleCentered
|
||||||
navItems={[
|
navItems={[
|
||||||
{
|
{ name: "Home", id: "/" },
|
||||||
name: "Home",
|
{ name: "Services", id: "/services" },
|
||||||
id: "/",
|
{ name: "About", id: "/about" },
|
||||||
},
|
{ name: "Contact", id: "/contact" },
|
||||||
{
|
|
||||||
name: "Services",
|
|
||||||
id: "/services",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "About",
|
|
||||||
id: "/about",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "Contact",
|
|
||||||
id: "/contact",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
brandName="Local Rank Experts"
|
brandName="Local Rank Experts"
|
||||||
/>
|
/>
|
||||||
@@ -53,63 +39,22 @@ export default function LandingPage() {
|
|||||||
<div id="hero" data-section="hero">
|
<div id="hero" data-section="hero">
|
||||||
<HeroBillboard
|
<HeroBillboard
|
||||||
background={{
|
background={{
|
||||||
variant: "gradient-bars",
|
variant: "gradient-bars"}}
|
||||||
}}
|
|
||||||
title="Calgary's Local SEO Specialists."
|
title="Calgary's Local SEO Specialists."
|
||||||
description="We get Calgary home service businesses to the top of Google Maps. That's all we do."
|
description="More calls. More customers. All from Google Maps. "
|
||||||
buttons={[
|
buttons={[
|
||||||
{
|
{ text: "Book Your Free GBP Audit", href: "/contact" },
|
||||||
text: "Book Your Free GBP Audit",
|
|
||||||
href: "/contact",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CVsKYOORG1QTC0iM3LA3BfvJY3/professional-minimalist-illustration-rep-1776696790913-1c019b1b.png"
|
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CVsKYOORG1QTC0iM3LA3BfvJY3/uploaded-1776697582356-a1c5dns3.png"
|
||||||
imageAlt="Professional, minimalist illustration representing local search and map optimization on a mobile pho"
|
imageAlt="Professional, minimalist illustration representing local search and map optimization"
|
||||||
|
imageClassName="w-[30%] mx-auto block"
|
||||||
mediaAnimation="slide-up"
|
mediaAnimation="slide-up"
|
||||||
avatars={[
|
|
||||||
{
|
|
||||||
src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CVsKYOORG1QTC0iM3LA3BfvJY3/professional-headshot-of-happy-local-bus-1776696843689-8dbd0f04.png",
|
|
||||||
alt: "Client review",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CVsKYOORG1QTC0iM3LA3BfvJY3/professional-headshot-of-happy-local-bus-1776696852622-c4912824.png",
|
|
||||||
alt: "Client review",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CVsKYOORG1QTC0iM3LA3BfvJY3/professional-headshot-of-happy-local-bus-1776696861443-d531fc32.png",
|
|
||||||
alt: "Client review",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CVsKYOORG1QTC0iM3LA3BfvJY3/professional-headshot-of-happy-local-bus-1776696870151-40a7a8f3.png",
|
|
||||||
alt: "Client review",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CVsKYOORG1QTC0iM3LA3BfvJY3/professional-headshot-of-happy-local-bus-1776696878966-489c7492.png",
|
|
||||||
alt: "Client review",
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
avatarText="Trusted by 50+ local Calgary businesses"
|
|
||||||
marqueeItems={[
|
marqueeItems={[
|
||||||
{
|
{ type: "text", text: "Calgary SEO" },
|
||||||
type: "text",
|
{ type: "text", text: "Google Maps Ranking" },
|
||||||
text: "Calgary SEO",
|
{ type: "text", text: "GBP Audit" },
|
||||||
},
|
{ type: "text", text: "Local Citations" },
|
||||||
{
|
{ type: "text", text: "Review Management" },
|
||||||
type: "text",
|
|
||||||
text: "Google Maps Ranking",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "text",
|
|
||||||
text: "GBP Audit",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "text",
|
|
||||||
text: "Local Citations",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "text",
|
|
||||||
text: "Review Management",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -117,7 +62,7 @@ export default function LandingPage() {
|
|||||||
<div id="problem" data-section="problem">
|
<div id="problem" data-section="problem">
|
||||||
<TextAbout
|
<TextAbout
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
title="Most Calgary businesses have a Google Business Profile. Very few have it set up correctly. If you're not showing up in the top 3 results on Google Maps, you're losing customers to competitors who are — regardless of who's actually better."
|
title="Most businesses show up. Few businesses get chosen. Google's Map Pack shows 3 results. Those 3 businesses get 80% of the clicks, calls, and customers — everyone else is invisible. The difference isn't luck. It's not your website. It's whether your Google Business Profile tells Google exactly who you are, where you are, and why you're the best option. That's what we fix. "
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -128,34 +73,16 @@ export default function LandingPage() {
|
|||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
features={[
|
features={[
|
||||||
{
|
{
|
||||||
id: "f1",
|
id: "f1", title: "GBP Optimization", author: "Direct", description: "Full profile audit and optimization for maximum Google Maps visibility.", tags: [""],
|
||||||
title: "GBP Optimization",
|
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CVsKYOORG1QTC0iM3LA3BfvJY3/detailed-magnifying-glass-hovering-over--1776696797495-e99d9ec3.png"
|
||||||
author: "Direct",
|
|
||||||
description: "Full audit and strategic setup of your profile for max visibility.",
|
|
||||||
tags: [
|
|
||||||
"Optimization",
|
|
||||||
],
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CVsKYOORG1QTC0iM3LA3BfvJY3/detailed-magnifying-glass-hovering-over--1776696797495-e99d9ec3.png",
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "f2",
|
id: "f2", title: "Local SEO Management", author: "Ongoing", description: "Weekly posting, review management, and geo-grid tracking.", tags: [""],
|
||||||
title: "Local SEO Management",
|
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CVsKYOORG1QTC0iM3LA3BfvJY3/icon-of-a-rising-chart-and-gears-profess-1776696803967-25d49a80.png"
|
||||||
author: "Ongoing",
|
|
||||||
description: "Weekly posting, review management, and geo-grid tracking.",
|
|
||||||
tags: [
|
|
||||||
"Strategy",
|
|
||||||
],
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CVsKYOORG1QTC0iM3LA3BfvJY3/icon-of-a-rising-chart-and-gears-profess-1776696803967-25d49a80.png",
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "f3",
|
id: "f3", title: "Citation Building", author: "Technical", description: "Consistent business listings across the web — a core ranking signal ", tags: [""],
|
||||||
title: "Citation Building",
|
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CVsKYOORG1QTC0iM3LA3BfvJY3/icon-showing-interconnected-digital-mark-1776696818359-2dd31738.png"
|
||||||
author: "Technical",
|
|
||||||
description: "Building and cleaning up your business listings web-wide.",
|
|
||||||
tags: [
|
|
||||||
"Foundations",
|
|
||||||
],
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CVsKYOORG1QTC0iM3LA3BfvJY3/icon-showing-interconnected-digital-mark-1776696818359-2dd31738.png",
|
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
title="What We Do"
|
title="What We Do"
|
||||||
@@ -163,54 +90,15 @@ export default function LandingPage() {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="why-us" data-section="why-us">
|
|
||||||
<MetricCardOne
|
|
||||||
animationType="slide-up"
|
|
||||||
textboxLayout="default"
|
|
||||||
gridVariant="uniform-all-items-equal"
|
|
||||||
useInvertedBackground={false}
|
|
||||||
metrics={[
|
|
||||||
{
|
|
||||||
id: "m1",
|
|
||||||
value: "100%",
|
|
||||||
title: "Calgary-focused",
|
|
||||||
description: "We only work with businesses in the YYC region.",
|
|
||||||
icon: MapPin,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "m2",
|
|
||||||
value: "Local SEO",
|
|
||||||
title: "Specialists",
|
|
||||||
description: "No generalist marketing - just local maps.",
|
|
||||||
icon: Target,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "m3",
|
|
||||||
value: "Live",
|
|
||||||
title: "Transparency",
|
|
||||||
description: "You see exactly where you rank daily.",
|
|
||||||
icon: LineChart,
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
title="Why Local Rank Experts"
|
|
||||||
description="We are Calgary's local SEO specialists."
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="cta-banner" data-section="cta-banner">
|
<div id="cta-banner" data-section="cta-banner">
|
||||||
<ContactCTA
|
<ContactCTA
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
background={{
|
background={{ variant: "radial-gradient" }}
|
||||||
variant: "radial-gradient",
|
|
||||||
}}
|
|
||||||
tag="FREE AUDIT"
|
tag="FREE AUDIT"
|
||||||
title="Not sure where you stand on Google Maps?"
|
title="Not sure where you stand on Google Maps?"
|
||||||
description="Find out for free with a comprehensive GBP audit."
|
description="Find out for free with a comprehensive GBP audit."
|
||||||
buttons={[
|
buttons={[
|
||||||
{
|
{ text: "Book Your Free GBP Audit", href: "/contact" },
|
||||||
text: "Book Your Free GBP Audit",
|
|
||||||
href: "/contact",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -219,39 +107,20 @@ export default function LandingPage() {
|
|||||||
<FooterMedia
|
<FooterMedia
|
||||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CVsKYOORG1QTC0iM3LA3BfvJY3/clean-modern-abstract-background-with-te-1776696827623-ef39d5b1.png?_wi=1"
|
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3CVsKYOORG1QTC0iM3LA3BfvJY3/clean-modern-abstract-background-with-te-1776696827623-ef39d5b1.png?_wi=1"
|
||||||
logoText="Local Rank Experts"
|
logoText="Local Rank Experts"
|
||||||
|
copyrightText="© 2026 | Local Rank Experts"
|
||||||
columns={[
|
columns={[
|
||||||
{
|
{
|
||||||
title: "Navigation",
|
title: "Navigation", items: [
|
||||||
items: [
|
{ label: "Home", href: "/" },
|
||||||
{
|
{ label: "Services", href: "/services" },
|
||||||
label: "Home",
|
{ label: "About", href: "/about" },
|
||||||
href: "/",
|
{ label: "Contact", href: "/contact" },
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Services",
|
|
||||||
href: "/services",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "About",
|
|
||||||
href: "/about",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Contact",
|
|
||||||
href: "/contact",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Contact",
|
title: "Contact", items: [
|
||||||
items: [
|
{ label: "tyler@localrankexperts.ca", href: "mailto:tyler@localrankexperts.ca" },
|
||||||
{
|
{ label: "localrankexperts.ca", href: "https://localrankexperts.ca" },
|
||||||
label: "tyler@localrankexperts.ca",
|
|
||||||
href: "mailto:tyler@localrankexperts.ca",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "localrankexperts.ca",
|
|
||||||
href: "https://localrankexperts.ca",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
@@ -260,4 +129,4 @@ export default function LandingPage() {
|
|||||||
</ReactLenis>
|
</ReactLenis>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -77,7 +77,7 @@ export default function LandingPage() {
|
|||||||
subtitle: "GBP Setup",
|
subtitle: "GBP Setup",
|
||||||
features: [
|
features: [
|
||||||
"New profile setup",
|
"New profile setup",
|
||||||
"Google verification guidance",
|
"Verification Support",
|
||||||
"Category alignment",
|
"Category alignment",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@@ -89,12 +89,12 @@ export default function LandingPage() {
|
|||||||
features: [
|
features: [
|
||||||
"Weekly posts",
|
"Weekly posts",
|
||||||
"Review management",
|
"Review management",
|
||||||
"Monthly reports",
|
"Monthly Geo-Grid Reports",
|
||||||
"Rank tracking",
|
"Rank tracking",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
title="Our Services"
|
title="Simple, Transparent Pricing "
|
||||||
description="Professional local SEO pricing packages for home service businesses."
|
description="Professional local SEO pricing packages for home service businesses."
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -10,15 +10,15 @@
|
|||||||
--accent: #ffffff;
|
--accent: #ffffff;
|
||||||
--background-accent: #ffffff; */
|
--background-accent: #ffffff; */
|
||||||
|
|
||||||
--background: #ffffff;
|
--background: #f0f9ff;
|
||||||
--card: #f9f9f9;
|
--card: #e0f2fe;
|
||||||
--foreground: #000612;
|
--foreground: #082f49;
|
||||||
--primary-cta: #15479c;
|
--primary-cta: #0369a1;
|
||||||
--primary-cta-text: #ffffff;
|
--primary-cta-text: #ffffff;
|
||||||
--secondary-cta: #f9f9f9;
|
--secondary-cta: #e0f2fe;
|
||||||
--secondary-cta-text: #000612;
|
--secondary-cta-text: #000612;
|
||||||
--accent: #008080;
|
--accent: #0ea5e9;
|
||||||
--background-accent: #e0f2f2;
|
--background-accent: #bae6fd;
|
||||||
|
|
||||||
/* text sizing - set by ThemeProvider */
|
/* text sizing - set by ThemeProvider */
|
||||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||||
|
|||||||
Reference in New Issue
Block a user