Description
Guests want to know one thing before they book a beach holiday: how warm is the water. This plugin puts that number on your site, updated through the day.
The card shows the current sea temperature at the beach you choose, plus air temperature, weather and the UV index. Sea temperatures come from NASA satellite data, sampled at the swimming area rather than out at sea.
Cannot find your beach? The list covers 174 beaches and coastal cities and it keeps growing. If yours is missing, email hello@seatempmap.com with the name and we will look at adding it. New beaches appear in the picker on their own, with no plugin update needed.
How it looks
The card renders in an isolated shadow root, so your theme’s CSS cannot break it and its styling cannot leak into your page. It reads your page’s background and picks a light or dark card to match, or you can force either one.
Features
- 174 beaches and coastal cities worldwide
- Celsius or Fahrenheit
- Light, dark, or automatic to match the visitor’s system
- Speaks 30 languages, following your page’s
langattribute by default - Full card (sea, air, weather, UV) or a compact sea-only card
- Drop shadow on or off, so the card suits a flat design as well as a layered one
- Block editor block, and a
[seatempmap]shortcode for classic themes and page builders - Updates itself while the page is open. Nothing to maintain
- No account, no API key, no cost
Shortcode
[seatempmap dest="hvar"]
Attributes: dest (required, the beach id), units (c or f), theme (auto, light, dark), show (both or sea), shadow (on or off), lang (a language code, or leave empty to follow your page).
Preview every option and find beach ids at seatempmap.com/embed.
External services
This plugin relies on seatempmap.com, a third-party service, to provide the temperature data and to draw the card.
The plugin itself only outputs a placeholder element. The card is drawn by widget/v1.js, which is the service’s own renderer rather than a copy of a general-purpose library hosted on a CDN. It is loaded from the service because it must stay in step with the data format the service returns; bundling a copy would break every site the moment the format changed.
What is sent and when
- On a page containing the widget, the visitor’s browser loads the card script from
https://seatempmap.com/widget/v1.jsand then requestshttps://seatempmap.com/api/widgetwith the beach id, unit and language you configured. As with any request to a third-party server, the visitor’s IP address and user agent are visible to it. No cookies are set, no identifiers are stored, and nothing about the visitor or your site’s content is sent. - In the admin, your server requests
https://seatempmap.com/api/widget/destinationsto list the available beaches. This is cached for a day and sends nothing about your site.
Service provided by Sea Temp Map: terms of service, privacy policy.
Screenshots



Blocks
This plugin provides 1 block.
- Live Sea Temperature Live sea temperature, weather and UV for a beach, from NASA satellite data.
Installation
- Install and activate the plugin.
- Edit a page or post and add the Live Sea Temperature block, or place the
[seatempmap dest="..."]shortcode. - Pick your beach. That is all.
FAQ
-
My beach is not in the list.
-
The list covers 174 beaches and coastal cities. If yours is missing, write to hello@seatempmap.com and say which one.
-
Does it slow my site down?
-
The script loads asynchronously and only on pages that actually contain a widget. It has no dependencies and does not load jQuery, fonts or a framework.
-
Will it match my theme?
-
By default it reads the background behind it and picks a light or dark card to fit. You can force light or dark instead.
-
Can I use it more than once on a page?
-
Yes. Each card is independent, and the script is loaded once regardless of how many you place.
-
Does it work with page builders and classic themes?
-
Yes, through the shortcode. Any builder with a shortcode or raw HTML element can host it.
-
Where does the data come from?
-
Sea temperature comes from NASA satellite measurements; weather and UV come from forecast models. The reading is taken at the swimming area near each beach rather than in open water, which is usually a degree or two different.
-
Does the widget link to your site?
-
Yes, and only from inside the card itself. The card shows “SeaTempMap.com” and links to the beach page it is showing, the same way an embedded map or video links back to its source. That link is the attribution for the data.
Nothing is added anywhere else on your site. There is no footer credit, no “powered by” line, and no link outside the widget you placed. Remove the widget and every trace of it is gone.
For the curious: the markup contains that link as a plain
<a>before the card renders over it. It is the fallback a visitor sees if JavaScript is off or the service is unreachable, so the card never collapses into an empty box. -
Does it collect anything about my visitors?
-
No. There are no cookies, no tracking pixel and no analytics. The card requests a temperature and draws it.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“SeaTempMap Live Sea Temperature Widget” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “SeaTempMap Live Sea Temperature Widget” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.1.2
- The block now stands in for the card at the size it will render, instead of drawing a large empty box once a beach was chosen. Editor only; published pages are unchanged.
1.1.1
- Fixed: the block did not appear in the inserter. Its editor script was registered without its WordPress dependencies, so it ran before the editor was ready and stopped. The shortcode was unaffected.
1.1.0
- New
shadowoption (block setting and shortcode attribute) turns the card’s drop shadow off for flat page designs. The glass surface and its edge are unchanged. - Cards placed before this release are unaffected: without the attribute the markup is identical to 1.0.0.
1.0.0
- First release.
