How I'd Rank a Concrete Contractor in Des Moines From Scratch in 90 Days (No Agency Required)

Key Takeaways
  • Most contractors waste money on agencies before their own website foundation is even solid — fix the foundation first, every time
  • Local SEO without an agency works when you follow a specific sequence — randomness is why most DIY attempts fail
  • Your Google Business Profile is the fastest path to inbound calls — it ranks before your website does
  • The content and GBP stack is what separates contractors who get consistent leads from those who stay dependent on referrals
  • A concrete contractor in a mid-size market who executes this 90-day sequence can realistically see map pack movement before the quarter is over

If you run a concrete business and you're not showing up on Google, you already know referrals aren't a strategy — they're hope. Most contractors assume fixing that means hiring an agency. It doesn't. Local SEO without an agency for small contractors isn't just possible, it's often the smarter move. This post gives you the exact playbook I'd run to rank a concrete contractor in Des Moines from scratch in 90 days — no paid ads, no retainer, no guesswork.

What "Doing Your Own Local SEO" Actually Looks Like

Local SEO without an agency doesn't mean guessing your way through random tactics you found on YouTube. It means following a structured sequence — foundation first, content second, authority third. Done in that order, it works. Done any other way, it wastes months.

Here's what it actually involves. You optimize your Google Business Profile so Google knows exactly who you are, where you work, and what you do. You build a website structure where every core service has its own dedicated page targeting a specific keyword. You publish content that answers the real questions your customers type into Google before they hire someone. And you earn credibility signals — reviews, citations, backlinks — that tell Google you're the most legitimate option in your market.

None of that requires a marketing degree. None of it requires code. It requires consistency and the right order of operations.

💡 The Real Reason DIY SEO Fails

Most DIY attempts fail not because the contractor did it wrong — but because nobody told them what order to do it in, or that the compounding effect takes 60–90 days to show up. The sequence is everything.

The mistake most contractors make is assuming "doing SEO" means tweaking meta tags or stuffing keywords into their homepage. That's not SEO. That's the stuff agencies bill hours for that doesn't move the needle. Real local SEO is about building a presence that compounds — and you can do that yourself if you know what to build and when.

A concrete contractor in Des Moines competing against 10–15 other local businesses isn't facing the same uphill battle as a national brand competing in every city at once. The local playing field is small. Most of your competitors are doing almost nothing. That gap is your opportunity.

Why Most Contractors Waste Money on Agencies Before They're Ready

I've talked to a lot of small contractors who've been burned by agencies. The story is almost always the same. They signed a $1,000–$2,000 per month retainer, got some reports with green arrows on them, and had nothing to show for it after six months. So they concluded that SEO is a scam.

It's not a scam. The problem is timing and sequencing.

Here's what actually happens when you hire an agency before your foundation is solid. They start "optimizing" a website that has one services page, no blog, no GBP photos, and 3 reviews. They build a few backlinks to a homepage that doesn't clearly explain what you do or where you do it. They chase vanity keywords like "concrete contractor" that put you in national competition with Angi and HomeAdvisor. And then they send you a report showing impressions went up 12%.

None of that produces calls. Because the foundation was never built.

"Does SEO actually work for small contractors? Yes — when the site is ready to rank, when the GBP is fully built out, and when there's content for Google to evaluate. Without those three things, you're paying an agency to water a plant with no roots."

The contractors who get real ROI from agencies are the ones who already have a working foundation and need someone to accelerate it. If you're starting from scratch, you're better off building it yourself first. You'll learn how it works, you'll save the retainer, and you'll have something worth handing off later if you want to.

The other reason DIY makes sense at this stage: no one knows your business, your city, or your customers better than you do. The best local content about concrete work in Des Moines isn't going to come from an outsourced writer in another country. It's going to come from the person who's been doing this work for years and knows what every customer asks before they sign a contract.

The 90-Day Sequence: What to Do in Weeks 1–4, 5–8, and 9–12

This is how to rank a contractor website in 90 days when you execute it in order. No skipping ahead. No doing step six before step two.

Weeks 1–4 · Foundation
01

Claim and Fully Optimize Your Google Business Profile

This is your first priority, full stop. Claim it if you haven't. Fill every single field — services, service area, hours, description, attributes. Write your description in plain language with your primary service and city mentioned naturally. Add real job photos — finished driveways, patios mid-pour, your equipment on a job site. Upload at least 10 photos before you move on. Then ask every current and past customer for a review. Text them directly. Reviews are one of the highest-impact ranking factors for a local contractor website, and most of your competitors have five or fewer. Getting to 20 genuine reviews in your first 30 days alone puts you ahead of most of the market.

02

Fix Your Website Foundation

If your site is slow, hard to read on a phone, or has all your services crammed onto one page — fix it now. Each core service needs its own page: driveways, patios, foundations, decorative concrete, repair. Each page targets a specific keyword combination. Each page says what you do, where you do it, and how to contact you. That's the baseline everything else builds on.

03

Build Your Keyword Target List

Write down 10–15 service and city combinations. "Concrete driveway Des Moines." "Stamped patio Ankeny." "Concrete repair West Des Moines." These are the specific searches your buyers make — not browsers. These targets go on your service pages and drive your content plan for the next two phases.

Weeks 5–8 · Content Engine
04

Start Publishing Targeted Content

The best way to rank a local contractor without ads is through consistent, targeted content. Not generic posts about concrete — specific answers to specific questions your buyers are asking: "How much does a concrete driveway cost in Des Moines?" "How long does a stamped patio take to install?" "Concrete vs pavers — which holds up better in Iowa winters?" One post per week. Four posts by the end of this phase. Each one linking back to the relevant service page. This is where most contractors stop, which is exactly why it's where you gain the most ground.

05

Build Your Internal Link Structure

Every blog post links to at least one service page. Every service page links to your contact page. Your homepage links to your top three service pages. This is the connective tissue that lets Google understand how your site is organized and which pages you consider most important. It's one of the most underused leverage points in local SEO for small contractors.

06

Get Listed in Local Directories

Yelp, Angi, Houzz, HomeAdvisor, BBB, and any Iowa or Des Moines specific directories. Your name, address, and phone number need to match exactly across every listing. Inconsistent citations are a quiet ranking suppressor that holds back a lot of otherwise solid local sites — and it takes one afternoon to fix.

Weeks 9–12 · Authority
07

Earn Your First Backlinks

You don't need dozens. You need a few relevant, local ones. Reach out to your concrete supplier and ask if they'll mention you on their site. Contact local landscaping businesses about a mutual referral link. Sponsor a youth sports team or local event and get listed on their site. Get into the Des Moines Chamber of Commerce or local home builders association. These aren't glamorous. They work.

08

Stay Active on Your GBP

Respond to every review. Post a photo of a finished job once a week with a short description. Answer any questions in your Q&A section. Google watches GBP engagement as a relevance signal. An active profile consistently holds map pack positions better than an abandoned one — and it costs you 10 minutes a week.

09

Track, Review, and Double Down

By week 12, you should see indexing across your blog posts, GBP profile views climbing, and movement on lower-competition service page keywords. When something's working, do more of it. A concrete contractor in a comparable mid-size Midwest market following this sequence was receiving consistent inbound calls from organic search by month four. No ads. No agency. Just the system executed in order.

This 90-day plan is built on the same content system that scales this beyond Des Moines — whether you're expanding to multiple suburbs or eventually running this playbook in a completely different market.

The Content and GBP Stack That Drives Calls Without Ads

The two things that generate the most inbound calls for a local service business without a single dollar in ad spend are a fully built Google Business Profile and a targeted content strategy. Together, they're the stack that replaces paid traffic over time.

Why the GBP comes first. It's the fastest path to calls. The map pack shows up above the organic results, and it's driven almost entirely by your GBP quality, review count, and proximity to the searcher. A completely optimized GBP with 25 reviews can generate calls within 30 days. Your website might take 60–90 days to rank for anything meaningful. Don't wait on GBP while you work on content. Do both simultaneously.

Why content matters more long-term. How to get more leads for a concrete business over time isn't about the map pack alone. It's about showing up for every variation of every question your buyer asks before they hire. "How much does a concrete patio cost?" "What's the best concrete contractor in Ankeny?" "Does concrete crack in cold weather?" Each one is a search. Each one is a potential customer. A blog post that answers that question, ranks, and sits on your site forever is a 24/7 lead-generation asset that costs you one afternoon to write.

📍 Real-World Result

A local service business in a comparable mid-size Midwest market built out this exact stack — fully optimized GBP, six targeted blog posts, consistent review requests — and went from zero organic leads to consistent monthly inbound calls by month four. No agency. No ads. Just the system executed in order.

The contractors who stop at GBP get calls today but plateau in 90 days. The contractors who build both get a pipeline that grows every month without ongoing ad spend. That's the difference between renting visibility and owning it.

Real Questions From Contractors Who've Tried This Before

"I tried doing my own SEO and nothing happened."

What you tried probably wasn't a system — it was a collection of individual tactics with no sequence. Adding a keyword to your homepage title tag is not SEO. Publishing one blog post and stopping is not content marketing. The reason most DIY attempts fail isn't because the contractor did it wrong — it's because nobody told them what order to do it in, or that the compounding effect takes 60–90 days to show up. If you followed steps one through nine above in order and were consistent for the full 90 days, you would see movement. Most people stop at day 30.

"How is this different from what an agency would do?"

It's the same work. The difference is you're doing it yourself — which means you're saving $1,000–2,000 per month and building real knowledge about your own business's SEO. You'll also write better local content than most agencies will. You know the neighborhoods. You know the questions customers ask before they sign. You know what a concrete job in Des Moines actually involves. That knowledge shows up in content quality. And content quality shows up in rankings.

"What if I don't have time for this?"

Set a realistic expectation: the foundation phase — GBP plus site fixes — takes one focused weekend. The content phase takes two to three hours per week for one blog post. The authority phase is mostly outreach, which takes one afternoon per month. That's roughly 10–15 hours over 90 days total. If you can't find that time, you're not choosing between SEO and doing nothing. You're choosing between building something over 90 days or paying someone $6,000 to do the same work.


Local SEO without an agency isn't a compromise — for most small contractors at this stage, it's the smarter move. Build the foundation yourself, run the 90-day sequence, and you'll have something that generates leads and compounds over time before you ever need to think about handing it off. If you want the full step-by-step framework — not just the overview but the actual system — join Local SEO Skool and I'll walk you through every piece of it.

V

Vince Joyn

SEO Strategist and Content Systems Builder. I build and test these systems in real businesses — then teach exactly what works.

Read more about Vince →