Boat Position
Automatic sailing logbook — track your boat's live position and full route history using your onboard GPS router.
Use with caution
Boat Position works, but test it on a staging site before relying on it in 2026. Was last updated 1 month ago, and scores 60/100 on our health check.
- Tested with the latest WordPress (7.1)
- Small user base (<10 active installs)
- Very few reviews so far
- Needs PHP 8.1 or newer
How does it stack up?
Side-by-side on installs, updates, ratings & supportDaily downloads
Download spikes usually follow a new release — each site that auto-updates counts as a download.
Rankings
Where Boat Position stands todayWordPress.org search rankings
Live position in the plugin search, top 100| Keyword | Position |
|---|---|
| Boat | #15 |
| gps | #90 |
| logbook | #7 |
| map | >100 |
| tracking | >100 |
About Boat Position
From the official readme · v1.7.2Description
Boat Position turns your WordPress site into a live tracking and logbook service for your boat.
The plugin is designed around the Teltonika RUTX50 router (*), a compact Linux-based 5G router with built-in GPS.
A shell script on the router sends a position to your site every minute. The plugin stores each position, runs a state machine to group positions into trips and legs, and serves three public pages:
- Live map (
/boat-position/map) — shows the current position on an OpenStreetMap/OpenSeaMap map with a rotating arrow icon when underway and an idle indicator when stopped. Visible voyage plans are drawn as dashed green routes with flag markers. - Logbook (
/boat-position/history) — calendar sidebar with trip history. Click any day to see the full route on the map. Logged-in editors can label harbour names and merge incorrectly split trips. - Voyage plans (
/boat-position/plans) — plan future voyages as ordered lists of waypoints with optional ETAs. Multiple plans are supported; each plan can be toggled visible/hidden on the map independently.
The plugin also adds a boat log built on ordinary WordPress posts: place a post in the Boat Log category, give it coordinates (or default to the boat’s latest known position), and it appears as a marker on the live map. Your theme handles all writing and display, and the [boat_log_map_link] shortcode links a post back to the map and animates to its location.
Over 150 Danish harbours are included as seed data so harbour names are detected automatically from GPS coordinates.
No third-party services or API keys are required beyond your own WordPress site. Maps are rendered using the free Leaflet.js library with OpenStreetMap and OpenSeaMap tiles.
(*) There are other alternatives to using the RTUTX50 router, any device that has access to a GPS and the internet can be configured as the source of position data.
E.g. a linux machine like Rasberry PI connected to either its own GPS or the boat NMEA data.
Installation
- Upload the
boat-positiondirectory to/wp-content/plugins/. - Activate the plugin in Plugins in the WordPress admin.
- Go to Settings → Boat Position to set a secret API key and find the router configuration instructions.
- Follow the router setup guide in Plugins → Boat Position → About to configure your router’s
sendgps.shscript and cron job. - Send a test position from a command prompt to verify the endpoint is working before installing on the boat.
After activation, if /boat-position/map returns a 404, go to Settings → Permalinks and click Save Changes to flush the rewrite rules.
Frequently asked questions
How do I use this plugin?
Install and activate the plugin, then go to Settings → Boat Position. Set a secret API key, then follow the router configuration guide in the About page to set up your router’s cron job.
Does it only work with the RUTX50 router?
No. Any device that can send an HTTP POST request with lat, lon, speed, course, and gps_time fields to the REST endpoint will work. The About page documents the exact format.
Where are the public pages?
The plugin registers three pages automatically — no WordPress pages or shortcodes are needed: Live map: https://yoursite.com/boat-position/map Logbook: https://yoursite.com/boat-position/history Voyage plans: https://yoursite.com/boat-position/plans
Can I avoid storing the secret key in the database?
Yes. Define the key as a constant in wp-config.php: define( ‘PCIO_BOAT_POSITION_API_KEY’, ‘your-secret-key-here’ ); When this constant is present, the database option is ignored and the settings field is shown as read-only.
The logbook is empty — no trips appear.
Check that the router is sending data by looking at your database’s wp_boat_positions table. If rows are present but no trips appear, the trip engine may not have processed them yet — visit the ingest endpoint directly or check the About page for the manual trigger curl command.
Changelog
Timestamp changes in shell script sendgps.sh. Re-download the script from the About page and install it in the router.
1.7
- Shell script improvement — No longer relying on routers internal clock for timestamp but instead using the gps utc timestamp.
- 3D replay improved – Added local time to 3D replay.
1.6
- Complete route legs — trip legs now include the stationary departure and arrival fixes, so each leg is drawn all the way to and from the dock instead of starting and ending once the boat was already moving. Previously these points were dropped because the boat’s speed was zero.
- More reliable GPS fix check — the downloadable
sendgps.shrouter script now validates the receiver’s livefix_statusandfix_quality(and confirms coordinates are present) instead of relying onfix_curr_mode, which could report a stale value and send invalid positions.
1.5
- 3D sailing replay — the logbook history page now offers a 3D view that animates your trip in a cinematic flyover using MapLibre GL and Three.js. A scrubber, play/pause button and speed selector let you relive any logged voyage in seconds.
- Bug fix — fixed a fatal
TypeErroron PHP 8 when a third-party plugin (e.g. Event Tickets) triggersadmin_enqueue_scriptsviaiframe_header()without passing a hook argument.
1.4
- Local time in the logbook — trip start and end times on the logbook page are now shown in the visitor’s local browser time zone instead of UTC. Positions are still stored in UTC in the database and converted on display.
- Resilient GPS script — the downloadable
sendgps.shrouter script now queues each position to disk and flushes the queue oldest-first, so positions recorded while the boat is offline are sent once the connection returns instead of being lost.
1.3
- Live current track — the live map now draws the boat’s ongoing trip as it happens (solid blue line, with red dashed segments where GPS data was missing).
- Route editors — a dedicated Manage routes capability replaces the generic editing permission. Grant it to any Author, Editor or Administrator from Settings → Boat Position → Route editors. Administrators get it automatically; the capability is cleaned up on uninstall.
- Boat Log by default — new posts now default to the Boat Log category automatically (works in the block editor, classic editor and Divi), so journal entries land on the map without changing the category by hand.
- Mobile logbook — on phones the logbook view stacks into a compact bottom panel: the calendar and legend are hidden, the trip list is condensed, and the selected route’s details sit beside it. The desktop layout is unchanged.
1.2
- Boat log — write voyage journal entries as ordinary WordPress posts (so your theme / Divi handles all writing and display).
- Posts placed in the Boat Log category appear as markers on the live map.
- Location meta box in the post editor with a mini map: set coordinates manually or click Use current boat position.
- Boat-log posts with no location default automatically to the boat’s latest known position on save.
- New
[boat_log_map_link]shortcode links a post back to the live map and animates to its location. - Public REST feed
GET /wp-json/boat-position/v1/blog-postsexposes the boat-log markers. - Blog toggle on the live map to show or hide boat-log markers.
- The Boat Log category is created automatically on activation.
For developers
Is this your plugin? Show off the numbers.
Add a live badge to your site, docs or GitHub README. It updates on its own — no account needed.
Best Boat Position alternatives
All Boat plugins →| Rank | Plugin | Active installs |
|---|---|---|
| 1 |
|
10+ |
FAQ
Boat Position: quick answers
Straight answers, pulled from live WordPress.org data.
Live data from WordPress.org · checked Oct 20, 2026
Is Boat Position free?
Yes. Boat Position is free to download and use from the official WordPress.org plugin directory.
Is Boat Position safe to use in 2026?
Boat Position works, but test it on a staging site before relying on it in 2026. Was last updated 1 month ago, and scores 60/100 on our health check.
How many websites use Boat Position?
Boat Position is active on <10 WordPress websites and has been downloaded 704 times since it launched in May 2026. It was downloaded 91 times in the last 30 days.
Does Boat Position work with WordPress 7.1?
Yes. The developer has tested Boat Position up to WordPress 7.1.3, the latest release. It requires WordPress 6.2 or newer.
What PHP version does Boat Position need?
Boat Position requires PHP 8.1 or higher. Most hosts run PHP 8.x today, so it works on any modern WordPress hosting.
When was Boat Position last updated?
The latest version, 1.7.2, was released on September 13, 2026 (1 month ago).
Who makes Boat Position?
Boat Position is developed and maintained by Niels Olsen.
What are the best alternatives to Boat Position?
The most popular alternatives to Boat Position are Boat Tracker (10+ installs).
Powered by PageForge
Want thousands of pages that rank like these? Build them in an afternoon.
This directory runs on the same engine as PageForge. Turn any spreadsheet, CSV or API into thousands of fast, SEO-ready WordPress pages — with schema, internal links and AI-written copy baked in.
- CSV, Google Sheets & API data sources
- AI content, schema & internal links per page
- Works with Elementor, Gutenberg, Yoast & Rank Math
- Free on WordPress.org — no credit card

