Directory / plugin
WP GPX Maps
v1.10.02 · by bastianonm
GPX, FIT and KML tracks on an interactive map with elevation and heart rate charts, 3D terrain and a route summary that AI assistants can read.
About this plugin
WP GPX Maps turns a GPX, FIT, TCX or KML file into an interactive map and charts: upload the track, add the GPX Map block (or the [sgpx] shortcode) and your readers get the route, the elevation profile and the statistics of your hike, ride or run.
See how it works in under three minutes: the block, the shortcode, the charts, 3D maps and activities.
Maps
- OpenStreetMap and other free maps (no account needed): OpenStreetMap, OpenTopoMap, CyclOSM, Humanitarian, OpenSeaMap, and the Thunderforest maps (OpenCycleMap, Outdoors, Transport, Landscape) with a free Thunderforest API key.
- MapBox with your own API key: Outdoors, Streets, Satellite, Satellite Streets, Light, Dark, Standard and custom styles, 3D terrain, fog and a tilted 3D view (
pitch,bearing). - Track colored by grade (blue descent, green flat, yellow to red climb), speed, heart rate or elevation, with a legend.
- Several GPX files in one map (
gpx="a.gpx,b.gpx"), one color per file with a legend. - Activities: tag your routes as hiking, stroller-friendly, mountain bike, climbing, snowshoeing and more (or your own activities, each with an emoji icon). Every activity has its own page on the site, and the site search finds routes by activity.
- Soft edges: the map can fade into the page instead of ending with a hard border (
fadeedges). - Start / finish markers, distance markers every N km or miles, waypoints with popups, full screen, photos from NextGEN Gallery or from the images attached to the post.
Charts
- Filled elevation profile, speed, heart rate, cadence, temperature and grade.
- Move the mouse on the chart and the position is shown on the map; move it on the track and the point is shown in the chart.
- GPS noise is smoothed out: grade averaged over about 100 m, speed without single spikes.
- Meters, kilometers, feet, miles or nautical miles; speed in km/h, mph, min/km, min/mile, knots or min/100 m.
Summary
Total distance, maximum and minimum elevation, total climbing and descent, average and maximum speed, maximum grade, average heart rate, cadence and temperature, total time and moving time (pauses excluded).
Readable by AI assistants, search engines and screen readers
A map drawn by JavaScript is invisible to ChatGPT, Perplexity, Google AI Overviews and other AI assistants, to search engines and to screen readers: they read the text of the page, not the map. WP GPX Maps also describes every track in the page itself:
- Text description of the route, e.g. “Map of the route Sentiero 157: 4.38 km, 145 m of climbing and 376 m of descent, elevation between 1,315 m and 1,580 m, time 01:54:36. It starts at … and ends at …”, linked to the map for screen readers. Not shown on the page by default, or shown under the map (
description="visible"). - Structured data (schema.org
TouristTripin JSON-LD) with distance, climbing and descent, highest and lowest point, time and the line of the route, so AI assistants and search engines can answer questions like “how long is this hike?” with the right numbers. The track file is linked only when you allow its download. - Both can be turned off in Settings > WP GPX Maps or for one map (
description="false",structureddata="false"), and changed by developers with thewpgpxmaps_track_descriptionandwpgpxmaps_structured_datafilters.
Easy to use
- GPX Map block for the block editor with live preview: pick an uploaded GPX file from a list and set every option in the sidebar.
- Upload your track files in the Media Library, like images: they are organized by month, searchable and attached to the post. Or keep them in Settings > WP GPX Maps > Tracks (editors and authors can upload their own files).
- Every option has a default in the settings, so a simple
[sgpx gpx="/wp-content/uploads/gpx/my-track.gpx"]is enough. - GPX 1.0 and 1.1 (Garmin and Strava extensions: heart rate, cadence, temperature), FIT files from Garmin, Wahoo and other devices, TCX and KML / KMZ, multi-track files.
- Fast pages: the map style is loaded only on the pages with a map, and every map downloads its code only when it gets near the screen (lazy load). Cache of the processed tracks, works with PHP 7.4 to 8.4.
Support and development
- Questions and bug reports: the support forum.
- Development, issues and pull requests: GitHub.
- Translations: translate.wordpress.org.
- Support the development: GitHub Sponsors.
Icons made by Freepik from www.flaticon.com, licensed under CC BY 3.0.