Title: TerraSuite
Author: havenswift-hosting
Published: <strong>October 6, 2026</strong>
Last modified: October 6, 2026

---

Search plugins

![](https://ps.w.org/terrasuite/assets/banner-772x250.png?rev=3730239)

![](https://ps.w.org/terrasuite/assets/icon-256x256.png?rev=3730239)

# TerraSuite

 By [havenswift-hosting](https://profiles.wordpress.org/havenswift-hosting/)

[Download](https://downloads.wordpress.org/plugin/terrasuite.1.0.2.zip)

 * [Details](https://wordpress.org/plugins/terrasuite/#description)
 * [Reviews](https://wordpress.org/plugins/terrasuite/#reviews)
 *  [Installation](https://wordpress.org/plugins/terrasuite/#installation)
 * [Development](https://wordpress.org/plugins/terrasuite/#developers)

 [Support](https://wordpress.org/support/plugin/terrasuite/)

## Description

Built for agencies that want their website to do the work of a person rather
 than
be a brochure. It runs anywhere in the world: the fields that appear on a property
follow the market you set, so a UK agency sees tenure and council tax band, a Spanish
agency sees community fees and the cadastral reference, and an American agency sees
HOA fees and an MLS number.

Everything described below is in this plugin and works without paying anybody.

#### What it does

 * **Listings.** Unlimited properties, for sale, to rent or short let, with
    photographs,
   floorplans, key selling points and every field a portal asks for.
 * **Search.** Filters that run against a flat index, so ten filters is still one
   
   query. Distance from a point, or an area the visitor draws on the map.
 * **Maps.** Self-hosted. No third-party script and no API key. An owner who does
   
   not want the exact position published gets a shaded circle, and the search still
   works correctly.
 * **Enquiries and clients.** One record per person, however they arrived.
 * **Shortlists.** A visitor saves the properties they like and comes back to
    them,
   with or without registering.
 * **Area guides**, written by hand.
 * **CSV import and export**, both ways, with a mapping screen.
 * **Structured data** for search engines, on every property.
 * **Privacy tools**: the export and erase requests WordPress asks plugins to
    answer,
   covering the records this plugin keeps.
 * **Your own website**: pages, menus, a front page and a staff list, so an
    agency
   can put a site together without a page builder.

#### What it deliberately does not do

No login lockout, no firewall, no malware scanner, no SEO fields, no caching,
 no
contact-form builder. Those belong at the edge or in one plugin that does them properly.
Fifteen plugins each doing a fifth of the job is how a WordPress site becomes slow,
fragile and impossible to update.

#### A paid add-on exists, and is not in this plugin

TerraSuite Pro is a separate plugin sold from terrasuite.uk. It adds the
 viewings
calendar and bookings, the message centre, QR codes, branded particulars, portal
feed importers and de-duplication, partner agencies and fee splits, applicant matching
and alerts, Elasticsearch and the AI features. It also adds the knowledgebase, with
sixty-three articles written for clients and for staff.

None of that code is in this plugin. Nothing here is switched off waiting to
 be
unlocked: what is listed above is what you get, and it does not expire.

### Third-party libraries

Two libraries ship with the plugin, both unmodified release artefacts under
 GPL-
compatible licences:

 * Leaflet 1.9.4, BSD-2-Clause, https://github.com/Leaflet/Leaflet/releases/tag/
   v1.9.4
 * Leaflet.draw 1.0.4, MIT, https://github.com/Leaflet/Leaflet.draw/releases/tag/
   v1.0.4

Both are minified as published by their own projects. The non-compiled source is

at the tags above, and public/vendor/README.md records how to replace either one.

### External services

The plugin contacts nothing at all unless you switch something on, and nothing
 
is contacted on activation or on a schedule.

**Geocoding (off by default).** When you enable it, the address of a property
 you
save is sent to the geocoding service you nominate so it can be placed on a map.
The default is Nominatim, run by the OpenStreetMap Foundation: one request per second,
and every answer cached for a year. Service: https://nominatim.openstreetmap.org
Terms: https://operations.osmfoundation.org/policies/nominatim/ Privacy: https://
wiki.osmfoundation.org/wiki/Privacy_Policy

**Map tiles.** On a page where you place a map, the visitor’s browser fetches
 map
images directly from the tile service set in Property > Settings > Maps, which defaults
to tile.openstreetmap.org. The request comes from the visitor’s browser and carries
their IP address and the area of the map being viewed. Service: https://www.openstreetmap.
org Copyright: https://www.openstreetmap.org/copyright Privacy: https://wiki.osmfoundation.
org/wiki/Privacy_Policy

**Area guides and photographs (Property > Get Content).** Only when you open
 that
screen and press a button to download a region pack. The screen lists what is sent
before you press anything: the address of your site, and an email address only if
you choose to type one in. The packs are images and text, never code, and they are
served by us. Service: https://terrasuite.uk/bundles/ Terms: https://terrasuite.
uk/terms-of-use/ Privacy: https://terrasuite.uk/privacy-policy/

**Google Places (off by default).** If you choose to show Google reviews and
 enter
your own Google API key, the place identifier you set is sent to places.googleapis.
com to fetch the review text and rating shown on your site. Service: https://developers.
google.com/maps/documentation/places/web-service Terms: https://cloud.google.com/
maps-platform/terms Privacy: https://policies.google.com/privacy

**YouTube (only if you paste a YouTube address on a property).** The video is
 embedded
from www.youtube-nocookie.com, the no-cookie player, and the thumbnail comes from
i.ytimg.com. Both are fetched by the visitor’s browser when they open that property,
and carry their IP address. A link to the video on www.youtube.com is shown beside
the player. Terms: https://www.youtube.com/t/terms Privacy: https://policies.google.
com/privacy

**Vimeo (only if you paste a Vimeo address on a property).** The video is
 embedded
from player.vimeo.com and a link to vimeo.com is shown beside it. Fetched by the
visitor’s browser when they open that property, carrying their IP address. Terms:
https://vimeo.com/terms Privacy: https://vimeo.com/privacy

**WhatsApp (only if a staff member has a WhatsApp number set).** No request is
 
made: the number becomes an ordinary https://wa.me/ link, which opens WhatsApp if
the visitor clicks it. Terms: https://www.whatsapp.com/legal/terms-of-service Privacy:
https://www.whatsapp.com/legal/privacy-policy

The plugin is published by Havenswift Hosting
 (https://www.havenswift-hosting.co.
uk/); that address appears only as a link.

There is no usage tracking of any kind.

## Screenshots

[⌊The front page a visitor lands on: search, map search and area guides.⌉⌊The front
page a visitor lands on: search, map search and area guides.⌉[

The front page a visitor lands on: search, map search and area guides.

[⌊A property, with its gallery, key facts and the enquiry form.⌉⌊A property, with
its gallery, key facts and the enquiry form.⌉[

A property, with its gallery, key facts and the enquiry form.

[⌊Search results, filtered without a full page reload.⌉⌊Search results, filtered
without a full page reload.⌉[

Search results, filtered without a full page reload.

[⌊The self-hosted map search - no third-party script, no API key.⌉⌊The self-hosted
map search - no third-party script, no API key.⌉[

The self-hosted map search – no third-party script, no API key.

[⌊The dashboard an agency actually opens every morning: what needs a reply,
what's
coming up, and the newest clients.⌉⌊The dashboard an agency actually opens every
morning: what needs a reply,
what's coming up, and the newest clients.⌉[

The dashboard an agency actually opens every morning: what needs a reply, what’s
coming up, and the newest clients.

[⌊The property list, with everything a portal asks for.⌉⌊The property list, with
everything a portal asks for.⌉[

The property list, with everything a portal asks for.

[⌊The Clients screen: one record per person, however they arrived.⌉⌊The Clients 
screen: one record per person, however they arrived.⌉[

The Clients screen: one record per person, however they arrived.

## Installation

 1. Upload the folder to `/wp-content/plugins/` and activate it.
 2. Property > Settings > General: your country, currency and units.
 3. Property > Your Agency: fill in your own record.
 4. Add one property by hand and look at it on the website, before setting up any import.

Property > Tools will create demonstration data so you can try everything, and remove
it again in one step.

## FAQ

### Does it expire, or stop working?

No. There is no trial, no licence check and no feature in this plugin that
 waits
for a payment. What is in the description is what it does, permanently.

### Does it need an API key for maps?

No. The map library is served from the plugin. The tile URL is a setting; read
 
the terms of whichever tile service you point it at.

### Will it slow my site down?

The search runs against a purpose-built index table rather than through post
 meta,
which is why a ten-filter search is a single query. Measured on a reference installation,
a search took half a millisecond.

### Does it send anything anywhere?

Not unless you switch something on, or paste in a video. See “External
 services”
below for everything that can reach an outside server, what each one sends, and 
when.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“TerraSuite” is open source software. The following people have contributed to this
plugin.

Contributors

 *   [ havenswift-hosting ](https://profiles.wordpress.org/havenswift-hosting/)

[Translate “TerraSuite” into your language.](https://translate.wordpress.org/projects/wp-plugins/terrasuite)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/terrasuite/), check
out the [SVN repository](https://plugins.svn.wordpress.org/terrasuite/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/terrasuite/) by 
[RSS](https://plugins.trac.wordpress.org/log/terrasuite/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.2

 * The property, article, area guide, team, review and service post types, and
    
   the eight taxonomies with them, are now prefixed terrasuite_ rather than ts_.
   Existing records are carried across on upgrade; no address changes.
 * The printed particulars sheet loads its stylesheet the WordPress way instead
   
   of printing it into the page.
 * Every value a form sends is sanitised where it is read: prices and sizes, the
   
   areas drawn on the map, the term lists, client notes, import separators and stored
   credentials.
 * The valuation estimate is escaped where it is output rather than where it is
   
   built, because a filter can change it in between.
 * The knowledgebase is no longer part of the free plugin. Writing and publishing
   
   articles is a TerraSuite Pro feature; nothing already written is removed.
 * Search results no longer repeat a property across two pages when several share
   
   the same price or date.
 * Spanish, and any other translation, is read from wp-content/languages/plugins
   
   as WordPress.org supplies it.

#### 1.0.1

 * Drawing an area on the map, and shortlists, are now part of the free plugin.
 * The shortlist has its page back. Properties could be saved with the heart
    but
   there was nowhere to see the list again.
 * Help articles can be written and published here. The screen for them was
    missing,
   which left the /help page with no way to put anything on it.
 * QR codes, and the ready-written articles, moved to TerraSuite Pro.
 * No page is created for a feature that is not installed.
 * Opening Get Content no longer contacts us. The list of regions is fetched
    when
   you ask for it, which is what that screen always said.
 * Stored passwords, and the tokens in feed addresses, use a key belonging to
    this
   plugin. They were derived from the WordPress authentication salts, so rotating
   those after a security incident destroyed them with no warning.
 * Feed passwords are stored with AES-256-CBC rather than a reversible scramble.
 * A downloaded content pack is refused if it contains anything runnable.
 * Every external service the plugin can reach is now listed above.

#### 1.0.0

 * First release.

## Meta

 *  Version **1.0.2**
 *  Last updated **7 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 8.2 or higher **
 * Tags
 * [estate agent](https://wordpress.org/plugins/tags/estate-agent/)[property](https://wordpress.org/plugins/tags/property/)
   [Property Search](https://wordpress.org/plugins/tags/property-search/)[real-estate](https://wordpress.org/plugins/tags/real-estate/)
 *  [Advanced View](https://wordpress.org/plugins/terrasuite/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/terrasuite/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/terrasuite/reviews/)

## Contributors

 *   [ havenswift-hosting ](https://profiles.wordpress.org/havenswift-hosting/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/terrasuite/)