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.
Proof from real campaigns
The same playbook, applied for clients and measured.
Services for Minneapolis businesses
Minneapolis questions
Do Minneapolis and St. Paul need separate pages?
My business is in the city of Ramsey. How do I keep it apart from Ramsey County?
Are Rochester, Duluth and St. Cloud part of the Twin Cities market?
My crews work out of Burnsville. Which places go first on the list?
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