Page Speed for Location Pages: Why Map Embeds and Hero Images Are Killing Your Rankings
Location pages often look simple, but they can be slow. Large hero images, map embeds, chat widgets, tracking scripts, and review tools can all delay the first useful view. For local SEO, we need each page to load quickly, especially on mobile.
TL;DR
- Location page speed optimization often starts with the two biggest page elements: the hero image and the map embed.
- Google Maps embeds should not load before users need them, especially on mobile.
- Track Core Web Vitals by page, because one slow template can affect many location URLs.
Why mobile speed is still a ranking lever for local queries
Local searches are usually action-driven. A person may be looking for a nearby branch, directions, store hours, parking information, a phone number, or a service area. Many of these searches happen on mobile, often while the user is already on the move.
That makes speed part of the local experience.
Google says page experience can support performance in Search, and Core Web Vitals are one way to measure whether a page feels fast, stable, and usable for real visitors. The current Core Web Vitals focus on loading speed, interaction delay, and visual stability: Largest Contentful Paint, Interaction to Next Paint, and Cumulative Layout Shift.
Speed does not replace relevance. A fast location page with thin content will not win just because it loads quickly. But when two pages are both useful and relevant, the page that loads faster and feels easier to use has an advantage.
For location pages, the mobile version matters most. Google primarily uses the mobile version of a site’s content for indexing and ranking.
That means we should not judge a page only from a desktop preview. A location page may look fine on a laptop with strong Wi-Fi, but a mobile user may see a blank hero area, a delayed map, or content that shifts as the page loads.
The problem is usually not the written content. It is the extra page elements around it.
Common speed issues include:
- A full-width hero image that is too large for mobile screens
- A Google Maps embed is loading immediately
- Multiple tracking tags are firing before the main content appears
- Chat, review, booking, or analytics scripts are loading on every location page
- Images without set dimensions are causing a layout shift
- JavaScript-heavy templates are used across many city or branch pages
Location pages are often created from one template. That helps teams scale, but it also creates risk. If the template is slow, every page using it may inherit the same performance problem.
The goal is not to remove every visual element. The goal is to load the right elements in the right order.
Users need the business name, local details, service information, phone number, address, hours, and a clear next step first. The map, chat widget, review carousel, and extra scripts can usually load later.
The Maps embed problem and lazy-loaded alternatives
A map can be useful on a location page. It helps users confirm the branch, understand the area, and get directions. But an interactive map embed can also be one of the heaviest parts of the page.
The Google Maps Embed API allows site owners to place interactive maps on webpages through iframes. Google’s documentation also explains display requirements and API key best practices for embedded maps.
The issue is not that maps are bad for SEO. The issue is when they load too early.
If a map iframe loads near the top of the page, it can compete with the hero image, headline, fonts, layout, and main content. On mobile, that can slow the first useful view. If the map appears above the fold, it may also affect Largest Contentful Paint.
A better approach is to treat the map as a secondary interaction.
In most cases, users should see the location details first. Then they can choose to open the map when they need it.
Better ways to handle maps
Use the address text and a directions button first.
This is often enough for users. Show the full address, phone number, hours, nearby details, and a clear “Get directions” link. The interactive map can appear farther down the page.
Lazy-load the map iframe.
If the map sits below the first screen, it usually does not need to load immediately. Lazy loading can delay the iframe until the user gets closer to it.
Load the map after a click.
For slower pages, this is often the safest option. Show a lightweight placeholder with the address and a “View map” button. Load the interactive map only when the user chooses to open it.
Use custom map scripts only when needed.
Some pages need a more advanced map experience. If that is the case, Google recommends loading the Maps JavaScript API asynchronously where possible.
Most location pages do not need a complex custom map. A clean address block, directions link, and deferred map are usually enough.
A practical map-loading approach
For a standard location page, we can use this order:
- Show the business name, local heading, address, phone number, and hours.
- Add a clear directions link near the contact details.
- Place the interactive map lower on the page.
- Lazy-load the map or load it only after the user clicks.
- Reserve space for the map area so the layout does not jump.
This keeps the page useful while reducing the amount of work the browser has to do during the first load.
Hero image best practices
Hero images are another common reason location pages feel slow.
A hero image often becomes the Largest Contentful Paint element. LCP measures how long it takes for the largest visible content element to appear in the viewport. On many location pages, that element is the hero image, not the heading.
That means the hero image needs special attention.
A common mistake is uploading one large desktop image and letting the browser shrink it on mobile. This may look fine visually, but it still forces mobile users to download more data than they need.
A better setup uses modern image formats, responsive sizing, and compression. Cloudinary’s image optimization guidance focuses on delivering images in the right format, size, and quality for each user’s device and browser. Imgix also recommends compression, responsive delivery, and image CDN workflows to reduce page weight while keeping images sharp.
For location pages, a strong hero image setup usually includes:
- AVIF or WebP, where supported
- JPEG fallback where needed
- Different image sizes for mobile, tablet, and desktop
- Set width and height to prevent layout shift
- Compression before publishing
- High priority only for the main above-the-fold hero image
Priority hints can help the browser understand which image matters most. But they should be used carefully.
Only the main above-the-fold image should receive high priority. Do not mark every image as important. If everything is high priority, the browser cannot make a useful loading decision.
Practical hero image rules for location pages
Use the smallest image that still looks good.
A mobile screen does not need a large desktop image. Serve image sizes based on the actual display width.
Crop images for the layout.
Do not rely on CSS to hide large parts of the image. Create crops that match the design.
Compress images before publishing.
Storefront, office, team, and service photos can usually be compressed without a visible drop in quality.
Avoid placing text inside images.
Text inside images can become blurry, hard to read, and difficult for search engines and assistive technology to understand. Keep important text in HTML.
Reserve space for the image.
Set image dimensions or aspect ratio so the page does not jump while the image loads.
Do not lazy-load the main hero image.
Lazy loading is useful for images lower on the page. It can hurt performance if used on the image that controls LCP.
A location page does not need an oversized hero image to look trustworthy. It needs a relevant, sharp, correctly sized image that loads quickly.
Third-party script audit
Third-party scripts can quietly slow down location pages.
Each script may bring its own JavaScript, network requests, cookies, style changes, and event listeners. One script may not seem harmful. But several scripts together can delay rendering and make the page slower to interact with.
Common third-party scripts on location pages include:
- Live chat
- Call tracking
- Review widgets
- Booking tools
- Analytics platforms
- Heatmap tools
- A/B testing tools
- Tag managers
- Social embeds
- Map scripts
Not all of these should be removed. Some help with leads, reporting, or user support. The real question is: does this script need to load on this page before the user can read or act?
For example, a booking tool may be important on a service page. But it may not need to load across every location page. A chat widget may help conversions, but it usually does not need to load before the address, phone number, and main call to action.
The schema is different. Structured data should be present in a way that search engines can access. But it should not require a heavy external widget. LocalBusiness schema, opening hours, address, and related links can usually be added without slowing the page.
How to audit third-party scripts
Start with a simple inventory.
For each script, document:
- What it does
- Who owns it
- Where it loads
- Whether it loads before or after the main content
- Whether it is needed on every location page
- Whether it affects LCP, INP, or CLS
- Whether it can be delayed, removed, or limited to specific pages
Then group each script into one of three categories.
Keep immediately.
These scripts are needed for the first view or a core page function.
Delay.
These scripts are useful, but they do not need to run before the page becomes readable.
Remove or limit.
These scripts do not support the user’s task on that page, or they only need to load on selected URLs.
This is where SEOs and front-end developers need to work together. SEOs can identify which elements support local search intent. Developers can decide how to load them without blocking the page.
The first screen should stay focused. Users should see the location name, local copy, primary action, and key business details before non-essential scripts start loading.
Measuring per-page LCP, INP, and CLS
Location page performance should be measured by URL, not only by template.
A template audit is useful, but it can hide page-specific problems. One branch page may use a 300 KB image. Another may use a 4 MB image. One location page may include a review widget. Another may not. One page may place a map above the fold, while another places it lower down.
Core Web Vitals should be treated as page-level quality checks. Web.dev defines Core Web Vitals as field-measurable signals that reflect real user experience across loading, interaction, and visual stability.
The three key metrics are:
Largest Contentful Paint (LCP)
This measures loading performance. On location pages, the LCP element is often the hero image, main heading block, or map area.
Interaction to Next Paint (INP)
This measures responsiveness. Heavy JavaScript from maps, chat tools, review widgets, and analytics can make interactions feel delayed.
Cumulative Layout Shift (CLS)
This measures visual stability. Location pages often fail CLS when images, maps, banners, or widgets load without reserved space.
What to check on each location page
For every important location URL, review:
- The LCP element
- The size of the hero image
- Whether the map loads before users need it
- JavaScript execution time
- Third-party script count
- Layout shifts from images, maps, fonts, banners, or widgets
- Mobile and desktop results separately
- Field data, where available, not only lab tests
Lab tools are useful for debugging. Field data is better for understanding what real users experience. Google’s Core Web Vitals documentation focuses on real-world user experience, so a single test from a fast connection is not enough. (Google Search Central)
A simple location page speed workflow
Use this workflow when auditing a local SEO template:
- Start with the highest-value location pages.
- Test each page on mobile.
- Identify the LCP element.
- Check whether the hero image is oversized.
- Check whether the map loads immediately.
- List all third-party scripts.
- Reserve space for images, maps, and widgets.
- Delay anything that is not needed for the first view.
- Retest the page.
- Apply the fix across the template only after confirming it works.
This prevents a common mistake: making one global template change that improves one metric but hurts another.
For example, lazy-loading more images may reduce page weight, but lazy-loading the main hero image can hurt LCP. Delaying scripts may improve INP, but delaying a critical booking function too much may hurt conversions.
The best fix depends on the role of each element.
FAQ
Do Google Maps embeds hurt SEO?
A Google Maps embed does not hurt SEO by itself. The issue is performance. If the embed loads too early, adds heavy requests, delays the first view, or makes the page harder to use on mobile, it can contribute to a weaker page experience.
Should every location page have a map?
Not always. Many users only need the address, phone number, hours, service area, and a directions link. A map is useful when the physical location matters, but it does not always need to load as an interactive embed.
Is lazy loading always good for location pages?
No. Lazy loading works well for below-the-fold images, maps, and widgets. It should not be used on the main hero image if that image is the LCP element.
What is the biggest speed issue on most location pages?
The biggest issue is usually a mix of oversized images and third-party scripts. A large hero image can slow LCP. Multiple widgets and tracking scripts can hurt INP.
How often should we audit location page speed?
Audit after every major template change, image refresh, tracking change, or widget addition. For large local sites, review high-traffic location pages at least quarterly.
Should we remove chat widgets from location pages?
Not automatically. First, check whether the widget helps conversions and whether it loads before the main content. In many cases, delaying the chat widget is better than removing it.
Can page speed improvements help local rankings?
They can help page experience, especially on mobile. But speed should support stronger local relevance, not replace it. The page still needs useful local content, accurate business details, internal links, and clear calls to action.
Sources
- Google Search Central, “Understanding Google Page Experience”
- Google Search Central, “Understanding Core Web Vitals and Google search results”
- Google Search Central, “Mobile-first Indexing Best Practices”
- web.dev, “Web Vitals”
- Google Maps Platform, “Embed a map”
- Google Maps Platform, “Load the Maps JavaScript API”
- Cloudinary, “Image Optimization”
- Imgix, “Improving Site Performance”

Paul Warren is the co-founder and Head of SEO at the Local Agency and has over 15 years of enterprise SEO experience.
