commit 4662aa420bde398881f0f4369114bc3747d38643 Author: Reihan Date: Tue Apr 8 14:37:17 2025 +0700 init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..02fcbcb --- /dev/null +++ b/.gitignore @@ -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 \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..1e8d4b1 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# rankrunners \ No newline at end of file diff --git a/app/about/page.js b/app/about/page.js new file mode 100644 index 0000000..e7c3f93 --- /dev/null +++ b/app/about/page.js @@ -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 ( + <> + +
+
+
+
+
+ + ABOUT RANKRUNNERS + +

+ It's Time to ...Outrun the Competition! +

+
+
+
+
+
+
+
+ +
+
+

+ + +

+

Satisfied Clients

+
+
+
+
+
+
+ +
+
+

+ + :1+ +

+

Average ROAS

+
+
+
+
+
+
+ +
+
+

+ % +

+

Average Traffic Increase

+
+
+
+
+
+
+ + +
+ {/*
+
+
+
+
+ + +
+
+ +
+
+

15+

+

+ World Best Agency
Award Got +

+
+
+
+ +
+
+
+
+
+
+ Simply Know About +

+ We Help Organizations To Make Ultimate Businesses Growth Success +

+
+
+
+
    +
  • + + Medicare Advantage Plans +
  • +
  • + + Analysis Research +
  • +
  • + + 100% Secure Money Back +
  • +
+
+
+ +
+
+

+ We successfully cope with tasks of varying complexityprovide longerty term + guarantees and regularly master new Practice Area technol ogiesOur portfolio + includes dozen +

+ + Contact With Us + +
+
+
+
+
*/} +
+
+

+ Trusted by Numerous Companies, Worldwide +

+
+ +
+
+
+ {/*
+
+
+
+
+
+ Why We Are The Best +

Digital Solutions For Your Online Business

+
+

+ We successfully cope with tasks of varying complexity provide area longerty + guarantees and regularly master new Practice Following gies heur. +

+
+
+
+
+
    +
  • +
    +
    + +
    +
    +

    Business Solutions

    +

    Semper egetuis kelly for tellus urna area condition.

    +
    +
    +
  • +
  • +
    +
    + +
    +
    +

    Finance Planning

    +

    Semper egetuis kelly for tellus urna area condition.

    +
    +
    +
  • +
  • +
    +
    + +
    +
    +

    Market Analysis

    +

    Semper egetuis kelly for tellus urna area condition.

    +
    +
    +
  • +
  • +
    +
    + +
    +
    +

    Business Solutions

    +

    Semper egetuis kelly for tellus urna area condition.

    +
    +
    +
  • +
+
+
+
+
+
+ + +
+
*/} + {/*
+
+
+
+
+
+ +
+
+

+ + +

+

+ Successfully
Completed Projects +

+
+
+
+
+
+
+ +
+
+

+ K +

+

+ Satisfied
100% Our Clients +

+
+
+
+
+
+
+ +
+
+

+ + +

+

+ All Over The World
We Are Available +

+
+
+
+
+
+
+ +
+
+

+ + +

+

+ Years of Experiences
To Run This Company +

+
+
+
+
+
+
+ + + +
+
*/} + {/*
+
+
+
+
+ MEET OUR TEAM +

+ Business Expertise Is Here
For You Can Trust +

+
+
+
+
+
+
+
+ +
+
+

+ Floyd Miles +

+ Finance Advisor +
+
    +
  • + + + +
  • +
  • + + + +
  • +
  • + + + +
  • +
  • + + + +
  • +
  • + + + +
  • +
+
+
+
+
+
+
+
+ +
+
+

+ Ralph Edwards +

+ Finance Advisor +
+
    +
  • + + + +
  • +
  • + + + +
  • +
  • + + + +
  • +
  • + + + +
  • +
  • + + + +
  • +
+
+
+
+
+
+
+
+ +
+
+

+ Eleanor Pena +

+ Finance Advisor +
+
    +
  • + + + +
  • +
  • + + + +
  • +
  • + + + +
  • +
  • + + + +
  • +
  • + + + +
  • +
+
+
+
+
+
+
+
+ +
+
+

+ Jone Cooper +

+ Finance Advisor +
+
    +
  • + + + +
  • +
  • + + + +
  • +
  • + + + +
  • +
  • + + + +
  • +
  • + + + +
  • +
+
+
+
+
+
+
+
*/} + {/*
+
+
+
+
+
+

Request A Call Back

+
+

+ Ever find yourself staring at your computer screen a good consulting slogan + to come to mind? Oftentimes. +

+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+ +
+
+
+
+
+
+
+
*/} +
+ + +
+ + ); +} diff --git a/app/api/contact-send/route.js b/app/api/contact-send/route.js new file mode 100644 index 0000000..f4a7189 --- /dev/null +++ b/app/api/contact-send/route.js @@ -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 }); + } +} diff --git a/app/api/get-payment-log/route.js b/app/api/get-payment-log/route.js new file mode 100644 index 0000000..365f6fa --- /dev/null +++ b/app/api/get-payment-log/route.js @@ -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 }); + } +} diff --git a/app/api/getreport/route.js b/app/api/getreport/route.js new file mode 100644 index 0000000..6f2f2a4 --- /dev/null +++ b/app/api/getreport/route.js @@ -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 }); + } +} diff --git a/app/api/handle-successful-payment/route.js b/app/api/handle-successful-payment/route.js new file mode 100644 index 0000000..5d624a2 --- /dev/null +++ b/app/api/handle-successful-payment/route.js @@ -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 }); +// } +// } diff --git a/app/api/schedule-send/route.js b/app/api/schedule-send/route.js new file mode 100644 index 0000000..1ad9a84 --- /dev/null +++ b/app/api/schedule-send/route.js @@ -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 }); + } +} diff --git a/app/api/stripe-cancel-subscription/route.js b/app/api/stripe-cancel-subscription/route.js new file mode 100644 index 0000000..217d86a --- /dev/null +++ b/app/api/stripe-cancel-subscription/route.js @@ -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 } + ); + } +} diff --git a/app/api/stripe-create-portal-session/route.js b/app/api/stripe-create-portal-session/route.js new file mode 100644 index 0000000..d77adb2 --- /dev/null +++ b/app/api/stripe-create-portal-session/route.js @@ -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 }); + } +} diff --git a/app/api/stripe-create/route.js b/app/api/stripe-create/route.js new file mode 100644 index 0000000..db9432b --- /dev/null +++ b/app/api/stripe-create/route.js @@ -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 }); + } +} diff --git a/app/api/verifyreport/route.js b/app/api/verifyreport/route.js new file mode 100644 index 0000000..7446996 --- /dev/null +++ b/app/api/verifyreport/route.js @@ -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 } + ); + } +} diff --git a/app/api/webhook/route.js b/app/api/webhook/route.js new file mode 100644 index 0000000..c0f36f2 --- /dev/null +++ b/app/api/webhook/route.js @@ -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); +// } +// } diff --git a/app/blog/cracking-the-seo-code-5-ways-a-high-seo-score-can-transform-your-business/page.js b/app/blog/cracking-the-seo-code-5-ways-a-high-seo-score-can-transform-your-business/page.js new file mode 100644 index 0000000..d5a9fd1 --- /dev/null +++ b/app/blog/cracking-the-seo-code-5-ways-a-high-seo-score-can-transform-your-business/page.js @@ -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 ( + <> + +
+
+
+
+
+
+
+
+ +
+

+ 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. +

+ +

What's the Deal with SEO Scores?

+

+ 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. +

+ +

The SEO Engine: How It All Works

+

+ 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. +

+

+ 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. +

+ +

+ 5 Ways a High SEO Score-Visibility Can Transform Your Business +

+

+ A higher SEO score is like giving your website a VIP pass to the + top of the search results. Here's how it works: +

+
    +
  • +

    Digital Real Estate

    +
  • +
+

+ 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. +

+

+ 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 website’s chances + of being seen and clicked on by users actively searching for + products or services like yours. +

+
    +
  • +

    Getting More Than Just Clicks

    +
  • +
+

+ 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 doesn’t 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. +

+

+ 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. +

+
    +
  • +

    Top Of The Line ROI

    +
  • +
+

+ 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. +

+
    +
  • +

    Elevate Your Brand's Authority

    +
  • +
+

+ 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. +

+

+ 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. +

+
    +
  • +

    Innovation Breeds Success

    +
  • +
+

+ 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. +

+

+ 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 doesn’t + guarantee a high score tomorrow. To maintain your competitive + edge, you need to stay informed about the latest SEO trends and + best practices. +

+

+ 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. +

+

+ 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. +

+ +

Boost Your SEO Score: Your Action Plan

+

+ Ready to climb the search engine ladder? Here's your SEO + toolkit: +

+
    +
  1. + Keyword Research: Find out what your target audience is + searching for and sprinkle those keywords throughout your + website's content. +
  2. +
  3. + On-Page Optimization: Fine-tune your website's structure, + meta tags, headings, and content to make it as + search-engine-friendly as possible. +
  4. +
  5. + 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). +
  6. +
  7. + Backlink Building: Get other reputable websites to link to + yours. This is like getting a vote of confidence from your + peers. +
  8. +
  9. + 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. +
  10. +
  11. + 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. +
  12. +
+ +

The SEO Journey: It's a Marathon, Not a Sprint

+

+ 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. +

+ +

Overwhelmed? RankRunners Can Help!

+

+ 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. +

+

+ Don't let your website get lost in the digital noise. + Book a Free Consultation with + RankRunners today. +

+
+ +
+
+
+
+ +
+
+
+
+
+ {/* blog-details-area-end */} +
+
+ + ); +} diff --git a/app/blog/making-every-dollar-count-effective-google-ads-strategies-for-budgets-under-$1000/page.js b/app/blog/making-every-dollar-count-effective-google-ads-strategies-for-budgets-under-$1000/page.js new file mode 100644 index 0000000..8679696 --- /dev/null +++ b/app/blog/making-every-dollar-count-effective-google-ads-strategies-for-budgets-under-$1000/page.js @@ -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 ( + <> + +
+
+
+
+
+
+
+
+ +
+

+ 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 you’re working with + less than $1000, don’t worry—we’ve got some practical tips to + help you make the most of your ad spend. Let’s dive into some + effective strategies, including using Exact Match keywords, + choosing very specific terms, and focusing on high-income areas. +

+ +

Getting the Most from a Limited Budget

+

+ When your budget is under $1000, it’s 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. Here’s how you can stretch those dollars + and maximize your Google Ads campaign. +

+ +

1. Go for Exact Match Keywords

+

+ 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 you’ve chosen. + This precision can make a big difference. +

+

Why Exact Match Keywords Are Great:

+
    +
  • +

    + Relevance: 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. +

    +
  • +
  • +

    + Cost Efficiency: 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. +

    +
  • +
  • +

    + Better Quality Score: 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. +

    +
  • +
+

How to Use Exact Match Keywords:

+
    +
  • +

    + Research or personally select the most relevant Exact + Match keywords for your business. +

    +
  • +
  • +

    + Use tools like Google Keyword Planner to find the best + keywords with manageable competition and decent search + volume. +

    +
  • +
  • +

    + Monitor your keyword performance regularly and tweak + your bids or keyword list as needed. +

    +
  • +
+ +

2. Choose Highly Specific Keywords

+

+ 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. +

+

Benefits of Specific Keywords:

+
    +
  • +

    + Lower Competition: Long-tail keywords + generally face less competition, which can reduce your + CPC and allow you to get more clicks for your budget. +

    +
  • +
  • +

    + Higher Conversion Rates: People using + specific keywords are often further along in the buying + process, so they’re more likely to convert. This means + better results for your ad spend. +

    +
  • +
  • +

    + More Relevant Ads: Ads tailored to very + specific terms are more likely to match the user’s + intent, leading to higher engagement. +

    +
  • +
+

Tips for Using Specific Keywords:

+
    +
  • +

    + Make a list of long-tail keywords that fit your business + and target audience. +

    +
  • +
  • +

    + Use Google Keyword Planner or similar tools to find + variations of these keywords. +

    +
  • +
  • +

    + Regularly review your keywords by using Google’s free + A/B testing tools, and adjust your keywords based on how + they’re performing according to the data. +

    +
  • +
+ +

3. Target High-Income Zip Codes

+

+ Another effective strategy is to target high-income zip codes. + By focusing your ads on affluent areas, you’re more likely to + reach people who have the financial means to buy your products + or services. +

+

Why Targeting High-Income Zip Codes Works:

+
    +
  • +

    + Better Chances of Conversion: + High-income areas often mean higher purchasing power, + which can translate into higher conversion rates. +

    +
  • +
  • +

    + More Efficient Spending: By targeting + specific areas, you avoid spending money on less likely + prospects, making your budget go further. +

    +
  • +
  • +

    + Tailored Ads: Ads targeted at + high-income demographics can be customized to appeal + more directly to their interests and needs. +

    +
  • +
+

How to Target High-Income Zip Codes:

+
    +
  • +

    + Look at your customer data to identify which zip codes + have higher income levels. +

    +
  • +
  • +

    + Use Google Ads’ location targeting features to focus on + these areas. +

    +
  • +
  • +

    + Track how well your ads perform in these regions and + adjust your strategy based on the results. +

    +
  • +
+ +

4. Additional Budget-Friendly Strategies

+

+ Besides the main strategies above, there are a few more tips + that can help you get the most out of your budget: +

+
    +
  • +

    + Ad Scheduling: + 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 it’s most likely to lead to + clicks and conversions. +

    +
  • +
  • +

    + Ad Extensions: 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 ad’s visibility and + performance. +

    +
  • +
  • +

    + A/B Testing: Experiment with different + ad copies, images, and calls to action. Even small + changes can make a big difference in how well your ads + perform. +

    +
  • +
  • +

    + Negative Keywords: 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 won’t convert. +

    +
  • +
+ +

Wrapping Up

+

+ 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. +

+

+ At Rankrunners, we’re here to help you navigate the world of + Google Ads and optimize your campaigns for the best possible + outcomes. Whether you’re new to Google Ads or looking to + fine-tune your existing strategy, we’ve 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. +

+

+ With a little planning and a strategic approach, even a modest + budget can lead to significant success. Happy advertising! +

+
+ +
+
+
+
+ +
+
+
+
+
+ {/* blog-details-area-end */} +
+
+ + ); +} diff --git a/app/blog/organic-vs-paid-marketing-what-are-the-differences/page.js b/app/blog/organic-vs-paid-marketing-what-are-the-differences/page.js new file mode 100644 index 0000000..fe08d32 --- /dev/null +++ b/app/blog/organic-vs-paid-marketing-what-are-the-differences/page.js @@ -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 ( + <> + +
+
+
+
+
+
+
+
+ +
+

+ 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. +

+

+ 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. +

+

+ Now I hear you say, “Paid advertising must be better right? + After all, nothing is free.” +

+

+ Yes and no. Paid advertising is better to quickly get the word + out about your business, but that comes at a significant cost. +

+

+ Alternatively, organic advertising is centered around longevity + and consistency but can grow to be just as effective as paid + advertising. +

+

+ But why choose one? When you can combine both methods to create + an effective and tailor-made marketing campaign for your + organization. +

+

Organic Marketing

+

Let’s talk about Organic Marketing first.

+

+ 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. +

+

+ It's important to make your content valuable to have the best + result. +

+

+ The optimal type of content to make heavily depends on the user + base and the type of channel you post it on. +

+

The most commonly used forms of organic marketing are

+
    +
  • + Social media marketing: Posting short and concise posts on + the likes of Tiktok, Instagram, X (Twitter) and various + other outlets +
  • +
  • + 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. +
  • +
  • + SEO (Search Engine Optimization): Creating blog posts, + making backlinks, and other ways of making content that’s + discoverable by the likes of Google, Yahoo, and other search + engines +
  • +
+

+ How to use Keywords and “tags” to help supercharge your organic + online presence! +

+

+ 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. +

+

+ To help you understand what we’re talking about I will give you + an example. +

+

+ 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. +

+

+ Say a dentist in Atlanta GA would most likely use keywords like +

+

+ “Where to book a dental appointment in Atlanta GA” or “What + dental products to use for whiter teeth” +

+ +

+ Finding targeted keywords is a vital step in the process of + creating a marketing campaign. +

+

+ If you aren’t 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. +

+

Paid Marketing

+

+ 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. +

+

+ Organic marketing is based on growing awareness and getting more + people to see your company. +

+

+ Paid marketing mostly revolves around selling specific products + or services. Paid marketing costs money but it has its place and + its merit. +

+

+ Usually paid marketing has instant effects as it gets ordered + and then instantly set in motion. +

+

+ Common paid marketing methods are sponsored advertising and paid + advertising. +

+

We will go into more detail about both of those methods.

+

Sponsored advertising.

+
    +
  • + 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. +
  • +
  • + 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. +
  • +
  • + 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. +
  • +
+ Example of a sponsored ad: + +

Paid advertising.

+
    +
  • + 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 you’ve set up and paid for a paid advertising campaign + the advertisements almost immediately appear in front of the + audience you specified, +
  • +
  • + Usually, paid ads are identified with a text saying + “Sponsored” or “Ad” Organically created advertisements do + not have this identifier. +
  • +
  • + 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. +
  • +
  • + 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. +
  • +
+ + Example of paid Google ads appearing at the top of the search + results + + +

+ 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. +

+

+ One thing to realize and include in your budget is the CPC (Cost + per click) for the keywords you choose to use. +

+

+ Paid and organic marketing can use the same channels as one + another +

+

+ Buying ads and creating posts can be done on most prevalent + outlets but they are not the same. +

+
    +
  • + 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 don’t have to spend + anything on having people encounter and possibly engage with + your brand. +
  • +
  • + 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. +
  • +
  • + 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. +
  • +
  • + 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. +
  • +
+

+ 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. +

+

+ 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. +

+

+ They are however mostly costs that aren’t 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. +

+
+ As long as the content exists it has the chance to give value. +
+

+ 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. +

+

+ Keeping on top of your organic results is always necessary to + keep up with changes. +

+ Example of a paid advertisement: + +

Let’s talk about the different marketing channels.

+

We will divide them into two categories: Organic and Paid.

+
    +
  • Organic
  • +
      +
    • Search Engines
    • +
    • Social Media Outlets
    • +
    • Email newsletters
    • +
    +
  • Paid
  • +
      +
    • Search Engines
    • +
    • Social Media Outlets
    • +
    • Spotify ads
    • +
    +
+

Organic Marketing

+

Organic marketing on Search Engines

+

+ 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. +

+

+ In the case of Google, it’s important to consider having + accompanying videos on YouTube as it closely links to Google + results. +

+

+ It comes down to making sure your content is useful and relevant + for your target audience when they use a search engine. +

+

Organic Marketing on Social Media Outlets

+

+ 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. +

+

Let’s first list some of the biggest social media platforms.

+
    +
  • Facebook
  • +
  • Instagram
  • +
  • Linkedin
  • +
  • X (Twitter)
  • +
  • Tiktok
  • +
  • Snapchat
  • +
+

X (Twitter) and Linkedin

+
    +
  • + X (Twitter) and Linkedin usually have a greater presence of + professional and business users as compared to TikTok, + Instagram, or Snapchat. +
  • +
+

TikTok, Instagram, and Snapchat

+
    +
  • + TikTok, Instagram, and Snapchat however have a far greater + appeal amongst younger people. +
  • +
  • + Depending on your sector you should try to optimize which + social media outlet you put the most time and effort in. +
  • +
  • + On all platforms, it is important to consistently post and + to make sure it’s 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. +
  • +
+

Organic marketing with Email newsletters

+
    +
  • + 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. +
  • +
  • + 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. +
  • +
+

Paid Marketing

+

Paid marketing on Search Engines.

+

+ 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. +

+ Example of an ad on Google Maps: + +

Paid marketing on Social Media Outlets.

+

+ 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 people’s Feeds or the Facebook Marketplace, or even + while people are chatting on Messenger. +

+ +

Paid marketing on Spotify

+

+ Another great way to advertise is on Spotify. There are two + options here, +

+

+ 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. +

+

+ 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 +

+
+ To end things off there is no “golden bullet” for marketing but + it is rather a combination and joint effort between the + available methods. +
+

+ If you want quick and instant results, paid advertisements are a + great way. +

+

+ But to create a healthy audience organically interacting with + your target audience will be better in the long term. +

+
+

+ THERE IS NO "GOLDEN BULLET" FOR MARKETING BUT RATHER A JOINT + EFFORT +

+

+ Rankrunners +

+
+

+ Want to outrun your competition? + Book a Free Consultation with + RankRunners today. +

+
+ +
+
+
+
+ +
+
+
+
+
+ {/* blog-details-area-end */} +
+
+ + ); +} diff --git a/app/blog/page.js b/app/blog/page.js new file mode 100644 index 0000000..02a7f4b --- /dev/null +++ b/app/blog/page.js @@ -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 ( + <> + +
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+
+
+
+
+
+ +
+ + ); +} diff --git a/app/blog/the-importance-of-seo-in-growing-your-business/page.js b/app/blog/the-importance-of-seo-in-growing-your-business/page.js new file mode 100644 index 0000000..df9bbf9 --- /dev/null +++ b/app/blog/the-importance-of-seo-in-growing-your-business/page.js @@ -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 ( + <> + +
+
+
+
+
+
+
+
+ + +
+

+ 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, there’s 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. +

+ +

Seeking Web Presence to Obtain Clicks

+

+ The main purpose of SEO rests directly within its name. “Search + Engine Optimization.” Search engines such as: +

+
    +
  • Google
  • +
  • Bing
  • +
  • Yahoo
  • +
+

+ 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. Here’s 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 who’ve already been + looking for a service or product like yours. +

+ +

Cost-Effective Marketing

+

+ SEO is incredibly efficient when it comes to conversions. There + are other various forms of online marketing, such as: +

+
    +
  • + Pay-Per-Click Google Ads you often see on the sides of + websites +
  • +
  • Social Media Marketing
  • +
  • Outbound Cold Emails
  • +
+

+ 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. +

+

+ 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. +

+ +

Reputation and Credibility

+

+ Most online experiences begin with a search engine. Even the + most basic and least tech-savvy individual likely knows how to + click on Explorer’s Blue “E”, or Google’s 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 someone’s Google search + results, they’re more likely to feel trusting enough of your + reputation and credibility to click on your link. +

+

+ Something that SEO also involves is improving the user + experience overall. When a user clicks on your page, they would + prefer content that is: +

+
    +
  • Quick and responsive
  • +
  • Organized
  • +
  • Helpful
  • +
  • Relevant to the search query
  • +
  • Well-Maintained
  • +
+

+ 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, they’re more likely to make a + purchase or be more interested in what you have to offer. +

+ +

Advantage Over Competition

+

+ 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, you’ll 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 you’re 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. +

+ +

The User Experience

+

+ 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: +

+
    +
  • Content Relevance
  • +
  • Loading Time
  • +
  • Ease of Navigation
  • +
  • Mobile Optimization
  • +
+

+ 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. +

+

+ The methods that search engines use to detect whether your + content is enjoyable and helpful are clear. There are some + measurable metrics such as: +

+
    +
  • Site Engagement (clicks)
  • +
  • Average Time Spent on the Website
  • +
  • + Bounce Rate (amount of people who leave the website quickly) +
  • +
+

+ These metrics (and more) can signal to the different search + engines that your website has value and relevance, and in turn, + they’ll 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. +

+ +

Local Optimization

+

+ 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. +

+ +

Long-Term Benefits

+

+ SEO isn’t 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. +

+ +

Customer Insights

+

+ 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: +

+
    +
  • + finding the most popular keywords that can be used to find + your site, +
  • +
  • the pages that are the most visited,
  • +
  • + 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) +
  • +
+

+ These sets of data will let you learn about your customers, and + then you can tailor your pages and content accordingly. Here’s + 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 +

+
    +
  • Topic
  • +
  • Length
  • +
  • Style
  • +
  • Images
  • +
  • Links
  • +
  • Tone
  • +
+

+ 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. +

+ +

Building Your Brand

+

+ 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”, you’re going to need to ensure + that the company name appears in front of everyone’s face as + much as possible. Another good strategy to employ is choosing a + catchy and memorable name that people don’t 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 aren’t 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 they’ve seen it come up + on their screen a couple of times before. +

+ +

Staying Ahead of the Technological Curve

+

+ 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. +

+

+ 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 company’s marketing efforts to stay effective and + relevant, even in the most competitive environments. +

+

Takeaway

+

+ If you’ve read this far, you’re truly invested in building your + company, and you’re on the right track. You’ve 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. Here’s a simple and + quick recap of what you can expect to gain: +

+
    +
  • Increased Web Presence and Clicks
  • +
  • Cost-Effective Marketing
  • +
  • Building Reputation and Credibility
  • +
  • Advantage Over Competition
  • +
  • Improved User Experience
  • +
  • Localized SEO
  • +
  • Long Term ROI
  • +
  • Customer Behavior Insights
  • +
  • Building Your Brand
  • +
  • Staying Ahead of the Technological Curve
  • +
+

+ Boosting your business with expert digital marketing can + generate countless benefits. Often, the results speak for + themselves. +

+

+ Want to outrun your competition? + Book a Free Consultation with + RankRunners today. +

+
+ +
+
+
+
+ +
+
+
+
+
+ {/* blog-details-area-end */} +
+
+ + ); +} diff --git a/app/client-area/page.js b/app/client-area/page.js new file mode 100644 index 0000000..23b3701 --- /dev/null +++ b/app/client-area/page.js @@ -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 &&

Loading...

} + {sessionAccess && ( + +
+
+ +
+ +
+
+ )} + + ); +} diff --git a/app/contact/page.js b/app/contact/page.js new file mode 100644 index 0000000..43d160f --- /dev/null +++ b/app/contact/page.js @@ -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 ( + <> + +
+
+
+
+
+
+
+ + GET IN TOUCH + +

Let's Talk

+

+ Have a question about a service, pricing, or case study? Send us a + message and we'll provide all the answers you need! +

+
+
+
    +
  • +
    + +
    +
    +

    Address

    +

    + + Suite B, 1934 N. Druid Hills Rd, Brookhaven, GA 30319, + USA + +

    +
    +
  • +
  • +
    + +
    +
    +

    Phone

    + (470) 260-4117 +
    +
  • +
  • +
    + +
    +
    +

    Email

    + + support@rankrunners.net + +
    +
  • +
+
+ {/*
+
    +
  • + We'll increase your company website's organic search ranking and + visibility in Google search +
  • +
  • + This increased brand exposure will help attract and reel in + thousands of brand new customers +
  • +
  • + You will experience a higher bottom line, increased ROI and better + position yourself for sustainable, organic growth +
  • +
+
+
+

Are you ready to outrun your competitors?

+
*/} +
+
+
+ +
+
+
+
+
+