SEO

15 On-Page Local SEO Tips to Rank on Page 1

There is a path to page 1 of Google without paid ads — and it’s not luck. Well-executed on-page local SEO can place your business in top organic positions, without a monthly ad spend.

These 15 tips cover every on-page element that directly affects Google’s ability to find and rank your local business. At the end, there’s a tiered priority system so you know exactly where to start.[^1]


Priority System

LevelWhen to Do ItTip Numbers
🔴 Do TodayFastest impact, lowest effort1, 2, 3, 6, 13, 14
🟡 This WeekSignificant impact, more time needed4, 5, 7, 8, 9, 15
🟢 This MonthLong-term impact, higher effort10, 11, 12

🔴 Do Today

Tip #1 — Put the City Name in Your Title Tag

The title tag is the most influential single element on your page for local relevance signals. Yet many businesses write their service without a location — and that’s a costly omission.

Wrong: Best Dental Clinic | Professional Service

Correct: Dental Clinic in Bandung Dago | Orthodontics Specialist

Recommended title tag structure:

[Primary Service] in [City/Area] | [Business Name or USP]

Ideal length: 50–60 characters including spaces — anything longer gets truncated in search results.

Pro tip: For your main homepage, include the city. For specific service pages, use a more specific district or area — “motorcycle workshop in North Bandung” is more specific and easier to rank for than “motorcycle workshop in Bandung.”

Tip #2 — Write One H1 That Matches Local Search Intent

Each page can only have one H1 — and it must reflect what users are searching for, not what you want to highlight about yourself.

Wrong: Welcome to Our Beauty Salon

Correct: Hair Salon in Kemang, South Jakarta — Curly Hair Specialist

An effective H1 for local SEO contains:

  • Business type or primary service
  • City or area name
  • (Optional) One unique differentiator

Tip #3 — Local Keyword Must Appear in the First 100 Words

Google gives more weight to content that appears early on the page. A local keyword appearing in the first 100 words sends a strong relevance signal.

Example of an effective opening for a motorcycle workshop in Surabaya:

“Bengkel Motor Pak Hendra is a trusted motorcycle workshop in East Surabaya serving routine maintenance, oil changes, and engine repairs since 2015. Located on Jl. Rungkut Industri No. 45, we’re easily accessible from the Rungkut, Tenggilis, and Gunung Anyar areas.”

Notice: city name (East Surabaya), specific areas (Rungkut, Tenggilis, Gunung Anyar), and services all appear naturally in the opening paragraph.

Tip #6 — Install LocalBusiness Schema JSON-LD

Schema markup is code that helps Google understand your page context with high precision. LocalBusiness schema specifically tells Google your name, address, phone number, operating hours, and business type — in a structured format machines read directly.[^2]

Basic LocalBusiness schema template:

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Your Business Name",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Jl. Street Name No. X",
    "addressLocality": "Your City",
    "addressRegion": "Your Province",
    "postalCode": "Postcode",
    "addressCountry": "ID"
  },
  "telephone": "+628xxxxxxxxx",
  "openingHours": ["Mo-Fr 08:00-17:00", "Sa 08:00-14:00"],
  "url": "https://your-website.com",
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "-6.2088",
    "longitude": "106.8456"
  }
}

Pro tip: Match the @type to your business — DentalClinic, Restaurant, AutoRepair, HairSalon, etc. More specific schema beats generic LocalBusiness.

Schema works best when the NAP data in it is identical to what’s in your Google Business Profile and all directories. See the NAP consistency guide if you haven’t completed an NAP audit yet.

Tip #13 — Target “Near Me” and Proximity Searches

One of the highest-volume search patterns in Indonesian local search is proximity-based: “motorcycle workshop near me”, “dental clinic nearest”, “salon closest to me.”

How to optimise for proximity searches:

  • Include “near me” or “nearby” naturally in your meta description
  • Use phrases like “serving the [district/neighbourhood] area” in your content
  • Ensure geo-coordinates in your schema markup are accurate
  • Embed Google Maps with the correct business coordinates

Don’t keyword-stuff “near me” repeatedly in your content — Google will detect it as spam. Use it 1–2 times naturally.

Tip #14 — Use District/Neighbourhood Names, Not Just City Names

Competition for city-level keywords is intense — “dentist Jakarta” is contested by hundreds of clinics. The solution: go one level down to district or neighbourhood.

More realistic keyword targets:

Too CompetitiveMore Achievable
dentist Jakartadentist Tebet South Jakarta
salon Surabayahair salon Rungkut Surabaya
motorcycle workshop Bandungworkshop Cicadas Bandung

Pro tip: Add nearby landmark references in your content — “200 metres from Cawang Station” or “near the Pasteur toll exit.” This helps Google associate your business with a more specific area.


🟡 This Week

Tip #4 — Embed Google Maps on Your Contact Page

A Google Maps embed on your contact page isn’t just a feature for visitors — it’s a location confirmation signal for Google. The Maps embed showing your business pin helps Google validate that the address in your page matches a real physical location.

How to embed correctly:

  1. Open Google Maps and search for your business
  2. Click “Share” → “Embed a map”
  3. Select the appropriate size and copy the embed code

Ensure the Maps embed shows a pin pointing to your business location, not a random address. Check the coordinates after embedding to confirm accuracy.

Tip #5 — Create a Dedicated Page for Each City / Service Area

One page serving all cities (“We serve Jakarta, Bogor, Depok, Tangerang, Bekasi”) won’t rank well for any specific city. Each service area you want to rank in needs its own page with unique content.

Effective location page structure:

  • H1: [Service] in [Specific Area]
  • Unique opening paragraph about that area
  • Services relevant to that area
  • Access / route / local landmark information
  • Google Maps embed specific to that location
  • Testimonials from customers in that area
  • Local NAP consistent with GBP

Warning: Don’t create location pages that only swap the city name. Google detects thin duplicate content and rarely ranks these pages.

Tip #7 — Optimise Image Alt Text with Local Keywords

Alt text is the text description for images that search engines read. It’s an overlooked local optimisation opportunity.

Wrong: alt="photo-1.jpg" or alt="image"

Correct: alt="Treatment room at Senyum Sehat Dental Clinic Bandung Dago"

Recommended local alt text format:

[Image description] + [business name or service] + [city/area name]

Examples by industry:

  • Salon: alt="Hair colouring process at Cantik Salon Kemang South Jakarta"
  • Workshop: alt="Mechanic servicing motorcycle at Pak Budi Workshop Surabaya Rungkut"
  • Clinic: alt="Waiting room at Sehat Dental Clinic Bandung Cihampelas"

Tip #8 — Optimise Meta Descriptions for Local CTR

Meta description doesn’t directly affect ranking — but it heavily influences Click-Through Rate. High CTR is a positive signal to Google that your page is relevant.[^1]

Effective local meta description formula:

[Service] in [City/Area] — [one unique advantage].
[Call to action]. [Additional info like hours or location].

Example for a pharmacy in Semarang:

“24-hour pharmacy in Central Semarang — complete, licensed, and ready to deliver to your home. Open every day including holidays. Located on Jl. Pemuda, easy to reach from Simpang Lima.”

Ideal length: 140–155 characters including spaces.

Many businesses put their name, address, and phone number only in images or inside CSS. Google cannot read NAP in images — it must be in plain HTML text.

Correct footer NAP structure:

<address>
  <strong>Your Business Name</strong><br>
  Jl. Street Name No. X, Village,<br>
  District, City, Postcode<br>
  Phone: <a href="tel:+628xxxxxxxxx">+628xxxxxxxxx</a><br>
  WhatsApp: <a href="https://wa.me/628xxxxxxxxx">Chat Now</a>
</address>

The <address> tag semantically tells search engines that the enclosed content is business contact information.

Tip #15 — Use Keyword-Rich URL Slugs for Location Pages

Many businesses use generic URLs like /location-1 or /branch-bandung. Better to use slugs that contain local keywords:

Wrong: /services/location-1

Correct: /dental-clinic-bandung-dago/ or /motorcycle-workshop-surabaya-rungkut/

Recommended local URL format:

/[business-type]-[city]-[specific-area]/

🟢 This Month

Internal linking between location pages helps Google understand the hierarchy and relationships between pages on your website. It also distributes link equity from high-authority pages to newer location pages.

Good internal link structure:

  • Homepage → all location pages
  • Each location page → specific service pages
  • Blog posts about an area → that area’s location page

Tip #11 — Unique Content Per Location — No Copy-Paste

The most commonly broken rule: every location page must have 100% unique content, not a copy of another page with the city name swapped.

How to create unique content per location:

  • Tell the unique story or history of that branch
  • Mention specific landmarks, routes, or area characteristics
  • Feature testimonials from local customers in that area
  • Include unique photos from that location
  • Address specific conditions or needs of the community in that area

Tip #12 — Add a Location-Based FAQ Section

A FAQ section on location pages is a prime opportunity to target specific questions users search — and it also qualifies your content to appear in Google’s “People Also Ask” boxes.

FAQ examples for a dental clinic in Yogyakarta:

  • “Does this clinic accept BPJS Kesehatan in Yogyakarta?”
  • “What are the opening hours of this dental clinic on Sundays?”
  • “What’s the price for tooth extraction at a dental clinic in Jogja?”
  • “How do I get to the clinic from Malioboro?”

Add FAQPage schema (JSON-LD) so these questions have a chance to appear in rich results.


Priority Checklist

🔴 Today (60–90 minutes)

  • Check and fix Title Tags on all main pages — do they include a city name?
  • Check H1 on all pages — do they contain a local keyword?
  • Check the first 100 words of each page — is the local keyword there?
  • Install LocalBusiness schema JSON-LD if not yet present
  • Add “near me” naturally in 1–2 meta descriptions

🟡 This Week (3–5 hours)

  • Embed Google Maps on contact page with accurate location pin
  • Audit URL slugs of location pages — do they contain local keywords?
  • Check all image alt text — do they include city/area names?
  • Fix meta descriptions on all pages — 140–155 characters with local keyword?
  • Ensure footer NAP is in plain HTML text (not an image)

🟢 This Month (1–2 working weeks)

  • Create separate location pages for each main service area
  • Write unique content per location page — zero copy-paste
  • Build internal links from the homepage to all location pages
  • Add an FAQ section with location-based questions to every page
  • Add FAQPage schema (JSON-LD) on all FAQ pages

The single easiest, highest-impact change you can make right now: check your homepage title tag. Does it contain your city name? If not, that’s a fix you can complete in 5 minutes that starts taking effect within 1–2 weeks.

From there, follow the priority system above — 🔴 today, 🟡 this week, 🟢 this month.


Want us to audit your on-page local SEO for free? We’ll review all 15 elements above and provide a specific priority report for your business and area. Free audit request →

References

  1. Whitespark. (2024). Local Search Ranking Factors. whitespark.ca/local-search-ranking-factors — Expert survey on the weighting of on-page factors in local search ranking.
  2. Google Developers. (2025). Structured Data — LocalBusiness. developers.google.com/search/docs/appearance/structured-data/local-business — Official Google documentation on LocalBusiness schema markup and implementation.
  3. Moz. (2023). Local Search Ranking Factors. moz.com/local-search-ranking-factors — Analysis of on-page ranking factors for local SEO based on expert survey.
  4. Google Search Central. (2025). Title links in search results. developers.google.com/search/docs/appearance/title-link — Official Google guidance on how title tags work in search results.
  5. BrightLocal. (2024). Local Consumer Review Survey 2024. brightlocal.com/research/local-consumer-review-survey-2024 — CTR and user click behaviour data in local search results.

On-Page Local SEO — Common Questions

What is on-page local SEO?

On-page local SEO is optimisation done directly on your website pages — title tags, H1, content, schema markup, Google Maps embed, and more — to help Google understand that your business is relevant for local searches in a specific area. It differs from off-page SEO which focuses on backlinks and external citations.

Does every city I serve need its own page?

Yes, ideally. A single page that only swaps the city name is not effective — Google detects thin duplicate content and rarely ranks it well. Location pages with genuinely unique content specific to each area have far better ranking potential.

Does schema markup actually affect rankings?

Schema markup isn't a direct ranking factor, but it contributes indirectly. Schema helps Google understand your page context more accurately, increases your chances of appearing in rich results, and strengthens local relevance signals. Businesses with LocalBusiness schema consistently appear more in Google Knowledge Panels.

How long should content be on a local location page?

For location pages (not blog posts), 500–800 words is sufficient as long as the content is unique and relevant to that area. For blog posts targeting local keywords, aim for 1,000–2,000 words. The most important factor isn't length — it's content quality and uniqueness per location.

How often should I update location page content?

At minimum every 6 months — update the year, add new information, or refresh any statistics. Pages updated regularly send a 'freshness' signal to Google that can gradually improve ranking position.