Short answer: for local services, internal linking must connect service pages, location pages, service-area pages, explainers and contact/booking flows without creating artificial networks of cities. Google recommends crawlable HTML links and contextual anchor text. It doesn't publish a topical-authority score, and more links don't compensate for local pages with no information gain.
Precondition 1: page-role policy
Define roles before links. Service page owns the service. The location page holds the location information. Service-area page exists only if it has distinct context and value. The explainer answers an educational problem. Contact or booking is the next operational step.
Precondition 2: location model
Separate physical locations from service areas. Don't make up addresses or create pages for localities just to get geographic links.
Precondition 3: lifecycle
Keep active, relocated, temporarily_closed, closed, service_added and service_removed. Links should be updated when the status changes.
Architecture 1: service hub
The service page may link to locations where the service is available and explainers that help with the decision. It doesn't have to mechanically list every city in the market.
Architecture 2: location page
The location page links to the actual services offered there, scheduling and helpful local information. Do not link unavailable services just for coverage.
Architecture 3: service-area page
This page makes sense if the process, area, logistics, or local conditions differ sufficiently. If the text is clone, consolidation is better than a denser graph.
Architecture 4: explainers
Educational articles send to the service owner only when the user can naturally move from information to action.
Architecture 5: FAQs and guides
Don't generate FAQs just for internal linking. Each page must meet a distinct need and have an owner.
Architecture 6: booking/contact
Links to the contact must retain the correct location and service. A button with an event handler does not have to be the only path to the scheduling URL.
Architecture 7: breadcrumbs
Breadcrumbs reflect the actual hierarchy and aid orientation. Do not force a geographic taxonomy if the business model is service area.
Architecture 8: related content
Automated modules must include service, location, lifecycle and language context. Lexical similarity alone can recommend wrong pages.
Architecture 9: relocated locations
After the move, update upstream links, contact flows and relevant redirects. A valid redirect does not mean that the graph is clean.
Architecture 10: multi-language
Links must retain language and market. Don't send the user to another locale just because the page has the same topic.
Example 1: service + two locations
The service page links to the two locations where it is available. Each location page links back to the service page and to the specific booking. A process article links to the service page, not all locations.
Example 2: service-area business
A company without public offices uses a central service page and only a few area pages where there is distinct information about logistics, coverage or time. Don't build dozens of municipal clones.
Example 3: closed location
The location page can only redirect to the successor site if the relationship is clear. Upstream links should be changed to the final destination, not left to redirect indefinitely.
Audit decision tree
- Does the source page have a clear role?
- Is the target active?
- Does the service exist at that location?
- Does the link continue the task?
- Is the target crawlable and canonical?
- Does the anchor describe the destination?
- Are the market and language correct?
- Service-area page has information gain?
- Does the redirect hide debt?
- Does Automated module respect lifecycle?
- Does Booking path preserve the context?
- Can the Finding be verifiably closed?
Acceptance criteria
Architecture passes the gate when:
- page roles are defined;
- location model is true;
- services are linked only where they are available;
- important links are crawlable;
- anchors are descriptive;
- lifecycle changes trigger recheck;
- service area clones are avoided;
- modules have guardrails;
- local/market routing is correct;
- booking paths work.
Rollback
Keep graph snapshot before big changes. If an automatic rule produces wrong-location or wrong-service links, go back to the previous manifest and disable the rule before another rollout.
How do you measure
Orphan rate, wrong-target rate, wrong-location rate, redirect-link rate, module relevance and path completion are useful metrics.
Traffic and AI citations are external outcomes.
Maturity criterion
The system is mature when relocation and service changes update the graph predictably, local clones do not reappear and P0/P1 are rare after releases.
How do you deal with changing the service area
If a service becomes available or unavailable in an area, it updates the service-location mapping before modules and links. A graph can be perfectly crawlable and still direct the user to an offer that no longer exists.
How do you treat low volume pages
Lack of traffic does not automatically mean that a page is useless. Evaluate whether it solves a distinct local task and whether it is logically connected. Use insufficient behavioral data' separately fromduplicate intent'.
How do you handle local directories
An external directory is not the source owner for service availability. If it shows an old location, it marks the external conflict and maintains the first-party graph after the current registry.
How to check automatic modules
Sample targets by service, location, language and lifecycle. If the same error reoccurs, fix the rule, not each link manually. Keep reason codes for exclusions and fallback.
Claim ledger
- FACT/EVIDENCE: Google recommends crawlable HTML links and contextual anchor text.
- PRACTITIONER GUIDANCE: local-service linking must include service availability, location truth and lifecycle.
- INFERENCE: coherent graphs can help discovery and user navigation.
- NOT PROVEN: a universal topical-authority score derived from internal links.
Conclusion
In local services, good internal linking reflects actual operations. It doesn't build an artificial keyword map, but a route between service, location and next action. If the offer changes, the graph must change with it.
Sources reviewed
- Google Search Central, Link best practices: https://developers.google.com/search/docs/crawling-indexing/links-crawlable
- Google Search Central, Canonicalization: https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls
- Google Search Central, SEO Starter Guide: https://developers.google.com/search/docs/fundamentals/seo-starter-guide
