Internal Linking Pro Strategies for SEO Experts


Internal links are one of the most overlooked levers in local SEO — especially when it comes to linking service and location pages. Many people worry that hiding those links in accordions or tabs will make them invisible to Google, but that’s not the case. In this post, we explain exactly how to structure your internal linking so every connection counts, how to use headings to add SEO weight, and how to make your setup clean, scalable, and user-friendly.

Table of Contents

Why this matters

We want Google to understand which services are offered in which locations. That helps pages rank for local queries and helps users find the right page. People worry that hiding links inside an accordion will stop Google from counting them. The short answer is no — Google still reads links in accordions if those elements are inside the page body. But there is more to it than that.

Google crawls and indexes content that appears inside the body of a page. If your accordion or tab content is part of the page HTML and not loaded only via JavaScript after the fact, Google will see the links. Bradley says, “Yes, Google's reading it and it's still treated as a contextual link.” The key is to keep the content inside the body so it is treated like any other content on the page.

Visible vs hidden for users

We prefer to declutter pages for users. Accordions and tabs make long pages easier to scan. If you hide links visually but keep them in the HTML body, Google will still count them as contextual links. So use accordions to improve user experience, but structure the links so Google sees them as part of the main content.

Got SEO Questions? Get answers every week at 4pm ET at Hump Day Hangouts. Ask questions ahead of time, or live – just go to: https://semanticmastery.com/hdho (bookmark this!) 10+ years of insights given every week!

Get your checklist to help get better results with GBPs, faster. 

Bradley recommends a simple pattern we always use: create a universal internal link block on every service page and a universal internal link block on every location page. Each block lists and links to the opposite type of page.

  • On each service page, insert a block that lists and links to all location pages where the service is available.
  • On each location page, insert a block that lists and links to all service pages offered at that location.

This creates the service ↔ location association that Google looks for. It also helps visitors jump directly to the right page. We often format this block as a table, but a list, accordion, or tabbed content works fine. The form does not matter as long as the links live in the page body and are part of the content hierarchy.

Why consistency matters

When we insert the same internal link block across many pages, we build predictable signals. Each service links to the same set of location pages and each location links to the same set of service pages. This repeated pattern helps search engines map relationships between pages and helps users navigate the site.

Use proper heading tags to add weight

Headings are more than styling. They tell search engines what is important on the page. Bradley explains that adding H tags around your internal link block gives the links more significance. That means we should use:

  • H1 for the page title (one per page)
  • H2 to introduce the internal link block
  • H3s and H4s for categories and sub-service links inside the block

For example, on a location page we might use an H2 that reads, “Services we provide in Pikeville, Kentucky.” Below that heading, we insert a table or accordion. The top-level service categories like HVAC, Plumbing, and Electrical get H3s. Supporting services underneath each category — like Air Conditioning repair under HVAC — are H4s.

Bradley puts it simply: “The H2 is going to introduce that internal link block element of internal links.” Use headings as anchor text for the links when possible. That tells Google the links have more context and importance.

How to format heading text

Keep the heading text readable and descriptive. Use plain language that a user would understand. Examples:

  • H2: Services we offer in [City]
  • H3: HVAC
  • H4: Air conditioning repair
  • H3: Plumbing
  • H4: Drain cleaning

These headings act like small signposts. They help users scan and help search engines see the relation between the pages.

There are several layouts that work. Choose one that fits your content volume and user needs.

  1. Simple table — Best when you have a moderate number of services and locations. Each column can be a category or a region.
  2. Accordion — Good for long lists. Keeps the page tidy while keeping links in the body for SEO.
  3. Tabs — Works well when users expect to switch between groups of content, like services vs. specialties.
  4. Plain list — Clean and fast to read for smaller sites.

Bradley says it doesn't matter if it's a table, accordion, or tabbed content as long as the element sits in the body tags. We often use H3 headings at the top of each column or accordion section. Under each H3, we list supporting pages with H4s. This gives the links hierarchy and context.

When you have many locations or services

If you have dozens of location pages or many service variations, consider nested headings and collapsible UI. You can group by county or city, or by top-level service and supporting services. The important part is that the content remains in the body and uses proper H tags for hierarchy.

Tips for correct technical placement

Follow these technical rules so Google can read and index your internal link blocks:

  • Keep the internal link block inside the main content body of the page. Do not place it only in a script or injected content that loads after initial render.
  • Do not hide important links behind logins or paywalls.
  • Use proper semantic markup with H2/H3/H4 for headings.
  • If using JavaScript to render content, ensure server-side rendering (SSR) or that the content is available to crawlers.

We repeat: Google counts links placed in accordions and tabs if they are in the page body. But don't rely on hidden content to do heavy lifting if it can be presented cleanly to users with headings and good structure.

Example: HVAC, Plumbing, Electrical site

Here is a clear example to copy. Imagine we run an HVAC, plumbing, and electrical business with many locations.

  • On each service page (for example: HVAC repair), insert an internal link block with an H2 heading “Available in these locations” and then list cities. Each city entry links to the city-specific location page.
  • On each location page (for example: Pikeville, KY), insert an internal link block with H2 “Services we offer in Pikeville.” Then add H3s for HVAC, Plumbing, Electrical. Under each H3, add H4s linking to supporting services like air conditioning, central heating, drain cleaning, and wiring.

This layout makes it easy for Google to map HVAC service pages to the locations and for users to navigate directly to the service they want in their city.

Accessibility and user experience

Accordion menus and tabs can help users find what they need faster. But remember to:

  • Make accordions keyboard-accessible
  • Label controls so screen readers can announce them
  • Keep a clear heading structure so assistive tech can jump between sections

Good accessibility often overlaps with better SEO. When we structure content clearly, both users and search engines benefit.

Implementation checklist

Use this checklist when you build your internal link blocks:

  1. Place the internal link block inside the main content area of the page.
  2. Add an H2 heading to introduce the block.
  3. Use H3s for top-level categories (services or counties).
  4. Use H4s for supporting services or specific pages under the category.
  5. Choose a layout that matches your content size: table, accordion, tabs, or list.
  6. Ensure any JS-rendered content is visible to crawlers (SSR or prerendering).
  7. Test with a crawler or render tool to confirm Google can see the links.
  8. Keep the pattern consistent across pages for clear association signals.

Common mistakes to avoid

  • Putting link blocks only in the footer or sidebar without proper headings
  • Hiding links behind code that crawlers cannot run
  • Using headings for styling only, not for structure
  • Creating inconsistent link patterns across service and location pages

Conclusion

Links inside accordions, tabs, or other collapsing elements are counted by Google when they are part of the page body. But we should not stop at visibility. The best results come from a clear, consistent internal link block that connects every service page to its locations and every location page to its services. Use H2 to introduce the block, H3s for categories, and H4s for supporting pages. Keep the content accessible and test rendering to make sure search engines can read it. Follow the checklist above and you will build a simple, scalable structure that helps both users and search engines.

Yes. As long as the accordion or tab content is within the main body of the page and not hidden from crawlers, Google will read those links and treat them as contextual links.

Yes. Use an H2 to introduce the block and H3/H4 for categories and sub-items. Headings add context and weight to the links.

It is a standardized block of links placed on every service page listing location pages, and on every location page listing service pages. This creates a consistent service ↔ location association.

Is a table better than an accordion?

No single format is always best. A table is simple and clear, but accordions and tabs are fine for long lists. Choose the format that makes the page easy to use while keeping the content in the body with proper headings.

How do we handle many services or locations?

Group them by top-level categories and use H3s for the categories and H4s for the sub-services. Consider collapsible UI for large lists, but keep the HTML in the page body and accessible to crawlers.