Sector · Real Estate

Websites for estate agents and property developers

An estate agency does not keep its inventory on the website. It keeps it in the agency software, because that is where the brochure, the owner data, the prospects and the appointments are attached to it. Everything the website shows of that is a copy, and every copy that someone maintains by hand becomes wrong at some point. We build websites for estate agents, property developers and housing companies so that the listings come from the leading system via OpenImmo and the website remains an output channel. Three projects in our portfolio belong here. One estate agency with four locations in East Frisia and the Emsland and around two hundred active listings runs the OpenImmo connection. In the other two — an agent with separate paths for owners and buyers, and a housing company — the listings sit in a dedicated listing content type and are maintained editorially, because a connection did not pay off for the size of their inventory. This page does not explain what we can do technically; that is on the service pages. It explains what is different in this market.

What sets this market apart technically

The inventory has a leading system, and that system is not the website

In most sectors, content is created in the editorial team. At estate agencies it is created in the office, in the agency software, together with owner data, the assignment of prospects and appointments. A website that is maintained alongside it creates a second version of the truth: a listing online that was sold long ago, and a new listing that appears days late. With around two hundred active listings across four locations — this is the situation in one of our projects — that is no longer a question of care, but a question of architecture. There is no fixed number of listings at which this begins to apply; what matters is how many places the same piece of information is maintained in.

Every listing is a URL with an expiry date

A product in a shop stays in the range for years. A listing is taken within weeks or months and then disappears. That raises a question other sectors do not have: what happens to the address it used to sit at. Anyone who does not answer it decides, without saying so, in favour of a growing pile of error pages — and in favour of enquiries about listings that are already gone.

Three concerns that have nothing to do with each other

On an estate agency website, interests meet that have little in common: buying or renting, having your own house valued, working through the numbers of an investment. A single contact form for all three produces a round of follow-up questions with every enquiry — and it leaves the sender unsure whether the message reached the right person at all.

Mandatory details belong to the data record, not to the body text

Part of what has to be stated about an advertised property is set by law and is not an editorial judgement: the details from the energy performance certificate under section 87 of the German Building Energy Act (Gebäudeenergiegesetz). Other things are not prescribed, but still need to be a field, because someone will rely on them later: listing number, type of marketing, commission details, contact person. The same principle applies to both. If such information sits in the description text, it is lost with the next import, or it is forgotten for half of the listings.

The website is an output channel, not a second data store

The difference from other sectors lies in the direction of the data flow. The inventory is not recorded for the website, it is recorded for the business: type of marketing, price, floor area, number of rooms, features, energy data, contact person, status. All of that is already complete in the agency software, because it is needed there for the brochure, the portal advert and the assignment of prospects. The website does not need any of it a second time, it needs access. Which product runs in the office — onOffice, FlowFact, Propstack or one of the smaller solutions — matters less for the connection, as long as it exports OpenImmo. Practically every agency software does, because the same export also feeds the portals.

Mechanically, OpenImmo is unspectacular, and that is exactly why it is dependable: a package consisting of one XML file and the matching images, usually placed as a ZIP file in an agreed directory over FTP or SFTP. The import reads it, maps the listings onto the listing structure of the website and publishes them together with images, key figures and mandatory details. Two modes of operation have to be kept apart, and the delivery itself states which one is meant: the full synchronisation, in which it describes the complete inventory and everything not delivered goes offline, and the partial delivery, which only brings changes and deletions, where each listing carries its own action type. Anyone who confuses the two either deletes half of the inventory or keeps sold listings for ever. Every run writes a log: what was new, what changed, what was removed, what had to be held back.

For the editorial team, this shifts the content of the work. What is maintained by hand are the things without a listing reference: locations, team, sales process, valuation path, guide content, references. Nobody works on the listings themselves any more, with one exception that has to be defined in advance. Some agencies want to enrich individual listings editorially, for example with their own description of the location or with a highlight on the home page. In that case a clear separation applies: fields from the export are overwritten with every run, and editorial fields survive it. Without this separation, the first import that throws away a week of manual work is also the last one that anybody trusts.

OpenImmo is a standard. The mapping is still the project.

A shared format does not mean that two exports look the same. Many fields are optional, several details can be expressed in different ways, and part of what interests the prospective buyer sits in free text. Typical points where exports diverge: price on request instead of a number, living area against usable area against total area, sale and rent and lease in the same list, property type and type of use in combinations that your own categorisation did not allow for, commission stated as a percentage or as a sentence, the assignment of a listing to a branch office for which the format has no field of its own. We therefore define the mapping against a real export from the real system, and not against the schema. The first run is a test run against reality, and it usually finds cases that nobody would have mentioned beforehand.

Images deserve a separate look, because in this sector they are the showroom. They arrive from the export in varying sizes, portrait and landscape mixed, with a title image marker, often with a watermark, plus floor plans and occasionally attachments as PDF. The order in which they are delivered is a professional statement by the agent and has to be preserved. The required resolutions are derived during the import and not on every page view; delivery is graded and deferred. People who look at listings on a mobile phone often do so while they are out, and a gallery that loads two images and then stalls costs attention at exactly the point where it is needed.

The third point is fault tolerance, and it decides what daily operation looks like. An import that stops when one mandatory field is missing is unusable: a single unclean listing then holds up all the rest. The correct behaviour is to hold the affected listing back, name it in the log and let the rest through. Two special cases have to be secured explicitly. An empty or incomplete delivery — transfer aborted, directory empty, file damaged — must never be interpreted as a full synchronisation and remove the inventory. And a listing whose export is missing a detail required by law must not appear silently without that detail; it has to be noticed while there is still time to correct something.

Three concerns, separate paths

Prospective buyers are looking for listings. Owners are looking for an assessment and a process. Investors are looking for numbers. These paths are so different that the navigation has to separate them instead of sending everyone through the same entry point. In our projects this has produced two paths: one for buyers with search, listing pages and a saved search, and a second one for owners with valuation, sales process and a list of documents. A separate third path for investors is only worth it once the inventory supports it; as long as that is not the case, a segment filter in the search and one solid content page are enough. The enquiry on the listing carries the listing reference with it — number, description, responsible contact person — because the pre-qualification then begins before the first phone call and not after it.

The valuation path is the point where most goes wrong in this market. It makes sense as a multi-step form and asks only for as much as a first assessment needs; anyone who wants the land register details in the first step will not receive enquiries. We advise against instant valuation calculators that claim a figure from five fields: they produce leads and, at the same time, an expectation that somebody has to correct in the first conversation. The boundary to the contract matters just as much. Under section 656a of the German Civil Code (BGB), an agency agreement on the introduction or brokerage of a purchase contract for a flat or a single-family house requires text form, and for exactly these properties the commission cannot be shifted onto the buyer alone if the buyer is a consumer (sections 656c and 656d BGB). We do not give legal advice here — whether and how a contract should be concluded online is for the agent to decide with their lawyer. But the form path must not blur the boundary: with us, a valuation form produces a lead, not a signed contract.

What is needed around this is inconspicuous and often forgotten. A saved search that informs prospects about new listings needs documented consent, an unsubscribe route in every message and a trigger that can be traced. Maps are only loaded after consent, and for many listings only an approximate area is wanted anyway, not an address. We draw one line as a matter of principle: identity documents and papers for identification under money laundering law do not go through a web form. That is not a technical problem, it is a question of where such data should be held — and that is not the web server.

Listings come to an end, addresses do not

The life cycle of a listing is short and has fixed stages: new, being marketed, reserved, sold or let, off the market. The status comes from the leading system and has to take effect in all views at the same time: overview, detail page, search, sitemap, saved search. For the address of a completed listing there are three defensible answers, and the decision belongs in the concept and not in day-to-day operation. First: the page stays as a reference, without a price and without an enquiry form, with a note that the sale is complete and a route into the matching category. Second: a permanent redirect to the location and segment, if there is no reference value. Third: a clear statement that the listing no longer exists. The fourth option, a growing set of error pages with links from portals, newsletters and search engines pointing at them, is one that nobody chooses deliberately, and it is still the most common.

This leads to a consequence for visibility that we state before the quotation. The searches in this market that are close to a transaction are usually served by the large portals; competing against that with listing pages that disappear after eight weeks is not a strategy. The lasting substance of an estate agency website is elsewhere: in pages about location and segment that still apply next year, in the valuation path, in the sales process, in the people, in solid content about documents, costs and deadlines. Listing pages are the moving stock, not the foundation. Anyone who plans it the other way round builds reach on content that they delete again themselves.

Technically, this includes a decision about the search. Filter states should appear in the address, so that a result list can be linked and used for campaigns — we follow the same principle in our vehicle portals, where make, model and location are read from the address. At the same time, every additional filter dimension multiplies the number of possible addresses. Only a deliberately defined set of combinations for which there is real demand is therefore indexable; everything else stays reachable, but stays out of the index. In its spam policies, Google describes the case of doorway pages: pages created to rank for specific, similar search queries, which lead users to intermediate pages that are not as useful as the final destination. Filter combinations generated in bulk without content of their own fall into this pattern. The policy does not ask how the pages came about, but what they are for — and it names no percentages, no minimum shares and no thresholds, even if SEO blogs circulate such numbers regularly.

Mandatory details, commission, accessibility

If an energy performance certificate exists and the property is advertised in commercial media, section 87 of the German Building Energy Act requires details from that certificate, in essence: the type of certificate, the final energy demand or final energy consumption, the main energy sources of the heating system, and for residential buildings the year of construction and the energy efficiency class. The section has been amended several times, so the list of fields should be checked against the version of the law currently in force and not against the field list of a plugin — and advice on this has to come from a lawyer, not from the agency. For the build, three things follow from this: the values come from the source and are not typed in again, they have fixed places in the data record, and they must not be lost on the way. If a detail is missing in the export, the listing does not appear silently without it; it appears in the log.

The same principle applies to the commission, with one additional reason. The statement on the listing is not decoration, it is a statement with consequences, and it has to match the brochure and the portal advert. A field that is fed from the same source as the brochure keeps this match by itself. A sentence in the description text keeps it until the first change. The same applies to the listing number, the type of marketing and the contact person: everything that someone will rely on later is a field and not a paragraph.

Accessibility is not a formal exercise in this sector, because the decisive elements are exactly the critical ones. An image gallery has to be operable with the keyboard, and when the user moves on it has to say where they are. Floor plans need a text alternative that contains more than the words floor plan. Energy values belong in the output as text and not as an image, because otherwise they are missing for screen readers and for search engines alike. A map needs an alternative in text form, for example a description of the location and the surrounding area. This is at the same time the part that benefits findability: what is output in machine-readable form can also be marked up. There are structured data types for property listings, but there is no Google search result feature built on them — we add the markup and do not promise a presentation that does not exist.

Frequently asked questions

What is OpenImmo?

OpenImmo is the XML exchange format of the German property sector. One delivery consists of an XML file with the listing data and the matching images, and it is usually placed as a ZIP file in an agreed directory over FTP or SFTP. Practically every agency software can export OpenImmo, because the same export also feeds the portals. For the website this means that listings are not typed in, they are taken over. Where a sector standard exists, we use it instead of rebuilding it.

Can my agency software hand listings over to the website?

Very probably yes. Export to OpenImmo is standard equipment, because it is needed for the portals anyway. Two things need to be clarified: whether your provider will set up a further output channel without extra cost, and how the delivery is collected technically. A phone call to your software provider settles both. We can only judge the effort reliably from a real test export, not from the product description.

How up to date are the listings on the website?

As up to date as the last run. The interval is agreed with you; several times a day is usually enough for an agency inventory, and tighter cycles are possible but are rarely the point. What matters is not the second, but that nobody has to maintain anything afterwards: what is set to sold in the office disappears with the next run, and a new listing appears without an intermediate step. Synchronisation is then no longer a work step, it is a property of the build.

What happens to sold listings on the website?

That should be decided before the build, because it affects the addresses. Three routes are defensible: the page stays as a reference without a price and without an enquiry form, it redirects permanently to the location and segment, or it states clearly that the listing no longer exists. What does not work is the default case without a decision: a growing set of error pages that portals, newsletters and search engines keep pointing at.

Do I need a connection at all, or is manual maintenance enough?

With a small, stable inventory, one location and one person who maintains it, manual maintenance can be cheaper than a connection. In that case we say so — and two of our three property projects run without a connection for exactly this reason, with a dedicated listing content type in the system. A connection pays off when the inventory changes regularly, when several locations or several people maintain it, or when the same listings also appear on portals and have to match. The tipping point is not a particular number of listings, it is the number of places where the same piece of information is maintained.

Which details have to be stated on a property advert?

If an energy performance certificate exists, section 87 of the German Building Energy Act requires details from that certificate in commercial adverts — in essence the type of certificate, the final energy demand or final energy consumption, the main energy sources of the heating system and, for residential buildings, the year of construction and the energy efficiency class. Because the section has been amended several times, the exact list of fields should be checked against the version currently in force. Depending on the case, commission details and provider information are added, which follow from other rules. We do not give legal advice here. We build so that the details come from the source, have fixed places, and a missing value is noticed instead of disappearing without a sound.

WordPress or TYPO3 for an estate agency website?

Our three property projects run on WordPress. For a website with a listing inventory, a few enquiry paths and a manageable editorial team, that is the right size; the OpenImmo connection runs in one of these projects, and the other two maintain their listings through a dedicated listing content type. Other requirements speak for TYPO3: several languages, many editors with graded permissions, several clients or brands in one installation. We give the reasons for the decision before the quotation, not after it — which system fits is a technical question, not a matter of belief.

Is a search of your own worth it if the portals are found anyway?

Yes, but not as a ranking instrument. Your own search is the place where a prospect who is already with you finds the right listing, and it is the basis for linking a result list into a newsletter or a campaign. The searches that are close to a transaction are usually served by the portals. An estate agency website gains visibility through content that lasts: location and segment, valuation, process, people.

How should a property valuation form be built?

As a multi-step form, with the simple details first, and only as detailed as a first assessment requires. Anyone who asks for the land register extract and the year of construction in the first step will not receive enquiries. We advise against instant valuation calculators: a figure from five fields creates an expectation that somebody has to correct in the first conversation. And the path produces a lead, not a signed contract — a form must not blur this boundary.

Can several locations or offices work in one website?

Yes, and the portfolio shows it: an estate agency with four locations in East Frisia and the Emsland manages around two hundred active listings in one website. How the location assignment comes through in the export differs from software to software — OpenImmo has no field of its own for a branch office, so it usually runs through the provider block or the contact person, and sometimes through a custom field. That is defined during the mapping; filters, location pages and the assignment of the contact person are then built from it. The side effect is consistency: listings appear in the same quality, regardless of who entered them at which location.

Do you take over an existing estate agency website from another agency?

Yes. We start with a survey of the current state, and the first question is whether and how the listing import runs: where the delivery comes from, whether synchronisation is full or partial, whether there is a log, and what happens with an empty delivery. After that come version levels, extensions and the state of the enquiry paths. At the end you have it in writing what comes first. A relaunch is not a precondition for taking the site over and continuing to operate it.

What does an estate agency website with an OpenImmo connection cost?

That depends on the scope, and the drivers can be named: the number of property types and types of marketing, special cases in the export, the number of enquiry paths, the locations and contact persons, and the amount of content without a listing reference. We do not name prices at random. After a requirements discussion and a review of a real test export, you receive a quotation with a clearly defined scope — and if a connection does not pay off in your case, that is in it too.

Who operates the site after go-live?

We do, if you want: on our own servers in Germany, with updates for core and extensions, backups, monitoring, TLS and supervision of the import runs, because a silent import error is the most expensive error in this sector. Response times are governed by a service level scale with four steps from BASIC to PREMIUM, from 24 hours down to 2 hours. Without an agreement we work through enquiries in the order received, within 48 hours during business hours, Monday to Friday, 9:00 to 16:00.

Send us a test export.

A real OpenImmo export from your agency software says more about the effort involved than any preliminary discussion. We look through it and tell you what can be mapped directly, what needs mapping work and where details are missing. If a connection does not pay off for your inventory, we will say that as well.

Call Start a project