This commit is contained in:
Reihan 2025-04-08 14:37:17 +07:00
commit 4662aa420b
779 changed files with 71134 additions and 0 deletions

134
.gitignore vendored Normal file
View File

@ -0,0 +1,134 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional stylelint cache
.stylelintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache
# Next.js build output
.next
out
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# vuepress v2.x temp and cache directory
.temp
.cache
# Docusaurus cache and generated files
.docusaurus
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port
# Stores VSCode versions used for testing VSCode extensions
.vscode-test
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
# ignore css
public/assets/css/main.css
public/assets/css/main.css.map

1
README.md Normal file
View File

@ -0,0 +1 @@
# rankrunners

569
app/about/page.js Normal file
View File

@ -0,0 +1,569 @@
import CounterUp from "@/components/elements/CounterUp";
import Layout from "@/components/layout/Layout";
import Callback1 from "@/components/sections/Callback1";
import About4Two from "@/components/sections/About4Two";
import Team4 from "@/components/sections/Team4";
import Testimonials from "@/components/sections/Testimonials";
import BrandActiveSlider from "@/components/slider/BrandActiveSlider";
export const metadata = {
title: "About | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function About() {
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="About Us">
<section className="counter-area-four">
<div className="container">
<div className="row justify-content-center">
<div className="col-lg-6">
<div className="section-title text-center mb-70 tg-heading-subheading animation-style3">
<span className="sub-title">
ABOUT <span className="title-color">RANKRUNNERS</span>
</span>
<h2 className="title tg-element-title">
It's Time to <i>...Outrun</i> the Competition!
</h2>
</div>
</div>
</div>
<div className="row justify-content-center">
<div className="col-xl-3 col-lg-4 col-sm-6">
<div className="counter-item">
<div className="icon">
<i className="flaticon-trophy" />
</div>
<div className="content">
<h2 className="count">
<CounterUp count={150} />+
</h2>
<p>Satisfied Clients</p>
</div>
</div>
</div>
<div className="col-xl-3 col-lg-4 col-sm-6">
<div className="counter-item">
<div className="icon">
<i className="flaticon-graph" />
</div>
<div className="content">
<h2 className="count">
<CounterUp count={7} />
:1+
</h2>
<p>Average ROAS</p>
</div>
</div>
</div>
<div className="col-xl-3 col-lg-4 col-sm-6">
<div className="counter-item">
<div className="icon">
<i className="flaticon-happy" />
</div>
<div className="content">
<h2 className="count">
<CounterUp count={250} />%
</h2>
<p>Average Traffic Increase</p>
</div>
</div>
</div>
</div>
</div>
</section>
<About4Two />
<Team4 />
<div>
{/* <section className="about__area-four">
<div className="container">
<div className="row align-items-center justify-content-center">
<div className="col-lg-6 col-md-9 col-sm-10">
<div className="about__img-wrap-four">
<img src="/assets/img/images/inner_about01.jpg" alt="" />
<img src="/assets/img/images/inner_about02.jpg" alt="" />
<div className="about__award-box">
<div className="icon">
<i className="flaticon-trophy" />
</div>
<div className="content">
<h2 className="title">15+</h2>
<p>
World Best Agency <br /> Award Got
</p>
</div>
</div>
<div className="shape">
<img
src="/assets/img/images/inner_about_shape.jpg"
alt=""
className="alltuchtopdown"
/>
</div>
</div>
</div>
<div className="col-lg-6">
<div className="about__content-four">
<div className="section-title mb-30">
<span className="sub-title">Simply Know About</span>
<h2 className="title">
We Help Organizations To Make Ultimate Businesses Growth Success
</h2>
</div>
<div className="about__content-inner-three">
<div className="about__list-box">
<ul className="list-wrap">
<li>
<i className="flaticon-arrow-button" />
Medicare Advantage Plans
</li>
<li>
<i className="flaticon-arrow-button" />
Analysis Research
</li>
<li>
<i className="flaticon-arrow-button" />
100% Secure Money Back
</li>
</ul>
</div>
<div className="about__list-img-two">
<img src="/assets/img/images/about_list_img02.png" alt="" />
</div>
</div>
<p>
We successfully cope with tasks of varying complexityprovide longerty term
guarantees and regularly master new Practice Area technol ogiesOur portfolio
includes dozen
</p>
<Link href="/contact" className="btn">
Contact With Us
</Link>
</div>
</div>
</div>
</div>
</section> */}
<div className="brand__area-four">
<div className="container">
<h4 className="brand__content">
Trusted by Numerous Companies, Worldwide
</h4>
<div className="swiper-container brand-active">
<BrandActiveSlider />
</div>
</div>
</div>
{/* <section className="choose__area-four">
<div className="container">
<div className="row align-items-center">
<div className="col-lg-5">
<div className="choose__content-four">
<div className="section-title white-title mb-20">
<span className="sub-title">Why We Are The Best</span>
<h2 className="title">Digital Solutions For Your Online Business</h2>
</div>
<p>
We successfully cope with tasks of varying complexity provide area longerty
guarantees and regularly master new Practice Following gies heur.
</p>
</div>
</div>
<div className="col-lg-7">
<div className="choose__list-two">
<ul className="list-wrap">
<li>
<div className="choose__list-box-two">
<div className="choose__list-icon-two">
<i className="flaticon-investment" />
</div>
<div className="choose__list-content-two">
<h4 className="title">Business Solutions</h4>
<p>Semper egetuis kelly for tellus urna area condition.</p>
</div>
</div>
</li>
<li>
<div className="choose__list-box-two">
<div className="choose__list-icon-two">
<i className="flaticon-financial-profit" />
</div>
<div className="choose__list-content-two">
<h4 className="title">Finance Planning</h4>
<p>Semper egetuis kelly for tellus urna area condition.</p>
</div>
</div>
</li>
<li>
<div className="choose__list-box-two">
<div className="choose__list-icon-two">
<i className="flaticon-investment-1" />
</div>
<div className="choose__list-content-two">
<h4 className="title">Market Analysis</h4>
<p>Semper egetuis kelly for tellus urna area condition.</p>
</div>
</div>
</li>
<li>
<div className="choose__list-box-two">
<div className="choose__list-icon-two">
<i className="flaticon-report" />
</div>
<div className="choose__list-content-two">
<h4 className="title">Business Solutions</h4>
<p>Semper egetuis kelly for tellus urna area condition.</p>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
<div className="choose__shape-wrap-four">
<img
src="/assets/img/images/inner_choose_shape01.png"
alt=""
data-aos="fade-right"
data-aos-delay={400}
/>
<img
src="/assets/img/images/inner_choose_shape02.png"
alt=""
data-aos="fade-left"
data-aos-delay={400}
/>
</div>
</section> */}
{/* <section className="counter-area">
<div className="container">
<div className="row justify-content-center">
<div className="col-xl-3 col-lg-4 col-sm-6">
<div className="counter-item">
<div className="icon">
<i className="flaticon-trophy" />
</div>
<div className="content">
<h2 className="count">
<CounterUp count={45} />+
</h2>
<p>
Successfully <br /> Completed Projects
</p>
</div>
</div>
</div>
<div className="col-xl-3 col-lg-4 col-sm-6">
<div className="counter-item">
<div className="icon">
<i className="flaticon-happy" />
</div>
<div className="content">
<h2 className="count">
<CounterUp count={92} />K
</h2>
<p>
Satisfied <br /> 100% Our Clients
</p>
</div>
</div>
</div>
<div className="col-xl-3 col-lg-4 col-sm-6">
<div className="counter-item">
<div className="icon">
<i className="flaticon-china" />
</div>
<div className="content">
<h2 className="count">
<CounterUp count={19} />+
</h2>
<p>
All Over The World <br /> We Are Available
</p>
</div>
</div>
</div>
<div className="col-xl-3 col-lg-4 col-sm-6">
<div className="counter-item">
<div className="icon">
<i className="flaticon-time" />
</div>
<div className="content">
<h2 className="count">
<CounterUp count={25} />+
</h2>
<p>
Years of Experiences <br /> To Run This Company
</p>
</div>
</div>
</div>
</div>
</div>
<div className="counter-shape-wrap">
<img
src="/assets/img/images/counter_shape01.png"
alt=""
data-aos="fade-right"
data-aos-delay={400}
/>
<img
src="/assets/img/images/counter_shape02.png"
alt=""
data-parallax='{"x" : 100 , "y" : -100 }'
/>
<img
src="/assets/img/images/counter_shape03.png"
alt=""
data-aos="fade-left"
data-aos-delay={400}
/>
</div>
</section> */}
{/* <section className="team__area-four">
<div className="container">
<div className="row justify-content-center">
<div className="col-lg-6">
<div className="section-title text-center mb-40">
<span className="sub-title">MEET OUR TEAM</span>
<h2 className="title">
Business Expertise Is Here <br /> For You Can Trust
</h2>
</div>
</div>
</div>
<div className="row justify-content-center">
<div className="col-xl-3 col-lg-4 col-md-6 col-sm-8">
<div className="team__item-four shine-animate-item">
<div className="team__thumb-four shine-animate">
<img src="/assets/img/team/h4_team_img01.jpg" alt="" />
</div>
<div className="team__content-four">
<h2 className="title">
<Link href="/team-details">Floyd Miles</Link>
</h2>
<span>Finance Advisor</span>
<div className="team__social-four">
<ul className="list-wrap">
<li>
<Link href="#">
<i className="fab fa-facebook-f" />
</Link>
</li>
<li>
<Link href="#">
<i className="fab fa-twitter" />
</Link>
</li>
<li>
<Link href="#">
<i className="fab fa-instagram" />
</Link>
</li>
<li>
<Link href="#">
<i className="fab fa-pinterest-p" />
</Link>
</li>
<li>
<Link href="#">
<i className="fab fa-linkedin-in" />
</Link>
</li>
</ul>
</div>
</div>
</div>
</div>
<div className="col-xl-3 col-lg-4 col-md-6 col-sm-8">
<div className="team__item-four shine-animate-item">
<div className="team__thumb-four shine-animate">
<img src="/assets/img/team/h4_team_img02.jpg" alt="" />
</div>
<div className="team__content-four">
<h2 className="title">
<Link href="/team-details">Ralph Edwards</Link>
</h2>
<span>Finance Advisor</span>
<div className="team__social-four">
<ul className="list-wrap">
<li>
<Link href="#">
<i className="fab fa-facebook-f" />
</Link>
</li>
<li>
<Link href="#">
<i className="fab fa-twitter" />
</Link>
</li>
<li>
<Link href="#">
<i className="fab fa-instagram" />
</Link>
</li>
<li>
<Link href="#">
<i className="fab fa-pinterest-p" />
</Link>
</li>
<li>
<Link href="#">
<i className="fab fa-linkedin-in" />
</Link>
</li>
</ul>
</div>
</div>
</div>
</div>
<div className="col-xl-3 col-lg-4 col-md-6 col-sm-8">
<div className="team__item-four shine-animate-item">
<div className="team__thumb-four shine-animate">
<img src="/assets/img/team/h4_team_img03.jpg" alt="" />
</div>
<div className="team__content-four">
<h2 className="title">
<Link href="/team-details">Eleanor Pena</Link>
</h2>
<span>Finance Advisor</span>
<div className="team__social-four">
<ul className="list-wrap">
<li>
<Link href="#">
<i className="fab fa-facebook-f" />
</Link>
</li>
<li>
<Link href="#">
<i className="fab fa-twitter" />
</Link>
</li>
<li>
<Link href="#">
<i className="fab fa-instagram" />
</Link>
</li>
<li>
<Link href="#">
<i className="fab fa-pinterest-p" />
</Link>
</li>
<li>
<Link href="#">
<i className="fab fa-linkedin-in" />
</Link>
</li>
</ul>
</div>
</div>
</div>
</div>
<div className="col-xl-3 col-lg-4 col-md-6 col-sm-8">
<div className="team__item-four shine-animate-item">
<div className="team__thumb-four shine-animate">
<img src="/assets/img/team/h4_team_img04.jpg" alt="" />
</div>
<div className="team__content-four">
<h2 className="title">
<Link href="/team-details">Jone Cooper</Link>
</h2>
<span>Finance Advisor</span>
<div className="team__social-four">
<ul className="list-wrap">
<li>
<Link href="#">
<i className="fab fa-facebook-f" />
</Link>
</li>
<li>
<Link href="#">
<i className="fab fa-twitter" />
</Link>
</li>
<li>
<Link href="#">
<i className="fab fa-instagram" />
</Link>
</li>
<li>
<Link href="#">
<i className="fab fa-pinterest-p" />
</Link>
</li>
<li>
<Link href="#">
<i className="fab fa-linkedin-in" />
</Link>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</section> */}
{/* <section className="call-back-area">
<div className="container">
<div className="row">
<div className="col-lg-6">
<div className="call-back-content">
<div className="section-title white-title mb-10">
<h2 className="title">Request A Call Back</h2>
</div>
<p>
Ever find yourself staring at your computer screen a good consulting slogan
to come to mind? Oftentimes.
</p>
<div className="shape">
<img
src="/assets/img/images/call_back_shape.png"
alt=""
data-aos="fade-right"
data-aos-delay={400}
/>
</div>
</div>
</div>
<div className="col-lg-6">
<div className="call-back-form">
<form action="#">
<div className="row">
<div className="col-md-6">
<div className="form-grp">
<input type="text" placeholder="Name *" />
</div>
</div>
<div className="col-md-6">
<div className="form-grp">
<input type="email" placeholder="E-mail *" />
</div>
</div>
<div className="col-md-6">
<div className="form-grp">
<input type="number" placeholder="Phone *" />
</div>
</div>
<div className="col-md-6">
<button type="submit" className="btn">
Send Now
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</section> */}
</div>
<Callback1 />
<Testimonials />
</Layout>
</>
);
}

View File

@ -0,0 +1,47 @@
import { EmailTemplate } from "@/components/custom/ContactSender";
import { Resend } from "resend";
const resend = new Resend(process.env.RESEND_API_KEY);
export async function POST(request) {
try {
const formData = await request.json();
// Send email using Resend
const { data: resendData, error: resendError } = await resend.emails.send({
from: "support@rankrunners.net",
to: ["sales@rankrunners.net"],
subject: "New Quotes From /contact",
react: EmailTemplate({
name: formData.name,
emailAddress: formData.emailAddress,
phoneNumber: formData.phoneNumber,
subject: formData.subject,
message: formData.message,
}),
});
if (resendError) {
return Response.json({ error: resendError }, { status: 500 });
}
const response = await fetch("https://cryagent.pythonanywhere.com/submitrankrunnerscontact", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ email: formData.emailAddress }),
});
if (!response.ok) {
throw new Error("Failed to submit to cryagent.pythonanywhere.com");
}
const pythonAnywhereData = await response.json();
return Response.json({ resendData, pythonAnywhereData });
} catch (error) {
console.error("Error:", error);
return Response.json({ error: error.message }, { status: 500 });
}
}

View File

@ -0,0 +1,32 @@
import { NextResponse } from "next/server";
export async function GET(request) {
const { searchParams } = new URL(request.url);
const subscriptionId = searchParams.get("subscriptionId");
if (!subscriptionId) {
return NextResponse.json(
{ error: "Subscription ID is required" },
{ status: 400 }
);
}
try {
// Placeholder logic for fetching payment log data
const paymentLog = [
{
id: "INV123",
amount_paid: 100.0,
status: "paid",
created: new Date().toISOString(),
period_start: new Date().toISOString(),
period_end: new Date().toISOString(),
},
];
return NextResponse.json({ paymentLog });
} catch (error) {
console.error("Error fetching payment log:", error);
return NextResponse.json({ error: error.message }, { status: 500 });
}
}

View File

@ -0,0 +1,38 @@
import { NextResponse } from "next/server";
export async function POST(request) {
try {
const body = await request.json();
const { websitename, emailname } = body;
if (!websitename) {
return NextResponse.json({ error: "Website name is required" }, { status: 400 });
}
const flaskUrl = "https://report.rankrunners.net/get-report";
const response = await fetch(flaskUrl, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ websitename, emailname }),
});
if (!response.ok) {
const errorData = await response.json();
throw new Error(
`Flask backend responded with status ${response.status} and message: ${
errorData.error || "Unknown error"
}`
);
}
const data = await response.json();
return NextResponse.json(data);
} catch (error) {
console.error("Detailed error in getreport API:", error);
return NextResponse.json({ error: "Internal Server Error", details: error.message }, { status: 500 });
}
}

View File

@ -0,0 +1,58 @@
import { NextResponse } from "next/server";
import Stripe from "stripe";
// import { createClient } from "@supabase/supabase-js";
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);
// const supabase = createClient(process.env.SUPABASE_SERVICE_ROLE_KEY);
// export async function POST(request) {
// try {
// const { sessionId, userId } = await request.json();
// Retrieve the Stripe session
// const session = await stripe.checkout.sessions.retrieve(sessionId);
// if (session.payment_status !== "paid") {
// return NextResponse.json(
// { error: "Payment not successful" },
// { status: 400 }
// );
// }
// Retrieve the subscription details
// const subscription = await stripe.subscriptions.retrieve(
// session.subscription
// );
// Update the user's subscription data in Supabase
// const { error } = await supabase
// .from("subscription_data")
// .update({
// active_subscription: true,
// subscription_id: subscription.id,
// status: subscription.status,
// current_period_start: new Date(
// subscription.current_period_start * 1000
// ).toISOString(),
// current_period_end: new Date(
// subscription.current_period_end * 1000
// ).toISOString(),
// })
// .eq("client_id", userId);
// if (error) {
// return NextResponse.json(
// {
// error:
// "Failed to update subscription data when handling successful payment",
// },
// { status: 500 }
// );
// }
// return NextResponse.json({ message: "Payment processed successfully" });
// } catch (error) {
// console.error("Error handling successful payment:", error);
// return NextResponse.json({ error: error.message }, { status: 500 });
// }
// }

View File

@ -0,0 +1,50 @@
import { EmailTemplate } from "@/components/custom/ScheduleSender";
import { Resend } from "resend";
const resend = new Resend(process.env.RESEND_API_KEY);
export async function POST(request) {
try {
const formData = await request.json();
const { data: resendData, error: resendError } = await resend.emails.send({
from: "support@rankrunners.net",
to: ["sales@rankrunners.net"],
subject: "New Quotes From /schedule",
react: EmailTemplate({
firstName: formData.firstName,
lastName: formData.lastName,
emailAddress: formData.emailAddress,
phoneNumber: formData.phoneNumber,
companyName: formData.companyName,
websiteUrl: formData.websiteUrl,
annualRevenue: formData.annualRevenue,
learnFrom: formData.learnFrom,
additionalInfo: formData.additionalInfo,
}),
});
if (resendError) {
return Response.json({ error: resendError }, { status: 500 });
}
const response = await fetch("https://cryagent.pythonanywhere.com/submitrankrunnersschedule", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ email: formData.emailAddress }),
});
if (!response.ok) {
throw new Error("Failed to submit to cryagent.pythonanywhere.com");
}
const pythonAnywhereData = await response.json();
return Response.json({ resendData, pythonAnywhereData });
} catch (error) {
console.error("Error:", error);
return Response.json({ error: error.message }, { status: 500 });
}
}

View File

@ -0,0 +1,52 @@
import { NextResponse } from "next/server";
import Stripe from "stripe";
import { createClient } from "@supabase/supabase-js";
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);
// const supabase = createClient(process.env.SUPABASE_SERVICE_ROLE_KEY);
export async function POST(request) {
try {
const { subscriptionId } = await request.json();
// Cancel the subscription in Stripe
const cancelledSubscription = await stripe.subscriptions.cancel(
subscriptionId
);
console.log(cancelledSubscription);
// Update the subscription status in Supabase
// const { error } = await supabase
// .from("subscription_data")
// .update({
// status: cancelledSubscription.status,
// active_subscription: false,
// current_period_end: new Date(
// cancelledSubscription.current_period_end * 1000
// ).toISOString(),
// current_period_start: new Date(
// cancelledSubscription.current_period_start * 1000
// ).toISOString(),
// })
// .eq("subscription_id", subscriptionId);
// if (error) {
// console.error("Error updating subscription data in Supabase:", error);
// return NextResponse.json(
// {
// success: false,
// error: "Failed to update subscription data when cancelling",
// },
// { status: 500 }
// );
// }
return NextResponse.json({ success: true });
} catch (error) {
console.error("Error cancelling subscription:", error);
return NextResponse.json(
{ success: false, error: error.message },
{ status: 500 }
);
}
}

View File

@ -0,0 +1,83 @@
import { NextResponse } from "next/server";
import Stripe from "stripe";
import { createClient } from "@supabase/supabase-js";
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);
const supabase = createClient(process.env.SUPABASE_SERVICE_ROLE_KEY);
export async function POST(request) {
try {
const { clientId, customerId } = await request.json();
const { data: userData, error: userError } = await supabase
.from("subscription_data")
.select("*")
.eq("customer_id", customerId)
.maybeSingle();
if (userError || !userData) {
return NextResponse.json(
{ error: "subscription_data not found" },
{ status: 404 }
);
}
const { subscription_cost } = userData;
// Create a new product and price
const product = await stripe.products.create({
name: "RankRunners Client Subscription",
});
const price = await stripe.prices.create({
product: product.id,
unit_amount: subscription_cost * 100,
currency: "usd",
recurring: { interval: "month" },
});
// Create a Checkout session
const session = await stripe.checkout.sessions.create({
customer: customerId,
payment_method_types: ["card"],
line_items: [
{
price: price.id,
quantity: 1,
},
],
mode: "subscription",
success_url: `${process.env.NEXT_PUBLIC_URL}/client-area?session_id={CHECKOUT_SESSION_ID}`,
cancel_url: `${process.env.NEXT_PUBLIC_URL}/client-area`,
});
if (!session) {
return NextResponse.json(
{ error: "Failed to create checkout session" },
{ status: 500 }
);
}
// Save the session ID to Supabase
const { error: updateError } = await supabase
.from("subscription_data")
.update({ stripe_session_id: session.id })
.eq("customer_id", customerId);
if (updateError) {
console.error("Error updating stripe_session_id:", updateError);
return NextResponse.json(
{
error:
"Failed to update subscription data when creating checkout session",
},
{ status: 500 }
);
}
return NextResponse.json({ url: session.url });
} catch (error) {
console.error("Error creating checkout session:", error);
return NextResponse.json({ error: error.message }, { status: 500 });
}
}

View File

@ -0,0 +1,22 @@
import { NextResponse } from "next/server";
import Stripe from "stripe";
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);
export async function POST(request) {
try {
const { email } = await request.json();
if (!email) {
return NextResponse.json({ error: "Email is required" }, { status: 400 });
}
// Create Stripe customer
const customer = await stripe.customers.create({ email });
return NextResponse.json({ stripe_customer_id: customer.id });
} catch (error) {
console.error("Error creating Stripe customer:", error);
return NextResponse.json({ error: "Failed to create Stripe customer" }, { status: 500 });
}
}

View File

@ -0,0 +1,42 @@
import { NextResponse } from "next/server";
import fetch from "node-fetch";
const sleep = () => new Promise((resolve) => setTimeout(resolve, 350));
export async function POST(request) {
const body = await request.json();
const { domain, email, captcha } = body;
const debugInfo = {
receivedData: { domain, email, captchaLength: captcha?.length },
secretKeyPrefix: process.env.RECAPTCHA_SECRET_KEY?.substring(0, 5) + "...",
};
if (!domain || !email || !captcha) {
return NextResponse.json({ message: "All fields are required", debug: debugInfo }, { status: 422 });
}
try {
const verifyUrl = `https://www.google.com/recaptcha/api/siteverify?secret=${process.env.RECAPTCHA_SECRET_KEY}&response=${captcha}`;
debugInfo.verifyUrl = verifyUrl;
const response = await fetch(verifyUrl, {
method: "POST",
});
const captchaValidation = await response.json();
debugInfo.captchaValidation = captchaValidation;
if (captchaValidation.success) {
await sleep();
return NextResponse.json({ message: "OK", debug: debugInfo }, { status: 200 });
}
return NextResponse.json({ message: "Captcha validation failed", debug: debugInfo }, { status: 422 });
} catch (error) {
console.error("Error submitting form:", error);
return NextResponse.json(
{ message: "Something went wrong", error: error.message, debug: debugInfo },
{ status: 422 }
);
}
}

58
app/api/webhook/route.js Normal file
View File

@ -0,0 +1,58 @@
import { NextResponse } from "next/server";
import Stripe from "stripe";
// import { createClient } from "@supabase/supabase-js";
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);
// const supabase = createClient(process.env.SUPABASE_SERVICE_ROLE_KEY);
export async function POST(request) {
const body = await request.text();
const sig = request.headers.get("stripe-signature");
let event;
try {
event = stripe.webhooks.constructEvent(
body,
sig,
process.env.STRIPE_WEBHOOK_SECRET
);
} catch (err) {
return NextResponse.json(
{ error: `Webhook Error: ${err.message}` },
{ status: 400 }
);
}
// Handle the event
switch (event.type) {
case "customer.subscription.updated":
case "customer.subscription.deleted":
const subscription = event.data.object;
await handleSubscriptionChange(subscription);
break;
default:
console.log(`Unhandled event type ${event.type}`);
}
return NextResponse.json({ received: true });
}
// async function handleSubscriptionChange(subscription) {
// const { customer, id, status, current_period_end } = subscription;
// Update the user's subscription data
// const { error } = await supabase
// .from("subscription_data")
// .update({
// subscription_id: id,
// status,
// current_period_end: new Date(current_period_end * 1000).toISOString(),
// active_subscription: status === "active",
// })
// .eq("customer_id", customer);
// if (error) {
// console.error("Error updating subscription data:", error);
// }
// }

View File

@ -0,0 +1,333 @@
import Layout from "@/components/layout/Layout";
import Link from "next/link";
import BlogDetails from "@/components/custom/BlogDetails";
import BlogCta from "@/components/custom/BlogCta";
import BlogAsideLatest from "@/components/custom/BlogAsideLatest";
export const metadata = {
title: "Cracking The SEO Code: 5 Ways A High SEO Score Can Transform Your Business",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function Blogging() {
let slug = "cracking-the-seo-code-5-ways-a-high-seo-score-can-transform-your-business";
let title = "Cracking The SEO Code: 5 Ways A High SEO Score Can Transform Your Business";
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle={title}>
<div>
<section className="blog__details-area">
<div className="container">
<div className="blog__inner-wrap">
<div className="row">
<div className="col-70">
<div className="blog__details-wrap">
<div className="blog__details-content">
<BlogDetails slug={slug} />
<div className="blog-post-content">
<p>
Ever wondered why some websites seem to magically appear at the
top of Google's search results? The answer lies in a little
something called SEO Search Engine Optimization. Think of it
as a secret recipe that helps search engines like Google
understand what your website is all about and how relevant it is
to what people are searching for. In the digital age, where your
online presence can make or break your business, understanding
and mastering SEO is no longer optional; it's essential.
</p>
<img src="/assets/img/content/analytics-1925495_640.png" alt="" />
<h2>What's the Deal with SEO Scores?</h2>
<p>
Your SEO score is like a report card for your website's search
engine friendliness. It's a number that reflects how well your
site is optimized to attract those coveted top spots in search
results. A higher SEO score is a strong indicator of a website
that is well-prepared to compete in the digital arena. The
reason why this matters a great deal is because there's a
limited amount of space on Google's results. Only a certain
number of links can show up on the list of results any time
someone types in a keyword. To achieve the "first page" result
on a popular keyword is often a massive achievement which nearly
guarantees an increased rate of sales.
</p>
<img src="/assets/img/content/seo-1108457_640.jpg" alt="" />
<h2>The SEO Engine: How It All Works</h2>
<p>
Search engines have these little helpers called "crawlers" that
scan the web, gathering information about websites. This
information gets organized in an "index," kind of like a giant
library catalog. When someone types in a search, the search
engine sifts through its index to find the most relevant
websites and ranks them accordingly. This complex process is
what determines which websites get seen and which ones get lost
in the digital shuffle.
</p>
<p>
Keywords are the magic words that connect your website to what
people are searching for. By strategically using the right
keywords in your website's content, you're essentially waving a
flag that says, "Hey Google, I've got what you're looking for!"
However, keyword research and optimization can be a daunting
task, requiring specialized knowledge and tools.
</p>
<img
src="/assets/img/content/transformation-3753463_640.png"
alt=""
/>
<h2>
5 Ways a High SEO Score-Visibility Can Transform Your Business
</h2>
<p>
A higher SEO score is like giving your website a VIP pass to the
top of the search results. Here's how it works:
</p>
<ul>
<li>
<h3>Digital Real Estate</h3>
</li>
</ul>
<p>
A better SEO score often means your website will show up higher
on the search engine results page (SERP). A higher SEO score
directly translates to better rankings, propelling your website
towards those coveted top positions. A high SEO score, optimized
for local search terms, can propel your business to the top of
local search results. This means when potential customers in
your area search for products or services you offer, your
business will be front and center. For businesses targeting
specific geographic areas within the U.S., local SEO is the
golden ticket.
</p>
<p>
Think of it like prime real estate in a bustling city center.
The higher your website ranks, the more visible it is to
potential customers. Research shows that the top three organic
search results receive over 50% of all clicks. This means that a
higher SEO score significantly increases your websites chances
of being seen and clicked on by users actively searching for
products or services like yours.
</p>
<ul>
<li>
<h3>Getting More Than Just Clicks</h3>
</li>
</ul>
<p>
When your website ranks higher, more people will stumble upon it
naturally through their searches. This is called organic
traffic, and it's the holy grail of website visibility. A high
SEO score doesnt just bring more traffic to your website; it
attracts the right kind of traffic. By targeting relevant
keywords and optimizing your content, you ensure that the people
who land on our site are genuinely interested in what you offer.
</p>
<p>
This targeted approach leads to higher engagement, longer dwell
times, and increased chances of conversion. As the article A
New Website Can Improve Your SEO emphasizes, a well-structured
and optimized website is key to providing a positive user
experience, which is a crucial factor in SEO rankings.
</p>
<ul>
<li>
<h3>Top Of The Line ROI</h3>
</li>
</ul>
<p>
Compared to traditional advertising methods, SEO offers a higher
return on investment (ROI). While paid advertising can be
effective, it often requires a continuous financial commitment.
In contrast, a well/optimized website with a High SEO Score can
generate organic traffic consistently over time, providing
long-term value. By focusing on SEO, you can reduce your
reliance on paid advertising and allocate your marketing budget
more efficiently.
</p>
<ul>
<li>
<h3>Elevate Your Brand's Authority</h3>
</li>
</ul>
<p>
Websites that consistently rank high are seen as more
authoritative and trustworthy by both search engines and users.
A high SEO score enhances your site's authority, making it a
reliable source of information. In the digital world, trust is a
valuable commodity. A high SEO score signals to both search
engines and users that your website is a credible and
authoritative source of information. When your website
consistently appears at the top of search results, it reinforces
this perception, establishing you as an industry leader.
</p>
<p>
Building trust through SEO can have a ripple effect. It can lead
to more backlinks from other reputable websites, further
boosting your SEO score and expanding your reach. As we
highlighted at RankRunners, a strong online reputation can also
translate to increased brand awareness and customer loyalty.
</p>
<ul>
<li>
<h3>Innovation Breeds Success</h3>
</li>
</ul>
<p>
A high SEO score isn't just a flash in the pan. It's a long-term
investment that can lead to sustained traffic and visibility. By
continually improving your SEO, you ensure your site remains
relevant and competitive in the ever-evolving digital landscape.
The digital landscape is constantly evolving, with Search Engine
algorithms and user behavior changing over time. A high SEO
score is not a one-time achievement; it requires ongoing
maintenance and adaptation.
</p>
<p>
Staying ahead of the curve is crucial in the digital age, Search
engine algorithms are constantly being refined, and user
expectations are evolving. A high SEO score today doesnt
guarantee a high score tomorrow. To maintain your competitive
edge, you need to stay informed about the latest SEO trends and
best practices.
</p>
<p>
This includes regularly updating your website content to ensure
it remains relevant and engaging. It also means addressing
technical issues like broken links, slow page speed, and mobile
responsiveness, all of which can negatively impact your SEO
score.
</p>
<p>
Moreover, the rise of new technologies like Google Search
Generative Experience (SGE) is set to reshape the search
landscape. SGE leverages AI to provide more conversational and
informative search results. Adapting your SEO strategy to align
with these changes will be crucial for maintaining visibility
and relevance in the future.
</p>
<img src="/assets/img/content/checklist-1622517_640.png" alt="" />
<h2>Boost Your SEO Score: Your Action Plan</h2>
<p>
Ready to climb the search engine ladder? Here's your SEO
toolkit:
</p>
<ol>
<li>
Keyword Research: Find out what your target audience is
searching for and sprinkle those keywords throughout your
website's content.
</li>
<li>
On-Page Optimization: Fine-tune your website's structure,
meta tags, headings, and content to make it as
search-engine-friendly as possible.
</li>
<li>
Technical Tune-Up: Ensure your website loads quickly, is
mobile-friendly, and doesn't have any broken links. A slow
or outdated website can be a major roadblock to SEO success,
as highlighted in "A New Website Can Improve Your SEO" (Fuel
Oil News, September 2022).
</li>
<li>
Backlink Building: Get other reputable websites to link to
yours. This is like getting a vote of confidence from your
peers.
</li>
<li>
Content is King: Create high-quality, informative content
that people want to read and share. Engaging content
attracts visitors and encourages them to stay on your site
longer, signaling to search engines that your website is
valuable.
</li>
<li>
Analytics: Keep an eye on your website's traffic and search
rankings to see what's working and what needs tweaking.
Regular monitoring and analysis are crucial for staying
ahead of the curve and adapting to the ever-changing SEO
landscape.
</li>
</ol>
<img
src="/assets/img/content/ai-generated-8600694_640.png"
alt=""
/>
<h2>The SEO Journey: It's a Marathon, Not a Sprint</h2>
<p>
Remember, SEO is an ongoing process. It's not about quick fixes
or tricks. It's about consistently providing value to your
audience and making your website the best. Investing time and
effort into improving your SEO score sets your website up for
long-term success in the vast digital landscape.
</p>
<img
src="/assets/img/content/ai-generated-8614982_640.jpg"
alt=""
/>
<h2>Overwhelmed? RankRunners Can Help!</h2>
<p>
Navigating the complexities of SEO can be a challenge, but you
don't have to go it alone. At RankRunners, we specialize in
helping businesses like yours unlock their website's full
potential. Our team of SEO experts can tailor a strategy to your
specific needs, ensuring your website and brand gets the
visibility it deserves.
</p>
<p>
Don't let your website get lost in the digital noise.
<Link href="/schedule"> Book a Free Consultation</Link> with
RankRunners today.
</p>
</div>
<BlogCta slug={slug} />
</div>
</div>
</div>
<div className="col-30">
<aside className="blog__sidebar">
<BlogAsideLatest />
<div className="sidebar__widget">
<h4 className="sidebar__widget-title">Tags</h4>
<div className="sidebar__tag-list">
<ul className="list-wrap">
<li>
<Link href="#">SEO</Link>
</li>
<li>
<Link href="#">Business</Link>
</li>
<li>
<Link href="#">Development</Link>
</li>
<li>
<Link href="#">Marketing</Link>
</li>
<li>
<Link href="#">CRM</Link>
</li>
<li>
<Link href="#">Management</Link>
</li>
<li>
<Link href="#">Consultancy</Link>
</li>
<li>
<Link href="#">Ad Campaigns</Link>
</li>
</ul>
</div>
</div>
</aside>
</div>
</div>
</div>
</div>
</section>
{/* blog-details-area-end */}
</div>
</Layout>
</>
);
}

View File

@ -0,0 +1,333 @@
import Layout from "@/components/layout/Layout";
import Link from "next/link";
import BlogDetails from "@/components/custom/BlogDetails";
import BlogCta from "@/components/custom/BlogCta";
import BlogAsideLatest from "@/components/custom/BlogAsideLatest";
export const metadata = {
title: "Cracking The SEO Code: 5 Ways A High SEO Score Can Transform Your Business",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function Blogging() {
let slug = "making-every-dollar-count-effective-google-ads-strategies-for-budgets-under-$1000";
let title = "Making Every Dollar Count: Effective Google Ads Strategies for Budgets Under $1000";
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle={title}>
<div>
<section className="blog__details-area">
<div className="container">
<div className="blog__inner-wrap">
<div className="row">
<div className="col-70">
<div className="blog__details-wrap">
<div className="blog__details-content">
<BlogDetails slug={slug} />
<div className="blog-post-content">
<p>
Running an efficient and effective Google Ads campaign on a
smaller budget might seem like a challenge, but with the right
approach, you can achieve great results without breaking the
bank. At Rankrunners, we know how to make every dollar count
when it comes to digital advertising. If youre working with
less than $1000, dont worryweve got some practical tips to
help you make the most of your ad spend. Lets dive into some
effective strategies, including using Exact Match keywords,
choosing very specific terms, and focusing on high-income areas.
</p>
<img src="/assets/img/content/image6.png" alt="" />
<h2>Getting the Most from a Limited Budget</h2>
<p>
When your budget is under $1000, its all about making
highly-targeted choices to get the best return on your
investment. You need to be strategic with where you spend your
money, which means focusing on the most efficient methods to
reach your audience. Heres how you can stretch those dollars
and maximize your Google Ads campaign.
</p>
<img src="/assets/img/content/image2.png" alt="" />
<h2>1. Go for Exact Match Keywords</h2>
<p>
One of the best ways to ensure your ad spend is working hard for
you is by using Exact Match keywords. Unlike Broad Match or
Phrase Match, Exact Match keywords show your ad only when
someone searches for the exact phrase or term youve chosen.
This precision can make a big difference.
</p>
<h4>Why Exact Match Keywords Are Great:</h4>
<ul>
<li>
<p>
<strong>Relevance:</strong> Your ad will only display
for searches that exactly match your keywords. This
means people seeing your ad are already looking for
exactly what you offer, making them more likely to
click.
</p>
</li>
<li>
<p>
<strong>Cost Efficiency:</strong> By narrowing your
focus, you can avoid wasting money on irrelevant clicks.
This will make your cost-per-click (CPC) to be lower and
will make your budget stretch further.
</p>
</li>
<li>
<p>
<strong>Better Quality Score:</strong> Google likes it
when your ad matches the search intent closely. This can
improve your Quality Score, which often leads to better
ad placements and lower CPCs.
</p>
</li>
</ul>
<h4>How to Use Exact Match Keywords:</h4>
<ul>
<li>
<p>
Research or personally select the most relevant Exact
Match keywords for your business.
</p>
</li>
<li>
<p>
Use tools like Google Keyword Planner to find the best
keywords with manageable competition and decent search
volume.
</p>
</li>
<li>
<p>
Monitor your keyword performance regularly and tweak
your bids or keyword list as needed.
</p>
</li>
</ul>
<img src="/assets/img/content/image4.png" alt="" />
<h2>2. Choose Highly Specific Keywords</h2>
<p>
To get the most out of your limited budget, consider using
highly specific or long-tail keywords. These are longer, more
detailed phrases that often have lower competition and cost less
per click.
</p>
<h4>Benefits of Specific Keywords:</h4>
<ul>
<li>
<p>
<strong>Lower Competition:</strong> Long-tail keywords
generally face less competition, which can reduce your
CPC and allow you to get more clicks for your budget.
</p>
</li>
<li>
<p>
<strong>Higher Conversion Rates:</strong> People using
specific keywords are often further along in the buying
process, so theyre more likely to convert. This means
better results for your ad spend.
</p>
</li>
<li>
<p>
<strong>More Relevant Ads:</strong> Ads tailored to very
specific terms are more likely to match the users
intent, leading to higher engagement.
</p>
</li>
</ul>
<h4>Tips for Using Specific Keywords:</h4>
<ul>
<li>
<p>
Make a list of long-tail keywords that fit your business
and target audience.
</p>
</li>
<li>
<p>
Use Google Keyword Planner or similar tools to find
variations of these keywords.
</p>
</li>
<li>
<p>
Regularly review your keywords by using Googles free
A/B testing tools, and adjust your keywords based on how
theyre performing according to the data.
</p>
</li>
</ul>
<img src="/assets/img/content/image1.png" alt="" />
<h2>3. Target High-Income Zip Codes</h2>
<p>
Another effective strategy is to target high-income zip codes.
By focusing your ads on affluent areas, youre more likely to
reach people who have the financial means to buy your products
or services.
</p>
<h4>Why Targeting High-Income Zip Codes Works:</h4>
<ul>
<li>
<p>
<strong>Better Chances of Conversion: </strong>
High-income areas often mean higher purchasing power,
which can translate into higher conversion rates.
</p>
</li>
<li>
<p>
<strong>More Efficient Spending:</strong> By targeting
specific areas, you avoid spending money on less likely
prospects, making your budget go further.
</p>
</li>
<li>
<p>
<strong>Tailored Ads:</strong> Ads targeted at
high-income demographics can be customized to appeal
more directly to their interests and needs.
</p>
</li>
</ul>
<h4>How to Target High-Income Zip Codes:</h4>
<ul>
<li>
<p>
Look at your customer data to identify which zip codes
have higher income levels.
</p>
</li>
<li>
<p>
Use Google Ads location targeting features to focus on
these areas.
</p>
</li>
<li>
<p>
Track how well your ads perform in these regions and
adjust your strategy based on the results.
</p>
</li>
</ul>
<img src="/assets/img/content/image5.png" alt="" />
<h2>4. Additional Budget-Friendly Strategies</h2>
<p>
Besides the main strategies above, there are a few more tips
that can help you get the most out of your budget:
</p>
<ul>
<li>
<p>
<strong>Ad Scheduling: </strong>
Run your ads during the times of the day that your
target audience is most likely to be active. This way,
your budget is spent when its most likely to lead to
clicks and conversions.
</p>
</li>
<li>
<p>
<strong>Ad Extensions:</strong> Use ad extensions to
provide extra information and make your ads stand out
more without additional cost. Features like site links
and callouts can enhance your ads visibility and
performance.
</p>
</li>
<li>
<p>
<strong>A/B Testing:</strong> Experiment with different
ad copies, images, and calls to action. Even small
changes can make a big difference in how well your ads
perform.
</p>
</li>
<li>
<p>
<strong>Negative Keywords:</strong> Set up a list of
negative keywords to prevent your ads from showing up
for irrelevant searches. This helps you avoid spending
on clicks that wont convert.
</p>
</li>
</ul>
<img src="/assets/img/content/image3.png" alt="" />
<h2>Wrapping Up</h2>
<p>
Running a successful Google Ads campaign with a budget of under
$1000 is definitely achievable with the right approach. By
focusing on Exact Match keywords, choosing highly specific
terms, targeting high-income zip codes, and using additional
budget-friendly strategies, you can make every dollar count and
see impressive results.
</p>
<p>
At Rankrunners, were here to help you navigate the world of
Google Ads and optimize your campaigns for the best possible
outcomes. Whether youre new to Google Ads or looking to
fine-tune your existing strategy, weve got the expertise to
help you make the most of your budget. Reach out to us today to
find out how we can assist you in achieving your advertising
goals.
</p>
<p>
With a little planning and a strategic approach, even a modest
budget can lead to significant success. Happy advertising!
</p>
</div>
<BlogCta slug={slug} />
</div>
</div>
</div>
<div className="col-30">
<aside className="blog__sidebar">
<BlogAsideLatest />
<div className="sidebar__widget">
<h4 className="sidebar__widget-title">Tags</h4>
<div className="sidebar__tag-list">
<ul className="list-wrap">
<li>
<Link href="#">SEO</Link>
</li>
<li>
<Link href="#">Business</Link>
</li>
<li>
<Link href="#">Development</Link>
</li>
<li>
<Link href="#">Marketing</Link>
</li>
<li>
<Link href="#">CRM</Link>
</li>
<li>
<Link href="#">Management</Link>
</li>
<li>
<Link href="#">Consultancy</Link>
</li>
<li>
<Link href="#">Ad Campaigns</Link>
</li>
</ul>
</div>
</div>
</aside>
</div>
</div>
</div>
</div>
</section>
{/* blog-details-area-end */}
</div>
</Layout>
</>
);
}

View File

@ -0,0 +1,521 @@
import Layout from "@/components/layout/Layout";
import Link from "next/link";
import BlogDetails from "@/components/custom/BlogDetails";
import BlogCta from "@/components/custom/BlogCta";
import BlogAsideLatest from "@/components/custom/BlogAsideLatest";
export const metadata = {
title: "Organic vs Paid Marketing: What Are The Differences?",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function Blogging() {
let slug = "organic-vs-paid-marketing-what-are-the-differences";
let title = "Organic vs Paid Marketing: What Are The Differences?";
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle={title}>
<div>
<section className="blog__details-area">
<div className="container">
<div className="blog__inner-wrap">
<div className="row">
<div className="col-70">
<div className="blog__details-wrap">
<div className="blog__details-content">
<BlogDetails slug={slug} />
<div className="blog-post-content">
<p>
If you want to improve your organization's online presence, you
can utilize two ways of online marketing. The options are called
Organic and Paid marketing, and both of them can cause your
online presence and or visibility to increase significantly.
</p>
<p>
As the names imply, Organic marketing uses non-paid methods of
reaching your (potential) clientele and the other option Paid
marketing uses paid advertising to grow your online presence.
</p>
<p>
Now I hear you say, Paid advertising must be better right?
After all, nothing is free.
</p>
<p>
Yes and no. Paid advertising is better to quickly get the word
out about your business, but that comes at a significant cost.
</p>
<p>
Alternatively, organic advertising is centered around longevity
and consistency but can grow to be just as effective as paid
advertising.
</p>
<p>
But why choose one? When you can combine both methods to create
an effective and tailor-made marketing campaign for your
organization.
</p>
<h2>Organic Marketing</h2>
<p>Lets talk about Organic Marketing first.</p>
<p>
Organic marketing is made up of creating and releasing content
on popular channels like blog posts or video content concerning
your niche to name just a few.
</p>
<p>
It's important to make your content valuable to have the best
result.
</p>
<p>
The optimal type of content to make heavily depends on the user
base and the type of channel you post it on.
</p>
<p>The most commonly used forms of organic marketing are</p>
<ul>
<li>
Social media marketing: Posting short and concise posts on
the likes of Tiktok, Instagram, X (Twitter) and various
other outlets
</li>
<li>
Video marketing: Longer form content posted on the likes of
YouTube has a large reach as they are usually found on both
search engines and the websites themselves.
</li>
<li>
SEO (Search Engine Optimization): Creating blog posts,
making backlinks, and other ways of making content thats
discoverable by the likes of Google, Yahoo, and other search
engines
</li>
</ul>
<h3>
How to use Keywords and tags to help supercharge your organic
online presence!
</h3>
<p>
One of the most important facets of a marketing campaign is
finding what keywords your target audience is the most likely to
search for or preferably what they are already searching for.
</p>
<h4>
To help you understand what were talking about I will give you
an example.
</h4>
<p>
A doctor that wants to garner more clients in their local area,
would usually use keywords about their city and their medical
field of expertise.
</p>
<p>
Say a dentist in Atlanta GA would most likely use keywords like
</p>
<p>
Where to book a dental appointment in Atlanta GA or What
dental products to use for whiter teeth
</p>
<img
src="/assets/img/content/screenshot-2024-07-10-at-18.05.55.png"
alt=""
/>
<p>
Finding targeted keywords is a vital step in the process of
creating a marketing campaign.
</p>
<p>
If you arent aware of the correct keywords yet you can
potentially waste valuable time that could be better spent
working to research the right way of advertising your company.
</p>
<h2>Paid Marketing</h2>
<p>
Second on the list is Paid marketing. Paid marketing as the name
implies is using so-called paid marketing channels to spread the
word to customers on the internet. Usually, this comes in the
form of having sponsored advertisements on various channels to
grow sales instead of growing your online presence.
</p>
<p>
Organic marketing is based on growing awareness and getting more
people to see your company.
</p>
<p>
Paid marketing mostly revolves around selling specific products
or services. Paid marketing costs money but it has its place and
its merit.
</p>
<p>
Usually paid marketing has instant effects as it gets ordered
and then instantly set in motion.
</p>
<p>
Common paid marketing methods are sponsored advertising and paid
advertising.
</p>
<p>We will go into more detail about both of those methods.</p>
<h4>Sponsored advertising.</h4>
<ul>
<li>
Sponsored advertising mostly involves paying pre-existing
brands or online personalities to utilize their audience and
put your organization in the eyes of potential customers
usually with a personalized part of their content that the
audience knows and loves covering your product or service.
</li>
<li>
A huge advantage that sponsored advertising has compared to
paid advertising is that it usually remains on the platform
far longer than your initial marketing campaign resulting in
a trickle of people coming to your brand as long as it keeps
getting traffic.
</li>
<li>
A negative compared to paid advertising with a PPC (Pay per
click) model is that sponsored advertising does not
necessarily bring people to your website while a PPC model
always generates clicks.
</li>
</ul>
<strong>Example of a sponsored ad:</strong>
<img
src="/assets/img/content/screenshot-2024-07-10-at-18.10.17.png"
alt=""
/>
<h4>Paid advertising.</h4>
<ul>
<li>
Paid advertising mostly involves having paid ads appear for
a specific audience on popular marketing channels with a lot
of traffic like LinkedIn, YouTube, Facebook, and Google.
After youve set up and paid for a paid advertising campaign
the advertisements almost immediately appear in front of the
audience you specified,
</li>
<li>
Usually, paid ads are identified with a text saying
Sponsored or Ad Organically created advertisements do
not have this identifier.
</li>
<li>
Various paid ad models exist but one of the most common ones
is the previously mentioned PPC (Pay-per-click) model. PPC
does what it says on the box, every time someone clicks you
pay.
</li>
<li>
These ads are usually shown on search engines like Google,
social media outlets like Facebook or X (Twitter), or online
marketplaces like Walmart or Craigslist.
</li>
</ul>
<strong>
Example of paid Google ads appearing at the top of the search
results
</strong>
<img
src="/assets/img/content/screenshot-2024-07-10-at-18.22.55.png"
alt=""
/>
<p>
One of the key ways to have success with ads using the PPC model
on SERPs (Search engine results pages) is again finding and
using the correct keywords.
</p>
<p>
One thing to realize and include in your budget is the CPC (Cost
per click) for the keywords you choose to use.
</p>
<p>
Paid and organic marketing can use the same channels as one
another
</p>
<p>
Buying ads and creating posts can be done on most prevalent
outlets but they are not the same.
</p>
<ul>
<li>
Organic marketing mostly consists of making content
regarding your brand and carefully curating it so that your
potential customers find it naturally by just browsing
through the internet so that you dont have to spend
anything on having people encounter and possibly engage with
your brand.
</li>
<li>
Paid marketing consists of paying for campaigns to actively
let customers see your ads. It usually brings faster results
compared to organic content as it can take a long time to
accumulate the necessary ranking on the search engines to
generate worthwhile customers.
</li>
<li>
Paid marketing will deliver near-immediate results depending
on the money spent. Paid ads are however not a buy your way
to fame method as finding the keywords that generate the
best results could involve several tries to get the right
one.
</li>
<li>
Search engines will prioritize organic content that is
relevant to the person and it will prioritize if the content
comes from high domain authority websites with a lot of
users.
</li>
</ul>
<p>
To put it in layman's terms Google is less likely to push a blog
post from a freshly created website compared to a blog post on a
popular website.
</p>
<p>
While organic marketing is classified as a non-paid marketing
method, do keep in mind that you most likely will have to either
hire a team or a person to create the organic content used in
this marketing method.
</p>
<p>
They are however mostly costs that arent repeated and akin to
sponsored content this strategy results in a long-term trickle
of customers viewing your content with a low investment compared
to paid marketing. Organically created content has the potential
to give results that keep giving value long after a paid
campaign is typically funded.
</p>
<h5>
As long as the content exists it has the chance to give value.
</h5>
<p>
Organic content does need to be updated frequently to give the
maximum yield as Search engine ranking can differ regularly.
Algorithms also always evolve with the updates they are given.
This could only slightly affect results but it can also
completely alter the original results.
</p>
<p>
Keeping on top of your organic results is always necessary to
keep up with changes.
</p>
<strong>Example of a paid advertisement:</strong>
<img
src="/assets/img/content/screenshot-2024-07-10-at-19.01.05.png"
alt=""
/>
<p>Lets talk about the different marketing channels.</p>
<p>We will divide them into two categories: Organic and Paid.</p>
<ul>
<li>Organic</li>
<ul>
<li>Search Engines</li>
<li>Social Media Outlets</li>
<li>Email newsletters</li>
</ul>
<li>Paid</li>
<ul>
<li>Search Engines</li>
<li>Social Media Outlets</li>
<li>Spotify ads</li>
</ul>
</ul>
<h3>Organic Marketing</h3>
<h4>Organic marketing on Search Engines</h4>
<p>
Search engines like Google, Yahoo, Yandex, Bing, and DuckDuckGo
have insanely huge user bases which makes them a prime way to
spread organic content. One of the most common ways to do this
is by creating tailor-made content on your website that is
well-optimized for search engines with specific keywords.
</p>
<p>
In the case of Google, its important to consider having
accompanying videos on YouTube as it closely links to Google
results.
</p>
<p>
It comes down to making sure your content is useful and relevant
for your target audience when they use a search engine.
</p>
<h4>Organic Marketing on Social Media Outlets</h4>
<p>
Advertising on the biggest social media outlets is most
definitely interesting but depending on your brand there are
several considerations as to which social media outlet is best
suited for you.
</p>
<p>Lets first list some of the biggest social media platforms.</p>
<ul>
<li>Facebook</li>
<li>Instagram</li>
<li>Linkedin</li>
<li>X (Twitter)</li>
<li>Tiktok</li>
<li>Snapchat</li>
</ul>
<h4>X (Twitter) and Linkedin</h4>
<ul>
<li>
X (Twitter) and Linkedin usually have a greater presence of
professional and business users as compared to TikTok,
Instagram, or Snapchat.
</li>
</ul>
<h4>TikTok, Instagram, and Snapchat</h4>
<ul>
<li>
TikTok, Instagram, and Snapchat however have a far greater
appeal amongst younger people.
</li>
<li>
Depending on your sector you should try to optimize which
social media outlet you put the most time and effort in.
</li>
<li>
On all platforms, it is important to consistently post and
to make sure its high-quality tailor-made content.
Connecting with your audience in the comments or with events
is a big power play in building an organic audience. And
again it is important to always keep on top of the analytics
on your platform of choice.
</li>
</ul>
<h4>Organic marketing with Email newsletters</h4>
<ul>
<li>
Once your website or brand starts to grow in awareness,
another great way to keep people interested in your brand is
with an opt-in email newsletter containing all the latest
information about your company.
</li>
<li>
Where the other organic methods have a certain amount of
volatility with the reliance on algorithms and Search Engine
Optimization, email newsletters give you full control over
what your customers see. With a new product launch you can
have a specific section with key insights that are not as
easily spread via keywords and search results, the people
subscribing to newsletters usually are more interested in
those details compared to people just browsing the web. So
this is a great way to interact and retain your loyal
customers.
</li>
</ul>
<h3>Paid Marketing</h3>
<h4>Paid marketing on Search Engines.</h4>
<p>
Most prevalent search engines allow paid advertising and often
include more ways to spread your content. While organic
advertisement mostly applies to search results, the integration
of search engines with the likes of YouTube, Google Maps, and
Google Shopping allows you to run various types of ad campaigns
where you are also appearing on different Google or Yahoo
services.
</p>
<strong>Example of an ad on Google Maps:</strong>
<img
src="/assets/img/content/screenshot-2024-07-10-at-19.10.11.png"
alt=""
/>
<h4>Paid marketing on Social Media Outlets.</h4>
<p>
Similar to search engines, paid ads are also widely available on
most social media outlets. For example, just like with Google,
there are different ad campaigns on Facebook where your ad can
appear on peoples Feeds or the Facebook Marketplace, or even
while people are chatting on Messenger.
</p>
<img
src="/assets/img/content/create-facebook-ad-new-york-usa-april-digital-screen-macro-close-up-view-144397938.webp"
alt=""
/>
<h4>Paid marketing on Spotify</h4>
<p>
Another great way to advertise is on Spotify. There are two
options here,
</p>
<p>
You can run ads in between songs for people on the basic Spotify
plan. You can also place a clickable banner while the ad plays.
</p>
<p>
A sponsored partnership on a podcast that operates in your
niche. This is just like sponsored partnerships on Youtube where
it has the advantage that people actively listen on
</p>
<h5>
To end things off there is no golden bullet for marketing but
it is rather a combination and joint effort between the
available methods.
</h5>
<p>
If you want quick and instant results, paid advertisements are a
great way.
</p>
<p>
But to create a healthy audience organically interacting with
your target audience will be better in the long term.
</p>
<blockquote>
<h2>
THERE IS NO "GOLDEN BULLET" FOR MARKETING BUT RATHER A JOINT
EFFORT
</h2>
<p>
<i>Rankrunners</i>
</p>
</blockquote>
<p>
Want to outrun your competition?
<Link href="/schedule"> Book a Free Consultation</Link> with
RankRunners today.
</p>
</div>
<BlogCta slug={slug} />
</div>
</div>
</div>
<div className="col-30">
<aside className="blog__sidebar">
<BlogAsideLatest />
<div className="sidebar__widget">
<h4 className="sidebar__widget-title">Tags</h4>
<div className="sidebar__tag-list">
<ul className="list-wrap">
<li>
<Link href="#">SEO</Link>
</li>
<li>
<Link href="#">Business</Link>
</li>
<li>
<Link href="#">Development</Link>
</li>
<li>
<Link href="#">Marketing</Link>
</li>
<li>
<Link href="#">CRM</Link>
</li>
<li>
<Link href="#">Management</Link>
</li>
<li>
<Link href="#">Consultancy</Link>
</li>
<li>
<Link href="#">Ad Campaigns</Link>
</li>
</ul>
</div>
</div>
</aside>
</div>
</div>
</div>
</div>
</section>
{/* blog-details-area-end */}
</div>
</Layout>
</>
);
}

79
app/blog/page.js Normal file
View File

@ -0,0 +1,79 @@
import BlogPost from "@/components/blog/BlogPost";
import Layout from "@/components/layout/Layout";
import Callback1 from "@/components/sections/Callback1";
import Link from "next/link";
import BlogAsideLatest from "@/components/custom/BlogAsideLatest";
export const metadata = {
title: "Blog | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function Blog() {
return (
<>
<Layout
headerStyle={4}
footerStyle={3}
breadcrumbTitle="Company Blog
"
>
<div>
<section className="blog__area">
<div className="container">
<div className="blog__inner-wrap">
<div className="row">
<div className="col-70">
<div className="blog-post-wrap">
<div className="row gutter-24 blog-gap-2">
<BlogPost showItem={6} style={1} showPagination />
</div>
</div>
</div>
<div className="col-30">
<aside className="blog__sidebar">
<BlogAsideLatest />
<div className="sidebar__widget">
<h4 className="sidebar__widget-title">Tags</h4>
<div className="sidebar__tag-list">
<ul className="list-wrap">
<li>
<Link href="#">SEO</Link>
</li>
<li>
<Link href="#">Business</Link>
</li>
<li>
<Link href="#">Development</Link>
</li>
<li>
<Link href="#">Marketing</Link>
</li>
<li>
<Link href="#">CRM</Link>
</li>
<li>
<Link href="#">Management</Link>
</li>
<li>
<Link href="#">Consultancy</Link>
</li>
<li>
<Link href="#">Ad Campaigns</Link>
</li>
</ul>
</div>
</div>
</aside>
</div>
</div>
</div>
</div>
</section>
</div>
<Callback1 />
</Layout>
</>
);
}

View File

@ -0,0 +1,399 @@
import Layout from "@/components/layout/Layout";
import Link from "next/link";
import BlogDetails from "@/components/custom/BlogDetails";
import BlogCta from "@/components/custom/BlogCta";
import BlogAsideLatest from "@/components/custom/BlogAsideLatest";
export const metadata = {
title: "The Importance of SEO in Growing Your Business",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function Blogging() {
let slug = "the-importance-of-seo-in-growing-your-business";
let title = "The Importance of SEO in Growing Your Business";
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle={title}>
<div>
<section className="blog__details-area">
<div className="container">
<div className="blog__inner-wrap">
<div className="row">
<div className="col-70">
<div className="blog__details-wrap">
<div className="blog__details-content">
<BlogDetails slug={slug} />
<div className="blog-post-content">
<p>
Digital technology is at the forefront of our modern culture,
which has compared the internet over the recent decades to be a
modern Wild West, Silk Road, or New World. For those
looking to enterprise and profit in this emerging world, having
a digital presence is often mandatory across the vast majority
of industries. As with all ventures though, things can get
complicated when it comes to standing out amongst the crowd. For
many, reliably achieving high search engine rankings and an
increased volume of customers can seem insurmountable when faced
with such steep competition. Thankfully, theres a tool that can
help set you on the correct path to increasing your online
presence, called Search Engine Optimization (SEO). This blog
will further explore the various reasons why using SEO to grow
your business is not only important but often mandatory if you
want to reliably increase leads.
</p>
<img src="/assets/img/content/social-371648_640.png" alt="" />
<h2>Seeking Web Presence to Obtain Clicks</h2>
<p>
The main purpose of SEO rests directly within its name. Search
Engine Optimization. Search engines such as:
</p>
<ul>
<li>Google</li>
<li>Bing</li>
<li>Yahoo</li>
</ul>
<p>
use different algorithms that help your websites rank higher on
their results pages for certain keywords. When your website
ranks higher on a popular search engine, this means that more
potential paying customers or interested readers will click on
your page. The more clicks you get, the more sales you will get.
The amount of people that read your page and consider buying
your product, is directly related to the amount of people that
make the final decision to make the purchase. Heres where SEO
comes in; you can optimize your site and its interactions with
popular search engines to attract a more targeted form of
traffic that intends to only reach people whove already been
looking for a service or product like yours.
</p>
<img
src="/assets/img/content/ai-generated-8138052_640.png"
alt=""
/>
<h2>Cost-Effective Marketing</h2>
<p>
SEO is incredibly efficient when it comes to conversions. There
are other various forms of online marketing, such as:
</p>
<ul>
<li>
Pay-Per-Click Google Ads you often see on the sides of
websites
</li>
<li>Social Media Marketing</li>
<li>Outbound Cold Emails</li>
</ul>
<p>
There are others, however they all have one negative trait in
common that SEO does not; they require constant payment and
effort to have an effect. When you stop paying for ads, the
traffic stops coming. Because of the way SEO works though, there
are long-term benefits that remain even after the services have
been finished. This is due to something called Domain
Authority. Once you accumulate enough domain authority over
time, you can retain the same search results while reducing your
SEO spending.
</p>
<p>
Another huge reason why SEO (inbound, blog content, etc.) is
superior to outbound marketing methods is because of the proven
close rate across all major studies on websites such as Hubspot.
</p>
<img src="/assets/img/content/feedback-2800867_640.png" alt="" />
<h2>Reputation and Credibility</h2>
<p>
Most online experiences begin with a search engine. Even the
most basic and least tech-savvy individual likely knows how to
click on Explorers Blue E, or Googles Rainbow wheel. Most
people have been using these applications for years, which
builds trust in the things that those applications show to the
person. Most people feel that, usually, the results showing at
the top of their search engine are the most useful and relevant
ones concerning what they typed in. This means that if your
website shows up near or at the top of someones Google search
results, theyre more likely to feel trusting enough of your
reputation and credibility to click on your link.
</p>
<p>
Something that SEO also involves is improving the user
experience overall. When a user clicks on your page, they would
prefer content that is:
</p>
<ul>
<li>Quick and responsive</li>
<li>Organized</li>
<li>Helpful</li>
<li>Relevant to the search query</li>
<li>Well-Maintained</li>
</ul>
<p>
Having a present combination of all of these factors on your
website really helps out with boosting your reputation and
credibility. If someone feels trusting enough of your website
after seeing the above factors, theyre more likely to make a
purchase or be more interested in what you have to offer.
</p>
<img src="/assets/img/content/winner-1013979_1280.jpg" alt="" />
<h2>Advantage Over Competition</h2>
<p>
The online marketplace is a bit of a double-edged sword. You
have easy access to a figurative ocean of commerce, however,
that comes with another less welcomed pool of people, your
competition. No matter the industry you choose, when you make
your website online, youll likely observe another site similar
to yours showing up alongside you in the search results. These
competing sites are often looking for the exact same traffic and
are often providing the exact same service as you. Most of the
time when youre starting out, there will be many of them ranked
above you on the search results. This is another situation where
investing in SEO can step in and improve the situation. To get
that cutting-edge improvement over your competition, and attract
more customers, and display higher on the popular search
engines, it is mandatory to maintain up-to-date SEO practices.
</p>
<img src="/assets/img/content/call-3616158_640.png" alt="" />
<h2>The User Experience</h2>
<p>
The overall quality of the User Experience is an extremely
important aspect of SEO. Not only does the experience directly
impact the opinion a user forms about your page, but also,
search engines will boost your ranking if they detect that your
pages are enjoyable and helpful. Factors such as:
</p>
<ul>
<li>Content Relevance</li>
<li>Loading Time</li>
<li>Ease of Navigation</li>
<li>Mobile Optimization</li>
</ul>
<p>
are just a few that can all contribute to the overall quality of
the user experience. A positive user experience will increase
your conversions because the user is more likely to make a
purchase or attempt to contact you if they have a helpful,
smooth, and enjoyable experience on your page.
</p>
<p>
The methods that search engines use to detect whether your
content is enjoyable and helpful are clear. There are some
measurable metrics such as:
</p>
<ul>
<li>Site Engagement (clicks)</li>
<li>Average Time Spent on the Website</li>
<li>
Bounce Rate (amount of people who leave the website quickly)
</li>
</ul>
<p>
These metrics (and more) can signal to the different search
engines that your website has value and relevance, and in turn,
theyll rank you higher on their search results page. There are
steps you can take, most notably investing in all available SEO
practices, to maximize these qualities in the eyes of Google.
</p>
<img
src="/assets/img/content/ai-generated-8861653_640.png"
alt=""
/>
<h2>Local Optimization</h2>
<p>
If you want to target customers in your local area, then using
something called Local SEO is essential. This just means
optimizing your online presence to appear higher and more often
in locally-themed search results. For example, you could improve
your Google My Business listing to appear on Google Maps and
other apps. You could cite local citations, with one provided
example being: Voted Best Pizza in Town! You could also try to
encourage customers to leave reviews on various apps like Google
Reviews and Yelp, offering small benefits for doing so.
</p>
<img src="/assets/img/content/finance-7056936_640.png" alt="" />
<h2>Long-Term Benefits</h2>
<p>
SEO isnt something companies rush to finish. The various
measures involved are long-term strategies that require
consistent maintenance and investment. However, the long-term
return on investment of SEO practices far outweighs the initial
costs. The results (customer engagement, leads, sales) are often
exponential and accumulative as your domain builds authority,
meaning that on the internet, search engine success often breeds
more search engine success. This can be compared to the
relatively inferior practice of buying paid advertisements on
other big websites and social media platforms, with which, the
benefits disappear permanently the moment you stop making the
investment.
</p>
<img src="/assets/img/content/graph-36796_640.png" alt="" />
<h2>Customer Insights</h2>
<p>
SEO involves using analytics-based applications such as Google
Analytics to monitor the different ways users find and interact
with pages. You can find and use a vast wealth of information
using these applications, such as:
</p>
<ul>
<li>
finding the most popular keywords that can be used to find
your site,
</li>
<li>the pages that are the most visited,</li>
<li>
the actions that are taken on your site (such as how long it
takes people to do certain things, what buttons they click,
or what might make them want to leave)
</li>
</ul>
<p>
These sets of data will let you learn about your customers, and
then you can tailor your pages and content accordingly. Heres
an example of tailoring your content using market insights: You
wrote one blog that attracted a high amount of traffic for some
reason, much higher than your other blogs. You can look at the
different characteristics of the successful blog that you wrote,
such as the
</p>
<ul>
<li>Topic</li>
<li>Length</li>
<li>Style</li>
<li>Images</li>
<li>Links</li>
<li>Tone</li>
</ul>
<p>
and then you can create more of that proven successful content.
Learning about your customer's activity on your page lets you do
other things too, like finding and eliminating any bottlenecks
in your sales funnel, which will further improve your sales.
</p>
<img
src="/assets/img/content/social-media-3846597_640.png"
alt=""
/>
<h2>Building Your Brand</h2>
<p>
When it comes to establishing a brand in the modern world, SEO
is a critical part of that. If you want your brand to be
memorable, or a household name, youre going to need to ensure
that the company name appears in front of everyones face as
much as possible. Another good strategy to employ is choosing a
catchy and memorable name that people dont have to write down,
so they can maybe Google you again later. These strategies can
develop an awareness of your company through simple memory or
word-of-mouth. Trust and awareness can be built through these
methods as well, through people who arent even customers in the
first place. If your brand is constantly seen and present in
passing, and consistently appears in results and suggestions, it
gives off the impression that your brand is renowned and
respected, and can be trusted. Maybe that passer-by will decide
to give your site a visit one day since theyve seen it come up
on their screen a couple of times before.
</p>
<img src="/assets/img/content/long-shadow-1312718_640.png" alt="" />
<h2>Staying Ahead of the Technological Curve</h2>
<p>
One rather complicated aspect of SEO is that the digital world
is constantly improving itself, progressing, and evolving. New
trends, technologies, and strategies introduce themselves every
year to the space. Practicing SEO requires a business or agency
to stay on top of the most recent search engine algorithm
developments, understand all commonly practiced techniques, and
be open to embracing new and disruptive technologies in the
future, such as AI.
</p>
<p>
By consistently educating yourself and your peers, you can
reliably adapt to whatever changes may occur in the digital
marketing world. SEO is something that can be harnessed and
powerfully used, but it must be done the right way. Taking a
proactive rather than reactive approach to maximize your SEO
enables your companys marketing efforts to stay effective and
relevant, even in the most competitive environments.
</p>
<h2>Takeaway</h2>
<p>
If youve read this far, youre truly invested in building your
company, and youre on the right track. Youve learned from this
blog that SEO practices are a vital component of the majority of
successful online marketing strategies. There are innumerable
benefits to maximizing the SEO of your page. Heres a simple and
quick recap of what you can expect to gain:
</p>
<ul>
<li>Increased Web Presence and Clicks</li>
<li>Cost-Effective Marketing</li>
<li>Building Reputation and Credibility</li>
<li>Advantage Over Competition</li>
<li>Improved User Experience</li>
<li>Localized SEO</li>
<li>Long Term ROI</li>
<li>Customer Behavior Insights</li>
<li>Building Your Brand</li>
<li>Staying Ahead of the Technological Curve</li>
</ul>
<p>
Boosting your business with expert digital marketing can
generate countless benefits. Often, the results speak for
themselves.
</p>
<p>
Want to outrun your competition?
<Link href="/schedule"> Book a Free Consultation</Link> with
RankRunners today.
</p>
</div>
<BlogCta slug={slug} />
</div>
</div>
</div>
<div className="col-30">
<aside className="blog__sidebar">
<BlogAsideLatest />
<div className="sidebar__widget">
<h4 className="sidebar__widget-title">Tags</h4>
<div className="sidebar__tag-list">
<ul className="list-wrap">
<li>
<Link href="#">SEO</Link>
</li>
<li>
<Link href="#">Business</Link>
</li>
<li>
<Link href="#">Development</Link>
</li>
<li>
<Link href="#">Marketing</Link>
</li>
<li>
<Link href="#">CRM</Link>
</li>
<li>
<Link href="#">Management</Link>
</li>
<li>
<Link href="#">Consultancy</Link>
</li>
<li>
<Link href="#">Ad Campaigns</Link>
</li>
</ul>
</div>
</div>
</aside>
</div>
</div>
</div>
</div>
</section>
{/* blog-details-area-end */}
</div>
</Layout>
</>
);
}

71
app/client-area/page.js Normal file
View File

@ -0,0 +1,71 @@
"use client";
import { useEffect, useState } from "react";
import { useRouter, useSearchParams } from "next/navigation";
import Layout from "@/components/layout/Layout";
import PortalSelector from "@/components/dashboard/PortalSelector";
import LogoutButton from "@/components/dashboard/LogoutButton";
export default function Portal() {
const searchParams = useSearchParams();
const router = useRouter();
// Use dummy user data
const [sessionAccess, setSessionAccess] = useState(true);
const [session, setSession] = useState({
user: {
username: "admin",
password: "admin",
user_metadata: {
client_id: "dummy_client_id",
},
},
});
useEffect(() => {
// Simulate Stripe session handling if session_id exists in URL
const stripeSessionId = searchParams.get("session_id");
if (stripeSessionId) {
handleSuccessfulPayment(
stripeSessionId,
session.user.user_metadata.client_id
);
}
}, [searchParams, session]);
const handleSuccessfulPayment = async (stripeSessionId, userId) => {
try {
const response = await fetch("/api/handle-successful-payment", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ sessionId: stripeSessionId, userId }),
});
if (!response.ok) {
throw new Error("Failed to handle successful payment");
}
// Optionally, you can update the UI or show a success message here
} catch (error) {
console.error("Error handling successful payment:", error);
// Optionally, show an error message to the user
}
};
return (
<>
{!sessionAccess && <p>Loading...</p>}
{sessionAccess && (
<Layout headerStyle={6} footerStyle={3} transparent={false}>
<section className="portal__area">
<div className="container">
<PortalSelector session={session} />
</div>
<LogoutButton />
</section>
</Layout>
)}
</>
);
}

114
app/contact/page.js Normal file
View File

@ -0,0 +1,114 @@
import Layout from "@/components/layout/Layout";
import Link from "next/link";
import Contacting from "@/components/custom/Contact";
export const metadata = {
title: "Contact | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function Contact() {
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Contact Us">
<div>
<section className="contact__area">
<div className="container">
<div className="row mb-70">
<div className="col-lg-5">
<div className="contact__content">
<div className="section-title mb-30">
<span className="sub-title">
GET <span className="title-color">IN TOUCH</span>
</span>
<h2 className="title">Let's Talk</h2>
<p>
Have a question about a service, pricing, or case study? Send us a
message and we'll provide all the answers you need!
</p>
</div>
<div className="contact__info">
<ul className="list-wrap">
<li>
<div className="icon">
<i className="flaticon-pin" />
</div>
<div className="content">
<h4 className="title">Address</h4>
<p>
<Link
href="https://maps.app.goo.gl/3vpv8Y9pSTtpcNGB6"
target="_blank"
>
Suite B, 1934 N. Druid Hills Rd, Brookhaven, GA 30319,
USA
</Link>
</p>
</div>
</li>
<li>
<div className="icon">
<i className="flaticon-phone-call" />
</div>
<div className="content">
<h4 className="title">Phone</h4>
<Link href="tel:+14702604117">(470) 260-4117</Link>
</div>
</li>
<li>
<div className="icon">
<i className="flaticon-mail" />
</div>
<div className="content">
<h4 className="title">Email</h4>
<Link href="mailto:support@rankrunners.net">
support@rankrunners.net
</Link>
</div>
</li>
</ul>
</div>
{/* <div className="contact__left mb-30">
<ul>
<li>
We'll increase your company website's organic search ranking and
visibility in Google search
</li>
<li>
This increased brand exposure will help attract and reel in
thousands of brand new customers
</li>
<li>
You will experience a higher bottom line, increased ROI and better
position yourself for sustainable, organic growth
</li>
</ul>
</div>
<div className="section-title">
<p>Are you ready to outrun your competitors?</p>
</div> */}
</div>
</div>
<div className="col-lg-7">
<Contacting />
</div>
</div>
<div className="row">
<div className="col-lg-12">
<div className="contact-map">
<iframe
src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3105.090533713237!2d-84.34295258493827!3d33.83509628065662!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f507b69aa2e0e3:0x51ce91157771e43d!2sRankRunners!5e0!3m2!1sen!2sus!4v1685560274134!5m2!1sen!2sus"
allowFullScreen
loading="lazy"
/>
</div>
</div>
</div>
</div>
</section>
</div>
</Layout>
</>
);
}

BIN
app/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

115
app/forgot-password/page.js Normal file
View File

@ -0,0 +1,115 @@
"use client";
import Layout from "@/components/layout/Layout";
import Link from "next/link";
import { useState } from "react";
export default function ForgotPassword() {
const [identify, setIdentifier] = useState("");
const [error, setError] = useState("");
const [isLoading, setIsLoading] = useState(false);
const [wrongCred, setWrongCred] = useState(false);
const [success, setSuccess] = useState(false);
const handleForgotPassword = async (e) => {
e.preventDefault();
setError("");
setIsLoading(true);
// Simulate handling of forgot password logic (without supabase or nocodb)
const emailIdentifier = identify;
// Dummy logic for demonstration purposes
if (!emailIdentifier.includes("@")) {
setError("Please enter a valid email address.");
setIsLoading(false);
return;
}
// Simulate API call success
setTimeout(() => {
setSuccess(true);
setIsLoading(false);
}, 1000);
};
return (
<>
<Layout headerStyle={6} footerStyle={3} transparent={false}>
<section className="forgot__area-one">
<div className="container">
<div className="text-center mb-55">
<h1 className="text-48-bold">Forgot Password?</h1>
</div>
<div className="box-form-login">
<div className="head-login">
<p className="text-16-semibold">
No worries, well send you reset instructions
</p>
<div className="form-login form-forgot">
<form onSubmit={handleForgotPassword}>
<div className="form-group">
<input
type="text"
className="form-control account"
placeholder="Email Address"
value={identify}
onChange={(e) => setIdentifier(e.target.value)}
required
/>
</div>
<div className="alert alert-warning" hidden={!wrongCred}>
<p className="text-infos">
We cant seem to find the right account. Please try with
a different account.
</p>
</div>
<div className="alert alert-accept" hidden={!success}>
<p className="text-infos">
Kindly check your email and click on the link to reset
your password.
</p>
</div>
<div className="form-group">
<input
type="submit"
className="btn btn-login"
defaultValue="Reset password"
/>
</div>
</form>
<div className="form-group">
<button className="btn border-btn btn-login">
<svg
width={16}
height={14}
viewBox="0 0 16 14"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M15 6.07209H3.14L6.77 2.02388C6.93974 1.83427 7.0214 1.58982 6.99702 1.3443C6.97264 1.09878 6.84422 0.872315 6.64 0.714715C6.43578 0.557115 6.1725 0.481293 5.90808 0.503929C5.64365 0.526565 5.39974 0.645806 5.23 0.835419L0.23 6.40635C0.196361 6.45066 0.166279 6.49721 0.14 6.54562C0.14 6.59205 0.14 6.6199 0.0700002 6.66633C0.0246737 6.77278 0.000941121 6.88611 0 7.00058C0.000941121 7.11505 0.0246737 7.22838 0.0700002 7.33484C0.0700002 7.38126 0.0699999 7.40911 0.14 7.45554C0.166279 7.50395 0.196361 7.5505 0.23 7.59481L5.23 13.1657C5.32402 13.2706 5.44176 13.3548 5.57485 13.4126C5.70793 13.4704 5.85309 13.5002 6 13.5C6.23365 13.5004 6.46009 13.4249 6.64 13.2864C6.74126 13.2085 6.82496 13.1128 6.88631 13.0047C6.94766 12.8967 6.98546 12.7785 6.99754 12.6569C7.00961 12.5353 6.99573 12.4127 6.95669 12.296C6.91764 12.1794 6.8542 12.0711 6.77 11.9773L3.14 7.92907H15C15.2652 7.92907 15.5196 7.83125 15.7071 7.65712C15.8946 7.483 16 7.24683 16 7.00058C16 6.75433 15.8946 6.51817 15.7071 6.34404C15.5196 6.16991 15.2652 6.07209 15 6.07209Z"
fill
/>
</svg>
<Link href="/login">Back to Login</Link>
</button>
</div>
<p className="text-center">
Dont have an account?{" "}
<Link href="/register" className="link-bold">
Register
</Link>{" "}
now, or{" "}
<Link href="/contact" className="link-bold">
Contact Us
</Link>
</p>
</div>
</div>
</div>
</div>
</section>
</Layout>
</>
);
}

39
app/layout.js Normal file
View File

@ -0,0 +1,39 @@
import { Inter, Outfit } from "next/font/google";
import "/public/assets/css/animate.min.css";
import "/public/assets/css/bootstrap.min.css";
import "/public/assets/css/flaticon.css";
import "/public/assets/css/fontawesome-all.min.css";
import "/public/assets/css/magnific-popup.css";
import "/public/assets/css/odometer.css";
import "/public/assets/css/swiper-bundle.css";
import "/public/assets/css/aos.css";
import "/public/assets/css/default.css";
import "/public/assets/css/main.css";
import "/public/assets/css/custom.css";
import ScrollHandler from "@/components/custom/ScrollHandler";
import PopUp from "@/components/custom/PopUp";
const inter = Inter({
weight: ["300", "400", "500", "600", "700"],
subsets: ["latin"],
variable: "--tg-body-font-family",
display: "swap",
});
const outfit = Outfit({
weight: ["400", "500", "600", "700", "800", "900"],
subsets: ["latin"],
variable: "--tg-heading-font-family",
display: "swap",
});
export default function RootLayout({ children }) {
return (
<html lang="en">
<body className={`${inter.variable} ${outfit.variable}`}>
{children}
<PopUp />
<ScrollHandler />
</body>
</html>
);
}

9
app/loading.js Normal file
View File

@ -0,0 +1,9 @@
import Preloader from '@/components/elements/Preloader'
export default function loading() {
return (
<>
<Preloader />
</>
)
}

118
app/login/page.js Normal file
View File

@ -0,0 +1,118 @@
"use client";
import Layout from "@/components/layout/Layout";
import Link from "next/link";
import { useState } from "react";
import { useRouter } from "next/navigation";
export default function Login() {
const [email, setEmail] = useState("");
const [password, setPassword] = useState("");
const [error, setError] = useState("");
const [isLoading, setIsLoading] = useState(false);
const [wrongCred, setWrongCred] = useState(false);
const router = useRouter();
const handleLogin = async (e) => {
e.preventDefault();
setError("");
setIsLoading(true);
// Simulate a login validation (replace this with actual logic or API calls)
if (email === "test@example.com" && password === "password123") {
// Successful login simulation
router.push("/client-area");
} else {
setError("Invalid login credentials, please try again.");
setWrongCred(true);
}
setIsLoading(false);
};
return (
<>
<Layout headerStyle={6} footerStyle={3} transparent={false}>
<section className="login__area-one">
<div className="container">
<div className="box-form-login">
<div className="head-login">
<h3>Client Area</h3>
<p className={wrongCred ? "display-none" : ""}>
Login with your email
</p>
<p className={wrongCred ? "error-red" : "display-none"}>
Invalid login credentials, please try again.
</p>
<div className="form-login">
<form onSubmit={handleLogin}>
<div className="form-group">
<input
type="text"
className="form-control account"
placeholder="Email Address"
value={email}
onChange={(e) => setEmail(e.target.value)}
required
/>
</div>
<div className="form-group">
<input
type="password"
className="form-control"
placeholder="Password"
value={password}
onChange={(e) => setPassword(e.target.value)}
minLength={8}
required
/>
<span className="view-password" />
</div>
<div className="box-forgot-pass">
<label>
<input
type="checkbox"
className="cb-remember"
defaultValue={1}
/>{" "}
Remember me
</label>
<Link href="/forgot-password">Forgot Password ?</Link>
</div>
<div className="form-group">
{!isLoading ? (
<input
type="submit"
className="btn btn-login"
defaultValue="Login"
/>
) : (
<div
className="btn btn-login btn-loader"
defaultValue="Register now"
>
<div
className="spinner-border text-light"
role="status"
>
<span className="sr-only">Loading...</span>
</div>
</div>
)}
</div>
</form>
<p>
Dont have an account?{" "}
<Link href="/register" className="link-bold">
Register
</Link>{" "}
now
</p>
</div>
</div>
</div>
</div>
</section>
</Layout>
</>
);
}

3
app/mdx-components.js Normal file
View File

@ -0,0 +1,3 @@
export function useMDXComponents(components) {
return { ...components };
}

29
app/middleware.js Normal file
View File

@ -0,0 +1,29 @@
// middleware.js
// import { createMiddlewareClient } from "@supabase/auth-helpers-nextjs";
import { NextResponse } from "next/server";
export async function middleware(req) {
const res = NextResponse.next();
// const supabase = createMiddlewareClient({ req, res });
// const {
// data: { session },
// } = await supabase.auth.getSession();
// if (!session && req.nextUrl.pathname.startsWith("/client-area")) {
// return NextResponse.redirect(new URL("/login", req.url));
// }
// Protect reset-password route
if (req.nextUrl.pathname === "/reset-password") {
const accessToken = req.nextUrl.searchParams.get("access_token");
if (!accessToken) {
return NextResponse.redirect(new URL("/login", req.url));
}
}
return res;
}
export const config = {
matcher: ["/client-area/:path*", "/reset-password"],
};

71
app/not-found.js Normal file
View File

@ -0,0 +1,71 @@
import Layout from "@/components/layout/Layout";
import Link from "next/link";
export default function NotFound() {
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Error page">
<section className="error-area">
<div className="container">
<div className="row">
<div className="col-lg-12">
<div className="error-content">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 649 323" fill="none">
<path
d="M39.3651 6.43777C47.246 -5.80467 96.8509 7.09739 94.8741 25.6194C92.8973 44.1413 58.6061 132.108 67.146 142.028C75.6858 151.949 119.966 150.629 120.625 148.651C121.284 146.672 131.195 88.4674 133.172 79.2064C135.148 69.9454 182.724 71.9243 185.36 89.127C187.995 106.33 171.495 210.813 169.492 239.915C167.489 269.017 172.128 294.795 166.198 300.758C160.241 306.721 110.689 307.38 106.735 297.46C102.781 287.539 117.594 203.557 112.481 198.913C107.394 194.296 22.1537 203.531 4.96856 187.014C-12.1638 170.471 18.8853 38.1784 39.3651 6.43777Z"
fill="currentcolor"
/>
<path
d="M488.498 6.41139C493.4 -4.06329 550.78 -2.95514 546.932 19.1551C543.084 41.2654 513.985 143.268 520.258 148.149C526.531 153.031 567.017 154.376 570.891 152.793C574.766 151.21 585.098 76.3041 586.969 64.2464C588.841 52.1886 647.065 51.7137 648.013 66.2252C648.962 80.7368 626.585 308.198 620.707 318.541C614.829 328.857 560.559 319.148 557.317 310.098C554.075 301.048 573.052 206.327 568.282 204.006C563.511 201.684 472.868 212.897 459.083 194.56C445.298 176.223 479.193 26.2262 488.498 6.41139Z"
fill="currentcolor"
/>
<path
d="M329.403 17.6776C381.539 20.8438 437.1 85.143 427.19 175.748C417.279 266.352 363.774 315.955 291.739 311.998C219.703 308.04 197.932 216.749 205.18 145.326C212.429 73.9031 253.415 13.0603 329.403 17.6776Z"
fill="currentcolor"
/>
<path
d="M301.86 90.1824C324.554 98.1242 331.591 154.297 307.817 179.125C284.042 203.926 244.4 182.766 242.397 151.025C240.394 119.285 275.423 80.9214 301.86 90.1824Z"
fill="white"
/>
<path
d="M373.869 121.897C376.109 122.715 378.191 124.087 380.01 125.67C389.13 133.611 391.976 147.411 388.365 158.967C386.837 163.848 384.174 168.545 380.089 171.632C375.081 175.405 368.439 176.46 362.219 175.774C357.659 175.273 352.993 173.822 349.857 170.471C347.617 168.096 346.351 164.956 345.534 161.817C341.581 146.513 350.331 118.519 370.785 121.158C371.865 121.29 372.893 121.554 373.869 121.897Z"
fill="white"
/>
<path
d="M358.133 156.751C362.704 156.751 366.409 153.042 366.409 148.466C366.409 143.89 362.704 140.181 358.133 140.181C353.562 140.181 349.857 143.89 349.857 148.466C349.857 153.042 353.562 156.751 358.133 156.751Z"
fill="#684500"
/>
<path
d="M296.167 136.698C300.737 136.698 304.443 132.989 304.443 128.414C304.443 123.838 300.737 120.129 296.167 120.129C291.596 120.129 287.89 123.838 287.89 128.414C287.89 132.989 291.596 136.698 296.167 136.698Z"
fill="#684500"
/>
<path
d="M327.532 232.527C326.82 232.527 326.082 232.29 325.476 231.841C323.974 230.707 323.658 228.543 324.791 227.039C325.423 226.195 340.526 206.406 356.42 207.778C358.318 207.937 359.688 209.599 359.53 211.499C359.372 213.398 357.711 214.77 355.814 214.612C345.771 213.741 333.937 226.274 330.247 231.182C329.588 232.052 328.56 232.527 327.532 232.527Z"
fill="#684500"
/>
<path
d="M363.932 113.902C355.919 113.902 349.303 111.791 348.803 111.633C347.01 111.053 346.035 109.1 346.615 107.306C347.195 105.512 349.145 104.536 350.938 105.116C351.148 105.169 371.048 111.501 380.827 100.895C382.119 99.4962 384.28 99.417 385.677 100.71C387.074 102.003 387.153 104.166 385.861 105.565C379.746 112.134 371.259 113.902 363.932 113.902Z"
fill="#684500"
/>
<path
d="M319.414 84.4042C318.096 84.4042 316.831 83.6391 316.277 82.3462C316.198 82.1615 308.265 64.3519 295.244 61.4496C288.945 60.0512 282.197 62.4258 275.212 68.5735C273.789 69.8135 271.628 69.6816 270.389 68.2568C269.15 66.8321 269.282 64.6685 270.705 63.4285C279.43 55.7769 288.207 52.8746 296.773 54.8007C313.194 58.4945 322.208 78.7843 322.577 79.6286C323.341 81.37 322.551 83.3752 320.811 84.1404C320.337 84.2987 319.862 84.4042 319.414 84.4042Z"
fill="#684500"
/>
</svg>
<h2 className="title">OOPS! Nothing Was Found</h2>
<p>
Oops! it could be you or us, there is no page here. It might have <br /> been
moved or deleted.Back To Home
</p>
<Link href="/" className="btn btn-two">
Go Back To Home Page
</Link>
</div>
</div>
</div>
</div>
</section>
</Layout>
</>
);
}

BIN
app/opengraph-image.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

42
app/page.js Normal file
View File

@ -0,0 +1,42 @@
import Layout from "@/components/layout/Layout";
import About4 from "@/components/sections/About4";
import Banner1 from "@/components/sections/Banner1";
import BlogPost2 from "@/components/sections/BlogPost2";
import Brand1 from "@/components/sections/Brand1";
import Callback1 from "@/components/sections/Callback1";
import Choose2 from "@/components/sections/Choose2";
import Counter2 from "@/components/sections/Counter2";
import Project3 from "@/components/sections/Project3";
import Services6 from "@/components/sections/Services6";
import Team4 from "@/components/sections/Team4";
import Testimonials from "@/components/sections/Testimonials";
export const metadata = {
title: "RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function Home() {
return (
<>
<Layout headerStyle={4} footerStyle={3}>
<Banner1 />
<Brand1 />
<div id="about">
<About4 />
</div>
<div id="seocheck">
<Callback1 />
</div>
<Services6 />
<Choose2 />
<Counter2 />
<Project3 />
{/* <Team4 /> */}
<Testimonials />
<BlogPost2 />
</Layout>
</>
);
}

229
app/page.module.css Normal file
View File

@ -0,0 +1,229 @@
.main {
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
padding: 6rem;
min-height: 100vh;
}
.description {
display: inherit;
justify-content: inherit;
align-items: inherit;
font-size: 0.85rem;
max-width: var(--max-width);
width: 100%;
z-index: 2;
font-family: var(--font-mono);
}
.description a {
display: flex;
justify-content: center;
align-items: center;
gap: 0.5rem;
}
.description p {
position: relative;
margin: 0;
padding: 1rem;
background-color: rgba(var(--callout-rgb), 0.5);
border: 1px solid rgba(var(--callout-border-rgb), 0.3);
border-radius: var(--border-radius);
}
.code {
font-weight: 700;
font-family: var(--font-mono);
}
.grid {
display: grid;
grid-template-columns: repeat(4, minmax(25%, auto));
max-width: 100%;
width: var(--max-width);
}
.card {
padding: 1rem 1.2rem;
border-radius: var(--border-radius);
background: rgba(var(--card-rgb), 0);
border: 1px solid rgba(var(--card-border-rgb), 0);
transition: background 200ms, border 200ms;
}
.card span {
display: inline-block;
transition: transform 200ms;
}
.card h2 {
font-weight: 600;
margin-bottom: 0.7rem;
}
.card p {
margin: 0;
opacity: 0.6;
font-size: 0.9rem;
line-height: 1.5;
max-width: 30ch;
}
.center {
display: flex;
justify-content: center;
align-items: center;
position: relative;
padding: 4rem 0;
}
.center::before {
background: var(--secondary-glow);
border-radius: 50%;
width: 480px;
height: 360px;
margin-left: -400px;
}
.center::after {
background: var(--primary-glow);
width: 240px;
height: 180px;
z-index: -1;
}
.center::before,
.center::after {
content: '';
left: 50%;
position: absolute;
filter: blur(45px);
transform: translateZ(0);
}
.logo {
position: relative;
}
/* Enable hover only on non-touch devices */
@media (hover: hover) and (pointer: fine) {
.card:hover {
background: rgba(var(--card-rgb), 0.1);
border: 1px solid rgba(var(--card-border-rgb), 0.15);
}
.card:hover span {
transform: translateX(4px);
}
}
@media (prefers-reduced-motion) {
.card:hover span {
transform: none;
}
}
/* Mobile */
@media (max-width: 700px) {
.content {
padding: 4rem;
}
.grid {
grid-template-columns: 1fr;
margin-bottom: 120px;
max-width: 320px;
text-align: center;
}
.card {
padding: 1rem 2.5rem;
}
.card h2 {
margin-bottom: 0.5rem;
}
.center {
padding: 8rem 0 6rem;
}
.center::before {
transform: none;
height: 300px;
}
.description {
font-size: 0.8rem;
}
.description a {
padding: 1rem;
}
.description p,
.description div {
display: flex;
justify-content: center;
position: fixed;
width: 100%;
}
.description p {
align-items: center;
inset: 0 0 auto;
padding: 2rem 1rem 1.4rem;
border-radius: 0;
border: none;
border-bottom: 1px solid rgba(var(--callout-border-rgb), 0.25);
background: linear-gradient(
to bottom,
rgba(var(--background-start-rgb), 1),
rgba(var(--callout-rgb), 0.5)
);
background-clip: padding-box;
backdrop-filter: blur(24px);
}
.description div {
align-items: flex-end;
pointer-events: none;
inset: auto 0 0;
padding: 2rem;
height: 200px;
background: linear-gradient(
to bottom,
transparent 0%,
rgb(var(--background-end-rgb)) 40%
);
z-index: 1;
}
}
/* Tablet and Smaller Desktop */
@media (min-width: 701px) and (max-width: 1120px) {
.grid {
grid-template-columns: repeat(2, 50%);
}
}
@media (prefers-color-scheme: dark) {
.vercelLogo {
filter: invert(1);
}
.logo {
filter: invert(1) drop-shadow(0 0 0.3rem #ffffff70);
}
}
@keyframes rotate {
from {
transform: rotate(360deg);
}
to {
transform: rotate(0deg);
}
}

View File

@ -0,0 +1,249 @@
import Layout from "@/components/layout/Layout";
import Callback1 from "@/components/sections/Callback1";
import CaseStudyDetail from "@/components/custom/CaseStudyDetail";
export const metadata = {
title: "Case Study - Atlas Aviation | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ProjectDetails() {
let slug = "atlas-aviation";
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Case Study: Atlas Aviation">
<div>
<section className="project__details-area">
<div className="container">
<div className="project__details-wrap">
<CaseStudyDetail slug={slug} />
<div className="row">
<div className="col-12">
<div className="project__details-content">
<h2>The Challenge We Faced</h2>
<p>
Atlas Aviation, a premier provider of private jet charter and flight
school services, faced the challenge of improving their online
visibility and client engagement amidst a crowded and competitive
market. Despite their industry expertise and high-quality services,
their website was underperforming in search engine rankings, hampering
their ability to attract new clients. The site was outdated, slow, and
not optimized for search engines, which led to low organic traffic and
poor user engagement.
</p>
<p>
RankRunners was tasked with overhauling Atlas Aviations website and
implementing a robust SEO strategy aimed at enhancing their online
presence and driving more qualified leads to their business.
</p>
<h2>The Strategy We Applied</h2>
<h5>Comprehensive Website Overhaul:</h5>
<p>
RankRunners began by completely redesigning Atlas Aviations website. We
transitioned the site from its old and sluggish platform to a modern,
high-performance framework. The new design focused on providing a sleek,
professional look that aligns with Atlas Aviations brand while
improving user experience. Key enhancements included faster load times,
a responsive design for mobile devices, and a more intuitive navigation
system to facilitate better client interactions.
</p>
<h5>Targeted SEO Campaign:</h5>
<p>
To address the low search engine visibility, we implemented a targeted
SEO campaign. This involved a detailed keyword analysis to identify
high-value search terms such as private jet charter, aviation
instruction services, and tampa aircraft rental. We optimized the
websites content with these keywords, updated meta tags, and improved
on-page SEO elements to enhance search engine rankings.
</p>
<h5>Local and Industry-Specific SEO:</h5>
<p>
Given the nature of Atlas Aviations services, local and
industry-specific SEO was critical. We optimized the Google My Business
profile, ensuring it featured accurate information and high-quality
images. Additionally, we created location-based content and secured
backlinks from relevant industry sources to improve local search
visibility and establish authority in the aviation sector.
</p>
<h5>Regular Progress Reviews:</h5>
<p>
RankRunners scheduled bi-weekly progress reviews with Atlas Aviation to
keep them informed about the performance of the digital marketing
strategy. During these meetings, we presented detailed analytical
reports showing improvements in website traffic, search rankings, and
user engagement. This approach allowed for transparent communication and
continuous optimization of the strategy based on real-time data.
</p>
<h5>Enhanced Social Media Integration:</h5>
<p>
To complement the website and SEO efforts, we integrated social media
strategies into Atlas Aviations overall marketing plan. We developed
engaging content for platforms like LinkedIn and Instagram to showcase
their services and client success stories, driving additional traffic to
the revamped website and increasing brand awareness.
</p>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
<Callback1 />
<div>
<section className="project__details-area-one">
<div className="container">
<div className="project__details-wrap">
<div className="row">
<div className="col-12">
<div className="project__details-content">
<div className="project__details-inner">
<div className="row align-items-center">
<div className="col-lg-12">
<h2>The Results We Provided</h2>
<p>
The concerted efforts of RankRunners and Atlas Aviation
resulted in a transformative impact on their online presence
and business performance. The revamped website, combined
with a targeted SEO and social media strategy, led to
significant improvements in key metrics.
</p>
<h3>Key Achievements</h3>
<h5>Revamped Website:</h5>
<p>
The new site provided a more modern, user-friendly
experience with enhanced functionality and faster
performance.
</p>
<h5>Improved Search Rankings:</h5>
<p>
Atlas Aviations website moved from an average search
position of #40 to the top 10 positions for critical search
terms, significantly boosting visibility.
</p>
<h5>Enhanced Local and Industry Visibility:</h5>
<p>
The optimized Google My Business profile and
industry-specific content increased local search visibility
by 70% and established Atlas Aviation as a leading authority
in the aviation sector.
</p>
<h5>Increased Engagement:</h5>
<p>
The integrated social media campaigns contributed to a 50%
increase in website traffic and higher engagement rates
across social media platforms.
</p>
</div>
<div className="col-lg-6 order-lg-1">
<div className="project__details-inner-img">
<img
src="/assets/img/case-study/atlas-aviation-1.png"
alt=""
/>
</div>
</div>
<div className="col-lg-6">
<div className="project__details-inner-content">
<div className="content-inner">
<h4>Before</h4>
<div className="row">
<div className="col-md-6">
<div className="case-study-cta-ba">
<h3>Image Coming Soon</h3>
</div>
</div>
<div className="col-md-6 about__list-box">
<ul className="list-wrap">
<li>
<i className="flaticon-arrow-button" />
Outdated Website
</li>
<li>
<i className="flaticon-arrow-button" />
#40 Avg. Search Position
</li>
<li>
<i className="flaticon-arrow-button" />
Low Local Visibility
</li>
<li>
<i className="flaticon-arrow-button" />
Limited Social Media Engagement
</li>
</ul>
</div>
</div>
</div>
<div className="content-inner">
<h4>After</h4>
<div className="row">
<div className="col-md-6">
<div className="case-study-cta-ba">
<video
src="/assets/img/case-study/atlas-aviation.webm"
autoPlay
muted
loop
alt=""
/>
</div>
</div>
<div className="col-md-6 about__list-box">
<ul className="list-wrap">
<li>
<i className="flaticon-arrow-button" />
Modernized Website
</li>
<li>
<i className="flaticon-arrow-button" />
Top 10 Avg. Search Position
</li>
<li>
<i className="flaticon-arrow-button" />
+70% Local Visibility
</li>
<li>
<i className="flaticon-arrow-button" />
+50% Website Traffic
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div className="col-lg-12 order-last">
<p>
The successful partnership between Atlas Aviation and
RankRunners highlights our ability to deliver impactful
results through a comprehensive approach to website design,
SEO, and digital marketing. By addressing key challenges and
implementing a tailored strategy, RankRunners significantly
enhanced Atlas Aviations online presence, driving more
qualified leads and reinforcing their position as a top
player in the private aviation industry.
</p>
<p>
This case study underscores RankRunners' commitment to
achieving measurable improvements for clients and
demonstrates the effectiveness of a well-rounded strategy in
surpassing business goals.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</Layout>
</>
);
}

View File

@ -0,0 +1,206 @@
import Layout from "@/components/layout/Layout";
import Callback1 from "@/components/sections/Callback1";
import CaseStudyDetail from "@/components/custom/CaseStudyDetail";
export const metadata = {
title: "Case Study - Discord Center | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ProjectDetails() {
let slug = "discord-center";
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Case Study: Discord Center">
<div>
<section className="project__details-area">
<div className="container">
<div className="project__details-wrap">
<CaseStudyDetail slug={slug} />
<div className="row">
<div className="col-12">
<div className="project__details-content">
<h2>The Challenge We Faced</h2>
<p>
Discord Center struggled with a fragmented user experience and low
visibility in search results, limiting its growth potential. Our agency
tackled this by revamping the websites structure for better navigation
and implementing a targeted SEO strategy. This approach significantly
enhanced their search engine ranking and user engagement, driving
increased traffic and improving overall site performance.
</p>
<h2>The Strategy We Applied</h2>
<h5>Website Revamp and Optimization:</h5>
<p>
We began by overhauling Discord Centers existing website to address its
fragmented user experience and performance issues. The website was
migrated from its outdated framework to a modern, scalable architecture
using Next.js. This transition enhanced server-side rendering,
streamlined routing, and significantly improved site speed and
responsiveness. Our team also redesigned the sites layout to create a
more intuitive and engaging user experience, ensuring that users could
easily find and interact with Discord servers.
</p>
<h5>Targeted SEO Strategy:</h5>
<p>
To boost Discord Centers visibility, we implemented a targeted SEO
strategy focusing on high-value keywords and optimizing on-page content.
This included refining meta tags, improving content relevance, and
ensuring that each page was optimized for search engine algorithms. We
also built high-quality backlinks and improved the sites overall
authority to enhance its ranking in search results, driving more organic
traffic to the site.
</p>
<h5>Continuous Performance Monitoring and Reporting:</h5>
<p>
We established a routine of bi-weekly performance reviews to track
progress and adjust strategies as needed. During these meetings, we
provided detailed reports on key metrics such as traffic growth, keyword
rankings, and user engagement. This approach ensured transparency and
allowed us to make data-driven decisions to continuously optimize and
refine our strategy for maximum impact.
</p>
<h5>Community Engagement and Feedback Integration:</h5>
<p>
To further align the site with user needs, we integrated feedback
mechanisms and engaged with the Discord community to gather insights.
This input was used to make iterative improvements, enhancing user
satisfaction and retention. By aligning the websites features with
community expectations, we fostered a more engaged and loyal user base.
</p>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
<Callback1 />
<div>
<section className="project__details-area-one">
<div className="container">
<div className="project__details-wrap">
<div className="row">
<div className="col-12">
<div className="project__details-content">
<div className="project__details-inner">
<div className="row align-items-center">
<div className="col-lg-6 order-lg-1">
<div className="project__details-inner-img">
<img
src="/assets/img/case-study/discord-center-1.png"
alt=""
/>
</div>
</div>
<div className="col-lg-6">
<div className="project__details-inner-content">
<h2>The Results We Provided</h2>
<p>
The revitalization of Discord Center through our
targeted strategies led to remarkable improvements in
both performance and user engagement. The website
overhaul and SEO enhancements resulted in a substantial
increase in visibility and user interaction,
transforming Discord Center into a leading platform for
Discord server listings.
</p>
<div className="content-inner">
<h4>Before</h4>
<div className="row">
<div className="col-md-6">
<div className="case-study-cta-ba">
<h3>Image Coming Soon</h3>
</div>
</div>
<div className="col-md-6 about__list-box">
<ul className="list-wrap">
<li>
<i className="flaticon-arrow-button" />
Outdated and fragmented website
experience
</li>
<li>
<i className="flaticon-arrow-button" />
#45 Avg. Search Position
</li>
<li>
<i className="flaticon-arrow-button" />
Low Domain Authority
</li>
<li>
<i className="flaticon-arrow-button" />
Limited user engagement and traffic
</li>
</ul>
</div>
</div>
</div>
<div className="content-inner">
<h4>After</h4>
<div className="row">
<div className="col-md-6">
<div className="case-study-cta-ba">
<video
src="/assets/img/case-study/discord-center.webm"
autoPlay
muted
loop
alt=""
/>
</div>
</div>
<div className="col-md-6 about__list-box">
<ul className="list-wrap">
<li>
<i className="flaticon-arrow-button" />
Streamlined and modernized website
</li>
<li>
<i className="flaticon-arrow-button" />
#8 Avg. Search Position
</li>
<li>
<i className="flaticon-arrow-button" />
+320% Domain Authority
</li>
<li>
<i className="flaticon-arrow-button" />
+400% Growth in Monthly Traffic and User
Engagement
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div className="col-lg-12 order-last">
<p>
The comprehensive website revamp and strategic SEO
improvements not only elevated Discord Centers search
engine rankings but also significantly enhanced user
experience and site performance. These changes have
positioned Discord Center as a top player in its niche,
resulting in a notable surge in traffic and engagement. This
case study illustrates our commitment to delivering
measurable outcomes and underscores the effectiveness of our
integrated approach to web development and SEO.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</Layout>
</>
);
}

View File

@ -0,0 +1,215 @@
import Layout from "@/components/layout/Layout";
import Callback1 from "@/components/sections/Callback1";
import CaseStudyDetail from "@/components/custom/CaseStudyDetail";
export const metadata = {
title: "Case Study - Hytale Server Hosting | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ProjectDetails() {
let slug = "hytale-server-hosting";
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Case Study: Hytale Server Hosting">
<div>
<section className="project__details-area">
<div className="container">
<div className="project__details-wrap">
<CaseStudyDetail slug={slug} />
<div className="row">
<div className="col-12">
<div className="project__details-content">
<h2>The Challenge We Faced</h2>
<p>
Hytale Hosting faced the challenge of penetrating a highly competitive
and saturated market with a relatively smaller budget, and less brand
familiarity. RankRunners tasks involved carrying out a complete website
overhaul and implementing a comprehensive SEO strategy with the ultimate
goal of bringing Hytale Hosting to the top of the organic search results
for relevant search terms.
</p>
<h2>The Strategy We Applied</h2>
<h5>Website Overhaul:</h5>
<p>
RankRunners started at ground zero by completely revamping the original
Hytale Hosting website. This was done by migrating the originally slow
and buggy PHP-based website to a Next.js React-based framework which
allowed for better server-side rendering, simplified routing, and better
overall site performance. These infrastructural changes combined with
many other SEO-focused content adjustments allowed Hytale Hosting to
both appear and function as a worthy competitor against the seemingly
insurmountable competition that the company was initially up against.
</p>
<h5>Visibility-Boosting SEO Campaign:</h5>
<p>
RankRunners initiated a comprehensive SEO campaign to boost Hytale
Hostings organic search visibility. The focus was on strategically
positioning Hytale Hosting in search engine results for key terms such
as hytale server hosting and hytale hosting, allowing a company with
a fraction of the budget of more-established, multi-purpose game server
hosts to dominate relevant organic search terms and have a viable path
to dominate their industry for years to come.
</p>
<h5>Bi-Weekly Progress Meetings:</h5>
<p>
RankRunners hosted routine bi-weekly progress meetings to keep Hytale
Hosting informed about the effectiveness of their digital marketing
efforts. Throughout these meetings, detailed analytical reports were
presented which showcased the progress being made, areas of improvement,
and recommended strategies for future growth. This allowed for full
transparency and ongoing collaboration in refining and optimizing the
ongoing strategy.
</p>
<h5>Referral Program:</h5>
<p>
We provided Hytale Hosting with an additional way to recoup their
investment in our SEO and Web Dev/Design services by offering a monetary
award for referring other businesses to RankRunners. As a result, many
new clients have since also decided to work with RankRunners, resulting
in further growth of our agency through word-of-mouth referrals.
</p>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
<Callback1 />
<div>
<section className="project__details-area-one">
<div className="container">
<div className="project__details-wrap">
<div className="row">
<div className="col-12">
<div className="project__details-content">
<div className="project__details-inner">
<div className="row align-items-center">
<div className="col-lg-6 order-lg-1">
<div className="project__details-inner-img">
<img
src="/assets/img/case-study/hytale-hosting-1.png"
alt=""
/>
</div>
</div>
<div className="col-lg-6">
<div className="project__details-inner-content">
<h2>The Results We Provided</h2>
<p>
The collaborative efforts between Hytale Hosting and
RankRunners produced outstanding results, including the
creation of a more user-friendly and SEO-adherent
website, infinitely higher search visibility, increased
domain authority and brand recognition, and an
exponential increase in average monthly revenue.
</p>
<div className="content-inner">
<h4>Before</h4>
<div className="row">
<div className="col-md-6">
<div className="case-study-cta-ba">
<img
src="/assets/img/case-study/hytale-hosting-before.png"
alt=""
/>
</div>
</div>
<div className="col-md-6 about__list-box">
<ul className="list-wrap">
<li>
<i className="flaticon-arrow-button" />
Outdated Website
</li>
<li>
<i className="flaticon-arrow-button" />
#32 Avg. Search Position
</li>
<li>
<i className="flaticon-arrow-button" />
Low Domain Authority
</li>
<li>
<i className="flaticon-arrow-button" />
Suboptimal Revenue
</li>
</ul>
</div>
</div>
</div>
<div className="content-inner">
<h4>After</h4>
<div className="row">
<div className="col-md-6">
<div className="case-study-cta-ba">
<video
src="/assets/img/case-study/hytale-server-hosting.webm"
autoPlay
muted
loop
alt=""
/>
</div>
</div>
<div className="col-md-6 about__list-box">
<ul className="list-wrap">
<li>
<i className="flaticon-arrow-button" />
Refined Website
</li>
<li>
<i className="flaticon-arrow-button" />
#1 Avg. Search Position
</li>
<li>
<i className="flaticon-arrow-button" />
+270% Domain Authority
</li>
<li>
<i className="flaticon-arrow-button" />
+350% Annual Revenue
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div className="col-lg-12 order-last">
<p>
The success story of Hytale Hosting in the Gameserver
hosting industry demonstrates RankRunners commitment to
consistently delivering tangible results. By executing a
flawless SEO strategy, providing transparent communication
throughout each bi-weekly meeting, and implementing a
complete design overhaul, RankRunners had a significant
impact upon Hytale Hostings future revenue growth and
business expansion.
</p>
<p>
This case study highlights our ability to deliver measurable
results, foster client satisfaction, and utilize referral
programs for mutual benefit between agency and client. The
collaborative efforts made by RankRunners and HytaleHosting
demonstrates the effectiveness of a comprehensive approach
to SEO and website design in not only achieving, but
surpassing business goals.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</Layout>
</>
);
}

View File

@ -0,0 +1,182 @@
import Layout from "@/components/layout/Layout";
import Callback1 from "@/components/sections/Callback1";
import CaseStudyDetail from "@/components/custom/CaseStudyDetail";
export const metadata = {
title: "Case Study | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ProjectDetails() {
let slug = "jenni-bg-plumbing";
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Case Study: Jenni BG Plumbing">
<div>
<section className="project__details-area">
<div className="container">
<div className="project__details-wrap">
<CaseStudyDetail slug={slug} />
<div className="row">
<div className="col-12">
<div className="project__details-content">
<h2>The Challenge We Faced</h2>
<p>
Jenni BG Plumbing faced a critical challenge: they had no online
presence and lacked a website, severely limiting their ability to
attract and convert customers. In a competitive market where many
competitors already had established online profiles, Jenni BG Plumbing
needed a strategic overhaul. Our goal was to establish a strong online
presence, optimize their local search visibility, and generate
high-quality leads for their premium services.
</p>
<h2>The Strategy We Applied</h2>
<h5>Website Creation and Optimization:</h5>
<p>
RankRunners initiated the creation of a new, fully functional website
for Jenni BG Plumbing from scratch. We designed a visually appealing,
mobile-responsive site that showcased their services and expertise
effectively. The website was optimized for speed and usability, ensuring
an excellent user experience and improved search engine rankings.
</p>
<h5>Google Business Profile Mastery:</h5>
<p>
We set up and optimized Jenni BG Plumbing's Google Business Profile to
enhance their local search visibility. This included providing accurate
business information, crafting compelling business descriptions, and
managing customer reviews. We ensured the profile was regularly updated
with new posts and promotions to engage local customers and boost local
search rankings.
</p>
<h5>Precision Targeted Advertising:</h5>
<p>
RankRunners launched a targeted paid advertising campaign focusing on
high-value services such as main water line and sewer line replacements.
Instead of a broad approach, we emphasized the premium nature of these
services to attract high-value clients. This strategy aimed to filter
out lower-quality leads and concentrate efforts on acquiring customers
willing to invest in premium services.
</p>
<h5>Relentless Performance Monitoring:</h5>
<p>
We continuously monitored the performance of the website and advertising
campaigns to ensure effectiveness. Detailed reports were provided to
Jenni BG Plumbing, highlighting key metrics such as website traffic,
lead quality, and ad campaign performance. This approach allowed us to
make data-driven adjustments and optimize strategies over time.
</p>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
<Callback1 />
<div>
<section className="project__details-area-one">
<div className="container">
<div className="project__details-wrap">
<div className="row">
<div className="col-12">
<div className="project__details-content">
<div className="project__details-inner">
<div className="row align-items-center">
<div className="col-lg-12">
<h2>The Results We Provided</h2>
<p>
The partnership between RankRunners and Jenni BG Plumbing
delivered impressive results:
</p>
<h5>Website Launch Success:</h5>
<p>
Jenni BG Plumbing now has a professional, fully functional
website that effectively represents their brand and
services.
</p>
<h5>Enhanced Local Visibility:</h5>
<p>
The optimized Google Business Profile resulted in improved
local search rankings and increased visibility among
potential customers in their service area.
</p>
<h5>High-Quality Leads:</h5>
<p>
The targeted advertising campaign successfully attracted
higher-value leads interested in premium services, leading
to a more efficient use of marketing resources and higher
conversion rates.
</p>
<h5>Revenue Boost</h5>
<p>
The focus on high-value services contributed to a
significant increase in revenue, demonstrating the
effectiveness of our targeted approach.
</p>
</div>
<div className="col-lg-6 order-lg-1">
<div className="project__details-inner-img">
<img
src="/assets/img/case-study/jenni-bg-plumbing-1.png"
alt=""
/>
</div>
</div>
<div className="col-lg-6">
<div className="project__details-inner-content">
<div className="content-inner">
<h4>Before</h4>
<div className="row">
<div className="col-md-12">
<div className="case-study-cta-ba">
<h3>Image Coming Soon</h3>
</div>
</div>
</div>
</div>
<div className="content-inner">
<h4>After</h4>
<div className="row">
<div className="col-md-12">
<div className="case-study-cta-ba">
<video
src="/assets/img/case-study/jenni-bg-plumbing.webm"
autoPlay
muted
loop
alt=""
/>
</div>
</div>
</div>
</div>
</div>
</div>
<div className="col-lg-12 order-last">
<p>
This case study highlights RankRunners' ability to deliver
tailored solutions that address specific business
challenges. By establishing a strong online presence,
optimizing local search visibility, and focusing on
high-quality lead generation, we significantly enhanced
Jenni BG Plumbing's market position and revenue growth. The
results reflect our commitment to providing impactful SEO
and digital marketing solutions that drive tangible business
outcomes.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</Layout>
</>
);
}

View File

@ -0,0 +1,205 @@
import Layout from "@/components/layout/Layout";
import Callback1 from "@/components/sections/Callback1";
import CaseStudyDetail from "@/components/custom/CaseStudyDetail";
export const metadata = {
title: "Case Study - Multi Group Automotive | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ProjectDetails() {
let slug = "multi-group-automotive";
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Case Study: Multi Group Automotive">
<div>
<section className="project__details-area">
<div className="container">
<div className="project__details-wrap">
<CaseStudyDetail slug={slug} />
<div className="row">
<div className="col-12">
<div className="project__details-content">
<h2>The Challenge We Faced</h2>
<p>
Multi Group Automotive faced the challenge of differentiating itself in
a highly competitive automotive market with diverse service offerings.
The company struggled with low organic search visibility and a website
that was not user-friendly. RankRunners tasks included a full website
overhaul and the implementation of a robust SEO strategy to enhance
Multi Group Automotive's online presence and drive more organic traffic
to the site.
</p>
<h2>The Strategy We Appliedc</h2>
<h5>Website Overhaul:</h5>
<p>
RankRunners began by completely redesigning Multi Group Automotive's
website. The original website was outdated and lacked a modern user
interface. We transitioned the site to a more responsive and visually
appealing platform, enhancing user experience with streamlined
navigation and faster load times. These changes ensured that the website
was optimized for both desktop and mobile users, improving overall site
performance.
</p>
<h5>Comprehensive SEO Campaign:</h5>
<p>
RankRunners launched an extensive SEO campaign focused on optimizing
Multi Group Automotives presence for key search terms such as auto
repair, car sales, and vehicle maintenance. We implemented on-page
SEO techniques, including keyword optimization, meta tag adjustments,
and high-quality content creation. Off-page SEO efforts, such as
link-building and social media integration, were also employed to boost
the sites domain authority and search engine rankings.
</p>
<h5>Regular Progress Reviews:</h5>
<p>
RankRunners conducted regular monthly progress meetings to keep Multi
Group Automotive informed about the ongoing effectiveness of our SEO
strategies. These meetings included detailed analytical reports
highlighting key performance metrics, areas for improvement, and future
strategies. This transparency fostered a collaborative environment,
enabling continuous optimization and adjustment of our strategies.
</p>
<h5>Referral Program:</h5>
<p>
To further benefit Multi Group Automotive, we introduced a referral
program that rewarded them for referring new clients to RankRunners.
This initiative not only helped Multi Group Automotive to offset their
investment in our services but also contributed to the growth of
RankRunners through word-of-mouth referrals.
</p>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
<Callback1 />
<div>
<section className="project__details-area-one">
<div className="container">
<div className="project__details-wrap">
<div className="row">
<div className="col-12">
<div className="project__details-content">
<div className="project__details-inner">
<div className="row align-items-center">
<div className="col-lg-6 order-lg-1">
<div className="project__details-inner-img">
<img
src="/assets/img/case-study/multi-group-automotive-1.png"
alt=""
/>
</div>
</div>
<div className="col-lg-6">
<div className="project__details-inner-content">
<h2>The Results We Provided</h2>
<p>
The partnership between Multi Group Automotive and
RankRunners resulted in significant improvements in
website performance and online visibility. Our
collaborative efforts led to the creation of a
user-friendly, SEO-optimized website that achieved
higher search engine rankings, increased domain
authority, and boosted monthly revenue.
</p>
<div className="content-inner">
<h4>Before</h4>
<div className="row">
<div className="col-md-6">
<div className="case-study-cta-ba">
<h3>Image Coming Soon</h3>
</div>
</div>
<div className="col-md-6 about__list-box">
<ul className="list-wrap">
<li>
<i className="flaticon-arrow-button" />
Outdated Website
</li>
<li>
<i className="flaticon-arrow-button" />
#45 Avg. Search Position
</li>
<li>
<i className="flaticon-arrow-button" />
Low Domain Authority
</li>
<li>
<i className="flaticon-arrow-button" />
Suboptimal Revenue
</li>
</ul>
</div>
</div>
</div>
<div className="content-inner">
<h4>After</h4>
<div className="row">
<div className="col-md-6">
<div className="case-study-cta-ba">
<video
src="/assets/img/case-study/multi-group-automotive.webm"
autoPlay
muted
loop
alt=""
/>
</div>
</div>
<div className="col-md-6 about__list-box">
<ul className="list-wrap">
<li>
<i className="flaticon-arrow-button" />
Modernized Website
</li>
<li>
<i className="flaticon-arrow-button" />
#3 Avg. Search Position
</li>
<li>
<i className="flaticon-arrow-button" />
+300% Domain Authority
</li>
<li>
<i className="flaticon-arrow-button" />
+400% Annual Revenue
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div className="col-lg-12 order-last">
<p>
The success story of Multi Group Automotive showcases
RankRunners' dedication to delivering substantial results.
By executing an effective SEO strategy, maintaining
transparent communication, and overhauling the website
design, RankRunners significantly impacted Multi Group
Automotives revenue growth and market presence. This case
study exemplifies our ability to achieve and surpass
business goals, ensuring client satisfaction and fostering
long-term growth through innovative digital marketing
strategies.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</Layout>
</>
);
}

47
app/portfolio/page.js Normal file
View File

@ -0,0 +1,47 @@
import Layout from "@/components/layout/Layout";
import Allservices1 from "@/components/sections/Allservices1";
import PortfolioSelector from "@/components/custom/PortfolioSelector";
export const metadata = {
title: "Portfolio | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function Services() {
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Client Portfolio">
<section
className="services__area-five services__bg-five"
data-background="/assets/img/bg/inner_services_bg02.jpg"
>
<div className="container">
{/* <div className="row justify-content-center">
<div className="col-xl-6 col-lg-8">
<div className="section-title text-center mb-40">
<span className="sub-title">WHAT WE OFFER</span>
<h2 className="title">We Offer An Effective Wide Area Business solutions</h2>
</div>
</div>
</div> */}
<div className="services-item-wrap">
<div className="row justify-content-center">
<div className="col-xl-7 col-lg-8">
<div className="section-title text-center mb-50 tg-heading-subheading animation-style3">
<span className="sub-title">
COMPANIES <span className="title-color">WE'VE WORKED WITH</span>
</span>
<h2 className="title tg-element-title">Some of Our Most Recent Client Test</h2>
</div>
</div>
</div>
<PortfolioSelector />
</div>
</div>
</section>
<Allservices1 />
</Layout>
</>
);
}

View File

@ -0,0 +1,211 @@
import Layout from "@/components/layout/Layout";
import Callback1 from "@/components/sections/Callback1";
import CaseStudyDetail from "@/components/custom/CaseStudyDetail";
export const metadata = {
title: "Case Study - Social Celebrity | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ProjectDetails() {
let slug = "social-celebrity";
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Case Study: Social Celebrity">
<div>
<section className="project__details-area">
<div className="container">
<div className="project__details-wrap">
<CaseStudyDetail slug={slug} />
<div className="row">
<div className="col-12">
<div className="project__details-content">
<h2>What Social-Celebrity required to succeed</h2>
<p>
Social Celebrity is a very unique company in an especially competitive
market. So to make Social-Celebrity a chart-topper it required a unique
and tailor-made approach. Rankrunners had a big influence on the current
design of the website. Rankrunners turned a passive website into a
well-oiled machine. Rankrunners involvement also revitalized the morale
of the company and was instrumental in reviving Social Celebrity back
into life! SEO improvement was needed and Rankrunners played a
consistent and very important role in achieving that. Social Celebrity
went from zero to hero thanks to the services given.
</p>
<h2>The changes that Rankrunners deemed necessary</h2>
<h5>Website Overhaul and boosting of Team Morale:</h5>
<p>
Rankrunners with the major changes they applied to Social Celebritys
website were imperative to starting anew with Social Celebrity.
Completely revamping the website was among the many things that
Rankrunners Assisted with. They optimized the way Google sees Social
Celebrity dramatically which is a key factor of SEO improvement, these
behind-the-scenes coding changes were so dramatic that our team
completely regained morale and started working around the clock. These
changes made us skyrocket in Google search results to the point where
every day we saw a tangible difference in traffic!
</p>
<h5>Industry Proven SEO Campaign:</h5>
<p>
As soon as RankRunners they initiated a comprehensive SEO campaign to
boost Social Celebritys organic search statistics. The focus was on
positioning Social Celebrity in such a way as to dramatically improve
key term search results, for example: Gain Social media followers fast
or How do I get social media Followers allowing a once successful
company to flourish in the newer internet era. This resulted in Social
Celebrity coming out of the blind corner of other big companies in the
same sector and completely prove that Social Celebrity has what it
takes!
</p>
<h5>Weekly Progress Meetings:</h5>
<p>
RankRunners decided that weekly progress updates were required to keep
morale up and get Social Celebrity back onto the map. In these meetings
there were comprehensive but easy-to-understand showings of information
about how Rankrunners was improving Social Celebritys online presence.
This showed everything from detailed reports to summarized progress
reports. But also what was needed to propel the company even further, we
found that this was a great inspiration for our staff.
</p>
<h5>Referral Program:</h5>
<p>
Rankrunners gave Social Celebrity the unique opportunity to recover the
initial investment by proposing that if Social Celebrity referred other
companies to Rankrunners there would be a monetary reward. This shows
Rankrunners commitment to their customers. As a result of this
groundbreaking tactic, Rankrunners has many more success stories in the
works!
</p>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
<Callback1 />
<div>
<section className="project__details-area-one">
<div className="container">
<div className="project__details-wrap">
<div className="row">
<div className="col-12">
<div className="project__details-content">
<div className="project__details-inner">
<div className="row align-items-center">
<div className="col-lg-6 order-lg-1">
<div className="project__details-inner-img">
<img
src="/assets/img/case-study/social-celebrity-1.png"
alt=""
/>
</div>
</div>
<div className="col-lg-6">
<div className="project__details-inner-content">
<h2>The Results We Were Able to Provide</h2>
<p>
The efforts made in collaboration between Social
Celebrity and Rankrunners produced a stellar outcome,
the SEO improvements resulted in a renewed vigor of the
Social Celebrity team to the point where it was
propelled to stardom once again.
</p>
<div className="content-inner">
<h4>Before</h4>
<div className="row">
<div className="col-md-6">
<div className="case-study-cta-ba">
<h3>Image Coming Soon</h3>
</div>
</div>
<div className="col-md-6 about__list-box">
<ul className="list-wrap">
<li>
<i className="flaticon-arrow-button" />
Severely Unoptimized Website
</li>
<li>
<i className="flaticon-arrow-button" />
#15 Avg. Search Position
</li>
<li>
<i className="flaticon-arrow-button" />
Lower than average Domain Authority
</li>
<li>
<i className="flaticon-arrow-button" />
Below required team morale
</li>
</ul>
</div>
</div>
</div>
<div className="content-inner">
<h4>After</h4>
<div className="row">
<div className="col-md-6">
<div className="case-study-cta-ba">
<img
src="/assets/img/case-study/social-celebrity.png"
alt=""
/>
</div>
</div>
<div className="col-md-6 about__list-box">
<ul className="list-wrap">
<li>
<i className="flaticon-arrow-button" />
Completely Redone Website
</li>
<li>
<i className="flaticon-arrow-button" />
#3 Avg. Search Position
</li>
<li>
<i className="flaticon-arrow-button" />
+240% Domain Authority
</li>
<li>
<i className="flaticon-arrow-button" />
+290% Annual Revenue
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div className="col-lg-12 order-last">
<p>
The completely revamped Social Celebrity is what you can
certainly call a success story The complete overhaul of
the website and continuous updates from RankRunners resulted
in a completely renewed sense of achievement and renewed
vigor of the team. By taking down each negative feature of
Social Celebrity Rankrunners managed to deliver tangible
results and saved a company from the brink of existence This
case study highlights that Rankrunners does not only improve
the mechanical side of things but also has a profound
psychological impact on the inner goings of a company. The
results of the combined efforts of Rankrunners and Social
Celebrity show that revamping a website consists of more
than just the mechanical and logical side of things.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</Layout>
</>
);
}

View File

@ -0,0 +1,161 @@
import Layout from "@/components/layout/Layout";
import Callback1 from "@/components/sections/Callback1";
import CaseStudyDetail from "@/components/custom/CaseStudyDetail";
export const metadata = {
title: "Case Study | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ProjectDetails() {
let slug = "taqueria-del-mar";
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Case Study: Taqueria del Mar">
<div>
<section className="project__details-area">
<div className="container">
<div className="project__details-wrap">
<CaseStudyDetail slug={slug} />
<div className="row">
<div className="col-12">
<div className="project__details-content">
<h2>The Challenge We Faced</h2>
<p>
Taqueria Del Mar, a beloved local eatery, faced a complex crisis: they
were struggling to differentiate themselves in a saturated market. Their
location wasnt attracting enough customers, and retaining them was
proving even harder. With a limited budget, they needed a powerful
strategy to capture attention and drive significant business growth.
</p>
<h2>The Strategy We Applied</h2>
<h5>Website Overhaul:</h5>
<p>
We transformed Taqueria Del Mars website into a captivating,
user-friendly platform. We revamped the design for visual appeal,
optimized the layout for speed, and enhanced its search engine
visibility. These changes ensured that their site not only attracted
more visitors but also ranked higher in local search results.
</p>
<h5>Catering Strategy:</h5>
<p>
To cut through the local competition, we shifted Taqueria Del Mars
focus to catering services. This allowed them to tap into higher-value
opportunities and attract new clientele. We crafted compelling marketing
materials that highlighted their catering offerings, setting them apart
from local competitors and driving interest in their premium services.
</p>
<h5>Social Media Enhancement:</h5>
<p>
We revitalized their Instagram presence with dynamic content and
targeted advertising. By creating engaging posts and actively
interacting with the local community, we significantly boosted their
online visibility and drew more traffic to their website. This increased
engagement helped build a loyal customer base and enhanced their
catering appeal.
</p>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
<Callback1 />
<div>
<section className="project__details-area-one">
<div className="container">
<div className="project__details-wrap">
<div className="row">
<div className="col-12">
<div className="project__details-content">
<div className="project__details-inner">
<div className="row align-items-center">
<div className="col-lg-12">
<h2>The Results We Provided</h2>
<h5>Elevated Online Presence:</h5>
<p>
The revamped website and SEO improvements dramatically
increased Taqueria Del Mars visibility in local search
results, making them easier to find online.
</p>
<h5>Successful Catering Initiative:</h5>
<p>
The shift to catering paid impressive dividends. They
experienced a substantial rise in catering orders, which not
only set them apart but also significantly boosted their
revenue.
</p>
<h5>Enhanced Social Media Impact:</h5>
<p>
Their Instagram following surged, and engagement levels
soared. This spike in social media activity drove more
visitors to their website and heightened interest in their
catering services.
</p>
</div>
<div className="col-lg-6 order-lg-1">
<div className="project__details-inner-img">
<img
src="/assets/img/case-study/taqueria-del-mar-1.png"
alt=""
/>
</div>
</div>
<div className="col-lg-6">
<div className="project__details-inner-content">
<div className="content-inner">
<h4>Before</h4>
<div className="row">
<div className="col-md-12">
<div className="case-study-cta-ba">
<img
src="/assets/img/case-study/taqueria-del-mar-before.png"
alt=""
/>
</div>
</div>
</div>
</div>
<div className="content-inner">
<h4>After</h4>
<div className="row">
<div className="col-md-12">
<div className="case-study-cta-ba">
<video
src="/assets/img/case-study/taqueria-del-mar.webm"
autoPlay
muted
loop
alt=""
/>
</div>
</div>
</div>
</div>
</div>
</div>
<div className="col-lg-12 order-last">
<p>
Overall, RankRunners empowered Taqueria Del Mar to conquer
their market challenges by focusing on a targeted catering
strategy and enhancing their online presence. Our approach
delivered transformative results, driving their success and
elevating their business to new heights.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</Layout>
</>
);
}

View File

@ -0,0 +1,174 @@
import Layout from "@/components/layout/Layout";
import Callback1 from "@/components/sections/Callback1";
import CaseStudyDetail from "@/components/custom/CaseStudyDetail";
export const metadata = {
title: "Case Study | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ProjectDetails() {
let slug = "the-gurvey-law-group";
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Case Study: The Gurvey Law Group">
<div>
<section className="project__details-area">
<div className="container">
<div className="project__details-wrap">
<CaseStudyDetail slug={slug} />
<div className="row">
<div className="col-12">
<div className="project__details-content">
<h2>The Challenge We Faced</h2>
<p>
The Gurvey Law Group, a leading name in legal services, grappled with a
dated website that undermined their competitive edge. The existing site
not only failed to captivate potential clients but also suffered from
poor search engine visibility, resulting in minimal lead generation.
RankRunners was entrusted with the monumental task of overhauling their
website and transforming it into a powerful client acquisition tool.
</p>
<h2>The Strategy We Applied</h2>
<h5>Dynamic Website Redesign:</h5>
<p>
RankRunners spearheaded a dramatic redesign of the Gurvey Law Groups
website. We transitioned them from an outdated, underperforming site to
a cutting-edge, user-centric platform. The new design emphasized clarity
and professionalism, featuring intuitive navigation and compelling
visuals to highlight their legal expertise.
</p>
<h5>Powerful Content Optimization:</h5>
<p>
We overhauled the websites content, enriching it with high-impact,
keyword-optimized text that spoke directly to their target audience.
This included detailed service descriptions, attorney profiles, and
client testimonials, all crafted to engage visitors and boost search
engine rankings.
</p>
<h5>Strategic SEO Implementation:</h5>
<p>
Our SEO strategy was aggressive and targeted. We performed extensive
keyword optimization, revamped meta tags, and improved site speed and
mobile functionality. Local SEO was a key focus, ensuring the Gurvey Law
Group ranked prominently in local search results and attracted
high-value clients in their geographic area.
</p>
<h5>Effective Marketing Integration:</h5>
<p>
RankRunners integrated advanced marketing tactics, including
strategically placed lead capture forms and compelling calls-to-action.
This approach not only drew more visitors but also converted them into
qualified leads, resulting in a surge of client inquiries and contracts.
</p>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
<Callback1 />
<div>
<section className="project__details-area-one">
<div className="container">
<div className="project__details-wrap">
<div className="row">
<div className="col-12">
<div className="project__details-content">
<div className="project__details-inner">
<div className="row align-items-center">
<div className="col-lg-12">
<h2>The Results We Provided</h2>
<p>
The partnership between the Gurvey Law Group and RankRunners
delivered outstanding results. The revamped website not only
enhanced user experience but also drove impressive gains in
key metrics:
</p>
<h5>Surge in Web Traffic:</h5>
<p>
The new site experienced a dramatic increase in organic
traffic, thanks to improved search rankings and compelling
content.
</p>
<h5>Boosted Conversion Rates:</h5>
<p>
Enhanced design and strategic content placement led to a
significant rise in client inquiries and contract signings.
</p>
<h5>Elevated Online Visibility:</h5>
<p>
The aggressive SEO tactics positioned the Gurvey Law Group
at the forefront of search results, elevating their online
presence and reputation.
</p>
</div>
<div className="col-lg-6 order-lg-1">
<div className="project__details-inner-img">
<img
src="/assets/img/case-study/the-gurvey-law-group-1.png"
alt=""
/>
</div>
</div>
<div className="col-lg-6">
<div className="project__details-inner-content">
<div className="content-inner">
<h4>Before</h4>
<div className="row">
<div className="col-md-12">
<div className="case-study-cta-ba">
<img
src="/assets/img/case-study/the-gurvey-law-group-before.png"
alt=""
/>
</div>
</div>
</div>
</div>
<div className="content-inner">
<h4>After</h4>
<div className="row">
<div className="col-md-12">
<div className="case-study-cta-ba">
<video
src="/assets/img/case-study/the-gurvey-law-group.webm"
autoPlay
muted
loop
alt=""
/>
</div>
</div>
</div>
</div>
</div>
</div>
<div className="col-lg-12 order-last">
<p>
This success story illustrates RankRunners ability to
deliver transformative results through innovative design and
strategic SEO. By executing a bold, comprehensive approach,
RankRunners not only revitalized the Gurvey Law Groups
online presence but also drove substantial business growth.
This case study underscores our commitment to achieving
extraordinary outcomes and setting new standards in digital
marketing and web design.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</Layout>
</>
);
}

View File

@ -0,0 +1,245 @@
import Layout from "@/components/layout/Layout";
import Callback1 from "@/components/sections/Callback1";
import CaseStudyDetail from "@/components/custom/CaseStudyDetail";
export const metadata = {
title: "Case Study | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ProjectDetails() {
let slug = "the-spark-coffee";
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Case Study: The Spark Coffee">
<div>
<section className="project__details-area">
<div className="container">
<div className="project__details-wrap">
<CaseStudyDetail slug={slug} />
<div className="row">
<div className="col-12">
<div className="project__details-content">
<h2>The Challenge We Faced</h2>
<p>
The Spark, a local café with a strong community presence, was grappling
with several digital challenges. Despite their excellent reputation and
loyal customer base, their website was underperforming in search engine
rankings, leading to limited online visibility and reduced foot traffic.
The site suffered from outdated design, slow load times, and ineffective
SEO practices. RankRunners was tasked with revitalizing The Spark's
online presence to better reflect their brand, attract more customers,
and enhance their search engine rankings.
</p>
<h2>The Strategy We Applied</h2>
<h5>Website Revamp:</h5>
<p>
RankRunners initiated a comprehensive overhaul of The Spark's website.
We migrated the site from its outdated platform to a modern, responsive
framework, significantly improving load times and overall user
experience. The new design featured a clean, visually appealing layout
that better showcased the café's unique ambiance and offerings. We also
ensured that the site was mobile-friendly to cater to on-the-go users
searching for local coffee spots.
</p>
<h5>Targeted SEO Campaign:</h5>
<p>
Our SEO strategy focused on enhancing The Sparks online visibility
through targeted keyword optimization and content strategies. We
identified high-value local search terms such as best coffee near me
and top coffee shops in [City] and optimized the sites content
accordingly. This included updating meta tags, improving on-page SEO
elements, and creating engaging, keyword-rich content that resonated
with local customers.
</p>
<h5>Local SEO Optimization:</h5>
<p>
Given the nature of the business, local SEO was crucial. We optimized
The Sparks Google My Business profile, ensuring accurate and up-to-date
information. This included adding compelling photos, updating business
hours, and encouraging satisfied customers to leave positive reviews.
This local focus aimed to increase the café's visibility in local search
results and Google Maps.
</p>
<h5>Regular Progress Updates:</h5>
<p>
RankRunners provided The Spark with bi-weekly progress reports. These
meetings included detailed analytics on website performance, keyword
rankings, and traffic sources. We used these insights to refine our
strategy continuously and ensure that The Spark remained on track to
meet its digital marketing goals.
</p>
<h5>Social Media Integration:</h5>
<p>
To complement the website revamp and SEO efforts, we integrated social
media into the strategy. We designed engaging social media campaigns
that promoted The Sparks offerings, events, and customer stories. This
helped drive traffic to the website and further enhanced the cafés
brand presence online.
</p>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
<Callback1 />
<div>
<section className="project__details-area-one">
<div className="container">
<div className="project__details-wrap">
<div className="row">
<div className="col-12">
<div className="project__details-content">
<div className="project__details-inner">
<div className="row align-items-center">
<div className="col-lg-12">
<h2>Key Achievements</h2>
<h5>Revamped Website:</h5>
<p>
The new site featured an updated design, improved load
times, and enhanced functionality, providing a better user
experience and aligning more closely with The Sparks brand.
</p>
<h5>Improved Search Rankings:</h5>
<p>
The Sparks website climbed from a #30 average search
position to the top 5 positions for key local search terms.
</p>
<h5>Enhanced Local Visibility:</h5>
<p>
The optimized Google My Business profile led to a 50%
increase in local search visibility and a 40% increase in
foot traffic from local customers.
</p>
<h5>Increased Engagement:</h5>
<p>
Social media integration and engaging content contributed to
a 60% increase in website traffic and a noticeable rise in
customer interactions and reviews.
</p>
</div>
<div className="col-lg-6 order-lg-1">
<div className="project__details-inner-img">
<img
src="/assets/img/case-study/the-spark-coffee-1.png"
alt=""
/>
</div>
</div>
<div className="col-lg-6">
<div className="project__details-inner-content">
<h2>The Results We Provided</h2>
<p>
The collaboration between The Spark and RankRunners
yielded impressive results. The revamped website,
combined with an effective SEO and local optimization
strategy, led to a substantial increase in online
visibility and customer engagement.
</p>
<div className="content-inner">
<h4>Before</h4>
<div className="row">
<div className="col-md-6">
<div className="case-study-cta-ba">
<h3>Image Coming Soon</h3>
</div>
</div>
<div className="col-md-6 about__list-box">
<ul className="list-wrap">
<li>
<i className="flaticon-arrow-button" />
Outdated Website
</li>
<li>
<i className="flaticon-arrow-button" />
#30 Avg. Search Position
</li>
<li>
<i className="flaticon-arrow-button" />
Low Local Visibility
</li>
<li>
<i className="flaticon-arrow-button" />
Minimal Social Media Engagement
</li>
</ul>
</div>
</div>
</div>
<div className="content-inner">
<h4>After</h4>
<div className="row">
<div className="col-md-6">
<div className="case-study-cta-ba">
<video
src="/assets/img/case-study/the-spark-coffee.webm"
autoPlay
muted
loop
alt=""
/>
</div>
</div>
<div className="col-md-6 about__list-box">
<ul className="list-wrap">
<li>
<i className="flaticon-arrow-button" />
Modernized Website
</li>
<li>
<i className="flaticon-arrow-button" />
Top 5 Avg. Search Position
</li>
<li>
<i className="flaticon-arrow-button" />
+50% Local Visibility
</li>
<li>
<i className="flaticon-arrow-button" />
+60% Website Traffic
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div className="col-lg-12 order-last">
<p>
The Sparks revitalized online presence not only reflected
their brands unique charm but also significantly boosted
their search engine performance and local engagement. The
combined efforts of RankRunners in website design, SEO, and
local optimization resulted in a more vibrant and successful
digital footprint for The Spark, ultimately driving more
customers through their doors.
</p>
<p>
This case study demonstrates RankRunners commitment to
delivering tailored solutions that address specific client
challenges and achieve measurable improvements. The Sparks
success story highlights our ability to transform digital
strategies into tangible business growth, fostering a
thriving online presence that complements their exceptional
in-person service.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</Layout>
</>
);
}

View File

@ -0,0 +1,206 @@
import Layout from "@/components/layout/Layout";
import Callback1 from "@/components/sections/Callback1";
import CaseStudyDetail from "@/components/custom/CaseStudyDetail";
export const metadata = {
title: "Case Study - Discord Center | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ProjectDetails() {
let slug = "discord-center";
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Case Study: Discord Center">
<div>
<section className="project__details-area">
<div className="container">
<div className="project__details-wrap">
<CaseStudyDetail slug={slug} />
<div className="row">
<div className="col-12">
<div className="project__details-content">
<h2>The Challenge We Faced</h2>
<p>
Discord Center struggled with a fragmented user experience and low
visibility in search results, limiting its growth potential. Our agency
tackled this by revamping the websites structure for better navigation
and implementing a targeted SEO strategy. This approach significantly
enhanced their search engine ranking and user engagement, driving
increased traffic and improving overall site performance.
</p>
<h2>The Strategy We Applied</h2>
<h5>Website Revamp and Optimization:</h5>
<p>
We began by overhauling Discord Centers existing website to address its
fragmented user experience and performance issues. The website was
migrated from its outdated framework to a modern, scalable architecture
using Next.js. This transition enhanced server-side rendering,
streamlined routing, and significantly improved site speed and
responsiveness. Our team also redesigned the sites layout to create a
more intuitive and engaging user experience, ensuring that users could
easily find and interact with Discord servers.
</p>
<h5>Targeted SEO Strategy:</h5>
<p>
To boost Discord Centers visibility, we implemented a targeted SEO
strategy focusing on high-value keywords and optimizing on-page content.
This included refining meta tags, improving content relevance, and
ensuring that each page was optimized for search engine algorithms. We
also built high-quality backlinks and improved the sites overall
authority to enhance its ranking in search results, driving more organic
traffic to the site.
</p>
<h5>Continuous Performance Monitoring and Reporting:</h5>
<p>
We established a routine of bi-weekly performance reviews to track
progress and adjust strategies as needed. During these meetings, we
provided detailed reports on key metrics such as traffic growth, keyword
rankings, and user engagement. This approach ensured transparency and
allowed us to make data-driven decisions to continuously optimize and
refine our strategy for maximum impact.
</p>
<h5>Community Engagement and Feedback Integration:</h5>
<p>
To further align the site with user needs, we integrated feedback
mechanisms and engaged with the Discord community to gather insights.
This input was used to make iterative improvements, enhancing user
satisfaction and retention. By aligning the websites features with
community expectations, we fostered a more engaged and loyal user base.
</p>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
<Callback1 />
<div>
<section className="project__details-area-one">
<div className="container">
<div className="project__details-wrap">
<div className="row">
<div className="col-12">
<div className="project__details-content">
<div className="project__details-inner">
<div className="row align-items-center">
<div className="col-lg-6 order-lg-1">
<div className="project__details-inner-img">
<img
src="/assets/img/case-study/discord-center-1.png"
alt=""
/>
</div>
</div>
<div className="col-lg-6">
<div className="project__details-inner-content">
<h2>The Results We Provided</h2>
<p>
The revitalization of Discord Center through our
targeted strategies led to remarkable improvements in
both performance and user engagement. The website
overhaul and SEO enhancements resulted in a substantial
increase in visibility and user interaction,
transforming Discord Center into a leading platform for
Discord server listings.
</p>
<div className="content-inner">
<h4>Before</h4>
<div className="row">
<div className="col-md-6">
<div className="case-study-cta-ba">
<h3>Image Coming Soon</h3>
</div>
</div>
<div className="col-md-6 about__list-box">
<ul className="list-wrap">
<li>
<i className="flaticon-arrow-button" />
Outdated and fragmented website
experience
</li>
<li>
<i className="flaticon-arrow-button" />
#45 Avg. Search Position
</li>
<li>
<i className="flaticon-arrow-button" />
Low Domain Authority
</li>
<li>
<i className="flaticon-arrow-button" />
Limited user engagement and traffic
</li>
</ul>
</div>
</div>
</div>
<div className="content-inner">
<h4>After</h4>
<div className="row">
<div className="col-md-6">
<div className="case-study-cta-ba">
<video
src="/assets/img/case-study/discord-center.webm"
autoPlay
muted
loop
alt=""
/>
</div>
</div>
<div className="col-md-6 about__list-box">
<ul className="list-wrap">
<li>
<i className="flaticon-arrow-button" />
Streamlined and modernized website
</li>
<li>
<i className="flaticon-arrow-button" />
#8 Avg. Search Position
</li>
<li>
<i className="flaticon-arrow-button" />
+320% Domain Authority
</li>
<li>
<i className="flaticon-arrow-button" />
+400% Growth in Monthly Traffic and User
Engagement
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div className="col-lg-12 order-last">
<p>
The comprehensive website revamp and strategic SEO
improvements not only elevated Discord Centers search
engine rankings but also significantly enhanced user
experience and site performance. These changes have
positioned Discord Center as a top player in its niche,
resulting in a notable surge in traffic and engagement. This
case study illustrates our commitment to delivering
measurable outcomes and underscores the effectiveness of our
integrated approach to web development and SEO.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</Layout>
</>
);
}

View File

@ -0,0 +1,215 @@
import Layout from "@/components/layout/Layout";
import Callback1 from "@/components/sections/Callback1";
import CaseStudyDetail from "@/components/custom/CaseStudyDetail";
export const metadata = {
title: "Case Study - Hytale Server Hosting | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ProjectDetails() {
let slug = "hytale-server-hosting";
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Case Study: Hytale Server Hosting">
<div>
<section className="project__details-area">
<div className="container">
<div className="project__details-wrap">
<CaseStudyDetail slug={slug} />
<div className="row">
<div className="col-12">
<div className="project__details-content">
<h2>The Challenge We Faced</h2>
<p>
Hytale Hosting faced the challenge of penetrating a highly competitive
and saturated market with a relatively smaller budget, and less brand
familiarity. RankRunners tasks involved carrying out a complete website
overhaul and implementing a comprehensive SEO strategy with the ultimate
goal of bringing Hytale Hosting to the top of the organic search results
for relevant search terms.
</p>
<h2>The Strategy We Applied</h2>
<h5>Website Overhaul:</h5>
<p>
RankRunners started at ground zero by completely revamping the original
Hytale Hosting website. This was done by migrating the originally slow
and buggy PHP-based website to a Next.js React-based framework which
allowed for better server-side rendering, simplified routing, and better
overall site performance. These infrastructural changes combined with
many other SEO-focused content adjustments allowed Hytale Hosting to
both appear and function as a worthy competitor against the seemingly
insurmountable competition that the company was initially up against.
</p>
<h5>Visibility-Boosting SEO Campaign:</h5>
<p>
RankRunners initiated a comprehensive SEO campaign to boost Hytale
Hostings organic search visibility. The focus was on strategically
positioning Hytale Hosting in search engine results for key terms such
as hytale server hosting and hytale hosting, allowing a company with
a fraction of the budget of more-established, multi-purpose game server
hosts to dominate relevant organic search terms and have a viable path
to dominate their industry for years to come.
</p>
<h5>Bi-Weekly Progress Meetings:</h5>
<p>
RankRunners hosted routine bi-weekly progress meetings to keep Hytale
Hosting informed about the effectiveness of their digital marketing
efforts. Throughout these meetings, detailed analytical reports were
presented which showcased the progress being made, areas of improvement,
and recommended strategies for future growth. This allowed for full
transparency and ongoing collaboration in refining and optimizing the
ongoing strategy.
</p>
<h5>Referral Program:</h5>
<p>
We provided Hytale Hosting with an additional way to recoup their
investment in our SEO and Web Dev/Design services by offering a monetary
award for referring other businesses to RankRunners. As a result, many
new clients have since also decided to work with RankRunners, resulting
in further growth of our agency through word-of-mouth referrals.
</p>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
<Callback1 />
<div>
<section className="project__details-area-one">
<div className="container">
<div className="project__details-wrap">
<div className="row">
<div className="col-12">
<div className="project__details-content">
<div className="project__details-inner">
<div className="row align-items-center">
<div className="col-lg-6 order-lg-1">
<div className="project__details-inner-img">
<img
src="/assets/img/case-study/hytale-hosting-1.png"
alt=""
/>
</div>
</div>
<div className="col-lg-6">
<div className="project__details-inner-content">
<h2>The Results We Provided</h2>
<p>
The collaborative efforts between Hytale Hosting and
RankRunners produced outstanding results, including the
creation of a more user-friendly and SEO-adherent
website, infinitely higher search visibility, increased
domain authority and brand recognition, and an
exponential increase in average monthly revenue.
</p>
<div className="content-inner">
<h4>Before</h4>
<div className="row">
<div className="col-md-6">
<div className="case-study-cta-ba">
<img
src="/assets/img/case-study/hytale-hosting-before.png"
alt=""
/>
</div>
</div>
<div className="col-md-6 about__list-box">
<ul className="list-wrap">
<li>
<i className="flaticon-arrow-button" />
Outdated Website
</li>
<li>
<i className="flaticon-arrow-button" />
#32 Avg. Search Position
</li>
<li>
<i className="flaticon-arrow-button" />
Low Domain Authority
</li>
<li>
<i className="flaticon-arrow-button" />
Suboptimal Revenue
</li>
</ul>
</div>
</div>
</div>
<div className="content-inner">
<h4>After</h4>
<div className="row">
<div className="col-md-6">
<div className="case-study-cta-ba">
<video
src="/assets/img/case-study/hytale-server-hosting.webm"
autoPlay
muted
loop
alt=""
/>
</div>
</div>
<div className="col-md-6 about__list-box">
<ul className="list-wrap">
<li>
<i className="flaticon-arrow-button" />
Refined Website
</li>
<li>
<i className="flaticon-arrow-button" />
#1 Avg. Search Position
</li>
<li>
<i className="flaticon-arrow-button" />
+270% Domain Authority
</li>
<li>
<i className="flaticon-arrow-button" />
+350% Annual Revenue
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div className="col-lg-12 order-last">
<p>
The success story of Hytale Hosting in the Gameserver
hosting industry demonstrates RankRunners commitment to
consistently delivering tangible results. By executing a
flawless SEO strategy, providing transparent communication
throughout each bi-weekly meeting, and implementing a
complete design overhaul, RankRunners had a significant
impact upon Hytale Hostings future revenue growth and
business expansion.
</p>
<p>
This case study highlights our ability to deliver measurable
results, foster client satisfaction, and utilize referral
programs for mutual benefit between agency and client. The
collaborative efforts made by RankRunners and HytaleHosting
demonstrates the effectiveness of a comprehensive approach
to SEO and website design in not only achieving, but
surpassing business goals.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</Layout>
</>
);
}

View File

@ -0,0 +1,102 @@
import Layout from "@/components/layout/Layout";
import Allservices1 from "@/components/sections/Allservices1";
import Link from "next/link";
export const metadata = {
title: "Portfolio | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function Services() {
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Video Games Portfolio">
<section
className="services__area-five services__bg-five"
data-background="/assets/img/bg/inner_services_bg02.jpg"
>
<div className="container">
{/* <div className="row justify-content-center">
<div className="col-xl-6 col-lg-8">
<div className="section-title text-center mb-40">
<span className="sub-title">WHAT WE OFFER</span>
<h2 className="title">We Offer An Effective Wide Area Business solutions</h2>
</div>
</div>
</div> */}
<div className="services-item-wrap">
<div className="row justify-content-center">
<div className="col-xl-7 col-lg-8">
<div className="section-title text-center mb-50 tg-heading-subheading animation-style3">
<span className="sub-title">
COMPANIES <span className="title-color">WE'VE WORKED WITH</span>
</span>
<h2 className="title tg-element-title">
Some of Our Most Recent Video Games Clients
</h2>
</div>
</div>
</div>
<div className="row justify-content-start">
<div className="col-xl-3 col-lg-4 col-md-6 col-sm-8">
<div className="services-item shine-animate-item">
<div className="services-thumb">
<Link
href="/portfolio/video-games/discord-center"
className="shine-animate"
>
<img src="/assets/img/custom/project-3.png" alt="" />
</Link>
</div>
<div className="services-content">
<h4 className="title">
<Link href="/portfolio/video-games/discord-center">Discord Center</Link>
</h4>
<p>
Server Listing Website utilized by millions of users of the popular
communicaton platform - "Discord" which specializes in growing Discord
servers.
</p>
<Link href="/portfolio/video-games/discord-center" className="btn">
View Case Study
</Link>
</div>
</div>
</div>
<div className="col-xl-3 col-lg-4 col-md-6 col-sm-8">
<div className="services-item shine-animate-item">
<div className="services-thumb">
<Link
href="/portfolio/video-games/hytale-server-hosting"
className="shine-animate"
>
<img src="/assets/img/custom/project-5.png" alt="" />
</Link>
</div>
<div className="services-content">
<h4 className="title">
<Link href="/portfolio/video-games/hytale-server-hosting">
Hytale Server Hosting
</Link>
</h4>
<p>
Server Hosting company for the upcoming, highly anticipated videogame -
Hytale, being developed by Tencent, the parent-company for TikTok & Riot
Games.
</p>
<Link href="/portfolio/video-games/hytale-server-hosting" className="btn">
View Case Study
</Link>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<Allservices1 />
</Layout>
</>
);
}

View File

@ -0,0 +1,218 @@
import Layout from "@/components/layout/Layout";
import Callback1 from "@/components/sections/Callback1";
import CaseStudyDetail from "@/components/custom/CaseStudyDetail";
export const metadata = {
title: "Case Study | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ProjectDetails() {
let slug = "water-main-line-replacement";
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Case Study: Water Main Line Replacement LLC">
<div>
<section className="project__details-area">
<div className="container">
<div className="project__details-wrap">
<CaseStudyDetail slug={slug} />
<div className="row">
<div className="col-12">
<div className="project__details-content">
<h2>The Challenge We Faced</h2>
<p>
WaterMainLineReplacement.com had a great service but struggled to stand
out online in a crowded local market. Their visibility was low, their
website wasnt optimized, and their local service ads were
underperforming. Additionally, their Google Business Profile (GBP)
wasnt set up to attract or engage local customers effectively. Our
mission at RankRunners was to boost their online presence and improve
their search rankings so they could connect with more local customers
who needed their services.
</p>
<h2>The Strategy We Applied</h2>
<h5>Local Service Ad Campaign:</h5>
<p>
We designed and launched a focused local service ad campaign to enhance
WaterMainLineReplacement.coms presence in local searches. By zeroing in
on specific areas and crafting compelling ad copy, we aimed to attract
more potential customers and increase the effectiveness of their
advertising spend.
</p>
<h5>Google Business Profile (GBP) Setup and Optimization:</h5>
<p>
We took charge of setting up and fine-tuning their Google Business
Profile. This involved making sure all the information was accurate,
adding high-quality photos, encouraging customer reviews, and using GBP
features to boost their visibility and interaction with local searchers.
</p>
<h5>Site Development:</h5>
<p>
We overhauled their website to improve both its design and
functionality. The new site was made more user-friendly and
mobile-responsive, which helped with faster loading times and easier
navigation. This not only enhanced the user experience but also
supported better search engine optimization.
</p>
<h5>Improved Domain Authority and Ranking:</h5>
<p>
Our SEO strategy focused on increasing the sites domain authority and
search engine rankings. We worked on optimizing the sites content with
relevant keywords, improving technical aspects of the site, and building
quality backlinks to boost their visibility and search performance.
</p>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
<Callback1 />
<div>
<section className="project__details-area-one">
<div className="container">
<div className="project__details-wrap">
<div className="row">
<div className="col-12">
<div className="project__details-content">
<div className="project__details-inner">
<div className="row align-items-center">
<div className="col-lg-12">
<h2>The Results We Provided</h2>
<h5>Increased Local Visibility:</h5>
<p>
The local service ads brought a noticeable increase in local
inquiries and leads, helping WaterMainLineReplacement.com
reach more potential customers.
</p>
<h5>Enhanced GBP Performance:</h5>
<p>
With the optimized Google Business Profile, they saw a rise
in clicks, calls, and requests for directions, which
strengthened their local presence and engagement.
</p>
<h5>Website Improvement:</h5>
<p>
The redesigned website led to better user metrics, including
a reduction in bounce rates and longer session durations,
reflecting a more engaging and user-friendly site.
</p>
<h5>Better Search Rankings:</h5>
<p>
Our SEO efforts resulted in improved domain authority and
higher rankings for important search terms, driving more
organic traffic to the site.
</p>
</div>
{/* <div className="col-lg-6 order-lg-1">
<div className="project__details-inner-img">
<img
src="/assets/img/case-study/the-spark-coffee-1.png"
alt=""
/>
</div>
</div> */}
{/* <div className="col-lg-6">
<div className="project__details-inner-content">
<h2>The Results We Provided</h2>
<p>
The collaboration between The Spark and RankRunners
yielded impressive results. The revamped website,
combined with an effective SEO and local optimization
strategy, led to a substantial increase in online
visibility and customer engagement.
</p>
<div className="content-inner">
<h4>Before</h4>
<div className="row">
<div className="col-md-6">
<div className="case-study-cta-ba">
<h3>Image Coming Soon</h3>
</div>
</div>
<div className="col-md-6 about__list-box">
<ul className="list-wrap">
<li>
<i className="flaticon-arrow-button" />
Outdated Website
</li>
<li>
<i className="flaticon-arrow-button" />
#30 Avg. Search Position
</li>
<li>
<i className="flaticon-arrow-button" />
Low Local Visibility
</li>
<li>
<i className="flaticon-arrow-button" />
Minimal Social Media Engagement
</li>
</ul>
</div>
</div>
</div>
<div className="content-inner">
<h4>After</h4>
<div className="row">
<div className="col-md-6">
<div className="case-study-cta-ba">
<video
src="/assets/img/case-study/the-spark-coffee.webm"
autoPlay
muted
loop
alt=""
/>
</div>
</div>
<div className="col-md-6 about__list-box">
<ul className="list-wrap">
<li>
<i className="flaticon-arrow-button" />
Modernized Website
</li>
<li>
<i className="flaticon-arrow-button" />
Top 5 Avg. Search Position
</li>
<li>
<i className="flaticon-arrow-button" />
+50% Local Visibility
</li>
<li>
<i className="flaticon-arrow-button" />
+60% Website Traffic
</li>
</ul>
</div>
</div>
</div>
</div>
</div> */}
<div className="col-lg-12 order-last">
<p>
In short, RankRunners efforts helped
WaterMainLineReplacement.com enhance their online
visibility, attract more local customers, and improve their
overall digital presence.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</div>
</Layout>
</>
);
}

178
app/register/page.js Normal file
View File

@ -0,0 +1,178 @@
"use client";
import Layout from "@/components/layout/Layout";
import Link from "next/link";
import { useState } from "react";
import { useRouter } from "next/navigation";
export default function Register() {
const router = useRouter();
const [error, setError] = useState("");
const [clientError, setClientError] = useState("");
const [loading, setLoading] = useState(false);
const [name, setName] = useState("");
const [email, setEmail] = useState("");
const [clientId, setClientId] = useState("");
const [password, setPassword] = useState("");
const [confirmPassword, setConfirmPassword] = useState("");
const handleRegister = async (e) => {
e.preventDefault();
setError("");
setLoading(true);
if (password !== confirmPassword) {
setError("Passwords do not match");
setLoading(false);
return;
}
// Placeholder for Client ID validation logic
if (clientId === "") {
setError("This Client ID does not exist");
setClientError("This Client ID does not exist");
setLoading(false);
return;
}
// Simulate registration process
try {
// Add your custom user registration logic here
setLoading(false);
router.push("/client-area");
} catch (error) {
setError("Error: " + error.message);
setLoading(false);
}
};
return (
<>
<Layout headerStyle={6} footerStyle={3} transparent={false}>
<section className="register__area-one">
<div className="container">
<div className="text-center mb-55">
<h1 className="text-48-bold">Create An Account</h1>
</div>
<div className="box-form-login">
<div className="head-login">
<h3>Register</h3>
<p className={clientError ? "display-none" : ""}>
Create an account today to manage your subscription easily
</p>
<p className={clientError ? "error-red" : "display-none"}>
{clientError}
</p>
<div className="form-login">
<form onSubmit={handleRegister}>
<div className="form-group">
<input
type="text"
className="form-control account"
placeholder="Your Name"
value={name}
onChange={(e) => setName(e.target.value)}
required
/>
</div>
<div className="form-group">
<input
type="email"
className="form-control email-address"
placeholder="Email Address"
value={email}
onChange={(e) => setEmail(e.target.value)}
required
/>
</div>
<div className="form-group">
<input
type="text"
className="form-control account"
placeholder="Client ID"
value={clientId}
onChange={(e) => setClientId(e.target.value)}
required
/>
</div>
<div className="form-group">
<input
type="password"
className="form-control"
placeholder="Password"
value={password}
onChange={(e) => setPassword(e.target.value)}
minLength={8}
required
/>
<span className="view-password" />
</div>
<div className="form-group">
<input
type="password"
className="form-control"
placeholder="Confirm Password"
value={confirmPassword}
onChange={(e) => setConfirmPassword(e.target.value)}
minLength={8}
required
/>
<span className="view-password" />
</div>
<div className="box-forgot-pass">
<label>
<input
type="checkbox"
className="cb-remember"
defaultValue={1}
required
/>{" "}
<span>
I have read and agree to the Terms &amp; Conditions
and the Privacy Policy of this website.
</span>
</label>
</div>
<div className="form-group">
{!loading ? (
<input
type="submit"
className="btn btn-login"
defaultValue="Register now"
/>
) : (
<div
className="btn btn-login btn-loader"
defaultValue="Register now"
>
<div
className="spinner-border text-light"
role="status"
>
<span className="sr-only">Loading...</span>
</div>
</div>
)}
</div>
</form>
<p>
Already have an account?{" "}
<Link href="/login" className="link-bold">
Login
</Link>{" "}
now. Need our help?{" "}
<Link href="/contact" className="link-bold">
Contact Us
</Link>
.
</p>
</div>
</div>
</div>
</div>
</section>
</Layout>
</>
);
}

392
app/report/page.js Normal file
View File

@ -0,0 +1,392 @@
"use client";
import Layout from "@/components/layout/Layout";
import { Flat } from "@alptugidin/react-circular-progress-bar";
import Link from "next/link";
import CounterUpDirectly from "@/components/elements/CounterUpDirectly";
import About2 from "@/components/sections/About2";
import { useEffect, useState } from "react";
import { useRouter } from "next/navigation";
export default function Report() {
const [reportData, setReportData] = useState(null);
const [reportResult, setReportResult] = useState(null);
const router = useRouter();
useEffect(() => {
const storedData = sessionStorage.getItem("reportData");
const storedResult = sessionStorage.getItem("reportResult");
if (storedData) {
try {
const parsedData = JSON.parse(storedData);
setReportData(parsedData);
} catch (error) {
console.error("Error parsing JSON from sessionStorage", error);
setReportData(null);
}
} else {
setReportData(null);
router.push("/");
}
if (storedResult) {
try {
const parsedResult = JSON.parse(storedResult);
setReportResult(parsedResult);
} catch (error) {
console.error("Error parsing JSON from sessionStorage", error);
setReportResult(null);
}
} else {
setReportResult(null);
router.push("/");
}
}, []);
let domainAuthority = reportResult?.domainAuthority;
let spamScore = reportResult?.spamScore;
let authority = reportResult?.rankingKeywords;
let backlinks = reportResult?.backlinksTotal;
let backlinksSuffix = "";
if (backlinks > 1000 && backlinks < 1000000) {
backlinksSuffix = "K";
backlinks = backlinks / 1000;
} else if (backlinks > 1000000) {
backlinksSuffix = "M";
backlinks = backlinks / 1000000;
}
const formatCount = (value) => {
if (value >= 1000000) {
return (value / 1000000).toFixed(1);
} else if (value >= 1000) {
return (value / 1000).toFixed(1);
}
return value;
};
backlinks = formatCount(backlinks);
let overallScore;
if (domainAuthority < 91) {
overallScore = Math.floor(domainAuthority * 1.1);
} else {
overallScore = domainAuthority;
}
const averageScore = 74;
let comparison;
if (overallScore > averageScore) {
comparison = "higher";
} else if (overallScore < averageScore) {
comparison = "lower";
} else {
comparison = "the same";
}
return (
<>
{reportData && reportResult && (
<Layout headerStyle={4} footerStyle={3} transparent={false}>
<section className="report-area">
<div className="container">
<div className="report-box">
<div className="col">
<div className="header-design">
<img src="/assets/img/images/h2_about_shape01.png" alt="cosmetic" />
<img src="/assets/img/images/h2_about_shape02.png" alt="cosmetic" />
</div>
<div className="row">
<div className="col-xl-2 col-lg-2 col-md-12">
<div className="report-graph-size">
<Flat
progress={overallScore}
range={{ from: 0, to: 100 }}
sign={{ value: "", position: "end" }}
text={"of 100"}
showMiniCircle={true}
showValue={true}
sx={{
strokeColor: "#3887fe",
barWidth: 10,
bgStrokeColor: "#3887fe",
bgColor: { value: "#000000", transparency: "20" },
shape: "full",
strokeLinecap: "round",
valueSize: 25,
valueWeight: "bold",
valueColor: "#000000",
valueFamily: "Helvetica",
textSize: 13,
textWeight: "normal",
textColor: "#000000",
textFamily: "Helvetica",
loadingTime: 2000,
valueAnimation: true,
}}
/>
</div>
</div>
<div className="col-xl-10 col-lg-10 col-md-12">
<h1 className="text-black report-text-title">
Site Audit Result for{" "}
<span className="text-primary">{reportResult.websiteName}</span>
</h1>
<Link
className="report-text-title-url"
href={`https://${reportResult.websiteName}`}
>
https://{reportResult.websiteName}
</Link>
<p className="report-text text-black">
<b>{reportResult.websiteName}</b> received an SEO score of{" "}
<b>{overallScore}</b> out of <b>100</b>, which is <b>{comparison} </b>
than the average score of <b>{averageScore}</b>. Our preliminary
analysis has identified{" "}
<b>
{reportResult.errorIssueCount + reportResult.importantIssueCount}{" "}
Crucial Issues
</b>{" "}
that should be addressed in order to improve your website's search
visibility.
</p>
<div className="report-button-group">
<Link className="btn report-button" href="#domain">
Domain Overview
</Link>
<Link className="btn report-button" href="#issue">
Errors - {reportResult.errorIssueCount}
</Link>
<Link className="btn report-button" href="#issue">
Warnings - {reportResult.importantIssueCount}
</Link>
<Link className="btn report-button" href="#potentials">
Growth Potentials
</Link>
</div>
</div>
</div>
</div>
</div>
</div>
<div className="container" id="domain">
<div className="row justify-content-center">
<div className="col">
<div className="report-box">
<div className="col">
<h1 className="text-black report-text-title">Domain Overview</h1>
<div className="row domain-overview-group text-center">
<div className="col-lg-3 col-md-6">
<div className="domain-overview-item">
<h4>Domain Authority</h4>
<h1>
<CounterUpDirectly count={domainAuthority} />
</h1>
</div>
</div>
<div className="col-lg-3 col-md-6">
<div className="domain-overview-item">
<h4>Backlinks</h4>
<h1 className="count">
<CounterUpDirectly count={backlinks} />
{backlinksSuffix}
</h1>
</div>
</div>
<div className="col-lg-3 col-md-6">
<div className="domain-overview-item">
<h4>Page Authority</h4>
<h1>
<CounterUpDirectly count={authority} />
</h1>
</div>
</div>
<div className="col-lg-3 col-md-6">
<div className="domain-overview-item">
<h4>Spam Score</h4>
<h1>
<CounterUpDirectly count={spamScore} />%
</h1>
</div>
</div>
</div>
{61 <= spamScore ? (
<p className="report-text text-black">
A domain with a <b>bad spam score</b> is likely flagged in multiple
spam databases and may have a history of sending spammy or unwanted
emails. This score indicates a high risk of being{" "}
<b>blocked or filtered by email providers</b>, impacting email
deliverability significantly. It's crucial to
<b>investigate and address the reasons behind the bad score</b>,
such as cleaning email lists, avoiding spammy practices, and
improving overall domain reputation.
</p>
) : 31 <= spamScore >= 61 ? (
<p className="report-text text-black">
A domain with this spam score rate may have
<b>a moderate presence in spam databases</b> or could occasionally
send emails that some recipients may mark as spam. This score
doesn't necessarily indicate malicious intent but suggests that
there may be
<b>some instances where email deliverability could be affected</b>.
It's advisable to
<b>monitor and ensure best practices</b> to maintain or improve the
score over time.
</p>
) : (
<p className="report-text text-black">
A domain with a <b>low spam score</b> indicates that it has a
<b>minimal or negligible presence in spam databases</b>. This
suggests that the domain has a <b>clean reputation</b>, with little
to no reported incidents of spam activity. Websites with a good
score are typically trusted by email providers and less likely to be
flagged as spam when sending emails.
</p>
)}
<div className="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th scope="col" className="text-center">
Most Visited Pages
</th>
<th scope="col" className="text-center">
Visibility
</th>
<th scope="col" className="text-center">
Page Authority
</th>
</tr>
</thead>
<tbody>
{reportResult.mostDomain.map((item, index) => (
<tr key={index}>
<th scope="row">
{index + 1} -{" "}
<Link
href={`https://${item.url}`}
className="report-domain-url"
>
{item.url}
</Link>
</th>
<td className="report-icon-parent text-center">
{item.score < 39 ? (
<i className="report-icon red fas fa-times" />
) : item.score <= 59 ? (
<i className="report-icon yellow fas fa-exclamation" />
) : (
<i className="report-icon green fas fa-check" />
)}
</td>
<td className="text-center">{item.score}</td>
</tr>
))}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div className="container" id="issue">
<div className="row justify-content-center">
<div className="col-lg-6">
<div className="report-box">
<div className="col">
<h1 className="text-black report-text-title">
Errors - {reportResult.errorIssueCount}
</h1>
<p className="report-text text-black">
These are the most significant issues currently
<b> preventing your website from achieving a higher ranking</b> in any
search engine, including Google Search.
</p>
<div className="report-list">
<ul className="list-wrap">
{reportResult?.errorList.map((error) => (
<li>
<i className="report-icon red fas fa-times" />
{error}
</li>
))}
</ul>
</div>
</div>
</div>
</div>
<div className="col-lg-6">
<div className="report-box">
<div className="col">
<h1 className="text-black report-text-title">
Warnings - {reportResult.importantIssueCount}
</h1>
<p className="report-text text-black">
These are less significant, yet still important issues that should be
addressed and resolved in order to
<b> further enhance your website's Google search visibility.</b>
</p>
<div className="report-list">
<ul className="list-wrap">
{reportResult?.warningList.map((warning) => (
<li>
<i className="report-icon yellow fas fa-exclamation" />
{warning}
</li>
))}
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div className="container" id="potentials">
<div className="row justify-content-center">
<div className="col">
<div className="report-box">
<div className="col">
<h1 className="text-black report-text-title">Growth Potentials</h1>
<p className="report-text text-black">
A domain with a <b>low spam score</b> indicates that it has a{" "}
<b>minimal or negligible presence in spam databases</b>. This suggests
that the domain has a <b>clean reputation</b>, with little to no
reported incidents of spam activity. Websites with a good score are
typically trusted by email providers and less likely to be flagged as
spam when sending emails.
</p>
<div className="table-responsive">
<table class="table table-striped">
<thead>
<tr className="text-center">
<th scope="col">Variables</th>
<th scope="col">Current Metrics</th>
<th scope="col">Potentials Outcome</th>
</tr>
</thead>
<tbody>
{reportResult?.dataPotentials.map((item, index) => (
<tr key={index}>
<th scope="row">{item.variable}</th>
<td className="text-center">{item.current}</td>
<td className="text-center">{item.potentials}</td>
</tr>
))}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<About2 />
</section>
</Layout>
)}
</>
);
}

119
app/reset-password/page.js Normal file
View File

@ -0,0 +1,119 @@
"use client";
import Layout from "@/components/layout/Layout";
import Link from "next/link";
import { useState, useEffect } from "react";
import { useRouter } from "next/navigation";
export default function ResetPassword() {
const [newPassword, setNewPassword] = useState("");
const [confirmPassword, setConfirmPassword] = useState("");
const [message, setMessage] = useState("");
const [isValidReset, setIsValidReset] = useState(false);
const router = useRouter();
useEffect(() => {
// Placeholder for token validation logic
const checkResetToken = async () => {
// Simulate token validation
const isTokenValid = true; // Replace with actual validation logic
if (isTokenValid) {
setIsValidReset(true);
} else {
setMessage(
"Invalid or expired reset link. Please request a new password reset."
);
setTimeout(() => router.push("/forgot-password"), 3000);
}
};
checkResetToken();
}, [router]);
const handleResetPassword = async (e) => {
e.preventDefault();
if (newPassword !== confirmPassword) {
setMessage("Passwords do not match.");
return;
}
try {
// Simulate password reset
const isSuccess = true; // Replace with actual reset logic
if (isSuccess) {
setMessage("Password successfully reset. Redirecting to login...");
setTimeout(() => router.push("/login"), 3000);
} else {
throw new Error("Password reset failed.");
}
} catch (error) {
setMessage(`Error: ${error.message}`);
}
};
if (!isValidReset) {
return <p>{message}</p>;
}
return (
<>
<Layout headerStyle={6} footerStyle={3} transparent={false}>
<section className="forgot__area-one">
<div className="container">
<div className="text-center mb-55">
<h1 className="text-48-bold">Change Password</h1>
</div>
<div className="box-form-login">
<div className="head-login">
{message && <p className="text-16-semibold">{message}</p>}
{!message && (
<p className="text-16-semibold">
Please enter your new password
</p>
)}
<div className="form-login form-forgot">
<form onSubmit={handleResetPassword}>
<div className="form-group">
<input
type="password"
className="form-control account"
placeholder="New Password"
value={newPassword}
onChange={(e) => setNewPassword(e.target.value)}
required
/>
</div>
<div className="form-group">
<input
type="password"
className="form-control account"
placeholder="Confirm New Password"
value={confirmPassword}
onChange={(e) => setConfirmPassword(e.target.value)}
required
/>
</div>
<div className="form-group">
<input
type="submit"
className="btn btn-login"
defaultValue="Reset password"
/>
</div>
</form>
<p className="text-center">
<Link href="/contact" className="link-bold">
Contact Us
</Link>{" "}
if you encounter any problem
</p>
</div>
</div>
</div>
</div>
</section>
</Layout>
</>
);
}

60
app/schedule/page.js Normal file
View File

@ -0,0 +1,60 @@
import Layout from "@/components/layout/Layout";
import Testimonials from "@/components/sections/Testimonials";
import ScheduleChooser from "@/components/custom/ScheduleChooser";
export const metadata = {
title: "Schedule a Call | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function Contact() {
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Schedule a Call">
<div>
<section className="contact__area-schedule">
<div className="container">
<div className="row mb-30">
<div className="col-lg-5 schedule-content">
<div className="contact__content">
<div className="section-title mb-30">
<h2 className="title">Schedule your 100% Free IT/SEO Strategy Call</h2>
<p>
Schedule a FREE consultation with our team of experts today and let us
take your company's online presence to the next level!
</p>
</div>
<div className="contact__left mb-30">
<ul>
<li>
We'll increase your company website's organic search ranking and
visibility in Google search
</li>
<li>
This increased brand exposure will help attract and reel in
thousands of brand new customers
</li>
<li>
You will experience a higher bottom line, increased ROI and better
position yourself for sustainable, organic growth
</li>
</ul>
</div>
<div className="section-title">
<p>Are you ready to outrun your competitors?</p>
</div>
</div>
</div>
<div className="col-lg-7">
<ScheduleChooser />
</div>
</div>
</div>
</section>
</div>
<Testimonials />
</Layout>
</>
);
}

View File

@ -0,0 +1,261 @@
import Layout from "@/components/layout/Layout";
import BrandActiveSlider from "@/components/slider/BrandActiveSlider";
import Link from "next/link";
export const metadata = {
title: "Service Details | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ServicesDetails3() {
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Services We Provide">
<div>
<section className="services__details-area">
<div className="container">
<div className="services__details-wrap">
<div className="row">
<div className="col-70 order-0 order-lg-2">
<div className="services__details-content services__details-content-two">
<h2 className="title">
We help our clients identify their they area issues develop solutions
and take action
</h2>
<p>
eed a little help from our friends from time to time. Although we offer
the one-stop convenience of annery integrated range of legal, financial
services under one roof, there are occasions when our clients areaneed
specia- list advice beyond the scope of our own expertise. Thats why
weve developed close working relationships with a number of strategic
partner.
</p>
<div className="services__details-thumb">
<img src="/assets/img/services/services_details03.jpg" alt="" />
</div>
<div className="services__details-inner-three">
<div className="row gutter-24 align-items-center">
<div className="col-md-5">
<div className="services__details-list-box-three">
<div className="icon">
<i className="flaticon-investment" />
</div>
<div className="content">
<h4 className="title">Business Solutions</h4>
<p>
Semper egetuis kelly for tellus <br /> urna area
condition.
</p>
</div>
</div>
<div className="services__details-list-box-three">
<div className="icon">
<i className="flaticon-investment-1" />
</div>
<div className="content">
<h4 className="title">Business Solutions</h4>
<p>
Semper egetuis kelly for tellus <br /> urna area
condition.
</p>
</div>
</div>
</div>
<div className="col-md-7">
<div className="services__details-inner-content-three">
<h3 className="title">
Lets Enroll Our Business Growth Management
</h3>
<p>
eed a little help from our friends from time to time.
Although we offer the one-stop convenience of annery
integrated range of legal, financial services under one
roof, there are occasions.
</p>
</div>
</div>
</div>
</div>
<p>
eed a little help from our friends from time to time. Although we offer
the one-stop convenience of annery integrated range of legal, financial
services under one roof, there are occasions when our clients areaneed
specia- list advice beyond the scope of our own expertise.{" "}
</p>
<div className="services__details-inner-two services__details-inner-four">
<div className="row gutter-24 align-items-center">
<div className="col-48">
<div className="services__details-inner-img">
<img
src="/assets/img/services/services_details_inner03.jpg"
alt=""
/>
</div>
</div>
<div className="col-52">
<div className="services__details-inner-content-two">
<h4 className="title">Our Corporate Business Planning</h4>
<p>
when an unknown printer took a galley of type and
scrambled it to make a type specimen bookhas survived
not only five centuries.but also the leap into
electronic typesetting, remaining.
</p>
<div className="about__list-box about__list-box-three">
<ul className="list-wrap">
<li>
<i className="flaticon-arrow-button" />
Business Growth
</li>
<li>
<i className="flaticon-arrow-button" />
100% Secure
</li>
<li>
<i className="flaticon-arrow-button" />
Research
</li>
<li>
<i className="flaticon-arrow-button" />
100% Secure
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<p className="last-info">
when an unknown printer took a galley of type and scrambled it to make a
type specimen bookhas survived not only five centuries, but also the
leap into electronic typesetting, remaining essentially unchan galley of
type and scrambled it to make a type specimen book.when an unknown
printer took a galley of type and scrambled it to make a type specimen
bookhas survived not only five centuries, but also the leap into
electronic typesetting, remaining essentially unchan galle.
</p>
</div>
</div>
<div className="col-30">
<aside className="services__sidebar">
<div className="sidebar__widget">
<div className="services-sidebar">
<ul className="list-wrap">
<li>
<Link href="/services-details">
Search Engine Optimization{" "}
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services-details">
Ad Campaign Management{" "}
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services-details">
Cloud Computing <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services-details">
Lead Generation <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services-details">
Web Development/Design{" "}
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services-details">
Social Media Management{" "}
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services-details">
Performance Monitoring{" "}
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services-details">
Cyber Security <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services-details">
Website Maintenance{" "}
<i className="flaticon-arrow-button" />
</Link>
</li>
</ul>
</div>
</div>
<div className="sidebar__widget sidebar__widget-three">
<h4 className="sidebar__widget-title">SEO Checker</h4>
<div className="sidebar__brochure sidebar__brochure-two">
<p>Check your website's SEO performance.</p>
<Link href="/#seocheck">SEO Checker</Link>
</div>
</div>
<div className="sidebar__widget sidebar__widget-two">
<div
className="sidebar__contact sidebar__contact-two"
data-background="/assets/img/services/sidebar_contact_bg.jpg"
>
<h2 className="title">
Contact Us Any Time For Immediate Support!
</h2>
<Link href="tel:+14702604117" className="btn">
<i className="flaticon-phone-call" />
(470) 260-4117
</Link>
</div>
</div>
<div className="sidebar__widget sidebar__widget-three">
<h4 className="sidebar__widget-title">Send Us a Message</h4>
<div className="sidebar__form">
<form action="#">
<div className="form-grp">
<input type="text" name="name" placeholder="Your Name" />
</div>
<div className="form-grp">
<input
type="text"
name="phone"
placeholder="Phone Number"
/>
</div>
<div className="form-grp">
<textarea name="message" placeholder="Type Your Message" />
</div>
<button type="submit" className="btn btn-two">
Send Message
</button>
</form>
</div>
</div>
</aside>
</div>
</div>
</div>
</div>
</section>
</div>
<div className="brand-area">
<div className="container">
<h4 className="brand__content">Trusted by Numerous Companies, Worldwide</h4>
<div className="swiper-container brand-active">
<BrandActiveSlider />
</div>
</div>
</div>
</Layout>
</>
);
}

View File

@ -0,0 +1,290 @@
import Layout from "@/components/layout/Layout";
import BrandActiveSlider from "@/components/slider/BrandActiveSlider";
import Link from "next/link";
export const metadata = {
title: "Service Details | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ServicesDetails3() {
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Services We Provide">
<div>
<section className="services__details-area">
<div className="container">
<div className="services__details-wrap">
<div className="row">
<div className="col-70 order-0 order-lg-2">
<div className="services__details-content services__details-content-two">
<h2 className="title">Ad Campaign Management</h2>
<p>
Launching and testing cost-effective ad campaigns on platforms like
Google, Facebook, and X on a consistent basis can be tricky and
time-consuming for those that dont specialize in it. Many businesses
struggle with crafting ads that resonate with their viewers, targeting
the right audience, and managing their ad spend effectively. In fact,
there are certifications for this skill set because of how complicated
it can be. At RankRunners, our Google-Certified Account Specialists
streamline this process by getting behind the wheel of your ad
campaigns. Our expert team develops and manages targeted,
high-performing ad campaigns that maximize your incoming leads and drive
your companys revenue upwards.
</p>
<div className="services__details-thumb">
<img src="/assets/img/custom/service-02-01.png" alt="" />
</div>
<div className="services__details-inner-three">
<h3>Benefits:</h3>
<ul>
<li>
<strong>Strategic Ad Placement</strong>: We design and implement
targeted ad campaigns across multiple platforms to ensure your
ads reach the right audience at the right time.
</li>
<li>
<strong>Optimized Spend</strong>: Our data-driven approach
ensures your advertising budget is spent efficiently, focusing
on high-impact opportunities to generate the best results.
</li>
<li>
<strong>Creative Excellence</strong>: From eye-catching visuals
to compelling copy, our team creates ads that capture attention
and drive engagement.
</li>
<li>
<strong>Real-Time Analytics</strong>: We provide ongoing
performance tracking and insights, allowing for timely
adjustments and ensuring your campaigns stay on track.
</li>
<li>
<strong>Expert Management</strong>: Benefit from the expertise
of our dedicated ad managers who handle everything from strategy
and design to execution and reporting.
</li>
</ul>
</div>
<div className="services__details-inner-two services__details-inner-four">
<div className="gutter-24">
<div className="col-48">
<div className="services__details-inner-img float-img">
<img src="/assets/img/custom/service-02-02.png" alt="" />
</div>
</div>
<div className="col-52">
<div className="services__details-inner-content-two">
<h3>Services:</h3>
<ul>
<li>
<strong>Campaign Strategy Development</strong>:
Crafting a comprehensive strategy tailored to your
business goals and target audience, ensuring
alignment with your overall marketing objectives.
</li>
<li>
<strong>Ad Creation and Design</strong>: Designing
visually appealing and persuasive ads that stand out
and resonate with your target market.
</li>
<li>
<strong>Target Audience Research</strong>:
Identifying and segmenting your ideal audience to
ensure your ads reach those most likely to convert.
</li>
<li>
<strong>Platform Management</strong>: Handling all
aspects of your ad placements on platforms like
Google Ads, Facebook, Instagram, and more.
</li>
<li>
<strong>
Performance Tracking and Optimization
</strong>
: Monitoring ad performance in real-time and making
data-driven adjustments to improve results and ROI.
</li>
<li>
<strong>Reporting and Insights</strong>: Providing
detailed reports and actionable insights to measure
the success of your campaigns and inform future
strategies.
</li>
</ul>
</div>
</div>
</div>
</div>
<p>
<strong>
The setup of an ad campaign typically takes 2 to 4 weeks, depending
on the complexity of the campaign and the platforms involved.
Ongoing management and optimization are continuous, with regular
updates and performance reviews provided on a monthly basis.
</strong>
</p>
<div className="all_services__area-six-two">
<div className="container">
<h3>Ready to Run-Up your advertising game?</h3>
<Link href="/schedule" className="btn">
Start Your Campaign Today!
</Link>
</div>
</div>
<p>Have questions or need more details? Contact us today:</p>
<div className="contact__info mb-50">
<ul className="list-wrap">
<li>
<div className="icon">
<i className="flaticon-phone-call" />
</div>
<div className="content">
<h4 className="title">Phone</h4>
<Link href="tel:+14702604117">(470) 260-4117</Link>
</div>
</li>
<li>
<div className="icon">
<i className="flaticon-mail" />
</div>
<div className="content">
<h4 className="title">Email</h4>
<Link href="mailto:support@rankrunners.net">
support@rankrunners.net
</Link>
</div>
</li>
</ul>
</div>
<h4 className="title-center">
Let RankRunners drive your business growth with expertly managed ad
campaigns!
</h4>
</div>
</div>
<div className="col-30">
<aside className="services__sidebar">
<div className="sidebar__widget">
<div className="services-sidebar">
<ul className="list-wrap">
<li>
<Link href="/services/search-engine-optimization">
Search Engine Optimization
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link
href="/services/ad-campaign-management"
className="active"
>
Ad Campaign Management
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/cloud-computing">
Cloud Computing <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/lead-generation">
Lead Generation <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/web-development">
Web Development/Design
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/social-media-management">
Social Media Management
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/performance-monitoring">
Performance Monitoring
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/cyber-security">
Cyber Security <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/website-maintenance">
Website Maintenance
<i className="flaticon-arrow-button" />
</Link>
</li>
</ul>
</div>
</div>
<div className="sidebar__widget sidebar__widget-three">
<h4 className="sidebar__widget-title">SEO Checker</h4>
<div className="sidebar__brochure sidebar__brochure-two">
<p>Check your website's SEO performance.</p>
<Link href="/#seocheck">SEO Checker</Link>
</div>
</div>
<div className="sidebar__widget sidebar__widget-two">
<div
className="sidebar__contact sidebar__contact-two"
data-background="/assets/img/services/sidebar_contact_bg.jpg"
>
<h2 className="title">
Contact Us Any Time For Immediate Support!
</h2>
<Link href="tel:+14702604117" className="btn">
<i className="flaticon-phone-call" />
(470) 260-4117
</Link>
</div>
</div>
<div className="sidebar__widget sidebar__widget-three">
<h4 className="sidebar__widget-title">Send Us a Message</h4>
<div className="sidebar__form">
<form action="#">
<div className="form-grp">
<input type="text" name="name" placeholder="Your Name" />
</div>
<div className="form-grp">
<input
type="text"
name="phone"
placeholder="Phone Number"
/>
</div>
<div className="form-grp">
<textarea name="message" placeholder="Type Your Message" />
</div>
<button type="submit" className="btn btn-two">
Send Message
</button>
</form>
</div>
</div>
</aside>
</div>
</div>
</div>
</div>
</section>
</div>
<div className="brand-area">
<div className="container">
<h4 className="brand__content">Trusted by Numerous Companies, Worldwide</h4>
<div className="swiper-container brand-active">
<BrandActiveSlider />
</div>
</div>
</div>
</Layout>
</>
);
}

View File

@ -0,0 +1,288 @@
import Layout from "@/components/layout/Layout";
import BrandActiveSlider from "@/components/slider/BrandActiveSlider";
import Link from "next/link";
export const metadata = {
title: "Service Details | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ServicesDetails3() {
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Services We Provide">
<div>
<section className="services__details-area">
<div className="container">
<div className="services__details-wrap">
<div className="row">
<div className="col-70 order-0 order-lg-2">
<div className="services__details-content services__details-content-two">
<h2 className="title">Cloud Computing</h2>
<p>
Managing cloud-based IT infrastructure can be complex and costly, often
requiring significant investments in hardware and maintenance. Many
businesses face challenges with scalability, data storage, and
operational efficiency. RankRunners offers a solution with our Cloud
Computing services, providing a flexible, scalable, and cost-effective
alternative to traditional IT setups. By leveraging the power of the
cloud, we help your business optimize resources, enhance collaboration,
and ensure data security, all while reducing operational overhead.
</p>
<div className="services__details-thumb">
<img src="/assets/img/custom/service-03-01.png" alt="" />
</div>
<div className="services__details-inner-three">
<h3>Benefits:</h3>
<ul>
<li>
<strong>Scalability</strong>: Easily scale your computing
resources up or down based on your business needs, ensuring you
only pay for what you use.
</li>
<li>
<strong>Cost Efficiency</strong>: Reduce capital expenditures on
physical hardware and lower IT costs with our pay-as-you-go
cloud solutions.
</li>
<li>
<strong>Enhanced Collaboration</strong>: Enable seamless access
to data and applications from anywhere, improving team
collaboration and productivity.
</li>
<li>
<strong>Data Security</strong>: Benefit from advanced security
measures and compliance standards that protect your critical
data from threats and breaches.
</li>
<li>
<strong>Disaster Recovery</strong>: Ensure business continuity
with reliable backup and disaster recovery solutions that keep
your data safe and accessible.
</li>
</ul>
</div>
<div className="services__details-inner-two services__details-inner-four">
<div className="gutter-24">
<div className="col-48">
<div className="services__details-inner-img float-img">
<img src="/assets/img/custom/service-03-02.png" alt="" />
</div>
</div>
<div className="col-52">
<div className="services__details-inner-content-two">
<h3>Services:</h3>
<ul>
<li>
<strong>Cloud Infrastructure Setup</strong>:
Designing and deploying scalable cloud
infrastructure tailored to your specific business
requirements, ensuring optimal performance and
reliability.
</li>
<li>
<strong>Data Storage Solutions</strong>:
Implementing secure and efficient cloud storage
options that accommodate your data needs while
ensuring quick access and backup.
</li>
<li>
<strong>Cloud Migration</strong>: Facilitating a
smooth transition of your existing systems and data
to the cloud, minimizing downtime and disruption.
</li>
<li>
<strong>Application Hosting</strong>: Hosting and
managing your business applications in the cloud for
improved accessibility and reduced maintenance.
</li>
<li>
<strong>Security and Compliance</strong>: Providing
robust security measures and compliance solutions to
protect your data and meet industry regulations.
</li>
<li>
<strong>Ongoing Support and Management</strong>:
Offering continuous support and management services
to keep your cloud environment running smoothly and
efficiently.
</li>
</ul>
</div>
</div>
</div>
</div>
<p>
<strong>
The initial setup and migration to a cloud environment typically
take 3 to 6 weeks, depending on the complexity of your existing
infrastructure and specific needs. Our ongoing support is
continuous, ensuring your cloud services remain optimized and
secure.
</strong>
</p>
<div className="all_services__area-six-two">
<div className="container">
<h3>
Efficiently scale your IT infrastructure with our innovative
cloud solutions!
</h3>
<Link href="/schedule" className="btn">
Get Started with Cloud Computing Today!
</Link>
</div>
</div>
<p>Have questions or need more details? Contact us today:</p>
<div className="contact__info mb-50">
<ul className="list-wrap">
<li>
<div className="icon">
<i className="flaticon-phone-call" />
</div>
<div className="content">
<h4 className="title">Phone</h4>
<Link href="tel:+14702604117">(470) 260-4117</Link>
</div>
</li>
<li>
<div className="icon">
<i className="flaticon-mail" />
</div>
<div className="content">
<h4 className="title">Email</h4>
<Link href="mailto:support@rankrunners.net">
support@rankrunners.net
</Link>
</div>
</li>
</ul>
</div>
<h4 className="title-center">
Let RankRunners guide you to the future of business technology with our
expert cloud computing services!
</h4>
</div>
</div>
<div className="col-30">
<aside className="services__sidebar">
<div className="sidebar__widget">
<div className="services-sidebar">
<ul className="list-wrap">
<li>
<Link href="/services/search-engine-optimization">
Search Engine Optimization
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/ad-campaign-management">
Ad Campaign Management
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/cloud-computing" className="active">
Cloud Computing <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/lead-generation">
Lead Generation <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/web-development">
Web Development/Design
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/social-media-management">
Social Media Management
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/performance-monitoring">
Performance Monitoring
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/cyber-security">
Cyber Security <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/website-maintenance">
Website Maintenance
<i className="flaticon-arrow-button" />
</Link>
</li>
</ul>
</div>
</div>
<div className="sidebar__widget sidebar__widget-three">
<h4 className="sidebar__widget-title">SEO Checker</h4>
<div className="sidebar__brochure sidebar__brochure-two">
<p>Check your website's SEO performance.</p>
<Link href="/#seocheck">SEO Checker</Link>
</div>
</div>
<div className="sidebar__widget sidebar__widget-two">
<div
className="sidebar__contact sidebar__contact-two"
data-background="/assets/img/services/sidebar_contact_bg.jpg"
>
<h2 className="title">
Contact Us Any Time For Immediate Support!
</h2>
<Link href="tel:+14702604117" className="btn">
<i className="flaticon-phone-call" />
(470) 260-4117
</Link>
</div>
</div>
<div className="sidebar__widget sidebar__widget-three">
<h4 className="sidebar__widget-title">Send Us a Message</h4>
<div className="sidebar__form">
<form action="#">
<div className="form-grp">
<input type="text" name="name" placeholder="Your Name" />
</div>
<div className="form-grp">
<input
type="text"
name="phone"
placeholder="Phone Number"
/>
</div>
<div className="form-grp">
<textarea name="message" placeholder="Type Your Message" />
</div>
<button type="submit" className="btn btn-two">
Send Message
</button>
</form>
</div>
</div>
</aside>
</div>
</div>
</div>
</div>
</section>
</div>
<div className="brand-area">
<div className="container">
<h4 className="brand__content">Trusted by Numerous Companies, Worldwide</h4>
<div className="swiper-container brand-active">
<BrandActiveSlider />
</div>
</div>
</div>
</Layout>
</>
);
}

View File

@ -0,0 +1,291 @@
import Layout from "@/components/layout/Layout";
import BrandActiveSlider from "@/components/slider/BrandActiveSlider";
import Link from "next/link";
export const metadata = {
title: "Service Details | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ServicesDetails3() {
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Services We Provide">
<div>
<section className="services__details-area">
<div className="container">
<div className="services__details-wrap">
<div className="row">
<div className="col-70 order-0 order-lg-2">
<div className="services__details-content services__details-content-two">
<h2 className="title">Cyber Security</h2>
<p>
Cyber Security is an often overlooked facet of todays business life, be
it online or offline data. It mustn't be neglected whether wilfully so
or by accident. Having a flourishing company often draws the focus
towards the daily goings-on and making sure that revenue streams stay
positive. We at RankRunners offer world-class security solutions so that
your company does not have to worry about whether that one employee
works on public wifi from time to time. Our experts will formulate an
audit and make sure that any potential security breaches will stay just
that. Potential.
</p>
<div className="services__details-thumb">
<img src="/assets/img/custom/service-08-01.png" alt="" />
</div>
<div className="services__details-inner-three">
<h3>Benefits:</h3>
<ul>
<li>
<strong>Knowledge</strong>: Knowing where your company is
vulnerable is the first step to fixing these security issues.
Having your vulnerabilities clearly and expertly mapped out will
ensure that there are no interruptions in the daily workflow so
you can do what you do best!
</li>
<li>
<strong>
Formulating a plan for when the unthinkable happens
</strong>
: Having a plan for if and when a cyber security breach does
occur, knowing what to do is just as important doing your taxes.
This plan ensures that your companys vital tasks can continue
to the fullest extent until the problem is solved.
</li>
<li>
<strong>Future breach prevention</strong>: Ensuring that you
have measures in place to prevent breaches is another incredibly
important part of your company being (mostly) safe from attacks.
for example:
<ol>
<li>
Ideally employees need to change their passwords often
(as annoying as it may be)
</li>
<li>
Utilizing Two-Factor Authentication, requiring employees
who have access to sensitive information to use 2FA
(Two-Factor Authentication) is a must!
</li>
</ol>
Now there are countless other measures that can be put in place
but they go past the scope of this page.
</li>
<li>
<strong>Higher client trust</strong>: If your client sees that
you have your affairs in order they are more likely to trust
your company with their valuable information.
</li>
</ul>
</div>
<div className="services__details-inner-two services__details-inner-four">
<div className="gutter-24">
<div className="col-48">
<div className="services__details-inner-img float-img">
<img src="/assets/img/custom/service-08-02.png" alt="" />
</div>
</div>
<div className="col-52">
<div className="services__details-inner-content-two">
<h3>Services:</h3>
<ul>
<li>
<strong>Plan of action</strong>: Rankrunners will
assess every facet of your company to meticulously
craft a plan to ensure your company will not fall
victim to a cyber attack.
</li>
<li>
<strong>
Continued monitoring of suspicious activity
</strong>
: Rankrunners will continuously monitor your
companys online security to ensure anything out of
the ordinary is proofed and checked to make sure it
is nothing malicious.
</li>
<li>
<strong>Recurring Security checks</strong>:
Rankrunners will perform recurring security checks
to make sure your company is up to date with the
latest globally recognized security standards.
</li>
</ul>
</div>
</div>
</div>
</div>
<p>
<strong>
Initial setup and an extended audit of your company typically takes
2 to 4 weeks, depending on the complexity of your needs and existing
systems. Ongoing security checks and monitoring is continuous, with
as-needed updates and solutions provided to keep you safe and
secure.
</strong>
</p>
<div className="all_services__area-six-two">
<div className="container">
<h3>
Get on top of your companys security today! Dont become a
Cyber-attack victim!
</h3>
<Link href="/schedule" className="btn">
Start Getting Secure Today!
</Link>
</div>
</div>
<p>Have questions or need more details? Contact us today:</p>
<div className="contact__info mb-50">
<ul className="list-wrap">
<li>
<div className="icon">
<i className="flaticon-phone-call" />
</div>
<div className="content">
<h4 className="title">Phone</h4>
<Link href="tel:+14702604117">(470) 260-4117</Link>
</div>
</li>
<li>
<div className="icon">
<i className="flaticon-mail" />
</div>
<div className="content">
<h4 className="title">Email</h4>
<Link href="mailto:support@rankrunners.net">
support@rankrunners.net
</Link>
</div>
</li>
</ul>
</div>
<h4 className="title-center">
Let RankRunners protect your company with our cyber-security experts so
you can keep your company ahead of the competition!
</h4>
</div>
</div>
<div className="col-30">
<aside className="services__sidebar">
<div className="sidebar__widget">
<div className="services-sidebar">
<ul className="list-wrap">
<li>
<Link href="/services/search-engine-optimization">
Search Engine Optimization
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/ad-campaign-management">
Ad Campaign Management
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/cloud-computing">
Cloud Computing <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/lead-generation">
Lead Generation <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/web-development">
Web Development/Design
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/social-media-management">
Social Media Management
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/performance-monitoring">
Performance Monitoring
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/cyber-security" className="active">
Cyber Security <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/website-maintenance">
Website Maintenance
<i className="flaticon-arrow-button" />
</Link>
</li>
</ul>
</div>
</div>
<div className="sidebar__widget sidebar__widget-three">
<h4 className="sidebar__widget-title">SEO Checker</h4>
<div className="sidebar__brochure sidebar__brochure-two">
<p>Check your website's SEO performance.</p>
<Link href="/#seocheck">SEO Checker</Link>
</div>
</div>
<div className="sidebar__widget sidebar__widget-two">
<div
className="sidebar__contact sidebar__contact-two"
data-background="/assets/img/services/sidebar_contact_bg.jpg"
>
<h2 className="title">
Contact Us Any Time For Immediate Support!
</h2>
<Link href="tel:+14702604117" className="btn">
<i className="flaticon-phone-call" />
(470) 260-4117
</Link>
</div>
</div>
<div className="sidebar__widget sidebar__widget-three">
<h4 className="sidebar__widget-title">Send Us a Message</h4>
<div className="sidebar__form">
<form action="#">
<div className="form-grp">
<input type="text" name="name" placeholder="Your Name" />
</div>
<div className="form-grp">
<input
type="text"
name="phone"
placeholder="Phone Number"
/>
</div>
<div className="form-grp">
<textarea name="message" placeholder="Type Your Message" />
</div>
<button type="submit" className="btn btn-two">
Send Message
</button>
</form>
</div>
</div>
</aside>
</div>
</div>
</div>
</div>
</section>
</div>
<div className="brand-area">
<div className="container">
<h4 className="brand__content">Trusted by Numerous Companies, Worldwide</h4>
<div className="swiper-container brand-active">
<BrandActiveSlider />
</div>
</div>
</div>
</Layout>
</>
);
}

View File

@ -0,0 +1,289 @@
import Layout from "@/components/layout/Layout";
import BrandActiveSlider from "@/components/slider/BrandActiveSlider";
import Link from "next/link";
export const metadata = {
title: "Service Details | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ServicesDetails3() {
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Services We Provide">
<div>
<section className="services__details-area">
<div className="container">
<div className="services__details-wrap">
<div className="row">
<div className="col-70 order-0 order-lg-2">
<div className="services__details-content services__details-content-two">
<h2 className="title">Lead Generation</h2>
<p>
Finding and converting high-quality leads on a consistent basis is often
the largest hurdle to leap for many businesses. Without a steady stream
of qualified prospects, growing your customer base and boosting sales
becomes a daunting task. At RankRunners, our Lead Generation services
tackle this problem head-on. We use the latest, most advanced techniques
and strategies to attract, engage, and convert leads that are most
likely to benefit from your products or services, ensuring a steady flow
of potential customers and driving your business growth.
</p>
<div className="services__details-thumb">
<img src="/assets/img/custom/service-04-01.png" alt="" />
</div>
<div className="services__details-inner-three">
<h3>Benefits:</h3>
<ul>
<li>
<strong>Qualified Leads</strong>: We focus on generating
high-quality leads that are genuinely interested in what you
offer, improving your chances of conversion and sales.
</li>
<li>
<strong>Customized Campaigns</strong>: Tailored lead generation
strategies that align with your specific business goals and
target audience, ensuring maximum effectiveness.
</li>
<li>
<strong>Increased Efficiency</strong>: Streamline your sales
process with a consistent influx of leads, allowing your sales
team to focus on closing deals rather than finding prospects.
</li>
<li>
<strong>Data-Driven Insights</strong>: Benefit from our detailed
analytics and reports that provide insights into lead quality,
campaign performance, and areas for improvement.
</li>
<li>
<strong>Cost-Effective</strong>: Optimize your lead generation
spend with strategies designed to deliver the best return on
investment and reduce wasted efforts.
</li>
</ul>
</div>
<div className="services__details-inner-two services__details-inner-four">
<div className="gutter-24">
<div className="col-48">
<div className="services__details-inner-img float-img">
<img src="/assets/img/custom/service-04-02.png" alt="" />
</div>
</div>
<div className="col-52">
<div className="services__details-inner-content-two">
<h3>Services:</h3>
<ul>
<li>
<strong>Lead Generation Strategy</strong>:
Developing a comprehensive strategy that outlines
the best tactics and channels to reach your target
audience effectively.
</li>
<li>
<strong>Content Marketing</strong>: Creating
engaging and valuable content that attracts and
nurtures leads, positioning your brand as an
industry authority.
</li>
<li>
<strong>Email Campaigns</strong>: Designing and
executing targeted email campaigns that capture
interest and drive engagement from potential leads.
</li>
<li>
<strong>Social Media Lead Generation</strong>:
Utilizing social media platforms to connect with
prospects and generate leads through organic and
paid strategies.
</li>
<li>
<strong>Landing Page Optimization</strong>: Crafting
and optimizing high-converting landing pages
designed to capture lead information and drive
conversions.
</li>
<li>
<strong>Lead Nurturing</strong>: Implementing
systems and tactics to engage and nurture leads
through the sales funnel, increasing the likelihood
of conversion.
</li>
</ul>
</div>
</div>
</div>
</div>
<p>
<strong>
Initial lead generation setup and campaign launch typically take 4
to 6 weeks, depending on the complexity of the strategy and the
channels involved. Ongoing lead generation efforts are continuous,
with regular updates and performance reviews provided on a monthly
basis.
</strong>
</p>
<div className="all_services__area-six-two">
<div className="container">
<h3>
Ready to have high-quality leads Running towards your
business?
</h3>
<Link href="/schedule" className="btn">
Start Generating Leads Today!
</Link>
</div>
</div>
<p>Have questions or need more details? Contact us today:</p>
<div className="contact__info mb-50">
<ul className="list-wrap">
<li>
<div className="icon">
<i className="flaticon-phone-call" />
</div>
<div className="content">
<h4 className="title">Phone</h4>
<Link href="tel:+14702604117">(470) 260-4117</Link>
</div>
</li>
<li>
<div className="icon">
<i className="flaticon-mail" />
</div>
<div className="content">
<h4 className="title">Email</h4>
<Link href="mailto:support@rankrunners.net">
support@rankrunners.net
</Link>
</div>
</li>
</ul>
</div>
<h4 className="title-center">
Let RankRunners help you turn prospects into loyal customers with our
expert lead generation services!
</h4>
</div>
</div>
<div className="col-30">
<aside className="services__sidebar">
<div className="sidebar__widget">
<div className="services-sidebar">
<ul className="list-wrap">
<li>
<Link href="/services/search-engine-optimization">
Search Engine Optimization
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/ad-campaign-management">
Ad Campaign Management
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/cloud-computing">
Cloud Computing <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/lead-generation" className="active">
Lead Generation <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/web-development">
Web Development/Design
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/social-media-management">
Social Media Management
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/performance-monitoring">
Performance Monitoring
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/cyber-security">
Cyber Security <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/website-maintenance">
Website Maintenance
<i className="flaticon-arrow-button" />
</Link>
</li>
</ul>
</div>
</div>
<div className="sidebar__widget sidebar__widget-three">
<h4 className="sidebar__widget-title">SEO Checker</h4>
<div className="sidebar__brochure sidebar__brochure-two">
<p>Check your website's SEO performance.</p>
<Link href="/#seocheck">SEO Checker</Link>
</div>
</div>
<div className="sidebar__widget sidebar__widget-two">
<div
className="sidebar__contact sidebar__contact-two"
data-background="/assets/img/services/sidebar_contact_bg.jpg"
>
<h2 className="title">
Contact Us Any Time For Immediate Support!
</h2>
<Link href="tel:+14702604117" className="btn">
<i className="flaticon-phone-call" />
(470) 260-4117
</Link>
</div>
</div>
<div className="sidebar__widget sidebar__widget-three">
<h4 className="sidebar__widget-title">Send Us a Message</h4>
<div className="sidebar__form">
<form action="#">
<div className="form-grp">
<input type="text" name="name" placeholder="Your Name" />
</div>
<div className="form-grp">
<input
type="text"
name="phone"
placeholder="Phone Number"
/>
</div>
<div className="form-grp">
<textarea name="message" placeholder="Type Your Message" />
</div>
<button type="submit" className="btn btn-two">
Send Message
</button>
</form>
</div>
</div>
</aside>
</div>
</div>
</div>
</div>
</section>
</div>
<div className="brand-area">
<div className="container">
<h4 className="brand__content">Trusted by Numerous Companies, Worldwide</h4>
<div className="swiper-container brand-active">
<BrandActiveSlider />
</div>
</div>
</div>
</Layout>
</>
);
}

32
app/services/page.js Normal file
View File

@ -0,0 +1,32 @@
import Layout from "@/components/layout/Layout";
import Services9 from "@/components/sections/Services9";
import Choose2Two from "@/components/sections/Choose2Two";
import BrandActiveSlider from "@/components/slider/BrandActiveSlider";
import Callback1 from "@/components/sections/Callback1";
import Link from "next/link";
export const metadata = {
title: "Services | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function Services() {
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Services">
<Services9 />
<Choose2Two />
<div className="brand__area-four">
<div className="container">
<h4 className="brand__content">Trusted by Numerous Companies, Worldwide</h4>
<div className="swiper-container brand-active">
<BrandActiveSlider />
</div>
</div>
</div>
<Callback1 />
</Layout>
</>
);
}

View File

@ -0,0 +1,297 @@
import Layout from "@/components/layout/Layout";
import BrandActiveSlider from "@/components/slider/BrandActiveSlider";
import Link from "next/link";
export const metadata = {
title: "Service Details | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ServicesDetails3() {
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Services We Provide">
<div>
<section className="services__details-area">
<div className="container">
<div className="services__details-wrap">
<div className="row">
<div className="col-70 order-0 order-lg-2">
<div className="services__details-content services__details-content-two">
<h2 className="title">Performance Monitoring</h2>
<p>
When you invest into digital marketing, youll want to understand and
keep tabs on how your investments are performing. Many businesses
struggle with tracking and interpreting data across various channels in
a digestible fashion, which can lead to missed opportunities and wasted
resources. RankRunners addresses these challenges with our Performance
Monitoring services. We provide detailed insights into your websites
technical performance, lead generation/conversion metrics, and social
media statistics, all visualized in a customized, easy-to-understand
presentation tailored specifically for your ease of processing. Our goal
is to confirm that your marketing efforts are driving profit and to help
you make data-driven decisions for continued success.
</p>
<div className="services__details-thumb">
<img src="/assets/img/custom/service-07-01.png" alt="" />
</div>
<div className="services__details-inner-three">
<h3>Benefits:</h3>
<ul>
<li>
<strong>Holistic View</strong>: Gain a comprehensive overview of
your marketing performance across all channels, including
technical website performance, lead generation, and social
media.
</li>
<li>
<strong>Data Visualization</strong>: Receive clear, visual
reports that make complex data easy to understand and
actionable, allowing you to see exactly how your investments are
performing.
</li>
<li>
<strong>Informed Decisions</strong>: Utilize detailed
performance insights to make strategic adjustments and optimize
your marketing efforts for better results and higher ROI.
</li>
<li>
<strong>Real-Time Monitoring</strong>: Track key metrics and
performance indicators in real-time, enabling you to respond
swiftly to changes and opportunities.
</li>
<li>
<strong>Profit Confirmation</strong>: Validate that your
marketing investments are delivering the desired outcomes,
ensuring that every dollar spent contributes to your businesss
success.
</li>
</ul>
</div>
<div className="services__details-inner-two services__details-inner-four">
<div className="gutter-24">
<div className="col-48">
<div className="services__details-inner-img float-img">
<img src="/assets/img/custom/service-07-02.png" alt="" />
</div>
</div>
<div className="col-52">
<div className="services__details-inner-content-two">
<h3>Services:</h3>
<ul>
<li>
<strong>
Technical Website Performance Monitoring
</strong>
: Regularly assessing your websites speed, uptime,
and overall functionality to ensure a seamless user
experience and identify areas for improvement.
</li>
<li>
<strong>
Lead Generation and Conversion Tracking
</strong>
: Measuring the effectiveness of your lead
generation strategies and conversion rates to
optimize your sales funnel and maximize ROI.
</li>
<li>
<strong>Social Media Performance Analysis</strong>:
Tracking engagement, reach, and other key metrics on
social media platforms to evaluate the impact of
your social media efforts.
</li>
<li>
<strong>Custom Reporting</strong>: Providing
tailored, visual reports that summarize key
performance data and highlight trends, enabling you
to easily interpret results and make informed
decisions.
</li>
<li>
<strong>
Performance Optimization Recommendations
</strong>
: Offering actionable insights and recommendations
based on performance data to help you refine your
marketing strategies and improve results.
</li>
</ul>
</div>
</div>
</div>
</div>
<p>
<strong>
Initial setup and implementation of performance monitoring tools
typically take 2 to 4 weeks, depending on the complexity of your
needs and existing systems. Ongoing monitoring and reporting are
continuous, with monthly updates and performance reviews provided to
keep you informed and agile.
</strong>
</p>
<div className="all_services__area-six-two">
<div className="container">
<h3>Ensure your marketing investments are paying off!</h3>
<Link href="/schedule" className="btn">
Start Monitoring Your Performance Today!
</Link>
</div>
</div>
<p>Have questions or need more details? Contact us today:</p>
<div className="contact__info mb-50">
<ul className="list-wrap">
<li>
<div className="icon">
<i className="flaticon-phone-call" />
</div>
<div className="content">
<h4 className="title">Phone</h4>
<Link href="tel:+14702604117">(470) 260-4117</Link>
</div>
</li>
<li>
<div className="icon">
<i className="flaticon-mail" />
</div>
<div className="content">
<h4 className="title">Email</h4>
<Link href="mailto:support@rankrunners.net">
support@rankrunners.net
</Link>
</div>
</li>
</ul>
</div>
<h4 className="title-center">
Let RankRunners create the insights you need to drive your marketing
success with our expert performance monitoring services!
</h4>
</div>
</div>
<div className="col-30">
<aside className="services__sidebar">
<div className="sidebar__widget">
<div className="services-sidebar">
<ul className="list-wrap">
<li>
<Link href="/services/search-engine-optimization">
Search Engine Optimization
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/ad-campaign-management">
Ad Campaign Management
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/cloud-computing">
Cloud Computing <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/lead-generation">
Lead Generation <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/web-development">
Web Development/Design
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/social-media-management">
Social Media Management
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link
href="/services/performance-monitoring"
className="active"
>
Performance Monitoring
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/cyber-security">
Cyber Security <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/website-maintenance">
Website Maintenance
<i className="flaticon-arrow-button" />
</Link>
</li>
</ul>
</div>
</div>
<div className="sidebar__widget sidebar__widget-three">
<h4 className="sidebar__widget-title">SEO Checker</h4>
<div className="sidebar__brochure sidebar__brochure-two">
<p>Check your website's SEO performance.</p>
<Link href="/#seocheck">SEO Checker</Link>
</div>
</div>
<div className="sidebar__widget sidebar__widget-two">
<div
className="sidebar__contact sidebar__contact-two"
data-background="/assets/img/services/sidebar_contact_bg.jpg"
>
<h2 className="title">
Contact Us Any Time For Immediate Support!
</h2>
<Link href="tel:+14702604117" className="btn">
<i className="flaticon-phone-call" />
(470) 260-4117
</Link>
</div>
</div>
<div className="sidebar__widget sidebar__widget-three">
<h4 className="sidebar__widget-title">Send Us a Message</h4>
<div className="sidebar__form">
<form action="#">
<div className="form-grp">
<input type="text" name="name" placeholder="Your Name" />
</div>
<div className="form-grp">
<input
type="text"
name="phone"
placeholder="Phone Number"
/>
</div>
<div className="form-grp">
<textarea name="message" placeholder="Type Your Message" />
</div>
<button type="submit" className="btn btn-two">
Send Message
</button>
</form>
</div>
</div>
</aside>
</div>
</div>
</div>
</div>
</section>
</div>
<div className="brand-area">
<div className="container">
<h4 className="brand__content">Trusted by Numerous Companies, Worldwide</h4>
<div className="swiper-container brand-active">
<BrandActiveSlider />
</div>
</div>
</div>
</Layout>
</>
);
}

View File

@ -0,0 +1,296 @@
import Layout from "@/components/layout/Layout";
import BrandActiveSlider from "@/components/slider/BrandActiveSlider";
import Link from "next/link";
export const metadata = {
title: "Service Details | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ServicesDetails3() {
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Services We Provide">
<div>
<section className="services__details-area">
<div className="container">
<div className="services__details-wrap">
<div className="row">
<div className="col-70 order-0 order-lg-2">
<div className="services__details-content services__details-content-two">
<h2 className="title">Search Engine Optimization</h2>
<p>
Businesses utilizing an online presence are becoming more saturated by
the day. The competition keeps increasing, and it is projected to
continue to increase at an exponential rate, as the physical world
collectively and gradually transitions onto the digital one. Because of
this fact, simply having a visually pleasing website isnt enough to
rank your website at the top of Googles search results. If your website
isnt optimized for search engines, its like having a beautifully
designed store that no one knows about. Poor SEO means low visibility,
less traffic, and missed opportunities. At RankRunners, we have years of
successful and proven SEO experience under our belt that will turn your
website into a powerful magnet for search engines and users alike. Our
SEO Optimization service improves your search engine rankings, increases
your domain authority, and drives targeted traffic to your site,
ensuring your online presence is both impactful and effective.
</p>
<div className="services__details-thumb">
<img src="/assets/img/custom/service-01-01.png" alt="" />
</div>
<div className="services__details-inner-three">
<h3>Benefits:</h3>
<ul>
<li>
<strong>Increased Visibility</strong>: Our expert strategies
boost your websites ranking on search engines, making it easier
for potential customers to find you.
</li>
<li>
<strong>Targeted Traffic</strong>: We attract visitors who are
actively searching for your products or services, leading to
higher engagement and conversion rates.
</li>
<li>
<strong>Customized Strategy</strong>: Our SEO plans are tailored
to your specific industry, audience, and goals, ensuring the
best results for your business.
</li>
<li>
<strong>Comprehensive Analysis</strong>: We provide in-depth
performance reports and analytics, so you can track the progress
and success of your SEO efforts.
</li>
<li>
<strong>Long-Term Results</strong>: Our SEO optimization focuses
on sustainable growth, helping you maintain and build upon your
search engine ranking over time.
</li>
</ul>
</div>
<div className="services__details-inner-two services__details-inner-four">
<div className="gutter-24">
<div className="col-48">
<div className="services__details-inner-img float-img">
<img src="/assets/img/custom/service-01-02.png" alt="" />
</div>
</div>
<div className="col-52">
<div className="services__details-inner-content-two">
<h3>Services:</h3>
<ul>
<li>
<strong>Keyword Research</strong>: Identifying
high-value keywords that attract your target
audience and drive qualified traffic to your site.
</li>
<li>
<strong>On-Page Optimization</strong>: Enhancing
individual web pages to improve search engine
rankings and user experience, including meta tags,
headers, and content.
</li>
<li>
<strong>Technical SEO</strong>: Addressing technical
aspects of your website, such as site speed, mobile
responsiveness, and crawlability, to ensure it meets
search engine standards.
</li>
<li>
<strong>Content Creation</strong>: Developing
high-quality, relevant content (Blogs, Services,
Front Page, About Us, etc.) that engages visitors
and improves your sites authority and ranking
according to certain keywords.
</li>
<li>
<strong>Link Building</strong>: Creating a strong
backlink profile through ethical and effective
strategies to boost your sites credibility and
search engine ranking.
</li>
<li>
<strong>Performance Monitoring</strong>: Regularly
analyzing and reporting on SEO performance to ensure
ongoing optimization and improvement.
</li>
</ul>
</div>
</div>
</div>
</div>
<p>
<strong>
SEO is an ongoing process with results typically becoming visible
within 3 to 6 months. Initial optimization can be completed within 4
to 6 weeks, depending on the complexity of your website and the
scope of the work.
</strong>
</p>
<div className="all_services__area-six-two">
<div className="container">
<h3>Ready to Outrun your competition?</h3>
<Link href="/schedule" className="btn">
Get Started Today!
</Link>
</div>
</div>
<p>
Have questions or ready to kick off your SEO journey? Reach out to us
via:
</p>
<div className="contact__info mb-50">
<ul className="list-wrap">
<li>
<div className="icon">
<i className="flaticon-phone-call" />
</div>
<div className="content">
<h4 className="title">Phone</h4>
<Link href="tel:+14702604117">(470) 260-4117</Link>
</div>
</li>
<li>
<div className="icon">
<i className="flaticon-mail" />
</div>
<div className="content">
<h4 className="title">Email</h4>
<Link href="mailto:support@rankrunners.net">
support@rankrunners.net
</Link>
</div>
</li>
</ul>
</div>
<h4 className="title-center">
We look forward to helping your business achieve greater online success!
</h4>
</div>
</div>
<div className="col-30">
<aside className="services__sidebar">
<div className="sidebar__widget">
<div className="services-sidebar">
<ul className="list-wrap">
<li>
<Link
href="/services/search-engine-optimization"
className="active"
>
Search Engine Optimization
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/ad-campaign-management">
Ad Campaign Management
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/cloud-computing">
Cloud Computing <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/lead-generation">
Lead Generation <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/web-development">
Web Development/Design
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/social-media-management">
Social Media Management
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/performance-monitoring">
Performance Monitoring
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/cyber-security">
Cyber Security <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/website-maintenance">
Website Maintenance
<i className="flaticon-arrow-button" />
</Link>
</li>
</ul>
</div>
</div>
<div className="sidebar__widget sidebar__widget-three">
<h4 className="sidebar__widget-title">SEO Checker</h4>
<div className="sidebar__brochure sidebar__brochure-two">
<p>Check your website's SEO performance.</p>
<Link href="/#seocheck">SEO Checker</Link>
</div>
</div>
<div className="sidebar__widget sidebar__widget-two">
<div
className="sidebar__contact sidebar__contact-two"
data-background="/assets/img/services/sidebar_contact_bg.jpg"
>
<h2 className="title">
Contact Us Any Time For Immediate Support!
</h2>
<Link href="tel:+14702604117" className="btn">
<i className="flaticon-phone-call" />
(470) 260-4117
</Link>
</div>
</div>
<div className="sidebar__widget sidebar__widget-three">
<h4 className="sidebar__widget-title">Send Us a Message</h4>
<div className="sidebar__form">
<form action="#">
<div className="form-grp">
<input type="text" name="name" placeholder="Your Name" />
</div>
<div className="form-grp">
<input
type="text"
name="phone"
placeholder="Phone Number"
/>
</div>
<div className="form-grp">
<textarea name="message" placeholder="Type Your Message" />
</div>
<button type="submit" className="btn btn-two">
Send Message
</button>
</form>
</div>
</div>
</aside>
</div>
</div>
</div>
</div>
</section>
</div>
<div className="brand-area">
<div className="container">
<h4 className="brand__content">Trusted by Numerous Companies, Worldwide</h4>
<div className="swiper-container brand-active">
<BrandActiveSlider />
</div>
</div>
</div>
</Layout>
</>
);
}

View File

@ -0,0 +1,291 @@
import Layout from "@/components/layout/Layout";
import BrandActiveSlider from "@/components/slider/BrandActiveSlider";
import Link from "next/link";
export const metadata = {
title: "Service Details | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ServicesDetails3() {
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Services We Provide">
<div>
<section className="services__details-area">
<div className="container">
<div className="services__details-wrap">
<div className="row">
<div className="col-70 order-0 order-lg-2">
<div className="services__details-content services__details-content-two">
<h2 className="title">Social Media Management</h2>
<p>
Maintaining consistently effective posts on a social media account can
be challenging. Many businesses struggle to elevate their presence,
create engaging content, and measure their social media impact
effectively. RankRunners solves these challenges with our comprehensive
Social Media Management services. We will handle every aspect of your
social media strategy, from content creation to analytics, beginning to
end, so you can focus on running your business while we enhance your
online presence.
</p>
<div className="services__details-thumb">
<img src="/assets/img/custom/service-06-01.png" alt="" />
</div>
<div className="services__details-inner-three">
<h3>Benefits:</h3>
<ul>
<li>
<strong>Strategic Planning</strong>: We develop tailored social
media strategies that align with your business goals and target
audience, ensuring effective engagement and growth.
</li>
<li>
<strong>Content Creation</strong>: Our team produces
high-quality, relevant content that resonates with your audience
and reflects your brands voice and values.
</li>
<li>
<strong>Consistent Posting</strong>: We ensure regular and
timely updates across all your social media platforms, keeping
your audience engaged and informed.
</li>
<li>
<strong>Community Engagement</strong>: We actively manage
interactions with your followers, fostering positive
relationships and addressing inquiries or feedback promptly.
</li>
<li>
<strong>Performance Tracking</strong>: Detailed analytics and
reports provide insights into your social media performance,
helping us continuously refine strategies for better results.
</li>
</ul>
</div>
<div className="services__details-inner-two services__details-inner-four">
<div className="gutter-24">
<div className="col-48">
<div className="services__details-inner-img float-img">
<img src="/assets/img/custom/service-06-02.png" alt="" />
</div>
</div>
<div className="col-52">
<div className="services__details-inner-content-two">
<h3>Services:</h3>
<ul>
<li>
<strong>Social Media Strategy Development</strong>:
Crafting a comprehensive strategy that outlines
goals, target audience, and platform-specific
tactics for optimal results.
</li>
<li>
<strong>Content Creation and Curation</strong>:
Designing engaging and shareable content, including
graphics, videos, and copy, to captivate your
audience and build brand loyalty.
</li>
<li>
<strong>Account Management</strong>: Handling
day-to-day management of your social media profiles,
including scheduling posts, responding to comments,
and monitoring engagement.
</li>
<li>
<strong>Social Media Advertising</strong>: Creating
and managing targeted ad campaigns to increase
reach, drive traffic, and generate leads or sales.
</li>
<li>
<strong>Analytics and Reporting</strong>: Providing
regular reports on social media performance,
including metrics like engagement rates, growth
statistics, and campaign effectiveness.
</li>
<li>
<strong>Influencer Collaboration</strong>:
Identifying and partnering with relevant influencers
to expand your brands reach and credibility within
your industry.
</li>
</ul>
</div>
</div>
</div>
</div>
<p>
<strong>
Initial social media strategy and setup typically take 2 to 4 weeks,
depending on the complexity and number of platforms. Ongoing
management and content creation are continuous, with performance
reviews and strategy adjustments made on a monthly basis.
</strong>
</p>
<div className="all_services__area-six-two">
<div className="container">
<h3>
Ready to elevate your social media presence and drive
engagement?
</h3>
<Link href="/schedule" className="btn">
Start Your Social Media Journey Today!
</Link>
</div>
</div>
<p>Have questions or need more details? Contact us today:</p>
<div className="contact__info mb-50">
<ul className="list-wrap">
<li>
<div className="icon">
<i className="flaticon-phone-call" />
</div>
<div className="content">
<h4 className="title">Phone</h4>
<Link href="tel:+14702604117">(470) 260-4117</Link>
</div>
</li>
<li>
<div className="icon">
<i className="flaticon-mail" />
</div>
<div className="content">
<h4 className="title">Email</h4>
<Link href="mailto:support@rankrunners.net">
support@rankrunners.net
</Link>
</div>
</li>
</ul>
</div>
<h4 className="title-center">
Let RankRunners amplify your social media presence with our expert
management services!
</h4>
</div>
</div>
<div className="col-30">
<aside className="services__sidebar">
<div className="sidebar__widget">
<div className="services-sidebar">
<ul className="list-wrap">
<li>
<Link href="/services/search-engine-optimization">
Search Engine Optimization
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/ad-campaign-management">
Ad Campaign Management
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/cloud-computing">
Cloud Computing <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/lead-generation">
Lead Generation <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/web-development">
Web Development/Design
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link
href="/services/social-media-management"
className="active"
>
Social Media Management
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/performance-monitoring">
Performance Monitoring
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/cyber-security">
Cyber Security <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/website-maintenance">
Website Maintenance
<i className="flaticon-arrow-button" />
</Link>
</li>
</ul>
</div>
</div>
<div className="sidebar__widget sidebar__widget-three">
<h4 className="sidebar__widget-title">SEO Checker</h4>
<div className="sidebar__brochure sidebar__brochure-two">
<p>Check your website's SEO performance.</p>
<Link href="/#seocheck">SEO Checker</Link>
</div>
</div>
<div className="sidebar__widget sidebar__widget-two">
<div
className="sidebar__contact sidebar__contact-two"
data-background="/assets/img/services/sidebar_contact_bg.jpg"
>
<h2 className="title">
Contact Us Any Time For Immediate Support!
</h2>
<Link href="tel:+14702604117" className="btn">
<i className="flaticon-phone-call" />
(470) 260-4117
</Link>
</div>
</div>
<div className="sidebar__widget sidebar__widget-three">
<h4 className="sidebar__widget-title">Send Us a Message</h4>
<div className="sidebar__form">
<form action="#">
<div className="form-grp">
<input type="text" name="name" placeholder="Your Name" />
</div>
<div className="form-grp">
<input
type="text"
name="phone"
placeholder="Phone Number"
/>
</div>
<div className="form-grp">
<textarea name="message" placeholder="Type Your Message" />
</div>
<button type="submit" className="btn btn-two">
Send Message
</button>
</form>
</div>
</div>
</aside>
</div>
</div>
</div>
</div>
</section>
</div>
<div className="brand-area">
<div className="container">
<h4 className="brand__content">Trusted by Numerous Companies, Worldwide</h4>
<div className="swiper-container brand-active">
<BrandActiveSlider />
</div>
</div>
</div>
</Layout>
</>
);
}

View File

@ -0,0 +1,293 @@
import Layout from "@/components/layout/Layout";
import BrandActiveSlider from "@/components/slider/BrandActiveSlider";
import Link from "next/link";
export const metadata = {
title: "Service Details | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ServicesDetails3() {
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Services We Provide">
<div>
<section className="services__details-area">
<div className="container">
<div className="services__details-wrap">
<div className="row">
<div className="col-70 order-0 order-lg-2">
<div className="services__details-content services__details-content-two">
<h2 className="title">Web Development / Design</h2>
<p>
The very first impression that an online prospect forms of your business
comes from the quality of your Web Design. Many companies struggle with
outdated designs, poor user experience, or technical issues like slow
site speed or dysfunctional buttons that hinder their online presence.
RankRunners addresses these challenges with our comprehensive Web
Development and Design services. We build and design websites that not
only look great but also function seamlessly, ensuring an exceptional
user experience and robust performance. You can reference this website
that youre currently reading through for a first-hand account of our
expertise, and check our Case Studies page to see other websites weve
created.
</p>
<div className="services__details-thumb">
<img src="/assets/img/custom/service-05-01.png" alt="" />
</div>
<div className="services__details-inner-three">
<h3>Benefits:</h3>
<ul>
<li>
<strong>Custom Design</strong>: We create visually appealing and
unique designs tailored to your brands identity, helping you
stand out in a crowded market.
</li>
<li>
<strong>Responsive Layouts</strong>: Our websites are designed
to look and perform perfectly on all devices, from desktops to
smartphones, ensuring a consistent user experience.
</li>
<li>
<strong>User-Centric Experience</strong>: We focus on intuitive
navigation and user-friendly interfaces to keep visitors engaged
and encourage conversions.
</li>
<li>
<strong>Technical Excellence</strong>: Our backend development
ensures your website runs smoothly with fast load times, secure
functionality, and scalable solutions.
</li>
<li>
<strong>SEO-Friendly</strong>: We build websites with search
engine optimization in mind, improving your visibility and
ranking in search engine results.
</li>
</ul>
</div>
<div className="services__details-inner-two services__details-inner-four">
<div className="gutter-24">
<div className="col-48">
<div className="services__details-inner-img float-img">
<img src="/assets/img/custom/service-05-02.png" alt="" />
</div>
</div>
<div className="col-52">
<div className="services__details-inner-content-two">
<h3>Services:</h3>
<ul>
<li>
<strong>Frontend Development</strong>: Crafting the
visual elements of your website using modern
technologies such as HTML, CSS, and JavaScript to
ensure an attractive and interactive user
experience.
</li>
<li>
<strong>Backend Development</strong>: Developing the
server-side logic and database management to support
your websites functionality, including custom
features and integrations.
</li>
<li>
<strong>Responsive Web Design</strong>: Designing
websites that adapt to different screen sizes and
devices, ensuring a seamless experience for all
users.
</li>
<li>
<strong>E-Commerce Development</strong>: Building
robust online stores with secure payment gateways,
inventory management, and user-friendly shopping
experiences.
</li>
<li>
<strong>Content Management Systems (CMS)</strong>:
Implementing and customizing CMS platforms like
WordPress or Joomla to enable easy content updates
and management.
</li>
<li>
<strong>Website Maintenance</strong>: Offering
ongoing support and updates to keep your website
secure, up-to-date, and functioning optimally.
</li>
</ul>
</div>
</div>
</div>
</div>
<p>
<strong>
The development and design of a new website typically take 6 to 12
weeks, depending on the complexity and scope of the project. This
includes initial design, development, testing, and revisions. We
will provide regular updates throughout the process to ensure your
vision is realized.
</strong>
</p>
<div className="all_services__area-six-two">
<div className="container">
<h3>
Ready to elevate your online presence with a stunning new
website?
</h3>
<Link href="/schedule" className="btn">
Get Started with Web Development Today!
</Link>
</div>
</div>
<p>Have questions or need more details? Contact us today:</p>
<div className="contact__info mb-50">
<ul className="list-wrap">
<li>
<div className="icon">
<i className="flaticon-phone-call" />
</div>
<div className="content">
<h4 className="title">Phone</h4>
<Link href="tel:+14702604117">(470) 260-4117</Link>
</div>
</li>
<li>
<div className="icon">
<i className="flaticon-mail" />
</div>
<div className="content">
<h4 className="title">Email</h4>
<Link href="mailto:support@rankrunners.net">
support@rankrunners.net
</Link>
</div>
</li>
</ul>
</div>
<h4 className="title-center">
Let RankRunners bring your website vision to life with our expert web
development and design services!
</h4>
</div>
</div>
<div className="col-30">
<aside className="services__sidebar">
<div className="sidebar__widget">
<div className="services-sidebar">
<ul className="list-wrap">
<li>
<Link href="/services/search-engine-optimization">
Search Engine Optimization
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/ad-campaign-management">
Ad Campaign Management
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/cloud-computing">
Cloud Computing <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/lead-generation">
Lead Generation <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/web-development" className="active">
Web Development/Design
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/social-media-management">
Social Media Management
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/performance-monitoring">
Performance Monitoring
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/cyber-security">
Cyber Security <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/website-maintenance">
Website Maintenance
<i className="flaticon-arrow-button" />
</Link>
</li>
</ul>
</div>
</div>
<div className="sidebar__widget sidebar__widget-three">
<h4 className="sidebar__widget-title">SEO Checker</h4>
<div className="sidebar__brochure sidebar__brochure-two">
<p>Check your website's SEO performance.</p>
<Link href="/#seocheck">SEO Checker</Link>
</div>
</div>
<div className="sidebar__widget sidebar__widget-two">
<div
className="sidebar__contact sidebar__contact-two"
data-background="/assets/img/services/sidebar_contact_bg.jpg"
>
<h2 className="title">
Contact Us Any Time For Immediate Support!
</h2>
<Link href="tel:+14702604117" className="btn">
<i className="flaticon-phone-call" />
(470) 260-4117
</Link>
</div>
</div>
<div className="sidebar__widget sidebar__widget-three">
<h4 className="sidebar__widget-title">Send Us a Message</h4>
<div className="sidebar__form">
<form action="#">
<div className="form-grp">
<input type="text" name="name" placeholder="Your Name" />
</div>
<div className="form-grp">
<input
type="text"
name="phone"
placeholder="Phone Number"
/>
</div>
<div className="form-grp">
<textarea name="message" placeholder="Type Your Message" />
</div>
<button type="submit" className="btn btn-two">
Send Message
</button>
</form>
</div>
</div>
</aside>
</div>
</div>
</div>
</div>
</section>
</div>
<div className="brand-area">
<div className="container">
<h4 className="brand__content">Trusted by Numerous Companies, Worldwide</h4>
<div className="swiper-container brand-active">
<BrandActiveSlider />
</div>
</div>
</div>
</Layout>
</>
);
}

View File

@ -0,0 +1,337 @@
import Layout from "@/components/layout/Layout";
import BrandActiveSlider from "@/components/slider/BrandActiveSlider";
import Link from "next/link";
export const metadata = {
title: "Service Details | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function ServicesDetails3() {
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Services We Provide">
<div>
<section className="services__details-area">
<div className="container">
<div className="services__details-wrap">
<div className="row">
<div className="col-70 order-0 order-lg-2">
<div className="services__details-content services__details-content-two">
<h2 className="title">Website Maintenance</h2>
<p>
At Rankrunners, we understand the importance of a well-maintained
website for your business's success. Our website maintenance service
ensures your site remains up-to-date, secure, and optimized for
performance, allowing you to focus on your core business activities.
</p>
<div className="services__details-thumb">
<img src="/assets/img/custom/service-09-01.png" alt="" />
</div>
<div className="services__details-inner-three">
<h3>Benefits:</h3>
<ul>
<li>
<strong>Enhanced Security</strong>:
<ul>
<li>
Regular security updates and patches to protect your
website from vulnerabilities and cyber threats.
</li>
<li>
Continuous monitoring to detect and address potential
security breaches promptly.
</li>
</ul>
</li>
<li>
<strong>Optimal Performance</strong>:
<ul>
<li>
Routine performance checks and optimizations to ensure
your website loads quickly and runs smoothly.
</li>
<li>
Regular updates to website software, plugins, and themes
for improved functionality and compatibility.
</li>
</ul>
</li>
<li>
<strong>SEO Maintenance</strong>:
<ul>
<li>
Ongoing SEO audits and adjustments to maintain and
improve search engine rankings.
</li>
<li>
Implementation of best practices for on-page and
off-page SEO to boost visibility and organic traffic.
</li>
</ul>
</li>
<li>
<strong>Content Updates</strong>:
<ul>
<li>
Timely updates to website content, including text,
images, and multimedia, to keep your site fresh and
relevant.
</li>
<li>
Assistance with content creation and editing to ensure
your messaging remains consistent and engaging.
</li>
</ul>
</li>
<li>
<strong>Technical Support</strong>:
<ul>
<li>
Access to a dedicated support team for troubleshooting
and resolving technical issues.
</li>
<li>
Regular backups to prevent data loss and ensure quick
recovery in case of emergencies.
</li>
</ul>
</li>
<li>
<strong>User Experience (UX) Enhancements</strong>:
<ul>
<li>
Continuous improvement of website navigation and
usability for a better user experience.
</li>
<li>
Implementation of responsive design techniques to ensure
your site looks and functions well on all devices.
</li>
</ul>
</li>
<li>
<strong>Analytics and Reporting</strong>:
<ul>
<li>
Detailed monthly reports on website performance,
traffic, and user behavior.
</li>
<li>
Insights and recommendations based on analytics to help
you make informed decisions.
</li>
</ul>
</li>
<li>
<strong>Compliance and Accessibility</strong>:
<ul>
<li>
Regular checks to ensure your website complies with
industry standards and regulations.
</li>
<li>
Enhancements to website accessibility, making it
user-friendly for people with disabilities.
</li>
</ul>
</li>
</ul>
</div>
<div className="services__details-inner-two services__details-inner-four">
<div className="row gutter-24 align-items-center">
<div className="col-48">
<div className="services__details-inner-img">
<img src="/assets/img/custom/service-09-02.png" alt="" />
</div>
</div>
<div className="col-52">
<div className="services__details-inner-content-two">
<p>
By choosing Rankrunners for your website maintenance
needs, you can rest assured that your online presence is
in expert hands. We are committed to helping you achieve
your business goals by keeping your website secure,
optimized, and performing at its best.
</p>
</div>
</div>
</div>
</div>
<p>
<strong>
Initial setup and a professional assessment of your companys
website(s) typically takes 2 to 4 weeks, depending on the complexity
of your needs and existing systems. Ongoing maintenance and applying
any updates are continuous, with as-needed updates and solutions
provided to keep you safe and secure.
</strong>
</p>
<div className="all_services__area-six-two">
<div className="container">
<h3>
Website Maintenance by RankRunners will keep your website ahead
of the competition. Consult us today!
</h3>
<Link href="/schedule" className="btn">
Consult us Today!
</Link>
</div>
</div>
<p>Have questions or need more details? Contact us today:</p>
<div className="contact__info mb-50">
<ul className="list-wrap">
<li>
<div className="icon">
<i className="flaticon-phone-call" />
</div>
<div className="content">
<h4 className="title">Phone</h4>
<Link href="tel:+14702604117">(470) 260-4117</Link>
</div>
</li>
<li>
<div className="icon">
<i className="flaticon-mail" />
</div>
<div className="content">
<h4 className="title">Email</h4>
<Link href="mailto:support@rankrunners.net">
support@rankrunners.net
</Link>
</div>
</li>
</ul>
</div>
<h4 className="title-center">
Let RankRunners maintain your website so you can worry about doing what
you do best!
</h4>
</div>
</div>
<div className="col-30">
<aside className="services__sidebar">
<div className="sidebar__widget">
<div className="services-sidebar">
<ul className="list-wrap">
<li>
<Link href="/services/search-engine-optimization">
Search Engine Optimization
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/ad-campaign-management">
Ad Campaign Management
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/cloud-computing">
Cloud Computing <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/lead-generation">
Lead Generation <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/web-development">
Web Development/Design
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/social-media-management">
Social Media Management
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/performance-monitoring">
Performance Monitoring
<i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link href="/services/cyber-security">
Cyber Security <i className="flaticon-arrow-button" />
</Link>
</li>
<li>
<Link
href="/services/website-maintenance"
className="active"
>
Website Maintenance
<i className="flaticon-arrow-button" />
</Link>
</li>
</ul>
</div>
</div>
<div className="sidebar__widget sidebar__widget-three">
<h4 className="sidebar__widget-title">SEO Checker</h4>
<div className="sidebar__brochure sidebar__brochure-two">
<p>Check your website's SEO performance.</p>
<Link href="/#seocheck">SEO Checker</Link>
</div>
</div>
<div className="sidebar__widget sidebar__widget-two">
<div
className="sidebar__contact sidebar__contact-two"
data-background="/assets/img/services/sidebar_contact_bg.jpg"
>
<h2 className="title">
Contact Us Any Time For Immediate Support!
</h2>
<Link href="tel:+14702604117" className="btn">
<i className="flaticon-phone-call" />
(470) 260-4117
</Link>
</div>
</div>
<div className="sidebar__widget sidebar__widget-three">
<h4 className="sidebar__widget-title">Send Us a Message</h4>
<div className="sidebar__form">
<form action="#">
<div className="form-grp">
<input type="text" name="name" placeholder="Your Name" />
</div>
<div className="form-grp">
<input
type="text"
name="phone"
placeholder="Phone Number"
/>
</div>
<div className="form-grp">
<textarea name="message" placeholder="Type Your Message" />
</div>
<button type="submit" className="btn btn-two">
Send Message
</button>
</form>
</div>
</div>
</aside>
</div>
</div>
</div>
</div>
</section>
</div>
<div className="brand-area">
<div className="container">
<h4 className="brand__content">Trusted by Numerous Companies, Worldwide</h4>
<div className="swiper-container brand-active">
<BrandActiveSlider />
</div>
</div>
</div>
</Layout>
</>
);
}

165
app/team/page.js Normal file
View File

@ -0,0 +1,165 @@
import Layout from "@/components/layout/Layout";
import Team4 from "@/components/sections/Team4";
import Callback1 from "@/components/sections/Callback1";
export const metadata = {
title: "Team | RankRunners - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function Team() {
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Our Team Members">
<Team4 />
{/* <div>
<section className="team-area pt-120 pb-90">
<div className="container">
<div className="team-item-wrap">
<div className="row justify-content-center">
<div className="col-xl-3 col-lg-4 col-md-6 col-sm-8">
<div className="team-item">
<div className="team-thumb">
<img src="/assets/img/team/team_img01.jpg" alt="" />
<div className="team-social">
<SocialToggle />
</div>
</div>
<div className="team-content">
<h4 className="title">
<Link href="/team-details">Jone Cooper</Link>
</h4>
<span>Finance Advisor</span>
</div>
</div>
</div>
<div className="col-xl-3 col-lg-4 col-md-6 col-sm-8">
<div className="team-item">
<div className="team-thumb">
<img src="/assets/img/team/team_img02.jpg" alt="" />
<div className="team-social">
<SocialToggle />
</div>
</div>
<div className="team-content">
<h4 className="title">
<Link href="/team-details">Eleanor Pena</Link>
</h4>
<span>Finance Advisor</span>
</div>
</div>
</div>
<div className="col-xl-3 col-lg-4 col-md-6 col-sm-8">
<div className="team-item">
<div className="team-thumb">
<img src="/assets/img/team/team_img03.jpg" alt="" />
<div className="team-social">
<SocialToggle />
</div>
</div>
<div className="team-content">
<h4 className="title">
<Link href="/team-details">Floyd Miles</Link>
</h4>
<span>Finance Advisor</span>
</div>
</div>
</div>
<div className="col-xl-3 col-lg-4 col-md-6 col-sm-8">
<div className="team-item">
<div className="team-thumb">
<img src="/assets/img/team/team_img04.jpg" alt="" />
<div className="team-social">
<SocialToggle />
</div>
</div>
<div className="team-content">
<h4 className="title">
<Link href="/team-details">Ralph Edwards</Link>
</h4>
<span>Finance Advisor</span>
</div>
</div>
</div>
<div className="col-xl-3 col-lg-4 col-md-6 col-sm-8">
<div className="team-item">
<div className="team-thumb">
<img src="/assets/img/team/team_img05.jpg" alt="" />
<div className="team-social">
<SocialToggle />
</div>
</div>
<div className="team-content">
<h4 className="title">
<Link href="/team-details">Genny Akurea</Link>
</h4>
<span>Finance Advisor</span>
</div>
</div>
</div>
<div className="col-xl-3 col-lg-4 col-md-6 col-sm-8">
<div className="team-item">
<div className="team-thumb">
<img src="/assets/img/team/team_img06.jpg" alt="" />
<div className="team-social">
<SocialToggle />
</div>
</div>
<div className="team-content">
<h4 className="title">
<Link href="/team-details">Leo Makerony</Link>
</h4>
<span>Finance Advisor</span>
</div>
</div>
</div>
<div className="col-xl-3 col-lg-4 col-md-6 col-sm-8">
<div className="team-item">
<div className="team-thumb">
<img src="/assets/img/team/team_img07.jpg" alt="" />
<div className="team-social">
<SocialToggle />
</div>
</div>
<div className="team-content">
<h4 className="title">
<Link href="/team-details">Dalia Jororo</Link>
</h4>
<span>Finance Advisor</span>
</div>
</div>
</div>
<div className="col-xl-3 col-lg-4 col-md-6 col-sm-8">
<div className="team-item">
<div className="team-thumb">
<img src="/assets/img/team/team_img08.jpg" alt="" />
<div className="team-social">
<SocialToggle />
</div>
</div>
<div className="team-content">
<h4 className="title">
<Link href="/team-details">Kaent Richard</Link>
</h4>
<span>Finance Advisor</span>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<div className="brand__area-six">
<div className="container">
<div className="swiper-container brand-active">
<BrandActiveSlider />
</div>
</div>
</div>
</div> */}
<Callback1 />
</Layout>
</>
);
}

540
app/terms-of-use/page.js Normal file
View File

@ -0,0 +1,540 @@
import Layout from "@/components/layout/Layout";
export const metadata = {
title: "Terms of Use - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function Blogging() {
return (
<>
<Layout headerStyle={4} footerStyle={3} breadcrumbTitle="Terms of Use">
<div>
<section className="blog__details-area-terms">
<div className="container">
<div className="blog__inner-wrap">
<div className="row">
<div>
<div className="blog__details-wrap">
<div className="blog__details-content">
<div className="blog-post-content">
<h1>Website Terms of Use</h1>
<p>Version 1.0</p>
<p>
The RankRunners.net website located at https://rankrunners.net
is a copyrighted work belonging to RankRunners. Certain features
of the Site may be subject to additional guidelines, terms, or
rules, which will be posted on the Site in connection with such
features.
</p>
<p>
All such additional terms, guidelines, and rules are
incorporated by reference into these Terms.
</p>
<p>
These Terms of Use described the legally binding terms and
conditions that oversee your use of the Site. BY LOGGING INTO
THE SITE, YOU ARE BEING COMPLIANT THAT THESE TERMS and you
represent that you have the authority and capacity to enter into
these Terms. YOU SHOULD BE AT LEAST 18 YEARS OF AGE TO ACCESS
THE SITE. IF YOU DISAGREE WITH ALL OF THE PROVISION OF THESE
TERMS, DO NOT LOG INTO AND/OR USE THE SITE.
</p>
<p>
These terms require the use of arbitration Section 10.2 on an
individual basis to resolve disputes and also limit the remedies
available to you in the event of a dispute. These Terms of Use
were created with the help of the Terms Of Use Generator.
</p>
<h1>Access to the Site</h1>
<p>
<strong>Subject to these Terms.</strong> Company grants you a
non-transferable, non-exclusive, revocable, limited license to
access the Site solely for your own personal, noncommercial use.
</p>
<p>
<strong>Certain Restrictions.</strong> The rights approved to
you in these Terms are subject to the following restrictions:
(a) you shall not sell, rent, lease, transfer, assign,
distribute, host, or otherwise commercially exploit the Site;
(b) you shall not change, make derivative works of, disassemble,
reverse compile or reverse engineer any part of the Site; (c)
you shall not access the Site in order to build a similar or
competitive website; and (d) except as expressly stated herein,
no part of the Site may be copied, reproduced, distributed,
republished, downloaded, displayed, posted or transmitted in any
form or by any means unless otherwise indicated, any future
release, update, or other addition to functionality of the Site
shall be subject to these Terms. All copyright and other
proprietary notices on the Site must be retained on all copies
thereof.
</p>
<p>
Company reserves the right to change, suspend, or cease the Site
with or without notice to you. You approved that Company will
not be held liable to you or any third-party for any change,
interruption, or termination of the Site or any part.
</p>
<p>
<strong>No Support or Maintenance.</strong> You agree that
Company will have no obligation to provide you with any support
in connection with the Site.
</p>
<p>
Excluding any User Content that you may provide, you are aware
that all the intellectual property rights, including copyrights,
patents, trademarks, and trade secrets, in the Site and its
content are owned by Company or Company's suppliers. Note that
these Terms and access to the Site do not give you any rights,
title or interest in or to any intellectual property rights,
except for the limited access rights expressed in Section 2.1.
Company and its suppliers reserve all rights not granted in
these Terms.
</p>
<h1>Third-Party Links and Ads; Other Users</h1>
<p>
<strong>Third-Party Links & Ads.</strong> The Site may contain
links to third-party websites and services, and/or display
advertisements for third-parties. Such Third-Party Links & Ads
are not under the control of Company, and Company is not
responsible for any Third-Party Links & Ads. Company provides
access to these Third-Party Links & Ads only as a convenience to
you, and does not review, approve, monitor, endorse, warrant, or
make any representations with respect to Third-Party Links &
Ads. You use all Third-Party Links & Ads at your own risk, and
should apply a suitable level of caution and discretion in doing
so. When you click on any of the Third-Party Links & Ads, the
applicable third party's terms and policies apply, including the
third party's privacy and data gathering practices.
</p>
<p>
<strong>Other Users.</strong> Each Site user is solely
responsible for any and all of its own User Content. Because we
do not control User Content, you acknowledge and agree that we
are not responsible for any User Content, whether provided by
you or by others. You agree that Company will not be responsible
for any loss or damage incurred as the result of any such
interactions. If there is a dispute between you and any Site
user, we are under no obligation to become involved.
</p>
<p>
You hereby release and forever discharge the Company and our
officers, employees, agents, successors, and assigns from, and
hereby waive and relinquish, each and every past, present and
future dispute, claim, controversy, demand, right, obligation,
liability, action and cause of action of every kind and nature,
that has arisen or arises directly or indirectly out of, or that
relates directly or indirectly to, the Site. If you are a
California resident, you hereby waive California civil code
section 1542 in connection with the foregoing, which states: "a
general release does not extend to claims which the creditor
does not know or suspect to exist in his or her favor at the
time of executing the release, which if known by him or her must
have materially affected his or her settlement with the debtor."
</p>
<p>
<strong>Cookies and Web Beacons.</strong> Like any other
website, RankRunners.net uses cookies'. These cookies are used
to store information including visitors' preferences, and the
pages on the website that the visitor accessed or visited. The
information is used to optimize the users' experience by
customizing our web page content based on visitors' browser type
and/or other information.
</p>
<h1>Disclaimers</h1>
<p>
The site is provided on an "as-is" and "as available" basis, and
company and our suppliers expressly disclaim any and all
warranties and conditions of any kind, whether express, implied,
or statutory, including all warranties or conditions of
merchantability, fitness for a particular purpose, title, quiet
enjoyment, accuracy, or non-infringement. We and our suppliers
make not guarantee that the site will meet your requirements,
will be available on an uninterrupted, timely, secure, or
error-free basis, or will be accurate, reliable, free of viruses
or other harmful code, complete, legal, or safe. If applicable
law requires any warranties with respect to the site, all such
warranties are limited in duration to ninety (90) days from the
date of first use.
</p>
<p>
Some jurisdictions do not allow the exclusion of implied
warranties, so the above exclusion may not apply to you. Some
jurisdictions do not allow limitations on how long an implied
warranty lasts, so the above limitation may not apply to you.
</p>
<h1>Limitation on Liability</h1>
<p>
To the maximum extent permitted by law, in no event shall
company or our suppliers be liable to you or any third-party for
any lost profits, lost data, costs of procurement of substitute
products, or any indirect, consequential, exemplary, incidental,
special or punitive damages arising from or relating to these
terms or your use of, or incapability to use the site even if
company has been advised of the possibility of such damages.
Access to and use of the site is at your own discretion and
risk, and you will be solely responsible for any damage to your
device or computer system, or loss of data resulting therefrom.
</p>
<p>
To the maximum extent permitted by law, notwithstanding anything
to the contrary contained herein, our liability to you for any
damages arising from or related to this agreement, will at all
times be limited to a maximum of fifty U.S. dollars (u.s. $50).
The existence of more than one claim will not enlarge this
limit. You agree that our suppliers will have no liability of
any kind arising from or relating to this agreement.
</p>
<p>
Some jurisdictions do not allow the limitation or exclusion of
liability for incidental or consequential damages, so the above
limitation or exclusion may not apply to you.
</p>
<p>
<strong>Term and Termination.</strong> Subject to this Section,
these Terms will remain in full force and effect while you use
the Site. We may suspend or terminate your rights to use the
Site at any time for any reason at our sole discretion,
including for any use of the Site in violation of these Terms.
Upon termination of your rights under these Terms, your Account
and right to access and use the Site will terminate immediately.
You understand that any termination of your Account may involve
deletion of your User Content associated with your Account from
our live databases. Company will not have any liability
whatsoever to you for any termination of your rights under these
Terms. Even after your rights under these Terms are terminated,
the following provisions of these Terms will remain in effect:
Sections 2 through 2.5, Section 3 and Sections 4 through 10.
</p>
<h1>Copyright Policy.</h1>
<p>
Company respects the intellectual property of others and asks
that users of our Site do the same. In connection with our Site,
we have adopted and implemented a policy respecting copyright
law that provides for the removal of any infringing materials
and for the termination of users of our online Site who are
repeated infringers of intellectual property rights, including
copyrights. If you believe that one of our users is, through the
use of our Site, unlawfully infringing the copyright(s) in a
work, and wish to have the allegedly infringing material
removed, the following information in the form of a written
notification (pursuant to 17 U.S.C. § 512(c)) must be provided
to our designated Copyright Agent:
</p>
<ul>
<li>Your physical or electronic signature;</li>
<li>
Identification of the copyrighted work(s) that you claim to
have been infringed;
</li>
<li>
Identification of the material on our services that you
claim is infringing and that you request us to remove;
</li>
<li>
Sufficient information to permit us to locate such material;
</li>
<li>Your address, telephone number, and e-mail address;</li>
<li>
A statement that you have a good faith belief that use of
the objectionable material is not authorized by the
copyright owner, its agent, or under the law; and
</li>
<li>
a statement that the information in the notification is
accurate, and under penalty of perjury, that you are either
the owner of the copyright that has allegedly been infringed
or that you are authorized to act on behalf of the copyright
owner.
</li>
</ul>
<p>
Please note that, pursuant to 17 U.S.C. § 512(f), any
misrepresentation of material fact in a written notification
automatically subjects the complaining party to liability for
any damages, costs and attorney's fees incurred by us in
connection with the written notification and allegation of
copyright infringement.
</p>
<h1>General</h1>
<p>
These Terms are subject to occasional revision, and if we make
any substantial changes, we may notify you by sending you an
e-mail to the last e-mail address you provided to us and/or by
prominently posting notice of the changes on our Site. You are
responsible for providing us with your most current e-mail
address. In the event that the last e-mail address that you have
provided us is not valid our dispatch of the e-mail containing
such notice will nonetheless constitute effective notice of the
changes described in the notice. Any changes to these Terms will
be effective upon the earliest of thirty (30) calendar days
following our dispatch of an e-mail notice to you or thirty (30)
calendar days following our posting of notice of the changes on
our Site. These changes will be effective immediately for new
users of our Site. Continued use of our Site following notice of
such changes shall indicate your acknowledgement of such changes
and agreement to be bound by the terms and conditions of such
changes. Dispute Resolution. Please read this Arbitration
Agreement carefully. It is part of your contract with Company
and affects your rights. It contains procedures for MANDATORY
BINDING ARBITRATION AND A CLASS ACTION WAIVER.
</p>
<p>
<strong>Applicability of Arbitration Agreement.</strong> All
claims and disputes in connection with the Terms or the use of
any product or service provided by the Company that cannot be
resolved informally or in small claims court shall be resolved
by binding arbitration on an individual basis under the terms of
this Arbitration Agreement. Unless otherwise agreed to, all
arbitration proceedings shall be held in English. This
Arbitration Agreement applies to you and the Company, and to any
subsidiaries, affiliates, agents, employees, predecessors in
interest, successors, and assigns, as well as all authorized or
unauthorized users or beneficiaries of services or goods
provided under the Terms.
</p>
<p>
<strong>
Notice Requirement and Informal Dispute Resolution.
</strong>
Before either party may seek arbitration, the party must first
send to the other party a written Notice of Dispute describing
the nature and basis of the claim or dispute, and the requested
relief. A Notice to the Company should be sent to: 1934 N. Druid
Hills Rd, Suite B Brookhaven, Georgia 30319 USA. After the
Notice is received, you and the Company may attempt to resolve
the claim or dispute informally. If you and the Company do not
resolve the claim or dispute within thirty (30) days after the
Notice is received, either party may begin an arbitration
proceeding. The amount of any settlement offer made by any party
may not be disclosed to the arbitrator until after the
arbitrator has determined the amount of the award to which
either party is entitled.
</p>
<p>
<strong>Arbitration Rules.</strong> Arbitration shall be
initiated through the American Arbitration Association, an
established alternative dispute resolution provider that offers
arbitration as set forth in this section. If AAA is not
available to arbitrate, the parties shall agree to select an
alternative ADR Provider. The rules of the ADR Provider shall
govern all aspects of the arbitration except to the extent such
rules are in conflict with the Terms. The AAA Consumer
Arbitration Rules governing the arbitration are available online
at adr.org or by calling the AAA at 1-800-778-7879. The
arbitration shall be conducted by a single, neutral arbitrator.
Any claims or disputes where the total amount of the award
sought is less than Ten Thousand U.S. Dollars (US $10,000.00)
may be resolved through binding non-appearance-based
arbitration, at the option of the party seeking relief. For
claims or disputes where the total amount of the award sought is
Ten Thousand U.S. Dollars (US $10,000.00) or more, the right to
a hearing will be determined by the Arbitration Rules. Any
hearing will be held in a location within 100 miles of your
residence, unless you reside outside of the United States, and
unless the parties agree otherwise. If you reside outside of the
U.S., the arbitrator shall give the parties reasonable notice of
the date, time and place of any oral hearings. Any judgment on
the award rendered by the arbitrator may be entered in any court
of competent jurisdiction. If the arbitrator grants you an award
that is greater than the last settlement offer that the Company
made to you prior to the initiation of arbitration, the Company
will pay you the greater of the award or $2,500.00. Each party
shall bear its own costs and disbursements arising out of the
arbitration and shall pay an equal share of the fees and costs
of the ADR Provider.
</p>
<p>
<strong>
Additional Rules for Non-Appearance Based Arbitration.
</strong>
If non-appearance based arbitration is elected, the arbitration
shall be conducted by telephone, online and/or based solely on
written submissions; the specific manner shall be chosen by the
party initiating the arbitration. The arbitration shall not
involve any personal appearance by the parties or witnesses
unless otherwise agreed by the parties.
</p>
<p>
<strong>Time Limits.</strong> If you or the Company pursues
arbitration, the arbitration action must be initiated and/or
demanded within the statute of limitations and within any
deadline imposed under the AAA Rules for the pertinent claim.
</p>
<p>
<strong>Authority of Arbitrator.</strong> If arbitration is
initiated, the arbitrator will decide the rights and liabilities
of you and the Company, and the dispute will not be consolidated
with any other matters or joined with any other cases or
parties. The arbitrator shall have the authority to grant
motions dispositive of all or part of any claim. The arbitrator
shall have the authority to award monetary damages, and to grant
any non-monetary remedy or relief available to an individual
under applicable law, the AAA Rules, and the Terms. The
arbitrator shall issue a written award and statement of decision
describing the essential findings and conclusions on which the
award is based. The arbitrator has the same authority to award
relief on an individual basis that a judge in a court of law
would have. The award of the arbitrator is final and binding
upon you and the Company.
</p>
<p>
<strong>Waiver of Jury Trial.</strong> THE PARTIES HEREBY WAIVE
THEIR CONSTITUTIONAL AND STATUTORY RIGHTS TO GO TO COURT AND
HAVE A TRIAL IN FRONT OF A JUDGE OR A JURY, instead electing
that all claims and disputes shall be resolved by arbitration
under this Arbitration Agreement. Arbitration procedures are
typically more limited, more efficient and less expensive than
rules applicable in a court and are subject to very limited
review by a court. In the event any litigation should arise
between you and the Company in any state or federal court in a
suit to vacate or enforce an arbitration award or otherwise, YOU
AND THE COMPANY WAIVE ALL RIGHTS TO A JURY TRIAL, instead
electing that the dispute be resolved by a judge.
</p>
<p>
<strong>Waiver of Class or Consolidated Actions.</strong> All
claims and disputes within the scope of this arbitration
agreement must be arbitrated or litigated on an individual basis
and not on a class basis, and claims of more than one customer
or user cannot be arbitrated or litigated jointly or
consolidated with those of any other customer or user.
</p>
<p>
<strong>Confidentiality.</strong> All aspects of the arbitration
proceeding shall be strictly confidential. The parties agree to
maintain confidentiality unless otherwise required by law. This
paragraph shall not prevent a party from submitting to a court
of law any information necessary to enforce this Agreement, to
enforce an arbitration award, or to seek injunctive or equitable
relief.
</p>
<p>
<strong>Severability.</strong> If any part or parts of this
Arbitration Agreement are found under the law to be invalid or
unenforceable by a court of competent jurisdiction, then such
specific part or parts shall be of no force and effect and shall
be severed and the remainder of the Agreement shall continue in
full force and effect.
</p>
<p>
<strong>Right to Waive.</strong> Any or all of the rights and
limitations set forth in this Arbitration Agreement may be
waived by the party against whom the claim is asserted. Such
waiver shall not waive or affect any other portion of this
Arbitration Agreement.
</p>
<p>
<strong>Survival of Agreement.</strong> This Arbitration
Agreement will survive the termination of your relationship with
Company.
</p>
<p>
<strong>Small Claims Court.</strong> Nonetheless the foregoing,
either you or the Company may bring an individual action in
small claims court.
</p>
<p>
<strong>Emergency Equitable Relief.</strong> Anyhow the
foregoing, either party may seek emergency equitable relief
before a state or federal court in order to maintain the status
quo pending arbitration. A request for interim measures shall
not be deemed a waiver of any other rights or obligations under
this Arbitration Agreement.
</p>
<p>
<strong>Claims Not Subject to Arbitration.</strong>
Notwithstanding the foregoing, claims of defamation, violation
of the Computer Fraud and Abuse Act, and infringement or
misappropriation of the other party's patent, copyright,
trademark or trade secrets shall not be subject to this
Arbitration Agreement.
</p>
<p>
In any circumstances where the foregoing Arbitration Agreement
permits the parties to litigate in court, the parties hereby
agree to submit to the personal jurisdiction of the courts
located within us County, California, for such purposes.
</p>
<p>
The Site may be subject to U.S. export control laws and may be
subject to export or import regulations in other countries. You
agree not to export, re-export, or transfer, directly or
indirectly, any U.S. technical data acquired from Company, or
any products utilizing such data, in violation of the United
States export laws or regulations.
</p>
<p>
Company is located at the address in Section 10.8. If you are a
California resident, you may report complaints to the Complaint
Assistance Unit of the Division of Consumer Product of the
California Department of Consumer Affairs by contacting them in
writing at 400 R Street, Sacramento, CA 95814, or by telephone
at (800) 952-5210.
</p>
<p>
<strong>Electronic Communications.</strong> The communications
between you and Company use electronic means, whether you use
the Site or send us emails, or whether Company posts notices on
the Site or communicates with you via email. For contractual
purposes, you (a) consent to receive communications from Company
in an electronic form; and (b) agree that all terms and
conditions, agreements, notices, disclosures, and other
communications that Company provides to you electronically
satisfy any legal obligation that such communications would
satisfy if it were be in a hard copy writing.
</p>
<p>
<strong>Entire Terms.</strong> These Terms constitute the entire
agreement between you and us regarding the use of the Site. Our
failure to exercise or enforce any right or provision of these
Terms shall not operate as a waiver of such right or provision.
The section titles in these Terms are for convenience only and
have no legal or contractual effect. The word "including" means
"including without limitation". If any provision of these Terms
is held to be invalid or unenforceable, the other provisions of
these Terms will be unimpaired and the invalid or unenforceable
provision will be deemed modified so that it is valid and
enforceable to the maximum extent permitted by law. Your
relationship to Company is that of an independent contractor,
and neither party is an agent or partner of the other. These
Terms, and your rights and obligations herein, may not be
assigned, subcontracted, delegated, or otherwise transferred by
you without Company's prior written consent, and any attempted
assignment, subcontract, delegation, or transfer in violation of
the foregoing will be null and void. Company may freely assign
these Terms. The terms and conditions set forth in these Terms
shall be binding upon assignees.
</p>
<p>
<strong>Your Privacy.</strong> Please read our Privacy Policy.
</p>
<p>
<strong>Copyright/Trademark Information.</strong> Copyright ©.
All rights reserved. All trademarks, logos and service marks
displayed on the Site are our property or the property of other
third-parties. You are not permitted to use these Marks without
our prior written consent or the consent of such third party
which may own the Marks.
</p>
<h1>Contact Information</h1>
<p>
Address: 1934 N. Druid Hills Rd, Suite B Brookhaven, Georgia
30319 USA
</p>
<p>Email: support@rankrunners.net</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
{/* blog-details-area-end */}
</div>
</Layout>
</>
);
}

32
app/wip/page.js Normal file
View File

@ -0,0 +1,32 @@
import Layout from "@/components/layout/Layout";
import Link from "next/link";
export const metadata = {
title: "Work in Progress - SEO, Web Design & Digital Marketing Agency",
description:
"RankRunners provides enterprise level SEO, Web Design/Development, Digital Marketing and IT Management services for companies across all industries, regardless of scope or size. Contact support@rankrunners.net to get started today!",
};
export default function NotFound() {
return (
<>
<Layout headerStyle={4} footerStyle={3} transparent={false}>
<section className="error-area">
<div className="container">
<div className="row">
<div className="col-lg-12">
<div className="error-content">
<h2 className="title">Work in Progress</h2>
<p>This page is under construction. Please check back later.</p>
<Link href="/" className="btn btn-two">
Go Back To Home Page
</Link>
</div>
</div>
</div>
</div>
</section>
</Layout>
</>
);
}

View File

@ -0,0 +1,45 @@
import Link from "next/link";
export default function BlogCard1({ item }) {
return (
<>
<div className="col-md-6">
<div className="blog__post-two shine-animate-item">
<div className="blog__post-thumb-two">
<Link href={`/blog/${item.slug}`} className="shine-animate">
<img src={`/assets/img/blogging/${item.img}`} alt="" />
</Link>
</div>
<div className="blog__post-content-two">
<div className="blog-post-meta">
<ul className="list-wrap">
<li>
<Link href="/blog" className="blog__post-tag-two">
{item.category}
</Link>
</li>
<li>
<i className="fas fa-calendar-alt" />
{item.date}
</li>
</ul>
</div>
<h2 className="title">
<Link href={`/blog/${item.slug}`}>{item.title}</Link>
</h2>
<div className="blog-avatar">
<div className="avatar-thumb">
<img src="/assets/img/blog/authorImg.png" alt="" />
</div>
<div className="avatar-content">
<p>
By <Link href={`/blog/${item.slug}`}>{item.author}</Link>
</p>
</div>
</div>
</div>
</div>
</div>
</>
);
}

View File

@ -0,0 +1,45 @@
import Link from "next/link";
export default function BlogCard1({ item }) {
return (
<>
<div className="col-md-4">
<div className="blog__post-two shine-animate-item">
<div className="blog__post-thumb-two">
<Link href={`/blog/${item.slug}`} className="shine-animate">
<img src={`/assets/img/blogging/${item.img}`} alt="" />
</Link>
</div>
<div className="blog__post-content-two">
<div className="blog-post-meta">
<ul className="list-wrap">
<li>
<Link href="/blog" className="blog__post-tag-two">
{item.category}
</Link>
</li>
<li>
<i className="fas fa-calendar-alt" />
{item.date}
</li>
</ul>
</div>
<h2 className="title">
<Link href={`/blog/${item.slug}`}>{item.title}</Link>
</h2>
<div className="blog-avatar">
<div className="avatar-thumb">
<img src="/assets/img/blog/authorImg.png" alt="" />
</div>
<div className="avatar-content">
<p>
By <Link href={`/blog/${item.slug}`}>{item.author}</Link>
</p>
</div>
</div>
</div>
</div>
</div>
</>
);
}

View File

@ -0,0 +1,77 @@
'use client'
import React, { useEffect, useState } from "react"
import data from "../../util/blog.json"
import BlogCard1 from "./BlogCard1"
import Pagination from "./Pagination"
export default function BlogPost({ style, showItem, showPagination }) {
let [currentPage, setCurrentPage] = useState(1)
let showLimit = showItem,
paginationItem = 4
let [pagination, setPagination] = useState([])
let [limit, setLimit] = useState(showLimit)
let [pages, setPages] = useState(Math.ceil(data.length / limit))
useEffect(() => {
cratePagination()
}, [limit, pages, data.length])
const cratePagination = () => {
// set pagination
let arr = new Array(Math.ceil(data.length / limit))
.fill()
.map((_, idx) => idx + 1)
setPagination(arr)
setPages(Math.ceil(data.length / limit))
}
const startIndex = currentPage * limit - limit
const endIndex = startIndex + limit
const getPaginatedProducts = data.slice(startIndex, endIndex)
let start = Math.floor((currentPage - 1) / paginationItem) * paginationItem
let end = start + paginationItem
const getPaginationGroup = pagination.slice(start, end)
const next = () => {
setCurrentPage((page) => page + 1)
}
const prev = () => {
setCurrentPage((page) => page - 1)
}
const handleActive = (item) => {
setCurrentPage(item)
}
return (
<>
{getPaginatedProducts.length === 0 && (
<h3>No Products Found </h3>
)}
{getPaginatedProducts.map(item => (
<React.Fragment key={item.id}>
{!style && <BlogCard1 item={item} />}
{style === 1 && <BlogCard1 item={item} />}
</React.Fragment>
))}
{showPagination &&
<Pagination
getPaginationGroup={
getPaginationGroup
}
currentPage={currentPage}
pages={pages}
next={next}
prev={prev}
handleActive={handleActive}
/>
}
</>
)
}

View File

@ -0,0 +1,54 @@
export default function Pagination({
prev,
currentPage,
getPaginationGroup,
next,
pages,
handleActive,
}) {
return (
<>
<div className="pagination-wrap mt-40">
<nav aria-label="Page navigation example">
<ul className="pagination list-wrap">
{getPaginationGroup.length <= 0 ? null : (
<li onClick={prev} className="next_link page-item">
{currentPage === 1 ? null : (
<a className="page-link">
<i className="fas fa-angle-double-left" />
</a>
)}
</li>
)}
{getPaginationGroup.map((item, index) => {
return (
<li
onClick={() => handleActive(item)}
key={index}
className={
currentPage === item
? "page-item active"
: "page-item"
}
>
<a className="page-link">{item}</a>
</li>
)
})}
{getPaginationGroup.length <= 0 ? null : (
<li onClick={next} className="next_link page-item">
{currentPage >= pages ? null : (
<a className="page-link">
<i className="fas fa-angle-double-right" />
</a>
)}
</li>
)}
</ul>
</nav>
</div>
</>
)
}

View File

@ -0,0 +1,24 @@
import Link from "next/link";
export default function BlogAsideContent({ item }) {
return (
<>
<div className="sidebar__post-item">
<div className="sidebar__post-thumb">
<Link href="/blog-details">
<img src={`/assets/img/blogging/${item.img}`} alt="" />
</Link>
</div>
<div className="sidebar__post-content">
<h5 className="title">
<Link href={`/blog/${item.slug}`}>{item.title}</Link>
</h5>
<span className="date">
<i className="flaticon-time" />
{item.date}
</span>
</div>
</div>
</>
);
}

View File

@ -0,0 +1,19 @@
"use client";
import React from "react";
import data from "@/util/blog.json";
import BlogAsideContent from "./BlogAsideContent";
export default function BlogAsideLatest() {
const getAllBlogFunction = data.slice(0, 3);
return (
<div className="sidebar__widget">
<h4 className="sidebar__widget-title">Latest Articles</h4>
<div className="sidebar__post-list">
{getAllBlogFunction.map((item) => (
<React.Fragment key={item.id}>{<BlogAsideContent item={item} />}</React.Fragment>
))}
</div>
</div>
);
}

View File

@ -0,0 +1,79 @@
"use client";
import Link from "next/link";
import { useEffect, useState } from "react";
import data from "@/util/blog.json";
export default function BlogCta({ slug }) {
const [blogPost, setBlogPost] = useState(null);
useEffect(() => {
setBlogPost(data.find((item) => item.slug === slug));
}, [data, slug]);
if (!blogPost) return null;
return (
<div>
<div className="blog__details-bottom">
<div className="row align-items-center">
<div className="col-md-7">
<div className="post-tags">
<h5 className="title">Tags:</h5>
<ul className="list-wrap">
{blogPost.tags.map((tag) => (
<li key={tag}>
<Link href="#">{tag}</Link>
</li>
))}
</ul>
</div>
</div>
<div className="col-md-5">
<div className="post-share">
<h5 className="title">Share:</h5>
<ul className="list-wrap">
<li>
<Link
href={`https://www.facebook.com/sharer/sharer.php?u=${window.location.origin}/blog/${blogPost.slug}`}
target="_blank"
rel="noopener noreferrer"
>
<i className="fab fa-facebook-f" />
</Link>
</li>
<li>
<Link
href={`https://twitter.com/intent/tweet?text=Check out this blog post: ${window.location.origin}/blog/${blogPost.slug}`}
target="_blank"
rel="noopener noreferrer"
>
<i className="fab fa-twitter" />
</Link>
</li>
<li>
<Link
href={`https://www.instagram.com/p/${window.location.origin}/blog/${blogPost.slug}`}
target="_blank"
rel="noopener noreferrer"
>
<i className="fab fa-instagram" />
</Link>
</li>
<li>
<Link
href={`https://pinterest.com/pin/create/bookmarklet/?url=${window.location.origin}/blog/${blogPost.slug}&media=&description=`}
target="_blank"
rel="noopener noreferrer"
>
<i className="fab fa-pinterest-p" />
</Link>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
);
}

View File

@ -0,0 +1,48 @@
"use client";
import Link from "next/link";
import { useEffect, useState } from "react";
import data from "@/util/blog.json";
export default function BlogDetailsClient({ slug }) {
const [blogPost, setBlogPost] = useState(null);
useEffect(() => {
setBlogPost(data.find((item) => item.slug === slug));
}, [data, slug]);
if (!blogPost) return null;
return (
<div>
<div className="blog__details-thumb">
<img src={`/assets/img/blogging/${blogPost.img}`} className="w-100" alt="" />
</div>
<h1 className="title">{blogPost.title}</h1>
<div className="blog-post-meta">
<ul className="list-wrap">
<li>
<Link href="/blog" className="blog__post-tag-two">
{blogPost.category}
</Link>
</li>
<li>
<div className="blog-avatar">
<div className="avatar-thumb">
<img src="/assets/img/blog/authorImg.png" alt="" />
</div>
<div className="avatar-content">
<p>
By <Link href="#">{blogPost.author}</Link>
</p>
</div>
</div>
</li>
<li>
<i className="fas fa-calendar-alt" />
{blogPost.date}
</li>
</ul>
</div>
</div>
);
}

View File

@ -0,0 +1,119 @@
"use client";
import Link from "next/link";
import { useEffect, useState } from "react";
import data from "@/util/case-study.json";
export default function BlogDetailsClient({ slug }) {
const [casePost, setcasePost] = useState(null);
useEffect(() => {
setcasePost(data.find((item) => item.slug === slug));
}, [data, slug]);
if (!casePost) return null;
return (
<div className="row">
<div className="col-12">
<div className="section-title text-center mb-40 tg-heading-subheading animation-style3">
<h2 className="title tg-element-title">Case Study: {casePost.title}</h2>
</div>
</div>
<div className="col-12">
<div className="project__details-top">
<div className="row">
<div className="col-70">
{casePost.img.endsWith(".png") || casePost.img.endsWith(".webp") ? (
<div className="project__details-thumb">
<img src={`/assets/img/case-study/${casePost.img}`} alt="" />
</div>
) : casePost.img.endsWith(".webm") || casePost.img.endsWith(".mp4") ? (
<div className="project__details-thumb">
<video src={`/assets/img/case-study/${casePost.img}`} autoPlay muted loop alt="" />
</div>
) : null}
</div>
<div className="col-30">
<div className="project__details-info">
<h4 className="title">Company Details</h4>
<ul className="list-wrap">
<li>
<span>Client:</span>
{casePost.title}
</li>
<li>
<span>Website:</span>
<Link href={casePost.website} className="case-study-link">
{casePost.websiteName}
</Link>
</li>
<li>
<span>Industry:</span>
{casePost.industry}
</li>
<li>
<span>Services utilized:</span>
{casePost.utilized}
</li>
<li>
<span>Review:</span>
<Link href={casePost.reviewUrl} target="_blank">
<div className="case-study-rating">
<i className="fas fa-star" />
<i className="fas fa-star" />
<i className="fas fa-star" />
<i className="fas fa-star" />
<i className="fas fa-star" />
</div>
</Link>
</li>
<li>
<span>Share:</span>
<ul className="list-wrap project-social">
<li>
<Link
href={`https://www.facebook.com/sharer/sharer.php?u=${window.location.origin}/blog/${casePost.slug}`}
target="_blank"
rel="noopener noreferrer"
>
<i className="fab fa-facebook-f" />
</Link>
</li>
<li>
<Link
href={`https://twitter.com/intent/tweet?text=Check out this blog post: ${window.location.origin}/blog/${casePost.slug}`}
target="_blank"
rel="noopener noreferrer"
>
<i className="fab fa-twitter" />
</Link>
</li>
<li>
<Link
href={`https://www.instagram.com/p/${window.location.origin}/blog/${casePost.slug}`}
target="_blank"
rel="noopener noreferrer"
>
<i className="fab fa-instagram" />
</Link>
</li>
<li>
<Link
href={`https://pinterest.com/pin/create/bookmarklet/?url=${window.location.origin}/blog/${casePost.slug}&media=&description=`}
target="_blank"
rel="noopener noreferrer"
>
<i className="fab fa-pinterest-p" />
</Link>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
);
}

View File

@ -0,0 +1,132 @@
"use client";
import React, { useState } from "react";
import "react-phone-number-input/style.css";
import PhoneInput from "react-phone-number-input";
export default function ReportContent() {
const [formData, setFormData] = useState({
name: "",
emailAddress: "",
phoneNumber: "",
subject: "",
message: "",
checkbox: false,
});
const handleChange = (e) => {
const { name, value, type, checked } = e.target;
setFormData((prevState) => ({
...prevState,
[name]: type === "checkbox" ? checked : value,
}));
};
const handlePhoneChange = (value) => {
setFormData((prevState) => ({
...prevState,
phoneNumber: value,
}));
};
const handleSubmit = async (e) => {
e.preventDefault();
try {
const response = await fetch("/api/contact-send", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
});
if (response.ok) {
alert("Form submitted successfully!");
document.cookie = `prospectClient=true; path=/; max-age=31536000`;
} else {
throw new Error("Form submission failed");
}
} catch (error) {
console.error("Error:", error);
alert("An error occurred while submitting the form.");
}
};
return (
<div className="contact__form-wrap">
<h2 className="title">Get In Touch</h2>
<form id="contact-form" onSubmit={handleSubmit}>
<div className="row">
<div className="col-md-6">
<div className="form-grp">
<input
type="text"
name="name"
placeholder="Your Name"
value={formData.name}
onChange={handleChange}
required
/>
</div>
</div>
<div className="col-md-6">
<div className="form-grp">
<input
type="text"
name="emailAddress"
placeholder="Email Address"
value={formData.emailAddress}
onChange={handleChange}
required
/>
</div>
</div>
<div className="col-md-6">
<div className="form-grp">
<PhoneInput
international
defaultCountry="US"
value={formData.phoneNumber}
onChange={handlePhoneChange}
/>
</div>
</div>
<div className="col-md-6">
<div className="form-grp">
<input
type="text"
name="subject"
placeholder="Subject"
value={formData.subject}
onChange={handleChange}
required
/>
</div>
</div>
</div>
<div className="form-grp">
<textarea
name="message"
placeholder="Write Message"
value={formData.message}
onChange={handleChange}
required
/>
</div>
<div className="form-grp checkbox-grp">
<input
type="checkbox"
name="checkbox"
id="checkbox"
checked={formData.checkbox}
onChange={handleChange}
/>
<label htmlFor="checkbox">Save my name, email and phone number for future messages</label>
</div>
<button type="submit" className="btn">
Submit Request
</button>
</form>
<p className="ajax-response mb-0" />
</div>
);
}

View File

@ -0,0 +1,11 @@
import * as React from "react";
export const EmailTemplate = ({ name = "", emailAddress = "", phoneNumber = "", subject = "", message = "" }) => (
<div>
<h3>Name: {name}</h3>
<h3>Email: {emailAddress}</h3>
<h3>Phone: {phoneNumber}</h3>
<h3>Subject: {subject}</h3>
<h3>Message: {message}</h3>
</div>
);

View File

@ -0,0 +1,73 @@
import { useState } from "react";
export default function ManageAccount() {
const [name, setName] = useState("John Doe");
const [email, setEmail] = useState("johndoe@example.com");
const [phoneNumber, setPhoneNumber] = useState("123-456-7890");
const [password, setPassword] = useState("************");
const handleNameEdit = () => {
// Add your logic to edit the name
};
const handleEmailEdit = () => {
// Add your logic to edit the email
};
const handlePhoneNumberEdit = () => {
// Add your logic to edit the phone number
};
const handlePasswordChange = () => {
// Add your logic to change the password
};
const handleAccountDelete = () => {
// Add your logic to delete the account
};
return (
<div>
<h2>Manage Account</h2>
<h4>Profile Information</h4>
<div className="input-style">
<label htmlFor="name">Name:</label>
<input type="text" id="name" value={name} readOnly />
<button onClick={handleNameEdit} className="btn-input">
Edit
</button>
</div>
<div className="input-style">
<label htmlFor="email">Email:</label>
<input type="email" id="email" value={email} readOnly />
<button onClick={handleEmailEdit} className="btn-input">
Edit
</button>
</div>
<div className="input-style">
<label htmlFor="phoneNumber">Phone Number:</label>
<input type="tel" id="phoneNumber" value={phoneNumber} readOnly />
<button onClick={handlePhoneNumberEdit} className="btn-input">
Edit
</button>
</div>
<h4>Security</h4>
<div className="input-style">
<label htmlFor="password">Password:</label>
<input type="password" id="password" value={password} readOnly />
<button onClick={handlePasswordChange} className="btn-input">
Change Password
</button>
</div>
<h4>Account Actions</h4>
<div>
<button onClick={handleAccountDelete} className="btn-custom">
Delete Account
</button>
<p className="mt-10">
Warning: Deleting your account is irreversible. All your data will be permanently deleted.
</p>
</div>
</div>
);
}

View File

@ -0,0 +1,78 @@
"use client";
import { useState, useEffect } from "react";
import { usePathname } from "next/navigation";
import Cookies from "js-cookie";
import Callback2 from "@/components/sections/Callback2";
export default function Popup() {
const [showPopup, setShowPopup] = useState(false);
const pathname = usePathname();
useEffect(() => {
const prospectClient = Cookies.get("prospectClient");
const popupShown = sessionStorage.getItem("popupShown");
const lastPopupTime = localStorage.getItem("lastPopupTime");
const firstVisit = sessionStorage.getItem("firstVisit");
if (
prospectClient === "true" ||
pathname === "/contact" ||
pathname === "/schedule" ||
pathname === "/login" ||
pathname === "/register" ||
pathname === "/terms-of-use" ||
pathname === "/forgot-password" ||
pathname === "/client-area" ||
pathname === "/reset-password"
) {
return;
}
if (!popupShown) {
if (!firstVisit) {
const handleScroll = () => {
if (window.scrollY > document.documentElement.scrollHeight / 2) {
setShowPopup(true);
window.removeEventListener("scroll", handleScroll);
sessionStorage.setItem("popupShown", "true");
localStorage.setItem("lastPopupTime", Date.now().toString());
sessionStorage.removeItem("firstVisit");
}
};
window.addEventListener("scroll", handleScroll);
return () => window.removeEventListener("scroll", handleScroll);
} else if (firstVisit) {
setShowPopup(true);
sessionStorage.setItem("popupShown", "true");
localStorage.setItem("lastPopupTime", Date.now().toString());
sessionStorage.removeItem("firstVisit");
}
} else if (!lastPopupTime || Date.now() - parseInt(lastPopupTime) > 12 * 60 * 60 * 1000) {
setShowPopup(true);
localStorage.setItem("lastPopupTime", Date.now().toString());
}
}, [pathname]);
const handleContainerClick = (e) => {
if (e.target === e.currentTarget) {
setShowPopup(false);
}
};
if (!showPopup) return null;
return (
<div className="popup">
<div className="container" onClick={handleContainerClick}>
<section className="call-back-area-custom call-back-area rounded-5">
<div className="popup-close-btn" onClick={() => setShowPopup(false)}>
<i className="fas fa-times" />
</div>
<Callback2 />
</section>
</div>
</div>
);
}

View File

@ -0,0 +1,469 @@
"use client";
import { useRouter, useSearchParams } from "next/navigation";
import { useState, useEffect } from "react";
import Link from "next/link";
export default function FilterableList() {
const router = useRouter();
const searchParams = useSearchParams();
const [filter, setFilter] = useState("All");
useEffect(() => {
router.replace(`/portfolio?filter=${filter}`, { scroll: false });
}, [filter]);
useEffect(() => {
const queryFilter = searchParams.get("filter") || "All";
setFilter(queryFilter);
}, [searchParams]);
const handleFilterChange = (e) => {
const newFilter = e.target.value;
setFilter(newFilter);
router.replace(`/portfolio?filter=${newFilter}`, { scroll: false });
};
return (
<div>
{/* Mobile */}
<div className="portfolio__form d-xl-none d-md-block">
<div className="form-grp select-grp">
<select
className="orderby"
value={filter}
onChange={handleFilterChange}
>
<option value="All">All</option>
<option value="Tech">Tech/AI</option>
<option value="Online-Businesses">Online Businesses</option>
<option value="Video-Games">Video Games</option>
<option value="Restaurants">Restaurants</option>
<option value="Startups">Startups</option>
<option value="Aerospace">Avionics/Aerospace</option>
<option value="Professional-Services">Professional Services</option>
<option value="Travel">Travel</option>
<option value="Auto-Industry">Auto Industry</option>
<option value="Construction">Construction</option>
<option value="Law">LAW</option>
</select>
</div>
</div>
<div className="portfolio__form d-xl-flex d-none">
<button
type="button"
className={
"btn portfolio-btn " + (filter === "All" ? "selected" : "")
}
onClick={() => setFilter("All")}
>
All
</button>
<button
type="button"
className={
"btn portfolio-btn " + (filter === "Tech" ? "selected" : "")
}
onClick={() => setFilter("Tech")}
>
Tech/AI
</button>
<button
type="button"
className={
"btn portfolio-btn " +
(filter === "Online-Businesses" ? "selected" : "")
}
onClick={() => setFilter("Online-Businesses")}
>
Online Businesses
</button>
<button
type="button"
className={
"btn portfolio-btn " + (filter === "Video-Games" ? "selected" : "")
}
onClick={() => setFilter("Video-Games")}
>
Video Games
</button>
<button
type="button"
className={
"btn portfolio-btn " + (filter === "Restaurants" ? "selected" : "")
}
onClick={() => setFilter("Restaurants")}
>
Restaurants
</button>
<button
type="button"
className={
"btn portfolio-btn " + (filter === "Startups" ? "selected" : "")
}
onClick={() => setFilter("Startups")}
>
Startups
</button>
<div
className={
"form-grp select-grp flex-grow-1 " +
(filter === "Aerospace" ||
filter === "Professional-Services" ||
filter === "Travel" ||
filter === "Auto-Industry" ||
filter === "Construction" ||
filter === "Law"
? "selected"
: "")
}
>
<select
className="orderby"
value={filter}
onChange={handleFilterChange}
>
<option selected value="All" className="display-none">
MORE INDUSTRIES
</option>
<option value="Aerospace">AVIONICS/AEROSPACE</option>
<option value="Professional-Services">PROFESSIONAL SERVICES</option>
<option value="Travel">TRAVEL</option>
<option value="Auto-Industry">AUTO INDUSTRY</option>
<option value="Construction">CONSTRUCTION</option>
<option value="Law">LAW</option>
</select>
</div>
</div>
<div className="row justify-content-start">
<div
className={
filter === "All" ||
filter === "Restaurants" ||
filter === "Startups"
? "col-xl-3 col-lg-4 col-md-6 col-sm-8"
: "display-none"
}
>
<div className="services-item shine-animate-item">
<div className="services-thumb">
<Link
href="/portfolio/the-spark-coffee"
className="shine-animate"
>
<img src="/assets/img/custom/project-1.jpg" alt="Project 1" />
</Link>
</div>
<div className="services-content">
<h4 className="title">
<Link href="/portfolio/the-spark-coffee">The Spark Coffee</Link>
</h4>
<p>
Mobile coffee business offering on-the-go food and beverage
services and catering to people across the United States.
</p>
<Link href="/portfolio/the-spark-coffee" className="btn">
View Case Study
</Link>
</div>
</div>
</div>
<div
className={
filter === "All" ||
filter === "Aerospace" ||
filter === "Travel" ||
filter === "Professional-Services"
? "col-xl-3 col-lg-4 col-md-6 col-sm-8"
: "display-none"
}
>
<div className="services-item shine-animate-item">
<div className="services-thumb">
<Link href="/portfolio/atlas-aviation" className="shine-animate">
<img src="/assets/img/custom/project-2.jpg" alt="" />
</Link>
</div>
<div className="services-content">
<h4 className="title">
<Link href="/portfolio/atlas-aviation">Atlas Aviation</Link>
</h4>
<p>
Fully certified pilot training and aircraft rental company based
in Tampa Florida offering services for both Jet and Turbo Prop.
</p>
<Link href="/portfolio/atlas-aviation" className="btn">
View Case Study
</Link>
</div>
</div>
</div>
<div
className={
filter === "All" ||
filter === "Fruit" ||
filter === "Online-Businesses" ||
filter === "Tech"
? "col-xl-3 col-lg-4 col-md-6 col-sm-8"
: "display-none"
}
>
<div className="services-item shine-animate-item">
<div className="services-thumb">
<Link
href="/portfolio/social-celebrity"
className="shine-animate"
>
<img src="/assets/img/custom/project-4.png" alt="" />
</Link>
</div>
<div className="services-content">
<h4 className="title">
<Link href="/portfolio/social-celebrity">Social Celebrity</Link>
</h4>
<p>
Social Media Enhancement company providing marketing services
for Facebook, Instagram, TikTok, Twitter, Youtube and more.
</p>
<Link href="/portfolio/social-celebrity" className="btn">
View Case Study
</Link>
</div>
</div>
</div>
<div
className={
filter === "All" ||
filter === "Video-Games" ||
filter === "Online-Businesses" ||
filter === "Tech"
? "col-xl-3 col-lg-4 col-md-6 col-sm-8"
: "display-none"
}
>
<div className="services-item shine-animate-item">
<div className="services-thumb">
<Link href="/portfolio/discord-center" className="shine-animate">
<img src="/assets/img/custom/project-3.png" alt="" />
</Link>
</div>
<div className="services-content">
<h4 className="title">
<Link href="/portfolio/discord-center">Discord Center</Link>
</h4>
<p>
Server Listing Website utilized by millions of users of the
popular communicaton platform - "Discord" which specializes in
growing Discord servers.
</p>
<Link href="/portfolio/discord-center" className="btn">
View Case Study
</Link>
</div>
</div>
</div>
<div
className={
filter === "All" ||
filter === "Tech" ||
filter === "Online-Businesses" ||
filter === "Video-Games"
? "col-xl-3 col-lg-4 col-md-6 col-sm-8"
: "display-none"
}
>
<div className="services-item shine-animate-item">
<div className="services-thumb">
<Link
href="/portfolio/hytale-server-hosting"
className="shine-animate"
>
<img src="/assets/img/custom/project-5.png" alt="" />
</Link>
</div>
<div className="services-content">
<h4 className="title">
<Link href="/portfolio/hytale-server-hosting">
Hytale Server Hosting
</Link>
</h4>
<p>
Server Hosting company for the upcoming, highly anticipated
videogame - Hytale, being developed by Tencent, the
parent-company for TikTok & Riot Games.
</p>
<Link href="/portfolio/hytale-server-hosting" className="btn">
View Case Study
</Link>
</div>
</div>
</div>
<div
className={
filter === "All" || filter === "Auto-Industry"
? "col-xl-3 col-lg-4 col-md-6 col-sm-8"
: "display-none"
}
>
<div className="services-item shine-animate-item">
<div className="services-thumb">
<Link
href="/portfolio/multi-group-automotive"
className="shine-animate"
>
<img src="/assets/img/custom/project-6.png" alt="" />
</Link>
</div>
<div className="services-content">
<h4 className="title">
<Link href="/portfolio/multi-group-automotive">
Multi Group Automotive
</Link>
</h4>
<p>
Multi-purpose used car dealership located in Norcross, Georgia
servicing North Metro Atlanta
</p>
<Link href="/portfolio/multi-group-automotive" className="btn">
View Case Study
</Link>
</div>
</div>
</div>
<div
className={
filter === "All" || filter === "Construction"
? "col-xl-3 col-lg-4 col-md-6 col-sm-8"
: "display-none"
}
>
<div className="services-item shine-animate-item">
<div className="services-thumb">
<Link
href="/portfolio/water-main-line-replacement"
className="shine-animate"
>
<img src="/assets/img/custom/project-7.png" alt="" />
</Link>
</div>
<div className="services-content">
<h4 className="title">
<Link href="/portfolio/water-main-line-replacement">
Water Main Line Replacement LLC
</Link>
</h4>
<p>
A water main line replacement company in Atlanta, Georgia that
handles the installation and repair of essential water
pipelines.
</p>
<Link
href="/portfolio/water-main-line-replacement"
className="btn"
>
View Case Study
</Link>
</div>
</div>
</div>
<div
className={
filter === "All" ||
filter === "Restaurants" ||
filter === "Startups"
? "col-xl-3 col-lg-4 col-md-6 col-sm-8"
: "display-none"
}
>
<div className="services-item shine-animate-item">
<div className="services-thumb">
<Link
href="/portfolio/taqueria-del-mar"
className="shine-animate"
>
<img src="/assets/img/custom/project-8.png" alt="" />
</Link>
</div>
<div className="services-content">
<h4 className="title">
<Link href="/portfolio/taqueria-del-mar">Taqueria del Mar</Link>
</h4>
<p>
Latin American eatery in Atlanta, Georgia that specializes in
Mexican cuisine with a modern twist.
</p>
<Link href="/portfolio/taqueria-del-mar" className="btn">
View Case Study
</Link>
</div>
</div>
</div>
<div
className={
filter === "All" || filter === "Construction"
? "col-xl-3 col-lg-4 col-md-6 col-sm-8"
: "display-none"
}
>
<div className="services-item shine-animate-item">
<div className="services-thumb">
<Link
href="/portfolio/jenni-bg-plumbing"
className="shine-animate"
>
<img src="/assets/img/custom/project-9.png" alt="" />
</Link>
</div>
<div className="services-content">
<h4 className="title">
<Link href="/portfolio/jenni-bg-plumbing">
Jenni BG Plumbing
</Link>
</h4>
<p>
Plumbing company in Peachtree Corners, Georgia that fixes and
installs pipes, fixtures, and other systems that carry water and
waste in homes and businesses.
</p>
<Link href="/portfolio/jenni-bg-plumbing" className="btn">
View Case Study
</Link>
</div>
</div>
</div>
<div
className={
filter === "All" || filter === "Law"
? "col-xl-3 col-lg-4 col-md-6 col-sm-8"
: "display-none"
}
>
<div className="services-item shine-animate-item">
<div className="services-thumb">
<Link
href="/portfolio/the-gurvey-law-group"
className="shine-animate"
>
<img src="/assets/img/custom/project-10.png" alt="" />
</Link>
</div>
<div className="services-content">
<h4 className="title">
<Link href="/portfolio/the-gurvey-law-group">
The Gurvey Law Group
</Link>
</h4>
<p>
A law firm in Brookhaven, Georgia that specializes in
investments, purchases, and sales.
</p>
<Link href="/portfolio/the-gurvey-law-group" className="btn">
View Case Study
</Link>
</div>
</div>
</div>
</div>
</div>
);
}

View File

@ -0,0 +1,23 @@
"use client";
import { useEffect, useState } from "react";
import { useRouter } from "next/navigation";
export default function ReportContent() {
const [reportData, setReportData] = useState(null);
const router = useRouter();
useEffect(() => {
const storedData = sessionStorage.getItem("reportData");
if (storedData) {
setReportData(JSON.parse(storedData));
} else {
router.push("/");
}
}, []);
if (!reportData) {
return <p>Loading...</p>;
}
return <div>{/* Add more report content here */}</div>;
}

View File

@ -0,0 +1,201 @@
"use client";
import React, { useState } from "react";
import "react-phone-number-input/style.css";
import PhoneInput from "react-phone-number-input";
export default function Schedule({ onFormSubmit }) {
const [formData, setFormData] = useState({
firstName: "",
lastName: "",
emailAddress: "",
phoneNumber: "",
companyName: "",
websiteUrl: "",
annualRevenue: "",
learnFrom: "",
additionalInfo: "",
checkbox: false,
});
const handleChange = (e) => {
const { name, value, type, checked } = e.target;
setFormData((prevState) => ({
...prevState,
[name]: type === "checkbox" ? checked : value,
}));
};
const handlePhoneChange = (value) => {
setFormData((prevState) => ({
...prevState,
phoneNumber: value,
}));
};
const handleSubmit = async (e) => {
e.preventDefault();
try {
const response = await fetch("/api/schedule-send", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(formData),
});
if (response.ok) {
document.cookie = `prospectClient=true; path=/; max-age=31536000`;
onFormSubmit();
} else {
throw new Error("Form submission failed");
}
} catch (error) {
console.error("Error:", error);
alert("An error occurred while submitting the form.");
}
};
return (
<div className="contact__form-wrap">
<form id="contact-form" onSubmit={handleSubmit}>
<div className="row">
<div className="col-md-6">
<div className="form-grp">
<input
type="text"
name="firstName"
placeholder="First Name"
value={formData.firstName}
onChange={handleChange}
required
/>
</div>
</div>
<div className="col-md-6">
<div className="form-grp">
<input
type="text"
name="lastName"
placeholder="Last Name"
value={formData.lastName}
onChange={handleChange}
/>
</div>
</div>
<div className="col-md-6">
<div className="form-grp">
<input
type="email"
name="emailAddress"
placeholder="Email Address"
value={formData.emailAddress}
onChange={handleChange}
required
/>
</div>
</div>
<div className="col-md-6">
<div className="form-grp">
<PhoneInput
international
defaultCountry="US"
value={formData.phoneNumber}
onChange={handlePhoneChange}
/>
</div>
</div>
<div className="col-md-6">
<div className="form-grp">
<input
type="text"
name="companyName"
placeholder="Company Name"
value={formData.companyName}
onChange={handleChange}
required
/>
</div>
</div>
<div className="col-md-6">
<div className="form-grp">
<input
type="text"
name="websiteUrl"
placeholder="Website URL"
value={formData.websiteUrl}
onChange={handleChange}
/>
</div>
</div>
</div>
<div className="form-grp">
<h6>Estimated Annual Revenue*</h6>
<select
className="form-select"
name="annualRevenue"
value={formData.annualRevenue}
onChange={handleChange}
required
>
<option disabled selected value="" className="display-none">
Select an option
</option>
<option value="250K Less">Less than $250K a year</option>
<option value="250K-500K">$250K - $500K a year</option>
<option value="500K-1M">$500K - $1M a year</option>
<option value="1M More">$1M a year or more</option>
</select>
</div>
<div className="form-grp">
<h6>How Did You Learn About RankRunners?*</h6>
<select
className="form-select"
name="learnFrom"
required
value={formData.learnFrom}
onChange={handleChange}
>
<option disabled selected value="" className="display-none">
Select an option
</option>
<option value="Instagram">Instagram</option>
<option value="Facebook">Facebook</option>
<option value="LinkedIn">LinkedIn</option>
<option value="Google Search">Google Search</option>
<option value="Phone Call">Phone Call</option>
<option value="Email">Email</option>
<option value="Podcast / Webinar">Podcast / Webinar</option>
<option value="Networking Event">Networking Event</option>
<option value="Referral">Referral</option>
<option value="Other">Other</option>
</select>
</div>
<div className="form-grp">
<textarea
name="additionalInfo"
placeholder="Additional Information"
value={formData.additionalInfo}
onChange={handleChange}
/>
</div>
<div className="form-grp checkbox-grp">
<input
type="checkbox"
name="checkbox"
id="checkbox"
checked={formData.checkbox}
onChange={handleChange}
required
/>
<label htmlFor="checkbox">
I'm serious about growing my business and understand services start at $1,500
</label>
</div>
<button type="submit" className="btn">
Submit Request
</button>
</form>
<p className="ajax-response mb-0" />
</div>
);
}

View File

@ -0,0 +1,35 @@
"use client";
import React, { useEffect } from "react";
import Head from "next/head";
const CalendlyWidget = () => {
useEffect(() => {
const script = document.createElement("script");
script.src = "https://assets.calendly.com/assets/external/widget.js";
script.async = true;
document.body.appendChild(script);
return () => {
document.body.removeChild(script);
};
}, []);
return (
<>
<Head>
<script
type="text/javascript"
src="https://assets.calendly.com/assets/external/widget.js"
async
></script>
</Head>
<div
className="calendly-inline-widget"
data-url="https://calendly.com/rankrunners-sales/30min"
style={{ minWidth: "320px", height: "700px" }}
/>
</>
);
};
export default CalendlyWidget;

View File

@ -0,0 +1,23 @@
"use client";
import { useState, useEffect } from "react";
import Schedule from "@/components/custom/Schedule";
import ScheduleAfter from "@/components/custom/ScheduleAfter";
import { getCookie, setCookie } from "cookies-next";
export default function ScheduleChooser() {
const [showScheduleAfter, setShowScheduleAfter] = useState(false);
useEffect(() => {
const scheduleAfterCookie = getCookie("scheduleAfter");
if (scheduleAfterCookie) {
setShowScheduleAfter(true);
}
}, []);
const handleFormSubmit = () => {
setShowScheduleAfter(true);
setCookie("scheduleAfter", "true", { maxAge: 3600, path: "/schedule" });
};
return <>{showScheduleAfter ? <ScheduleAfter /> : <Schedule onFormSubmit={handleFormSubmit} />}</>;
}

View File

@ -0,0 +1,26 @@
import * as React from "react";
export const EmailTemplate = ({
firstName = "",
lastName = "",
emailAddress = "",
phoneNumber = "",
companyName = "",
websiteUrl = "",
annualRevenue = "",
learnFrom = "",
additionalInfo = "",
}) => (
<div>
<h3>
Name: {firstName} {lastName}
</h3>
<h3>Email: {emailAddress}</h3>
<h3>Phone: {phoneNumber}</h3>
<h3>Company: {companyName}</h3>
<h3>Website: {websiteUrl}</h3>
<h3>Annual Revenue: {annualRevenue}</h3>
<h3>Learn From: {learnFrom}</h3>
<h3>Additional Info: {additionalInfo}</h3>
</div>
);

View File

@ -0,0 +1,61 @@
"use client";
import { useEffect, useCallback, useState } from "react";
import { usePathname, useSearchParams } from "next/navigation";
import { Suspense } from "react";
const ScrollHandlerInner = () => {
const pathname = usePathname();
const searchParams = useSearchParams();
const scrollToHash = useCallback(() => {
const hash = window.location.hash;
if (hash) {
const elementId = hash.substring(1);
const element = document.getElementById(elementId);
if (element) {
const yOffset = -200;
setTimeout(() => {
const y = element.getBoundingClientRect().top + window.scrollY + yOffset;
window.scrollTo({
top: y,
behavior: "smooth",
});
}, 100);
}
}
}, []);
useEffect(() => {
if (window.location.hash) {
scrollToHash();
}
}, [pathname, searchParams, scrollToHash]);
useEffect(() => {
window.addEventListener("hashchange", scrollToHash);
return () => window.removeEventListener("hashchange", scrollToHash);
}, [scrollToHash]);
return null;
};
const ClientScrollHandler = () => {
const [isMounted, setIsMounted] = useState(false);
useEffect(() => {
setIsMounted(true);
}, []);
if (!isMounted) {
return null;
}
return (
<Suspense fallback={null}>
<ScrollHandlerInner />
</Suspense>
);
};
export default ClientScrollHandler;

View File

@ -0,0 +1,34 @@
"use client";
import { useEffect, useCallback } from "react";
import { usePathname } from "next/navigation";
export function useScrollToHash() {
const pathname = usePathname();
const scrollToHash = useCallback(() => {
const hash = window.location.hash;
if (hash) {
setTimeout(() => {
const elementId = hash.substring(1);
const element = document.getElementById(elementId);
if (element) {
const yOffset = -100; // Adjust this value as needed
const y = element.getBoundingClientRect().top + window.pageYOffset + yOffset;
window.scrollTo({ top: y, behavior: "smooth" });
}
}, 0);
}
}, []);
useEffect(() => {
if (window.location.hash) {
scrollToHash();
}
}, [pathname, scrollToHash]);
useEffect(() => {
window.addEventListener("hashchange", scrollToHash);
return () => window.removeEventListener("hashchange", scrollToHash);
}, [scrollToHash]);
}

View File

@ -0,0 +1,25 @@
"use client";
import { useRouter } from "next/navigation";
export default function LogoutButton() {
const router = useRouter();
const handleLogout = async () => {
try {
// Add your custom logout logic here
router.push("/login");
} catch (error) {
console.error("Error logging out:", error.message);
}
};
return (
<div className="container pt-30">
<button className="btn btn-no-arrow" onClick={handleLogout}>
Log Out
</button>
</div>
);
}

View File

@ -0,0 +1,46 @@
import { useState, useEffect } from "react";
const NocodbPaymentLog = ({ paymentLog, userID }) => {
const [results, setResults] = useState([]);
useEffect(() => {
const updateTable = async () => {
const updateResults = [];
for (const payment of paymentLog) {
try {
// Placeholder logic for processing payment logs
const isExisting = false; // Replace with actual check logic
if (!isExisting) {
// Simulate adding a new payment record
updateResults.push({
id: payment.id,
status: "success",
result: payment,
});
} else {
updateResults.push({
id: payment.id,
status: "skipped",
reason: "Already exists",
});
}
} catch (err) {
console.error(`Error processing payment ${payment.id}:`, err);
updateResults.push({
id: payment.id,
status: "error",
error: err.message,
});
}
}
setResults(updateResults);
};
updateTable();
}, [paymentLog, userID]);
return null;
};
export default NocodbPaymentLog;

View File

@ -0,0 +1,43 @@
import { useState, useEffect } from "react";
const ProjectInfo = (userId) => {
const [projectData, setProjectData] = useState(null);
const [error, setError] = useState(null);
useEffect(() => {
const fetchData = async () => {
try {
// Placeholder for fetching project data
const response = [
{
"Project ID": "1",
Title: "Example Project",
URL: "https://example.com",
Services: "Service1, Service2",
"Price Monthly": 100,
"PDF Contract": null,
},
];
const formattedData = response.map((item) => ({
"Project ID": item["Project ID"],
Title: item.Title,
URL: item.URL,
Services: item.Services,
"Price Monthly": item["Price Monthly"],
"PDF Contract": item["PDF Contract"],
}));
setProjectData(formattedData);
} catch (err) {
setError(err.message);
}
};
fetchData();
}, [userId]);
return { projectData };
};
export default ProjectInfo;

View File

@ -0,0 +1,54 @@
import { useState, useEffect } from "react";
const NocodbUser = (userId) => {
const [identifier, setIdentifier] = useState(null);
const [registered, setRegistered] = useState(false);
const [error, setError] = useState(null);
const [loading, setLoading] = useState(true);
const [userAccount, setUserAccount] = useState(null);
useEffect(() => {
const fetchUserData = async () => {
try {
// Placeholder for user data fetching logic
const mockData = [
{
"User ID": "123",
Email: "user@example.com",
},
];
const user = mockData.find((item) => item["User ID"] === userId);
if (user) {
if (user.Email) {
setIdentifier(user.Email); // already registered
setRegistered(true);
setUserAccount(user);
} else {
setIdentifier(user["User ID"]); // ready for registration
setRegistered(false);
}
} else {
setIdentifier(null); // unauthorized user
setRegistered(false);
}
} catch (err) {
setError(err.message);
} finally {
setLoading(false);
}
};
if (userId) {
fetchUserData();
} else {
setLoading(false);
setIdentifier(null);
}
}, [userId]);
return { identifier, registered, userAccount, error, loading };
};
export default NocodbUser;

View File

@ -0,0 +1,73 @@
import { useState, useEffect } from "react";
const NocodbUserRegister = (userId) => {
const [user, setUser] = useState(null);
const [error, setError] = useState(null);
const [loading, setLoading] = useState(true);
const [updateSuccess, setUpdateSuccess] = useState(false);
useEffect(() => {
const fetchUserData = async () => {
try {
// Placeholder for fetching user data
const mockData = [
{
Id: "1",
"User ID": "123",
Name: "John Doe",
Email: "john.doe@example.com",
"Stripe Client ID": "cus_12345",
},
];
const user = mockData.find((item) => item["User ID"] === userId);
if (user) {
setUser(user);
} else {
setError("User not found");
}
} catch (err) {
setError(err.message);
} finally {
setLoading(false);
}
};
if (userId) {
fetchUserData();
}
}, [userId]);
const updateUser = async (newName, newEmail, newStripeClientID) => {
if (!user) {
return { error: "No user data to update" };
}
setLoading(true);
setUpdateSuccess(false);
try {
// Simulate updating user data
const updatedUser = {
...user,
Name: newName,
Email: newEmail,
"Stripe Client ID": newStripeClientID,
};
setUser(updatedUser);
setUpdateSuccess(true);
return { success: true };
} catch (err) {
setError(err.message);
return { error: err.message };
} finally {
setLoading(false);
}
};
return { user, updateUser, error, loading, updateSuccess };
};
export default NocodbUserRegister;

View File

@ -0,0 +1,242 @@
"use client";
import React, { useEffect, useState } from "react";
import Link from "next/link";
const formatCurrency = (amount, currency = "USD") => {
return new Intl.NumberFormat("en-US", {
style: "currency",
currency: currency,
}).format(amount);
};
const urlFormatter = (url) => {
if (!url.startsWith("http://") && !url.startsWith("https://")) {
url = "https://" + url;
}
return url;
};
const urlCleaner = (url) => {
if (url.startsWith("http://")) {
url = url.substr(7);
} else if (url.startsWith("https://")) {
url = url.substr(8);
}
return url;
};
const formattedDate = (date) =>
new Date(date).toLocaleDateString("en-US", {
year: "numeric",
month: "long",
day: "numeric",
});
function capitalizeFirstLetter(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
}
export default function PortalSelector() {
const name = "John Doe";
const client_id = "12345";
const email = "johndoe@example.com";
const [monthlyPayment, setMonthlyPayment] = useState(100);
const [additionalPayment, setadditionalPayment] = useState(20);
const [manager, setManager] = useState("Fausto Vasconez");
const [managerEmail, setManagerEmail] = useState("support@rankrunners.net");
const [managerPosition, setManagerPosition] = useState(
"Technical Strategist"
);
const [projectArray, setProjectArray] = useState([]);
const [paymentLogArray, setpaymentLogArray] = useState([]);
const [totalPayment, setTotalPayment] = useState(0);
useEffect(() => {
setTotalPayment(monthlyPayment + additionalPayment);
// Simulate fetching project and payment log data
setProjectArray([
{
Title: "Project 1",
URL: "https://example.com",
"Price Monthly": 100,
Services: "Service1, Service2",
"PDF Contract": [],
},
]);
setpaymentLogArray([
{
id: "PAY123",
created: "2025-01-01",
amount_paid: 120,
},
]);
}, []);
return (
<div>
<div className="row dashboard-hero">
<div className="col dashboard-heading">
<h2>Welcome, {name}</h2>
<div className="dashboard-badge-group">
<div className="dashboard-badge">{client_id}</div>
<div className="dashboard-badge">{email}</div>
</div>
</div>
<div className="col col-md-5 col-lg-4 col-xl-3">
<div className="dashboard-hero-payment tg-heading-subheading">
<h4 className="sub-title text-dark">Active</h4>
<h2 className="text-start text-dark">
{formatCurrency(totalPayment)}
</h2>
<h5 className="text-start">January 31, 2025</h5>
</div>
</div>
</div>
<div className="row justify-content-start portal-gap">
<div className="col-12">
<div className="portal-card">
<h2 className="text-dark">Projects</h2>
{projectArray &&
projectArray.map((project, index) => (
<React.Fragment key={project["Title"]}>
<div className="table-responsive">
<table className="table table-sm dashboard-table">
<thead>
<tr>
<th>{project["Title"]}</th>
<th>
{project["URL"] && (
<Link href={urlFormatter(project["URL"])}>
{urlCleaner(project["URL"])}
</Link>
)}
{!project["URL"] && "No URL"}
</th>
<th>${project["Price Monthly"]}/mo</th>
</tr>
</thead>
<tbody>
<tr>
<td colSpan="2">
{project["Services"].replace(/,/g, ", ")}
</td>
<td>
{project["PDF Contract"] &&
project["PDF Contract"].length > 0 ? (
project["PDF Contract"].map((contract, index) => (
<Link
key={index}
href={contract.signedUrl}
target="_blank"
>
View PDF Contract
</Link>
))
) : (
<Link href="#">No PDF Attachment</Link>
)}
</td>
</tr>
</tbody>
</table>
</div>
{index < projectArray.length - 1 && (
<div className="text-or"></div>
)}
</React.Fragment>
))}
{!projectArray && (
<div>
<h3 className="text-center">No Projects</h3>
<p className="text-center">
You currently have no projects. Contact your account manager
</p>
</div>
)}
</div>
</div>
<div className="col col-md-6 col-lg-6 col-xl-7">
<div className="portal-card">
<h2 className="text-dark">Account Manager</h2>
<div className="d-flex justify-content-between">
<div>Name</div>
<div>{manager}</div>
</div>
<div className="d-flex justify-content-between">
<div>Position</div>
<div>{managerPosition}</div>
</div>
<div className="d-flex justify-content-between pb-15">
<div>Email</div>
<div>{managerEmail}</div>
</div>
<Link
href={`mailto:${managerEmail}`}
target="_blank"
className="btn btn-no-arrow"
>
Email to Account Manager
</Link>
</div>
</div>
<div className="col col-md-6 col-lg-6 col-xl-5">
<div className="portal-card">
<h2 className="text-dark">Payment</h2>
<div className="d-flex justify-content-between">
<div>Amount Due</div>
<div>{formatCurrency(totalPayment)}</div>
</div>
<div className="d-flex justify-content-between">
<div>Due Date</div>
<div className="dashboard-icon-parent">January 31, 2025</div>
</div>
<div className="d-flex justify-content-between pb-15">
<div>Payment Method</div>
<div>Stripe</div>
</div>
</div>
</div>
<div className="col-12">
<div className="portal-card">
<h2 className="text-dark">Active Payment Log</h2>
{!paymentLogArray && (
<div>
<h3 className="text-center">No Payment History</h3>
<p className="text-center">
You don't have any payment history. If you have, please
refresh the page or contact your account manager
</p>
</div>
)}
{paymentLogArray && (
<div className="table-responsive">
<table className="table table-sm dashboard-table table-log">
<thead>
<tr>
<th>Payment ID</th>
<th>Date</th>
<th>Amount Paid (USD)</th>
</tr>
</thead>
<tbody>
{paymentLogArray &&
paymentLogArray.map((payment) => (
<tr key={payment.id}>
<td>{payment["id"]}</td>
<td>{formattedDate(payment["created"])}</td>
<td>{payment["amount_paid"]}</td>
</tr>
))}
</tbody>
</table>
</div>
)}
</div>
</div>
</div>
</div>
);
}

View File

@ -0,0 +1,68 @@
import React, { useState, useEffect } from "react";
import { useRouter } from "next/navigation";
const SubscriptionButton = ({ clientId, customerId, subscriptionStatus, subscriptionId }) => {
const router = useRouter();
const [buttonState, setButtonState] = useState("Subscribe");
const [isLoading, setIsLoading] = useState(false);
useEffect(() => {
if (subscriptionStatus === "active") {
setButtonState("Cancel");
} else if (subscriptionStatus === "canceled") {
setButtonState("Activate");
} else {
setButtonState("Subscribe");
}
}, [subscriptionStatus]);
const handleClick = async () => {
setIsLoading(true);
try {
if (buttonState === "Cancel") {
// Show confirmation dialog
if (
window.confirm(
"Are you sure you want to cancel your subscription? Canceling your subscription will remove your access to our services."
)
) {
const response = await fetch("/api/stripe-cancel-subscription", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ subscriptionId }),
});
console.log(subscriptionId);
const result = await response.json();
if (result.success) {
alert("Your subscription has been cancelled.");
setButtonState("Activate");
} else {
alert("Failed to cancel subscription. Please try again or contact support.");
console.log("Failed to cancel subscription:", result.error);
}
}
} else {
const response = await fetch("/api/stripe-create-portal-session", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ clientId, customerId }),
});
const { url } = await response.json();
window.location.href = url;
}
} catch (error) {
console.error("Error handling subscription action:", error);
alert("An error occurred. Please try again or contact support.");
} finally {
setIsLoading(false);
}
};
return (
<button className="btn btn-no-arrow" onClick={handleClick} disabled={isLoading}>
{isLoading ? "Loading..." : buttonState}
</button>
);
};
export default SubscriptionButton;

View File

@ -0,0 +1,30 @@
import { useEffect, useState } from "react"
export default function BackToTop() {
const [hasScrolled, setHasScrolled] = useState("false")
useEffect(() => {
window.addEventListener("scroll", onScroll)
return () => {
window.removeEventListener("scroll", onScroll)
}
})
const onScroll = () => {
if (window.scrollY > 100 && !hasScrolled) {
setHasScrolled(true)
} else if (window.scrollY < 100 && hasScrolled) {
setHasScrolled(false)
}
}
return (
<>
{hasScrolled && (
<a className="scroll__top scroll-to-target open" href="#top" style={{ position: 'fixed', zIndex: 2147483647 }}>
<i className="fas fa-angle-up"></i>
</a>
)}
</>
)
}

View File

@ -0,0 +1,55 @@
import { useEffect, useRef, useState } from "react";
export default function Counter({ end, duration }) {
const [count, setCount] = useState(0);
const countRef = useRef(null);
const increment = end / duration;
useEffect(() => {
const observer = new IntersectionObserver(
([entry]) => {
if (entry.isIntersecting) {
startCount();
observer.disconnect();
}
},
{ threshold: 0 }
);
if (countRef.current) {
observer.observe(countRef.current);
}
return () => {
observer.disconnect();
};
}, []);
useEffect(() => {
const interval = setInterval(() => {
setCount((prevCount) => {
const newCount = prevCount + increment;
if (newCount >= end) {
clearInterval(interval);
return end;
} else {
return newCount;
}
});
}, 1000 / duration);
return () => {
clearInterval(interval);
};
}, [end, increment]);
const startCount = () => {
setCount(0);
};
return (
<span ref={countRef}>
<span>{Math.round(count)}</span>
</span>
);
}

View File

@ -0,0 +1,31 @@
'use client'
import { useEffect, useState } from 'react'
import Counter from './Counter'
export default function CounterUp({ count }) {
const [inViewport, setInViewport] = useState(false)
const handleScroll = () => {
const elements = document.getElementsByClassName('odometer')
if (elements.length > 0) {
const element = elements[0]
const rect = element.getBoundingClientRect()
const isInViewport = rect.top >= 0 && rect.bottom <= window.innerHeight
if (isInViewport && !inViewport) {
setInViewport(true)
}
}
}
useEffect(() => {
window.addEventListener('scroll', handleScroll)
return () => {
window.removeEventListener('scroll', handleScroll)
}
}, [])
return (
<>
<span className="odometer">{inViewport && <Counter end={count} duration={20} />}</span>
</>
)
}

View File

@ -0,0 +1,26 @@
"use client";
import { useEffect, useState } from "react";
import Counter from "./Counter";
export default function CounterUp({ count }) {
const [isMounted, setIsMounted] = useState(false);
useEffect(() => {
const observer = new IntersectionObserver(
([entry]) => {
if (entry.isIntersecting) {
setIsMounted(true);
observer.disconnect();
}
},
{ threshold: 0.1 }
);
const element = document.querySelector(".odometer");
if (element) observer.observe(element);
return () => observer.disconnect();
}, []);
return <span className="odometer">{isMounted && <Counter end={count} duration={20} />}</span>;
}

View File

@ -0,0 +1,11 @@
import { useEffect } from 'react'
export default function DataBg() {
useEffect(() => {
const elements = document.querySelectorAll('[data-background]')
elements.forEach((element) => {
element.style.backgroundImage = `url(${element.getAttribute('data-background')})`
})
}, [])
}

View File

@ -0,0 +1,16 @@
'use client'
import { useState } from 'react'
import ModalVideo from 'react-modal-video'
import "../../node_modules/react-modal-video/css/modal-video.css"
export default function VideoPopup({ style }) {
const [isOpen, setOpen] = useState(false)
return (
<>
{!style && <a onClick={() => setOpen(true)} className="play-btn popup-video"><i className="fas fa-play" /></a>}
{style === 1 && <a onClick={() => setOpen(true)} className="popup-youtube bnt-play"><img src="/assets/img/home6/play.svg" /></a>}
{style === 2 && <a onClick={() => setOpen(true)} className="btn-play"><img src="/assets/img/home8/play.svg" /></a>}
<ModalVideo channel='youtube' autoplay isOpen={isOpen} videoId="SZEflIVnhH8" onClose={() => setOpen(false)} />
</>
)
}

View File

@ -0,0 +1,13 @@
export default function Preloader() {
return (
<>
<div id="preloader">
<div id="loader" className="loader">
<div className="loader-container">
<div className="loader-icon"><img src="/assets/img/logo/preloader.png" alt="Preloader" /></div>
</div>
</div>
</div>
</>
)
}

View File

@ -0,0 +1,133 @@
'use client'
import Link from 'next/link'
import { useState } from 'react'
export default function PricingTable() {
const [isToggled, setToggled] = useState(false)
const handleToggle = () => setToggled(!isToggled)
return (
<>
<div className={isToggled ? "pricing__tab selected" : " pricing__tab"}>
<span className={`pricing__tab-btn monthly_tab_title ${isToggled ? "active" : ""}`}>Monthly</span>
<span className={`pricing__tab-switcher ${isToggled ? "active" : ""}`} onClick={handleToggle} />
<span className={`pricing__tab-btn annual_tab_title ${isToggled ? "active" : ""}`}>Yearly</span>
</div>
<div className="row justify-content-center">
<div className="col-lg-4 col-md-6 col-sm-8">
<div className="pricing__box">
<div className="pricing__head">
<h5 className="title">Basic Plan</h5>
</div>
<div className={`pricing__price ${isToggled ? "change-subs-duration" : ""}`}>
<h2 className="price monthly_price"><strong>$</strong> 15.00 <span>/ Month</span></h2>
<h2 className="price annual_price"><strong>$</strong> 149.00 <span>/ Month</span></h2>
</div>
<div className="pricing__list">
<ul className="list-wrap">
<li>
<img src="/assets/img/icon/check_icon.svg" alt="" />
5000 User Activities
</li>
<li>
<img src="/assets/img/icon/check_icon.svg" alt="" />
Unlimited Access
</li>
<li>
<img src="/assets/img/icon/check_icon.svg" alt="" />
No Hidden Charge
</li>
<li>
<img src="/assets/img/icon/check_icon.svg" alt="" />
03 Time Updates
</li>
<li>
<img src="/assets/img/icon/check_icon.svg" alt="" />
Figma Source File
</li>
</ul>
</div>
<div className="pricing__btn">
<Link href="#" className="btn">Get this plan Now</Link>
</div>
</div>
</div>
<div className="col-lg-4 col-md-6 col-sm-8">
<div className="pricing__box">
<div className="pricing__head">
<h5 className="title">Standard Plan</h5>
</div>
<div className={`pricing__price ${isToggled ? "change-subs-duration" : ""}`}>
<h2 className="price monthly_price"><strong>$</strong> 29.00 <span>/ Month</span></h2>
<h2 className="price annual_price"><strong>$</strong> 229.00 <span>/ Month</span></h2>
</div>
<div className="pricing__list">
<ul className="list-wrap">
<li>
<img src="/assets/img/icon/check_icon.svg" alt="" />
5000 User Activities
</li>
<li>
<img src="/assets/img/icon/check_icon.svg" alt="" />
Unlimited Access
</li>
<li>
<img src="/assets/img/icon/check_icon.svg" alt="" />
No Hidden Charge
</li>
<li>
<img src="/assets/img/icon/check_icon.svg" alt="" />
03 Time Updates
</li>
<li>
<img src="/assets/img/icon/check_icon.svg" alt="" />
Figma Source File
</li>
</ul>
</div>
<div className="pricing__btn">
<Link href="#" className="btn">Get this plan Now</Link>
</div>
</div>
</div>
<div className="col-lg-4 col-md-6 col-sm-8">
<div className="pricing__box">
<div className="pricing__head">
<h5 className="title">Corporate Plan</h5>
</div>
<div className={`pricing__price ${isToggled ? "change-subs-duration" : ""}`}>
<h2 className="price monthly_price"><strong>$</strong> 89.00 <span>/ Month</span></h2>
<h2 className="price annual_price"><strong>$</strong> 889.00 <span>/ Month</span></h2>
</div>
<div className="pricing__list">
<ul className="list-wrap">
<li>
<img src="/assets/img/icon/check_icon.svg" alt="" />
5000 User Activities
</li>
<li>
<img src="/assets/img/icon/check_icon.svg" alt="" />
Unlimited Access
</li>
<li>
<img src="/assets/img/icon/check_icon.svg" alt="" />
No Hidden Charge
</li>
<li>
<img src="/assets/img/icon/check_icon.svg" alt="" />
03 Time Updates
</li>
<li>
<img src="/assets/img/icon/check_icon.svg" alt="" />
Figma Source File
</li>
</ul>
</div>
<div className="pricing__btn">
<Link href="#" className="btn">Get this plan Now</Link>
</div>
</div>
</div>
</div>
</>
)
}

View File

@ -0,0 +1,26 @@
'use client'
import { useState } from 'react'
export default function RangeSliderInput() {
const [value, setValue] = useState(25000)
const handleChange = e => {
setValue(Math.ceil(e.target.value / 5) * 5)
}
return (
<>
<div className="range-top">
<p>Limits of balance:</p>
<span>$<strong id="rangeValue">{value}</strong></span>
</div>
<input
type="range"
min="1"
max="50000"
value={value}
className="range"
onChange={e => handleChange(e)}
/>
</ >
)
}

Some files were not shown because too many files have changed in this diff Show More