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







Installation
- Upload the folder to
/wp-content/plugins/and activate it. - Property > Settings > General: your country, currency and units.
- Property > Your Agency: fill in your own record.
- 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.
ContributorsTranslate “TerraSuite” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by 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.
