<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Rizwan Munir</title>
    <description>The latest articles on DEV Community by Rizwan Munir (@lokalrang).</description>
    <link>https://dev.to/lokalrang</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4016799%2F8f12f0a6-3648-47ea-9258-7f67013c587e.png</url>
      <title>DEV Community: Rizwan Munir</title>
      <link>https://dev.to/lokalrang</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lokalrang"/>
    <language>en</language>
    <item>
      <title>How Local Businesses Become Visible to Google and AI Search: A Practical Guide</title>
      <dc:creator>Rizwan Munir</dc:creator>
      <pubDate>Tue, 07 Jul 2026 11:26:07 +0000</pubDate>
      <link>https://dev.to/lokalrang/how-local-businesses-become-visible-to-google-and-ai-search-a-practical-guide-8c6</link>
      <guid>https://dev.to/lokalrang/how-local-businesses-become-visible-to-google-and-ai-search-a-practical-guide-8c6</guid>
      <description>&lt;p&gt;Search behavior is shifting. People still type "electrician near me" into Google, but a growing share now asks ChatGPT, Claude, Perplexity, or Google's AI Overviews instead. Those systems do not rank pages the classic way. They extract entities, check data consistency across the web, and cite the businesses they can verify.&lt;/p&gt;

&lt;p&gt;At &lt;a href="https://lokalrang.de/" rel="noopener noreferrer"&gt;LokalRang&lt;/a&gt;, a local SEO agency for skilled trade businesses in Germany, we spend our days making small businesses readable to both kinds of search. This post is the practical, technical version of that work. Everything here applies to any local business, and most of it is implementable in a weekend.&lt;/p&gt;

&lt;h2&gt;
  
  
  The mental model: entity over keywords
&lt;/h2&gt;

&lt;p&gt;Classic local SEO asked: "Does this page match the query?" Entity-based search asks: "Do I know what this business is, and do all sources agree?"&lt;/p&gt;

&lt;p&gt;A search engine or LLM builds confidence about a business from several sources:&lt;/p&gt;

&lt;p&gt;The website itself (content plus structured data)&lt;br&gt;
The Google Business Profile&lt;br&gt;
Directory listings and citations&lt;br&gt;
Social profiles and their bios&lt;br&gt;
Reviews and how the business responds to them&lt;/p&gt;

&lt;p&gt;When these sources agree on name, category, location, and services, the business becomes a stable entity that machines will confidently show and cite. When they disagree, the business gets filtered out of answers. Not penalized. Just quietly omitted.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Structured data that actually declares what you are
&lt;/h2&gt;

&lt;p&gt;Most local business sites either have no schema or auto-generated fragments from a page builder. Write it deliberately. A minimal, correct LocalBusiness block does more than a bloated one:&lt;/p&gt;

&lt;p&gt;json{&lt;br&gt;
  "&lt;a class="mentioned-user" href="https://dev.to/context"&gt;@context&lt;/a&gt;": "&lt;a href="https://schema.org" rel="noopener noreferrer"&gt;https://schema.org&lt;/a&gt;",&lt;br&gt;
  "@type": "LocalBusiness",&lt;br&gt;
  "name": "Example Electric GmbH",&lt;br&gt;
  "description": "Electrical installation company serving Munich and surroundings.",&lt;br&gt;
  "url": "&lt;a href="https://www.example.de" rel="noopener noreferrer"&gt;https://www.example.de&lt;/a&gt;",&lt;br&gt;
  "telephone": "+49 89 1234567",&lt;br&gt;
  "address": {&lt;br&gt;
    "@type": "PostalAddress",&lt;br&gt;
    "streetAddress": "Musterstrasse 1",&lt;br&gt;
    "addressLocality": "Munich",&lt;br&gt;
    "postalCode": "80331",&lt;br&gt;
    "addressCountry": "DE"&lt;br&gt;
  },&lt;br&gt;
  "sameAs": [&lt;br&gt;
    "&lt;a href="https://www.instagram.com/exampleelectric" rel="noopener noreferrer"&gt;https://www.instagram.com/exampleelectric&lt;/a&gt;",&lt;br&gt;
    "&lt;a href="https://www.linkedin.com/company/exampleelectric" rel="noopener noreferrer"&gt;https://www.linkedin.com/company/exampleelectric&lt;/a&gt;",&lt;br&gt;
    "&lt;a href="https://mastodon.social/@exampleelectric" rel="noopener noreferrer"&gt;https://mastodon.social/@exampleelectric&lt;/a&gt;"&lt;br&gt;
  ]&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Two details that get skipped and should not be:&lt;/p&gt;

&lt;p&gt;Pick the most specific @type available. Electrician, Plumber, and RoofingContractor all exist in schema.org. A specific type is a stronger classification signal than generic LocalBusiness.&lt;/p&gt;

&lt;p&gt;The sameAs array is your identity graph. Every profile listed there tells crawlers "these accounts are the same entity as this website." This is how mentions on social platforms consolidate into one entity instead of fragmenting into five.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Verifiable identity links (rel="me")
&lt;/h2&gt;

&lt;p&gt;Schema claims an identity. rel="me" proves one. Mastodon popularized this: put a link to your site in your profile, add the reciprocal link in your site's , and the profile shows a verified checkmark.&lt;/p&gt;

&lt;p&gt;html&lt;/p&gt;

&lt;p&gt;This is a two-way, machine-checkable identity link that costs one line of HTML. Fediverse platforms display it, and crawlers can verify it. There is no reason not to do it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: One canonical description, repeated everywhere
&lt;/h2&gt;

&lt;p&gt;Write one sentence that defines the business, and use it verbatim as the first line of every profile bio: Google Business Profile, LinkedIn, Instagram, Mastodon, Bluesky, directories.&lt;/p&gt;

&lt;p&gt;Format: [Name] is a [category] for [audience] in [location], offering [services].&lt;/p&gt;

&lt;p&gt;This feels repetitive to a human. To an extraction pipeline, it is a consistent training signal. Profile bios are short, public, and heavily crawled, which makes them disproportionately influential in how AI systems describe a business.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: NAP consistency is a data-quality problem
&lt;/h2&gt;

&lt;p&gt;Name, address, phone. Audit every place the business appears and normalize to one exact format. Common failure modes:&lt;/p&gt;

&lt;p&gt;Legal name in one directory, brand name in another&lt;br&gt;
Old phone number surviving in listings from years ago&lt;br&gt;
Street abbreviations that differ between platforms&lt;/p&gt;

&lt;p&gt;Treat it like deduplicating records in a database, because that is literally what Google does with it. Conflicting records lower confidence, and low confidence means fewer appearances in map results and AI answers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Reviews as structured trust data
&lt;/h2&gt;

&lt;p&gt;Reviews are the only entity signal generated by third parties at scale, which is why they weigh so much. Two operational rules:&lt;/p&gt;

&lt;p&gt;Make asking for reviews part of the job-completion process, not an afterthought. A QR code on the invoice outperforms any follow-up email.&lt;br&gt;
Respond to every review. Responses are indexed content, they demonstrate an active business, and future customers read them as carefully as the reviews themselves.&lt;/p&gt;

&lt;h4&gt;
  
  
  What this looks like in practice
&lt;/h4&gt;

&lt;p&gt;We run this exact stack for trade businesses: specific-type schema with a complete sameAs graph, verified profile links, one canonical description across every platform, normalized citations, and a review loop. None of it is exotic. The advantage comes from doing all of it, consistently, while competitors do none of it.&lt;/p&gt;

&lt;p&gt;The two-minute test for any local business: search your category plus your city in a private window. If the business is not in the map pack, has fewer reviews than the businesses above it, or the site hides the phone number on mobile, the fixes above are the roadmap, in that order.&lt;/p&gt;

&lt;p&gt;Questions about implementing any of this, especially the schema side, are welcome in the comments.&lt;/p&gt;

&lt;p&gt;I work with LokalRang, a local SEO agency for skilled trade businesses in Germany. We offer a free visibility analysis at lokalrang.de.&lt;/p&gt;

</description>
      <category>seo</category>
      <category>webdev</category>
      <category>marketing</category>
    </item>
  </channel>
</rss>
