Skip to main content

Minneapolis, MN - Twin Cities

Local SEO in Minneapolis for Twin Cities Businesses

A Twin Cities local SEO plan names its places: Minneapolis, St. Paul and the suburbs you serve, from Bloomington and Blaine to Woodbury and Hudson, Wisconsin. We audit your Google Business Profile, build citations and backlinks and support review generation for that list, with extra service area pages available as an add-on.

Two central cities, 15 counties and a state line: the Minneapolis-St. Paul-Bloomington metro area counted 3,790,295 residents in the U.S. Census Bureau's Vintage 2025 estimates, the 16th largest total among U.S. metro areas. In those Vintage 2025 estimates, Minneapolis had 430,324 residents and St. Paul 306,684, just under one in five of the metro total between them.

Your Google Business Profile is tied to one address in one city, so the planning starts with a list: the Twin Cities places you want customers from, in priority order. For reference, here is Google's Business Profile help article on local ranking (opens in new tab).

Two downtowns, two counties

Minneapolis is in Hennepin County, which had 1,284,784 residents in the Vintage 2025 estimates, so the city holds about a third of its county. St. Paul holds more than half of Ramsey County, home to 541,623 people in the same Vintage 2025 estimates. The Census Bureau's 2023 County Business Patterns counted 40,486 employer establishments in Hennepin County and 13,677 in Ramsey County.

At the ZIP code level, the 2023 County Business Patterns counted 1,414 employer establishments in 55402, the center of downtown Minneapolis, 203 of them offices of lawyers. In the same 2023 County Business Patterns ZIP code data, 55101 and 55102, the two ZIP codes that share downtown St. Paul, had 613 and 724. Both downtowns link their buildings with second-level skyways, so a business on a skyway level needs its floor or unit written the same way on every listing.

Four more Minnesota cities with St. Paul in the name

The Vintage 2025 estimates list four other Minnesota cities with St. Paul in their names: West St. Paul (21,950 residents) and South St. Paul (20,532) in Dakota County, North St. Paul (12,780) in Ramsey County and St. Paul Park (5,396) in Washington County. Each is a separate city. A page, profile or citation that says St. Paul should mean the city of St. Paul, and a business in West St. Paul should use that full name everywhere.

Spelling needs the same care. The Census Bureau's own 2023 County Business Patterns ZIP code files list 55101 and 55102 under Saint Paul, while its Vintage 2025 population estimates use St. Paul. Pick one spelling for your address and keep it on every directory. Our intake form wants your name, address and phone written the way they should read everywhere, since any variation creates duplicate listings.

The suburbs, county by county

Bloomington, with 89,034 residents in the Vintage 2025 estimates, is the metro's third-largest city and the third name in its Census title. Hennepin County suburbs that follow it in the same Vintage 2025 estimates include Brooklyn Park (83,543), Plymouth (78,942), Maple Grove (73,893), Eden Prairie (63,075), Edina (54,356), Minnetonka (53,969) and St. Louis Park (50,027). Brooklyn Park and Brooklyn Center are separate cities, so each needs a page with its own jobs, photos and reviews.

South of the Minnesota and Mississippi rivers, Dakota County had 457,710 residents in the Vintage 2025 estimates, led by Lakeville (79,270), Eagan (67,109), Burnsville (65,244) and Apple Valley (55,248). In the same Vintage 2025 estimates, Anoka County to the north had 381,605, with Blaine (76,603) and Coon Rapids (64,193), and Washington County to the east had 286,895, with Woodbury (81,558).

The 2023 County Business Patterns counted 980 specialty trade contractors in Anoka County and 578 in Ramsey County, although Ramsey had about 160,000 more residents in the Vintage 2025 estimates. That 2023 County Business Patterns count of 980 covers roofers, electricians and other specialty trade contractors with paid employees, so for a Blaine contractor the choice of industry directories for its citations is worth getting right. Industry and local directories start on our Business plan.

Across the St. Croix River

Two Wisconsin counties belong to the metro area: St. Croix County, with 98,276 residents in the Vintage 2025 estimates, and Pierce County, with 43,519. In the same Vintage 2025 estimates, River Falls had 17,916 residents split between the two counties, Hudson had 15,019 and New Richmond 10,988.

If your crews or deliveries cross the St. Croix on I-94 into Hudson, your Wisconsin listings have to match your Minnesota ones character for character. A second storefront on the Wisconsin side, with its own real address, calls for an additional profile location, one of our add-ons.

Two case studies from El Cajon, California

We do not have a client in the Twin Cities. The two case studies we point to here are both from El Cajon, California, in San Diego County:

  • American Collision & Auto Repair Center. Our auto body shop SEO case study describes a site built around 4 service categories, with insurance assistance messaging for collision customers and local SEO covering El Cajon and other East County communities in San Diego County. It lists a 5.0 Google rating from verified customer reviews and PageSpeed 90+.
  • A-K Tech. Our phone repair local SEO case study covers a phone and computer repair shop that started with no website. Its results: online visibility up 300% within 3 months, 150% more phone inquiries from the website and PageSpeed 95+.

Both projects included a website build, which is web design work sold separately from our Local SEO plans. Those results belong to those two shops, and we do not promise the same results or timing in Minneapolis or St. Paul.

What our local SEO plan covers

Every plan opens with the same audit: your Google Business Profile, the citations already out there and your reviews, followed by keyword and Map Pack targets for every place on your list, from the North Loop or Lowertown to Edina or Woodbury.

  • Citations by plan. Starter builds and cleans 30 listings on general directories. Business raises that to 40 and Biz+ to 80 or more, drawn from industry and local directories.
  • Profile work. Optimizing the profile and supporting review generation are part of every plan. Monthly posts, services, Q&A and UTM tagging come with Business and Biz+.
  • Links. Tiered backlinks go out every month on all plans, and Biz+ also places 2 to 5 guest posts on topic-relevant publishers monthly.
  • Add-ons. Extra service area pages, one place each, such as Bloomington or Hudson, and review response management are sold separately on our pricing page.
  • Reporting. Rankings, Map Pack position and traffic go into a monthly report.

Our Local SEO service page sets out every deliverable, tier by tier.

How we work with you

Our team works from El Cajon, California, and Minneapolis runs two hours ahead of us. Ownership of your Google Business Profile stays with you: you add us as a manager. We also ask to view your Google Analytics and Search Console data, which feed the monthly report.

Plan your Twin Cities local SEO

Tell us where you want customers from, place by place and in order of priority, from the North Loop or Lowertown out to Bloomington, Woodbury or Hudson, and which services you want found. Start on our contact page.

Services for Minneapolis businesses

Minneapolis questions

Do Minneapolis and St. Paul need separate pages?
If you serve both, yes. They are separate cities in separate counties, and the Mississippi River forms part of the line between them. Put your profile address in the city where the business is located, and give the other city an extra service area page with jobs, photos and reviews from there. Name neighborhoods such as the North Loop or Lowertown on those pages only where you have work.
My business is in the city of Ramsey. How do I keep it apart from Ramsey County?
The city of Ramsey is in Anoka County and had 29,624 residents in the Census Bureau's Vintage 2025 estimates, while Ramsey County, home to St. Paul, had 541,623 in the same Vintage 2025 estimates. Write Ramsey, MN with your street address and ZIP code the same way on every listing, and on your website name the nearby cities you serve, such as Anoka, Andover or Elk River, where you have work there.
Are Rochester, Duluth and St. Cloud part of the Twin Cities market?
Plan them as separate markets. In the Census Bureau's Vintage 2025 estimates, Rochester (124,292) and Duluth (88,330) are the largest cities of their own metro areas, and neither Olmsted County nor St. Louis County is part of the Minneapolis-St. Paul-Bloomington metro. St. Cloud is split: 7,842 of its 72,647 residents in the Vintage 2025 estimates live in Sherburne County, part of the Twin Cities metro, and the rest in Stearns and Benton counties, which form the St. Cloud metro area. Give each of these cities you serve its own page and reviews.
My crews work out of Burnsville. Which places go first on the list?
The ones where you want the most work, in that order. Burnsville sits where I-35 divides into I-35W toward downtown Minneapolis and I-35E toward downtown St. Paul, and I-494 and I-694 ring both central cities. A contractor there might list Apple Valley, Lakeville and Eagan ahead of either downtown, then add places along the branch it drives most. Our audit sets keyword and Map Pack targets in the order you give.

Ready to be found in Minneapolis?

Tell us about your business and we will show you where you rank today and what it takes to reach the Map Pack.

Based in El Cajon, California, serving businesses nationwide. Other cities we serve