A four-level hierarchy
Season → Series → Regatta → Race. Each race can belong to a season, a racing series, and a regatta — or none, for schedule-only events.
Features
From the first scratch sheet to the final standings, WP SailingFlow handles the whole arc of PHRF club racing — organizing, scoring, and publishing — inside your own WordPress site.
Organize your racing
Model your club exactly the way it races — then reuse that structure year after year.
Season → Series → Regatta → Race. Each race can belong to a season, a racing series, and a regatta — or none, for schedule-only events.
Keep a managed division list and a master boat registry. Every boat holds its own identity and history across seasons.
A boat's division, sail number, and PHRF rating are stored per racing series — so Spring and Fall fleets can differ without losing a boat's record.
The public schedule is built from race dates, so practices, socials, and externally-scored events all appear on the right year automatically.
Score with confidence
Enter finish times; WP SailingFlow does the corrected-time math and the points — under the Racing Rules of Sailing 2025–2028.
Time-on-distance by default. Time-on-time scoring, with editable A/B factors, is available per series. Pro
Points assigned by the Low-Point system (RRS A4): first scores 1, second 2, and so on — with race ties averaged per A7.
Standard A5.2 (entries + 1) out of the box, plus all the RRS codes: DNF, DNS, DNC, OCS, RET, NSC, RAF, DSQ, DNE. Optional A5.3 scoring per series. Pro
Results stay editable after submission, and a confirmed “Clear Results” resets a race to scheduled without deleting it — perfect for protests and corrections.
Score a one-off race that belongs to no series: pick its boats, set ratings and sail numbers, enter times, and publish a results page that touches no standings.
Record course and conditions per race. Cancelled races aren't scored, stay off the standings, and show the reason on the schedule.
Standings & series
Standings are built per racing series, with one column per regatta showing each boat's net total. Everything recalculates the moment you save a result.
Publish to your site
Drop a shortcode onto any WordPress page or post. Output is responsive and inherits your theme — no embeds, no separate scoreboard, no extra logins for your fleet.
[wpsf_schedule] season race schedule
[wpsf_scratch_sheet] registered boats by division
[wpsf_race_results] results of a single race
[wpsf_race_details] course & conditions detail
[wpsf_standings] full series standings grid
[wpsf_series_title] standings breadcrumb heading
Place one on a page and it stays in sync with your data.
Notify your fleet Pro
Email your fleet the moment results post or a race is called off — with unsubscribe handling done properly.
Send the results table — or a cancellation notice with the reason — to your recipient list as soon as a race is finalized.
Every email carries an unsubscribe link and List-Unsubscribe headers. A confirmation step keeps scanners and prefetchers from unsubscribing anyone by accident.
Each message is sent individually so an unsubscribe removes only that address. Opt-outs are skipped on future sends and reviewable in Settings.
Built to professional standards
Prepared statements throughout, nonce and capability checks on every admin action, escaped output, and prefixed tables — a clean, audited rewrite.
Self-contained with its own autoloader — no Composer step on your server. Requires WordPress 6.0+ and PHP 7.4+. Schema updates apply automatically.
Configurable club name and page URLs. If a Pro license lapses, nothing is deleted — Pro features just pause and reactivate instantly when a license is active.
Free core, optional Pro
Start on the free edition and upgrade whenever your racing calls for it — your existing data carries straight over.
Set up your fleet in an afternoon and publish standings your racers can check from the dock.