Why an alternative to WordPress is needed for real estate websites
(Jan 2018 update — PropertyWebBuilder is raising funds via opencollective. Please help support open source in real estate by making a contribution to here: https://opencollective.com/property_web_builder)
Recently I open sourced the code that I use to build websites for real estate agents. You can find it here:
https://github.com/etewiah/property_web_builder
Among the generally positive feedback I received, one question kept popping up. Why would anyone use it instead of WordPress? The assumption seems to be that WordPress is a good tool for building real estate websites. Let me try to explain why it is not.
One of the major problems with WordPress is that partly as a result of its popularity it is a major target for hackers. Here is a typical post on a discussion group for estate agents using WordPress (this was from just a few days ago):
Anyone else getting hack attacks? One of my sites, a very tiny one, is getting hit dozens of times a day. Luckily I have Wordfence (free version) and they haven’t gotten in, but still. Today and yesterday alone it was more than 200 attempted logins that were foiled. I wish the hackers would get the hint and go somewhere else.
The user above was savvy enough to install Wordfence but how many people out there will know to install it correctly and keep it updated regularly.
Not only do hackers like to target WordPress, it is also inherently more insecure than most websites because of its large surface area. It keeps getting modified to do more and more things that it was not designed for. Each time this is done the scope for potential vulnerabilities increases.
The many plugins available are often touted as a good thing. In reality they are also the source of many problems. Many inexperience programmers see WordPress as the easy way to make some quick money. The focus of plugin authors is often on making their product look good rather than be stable or secure. It becomes hard to distinguish between good plugins and bad ones.
Even the good ones often fall short by modern programming standards. If you look at a some popular real estate plugins for WordPress you will notice they do not have any tests. Here are two examples that have been about for a while but do not make use of any tests in the code:
https://github.com/PragmaticMates/realia
https://github.com/easypropertylistings/Easy-Property-Listings
Its hard to keep up to date with different versions of plugins and to know which ones play well with which version of another plugin. Troubleshooting plugins is often beyond the expertise of eager estate agents who rush to install them. The result of all this is that the real overall cost of even the free WordPress plugins for real estate can be quite high. Here is an example of typical fixes needed for a WordPress real estate site:
And then we have the issues of the user experience. Using WordPress for a real estate website is essentially a fight against the defaults. To get an idea of the effort needed to get a real estate website going with WordPress have a look at the following video:
After going through all the drudgery of setting WordPress up correctly, you have to be prepared to constantly look out for problems. Here is another post from the estate agents discussion group (also from the last few days):
So this morning when I went to my site www.*** dot com, I noticed the front page was all over the place. I did not load any new plugins, nor did i make any changes to the site… However the index page is totally messed up. The right sidebar widget now pushed the page to the left… The page was centered perfectly, for a year! Anyone have any idea what could be wrong? BTW, I tried to restore from a backup from a week ago (when I knew the site was good), and still no joy.
It turned out to be WordPress updating automatically and breaking things. WordPress used for real estate is the perfect example of technology gone wrong: a large clunky platform with a lot of functionality being used by non-technical people relying on poorly tested plugins to do things the platform was not designed for in the first place.
Clearly a better alternative is needed. Of course I am biased as I built it but I think there is a good chance PropertyWebBuilder will be the alternative that replaces WordPress for many real estate agents in 2017 and beyond. It is currently at version 0.0.1 and already has an admin UI way more intuitive than most WordPress admin panels. Click one button to enable an extra language. Click one button to hide the map for a given property. You manage the keywords for property features and their translations directly in one view. No messing about associating content types with columns etc etc.
Search for properties comes out of the box with PropertyWebBuilder and is fast. This is a major pain for people trying to use a WordPress plugin. With WordPress even the best plugin will still be going through layers of abstractions to figure out what properties to return. This makes them error prone and slow.
By being built directly on Ruby on Rails, PropertyWebBuilder already has an advantage over WordPress plugins in terms of security, performance and stability. There is some debate about the merits of Ruby on Rails versus PHP in each of these areas. What is clear though is that the layer WordPress on top of PHP adds one more level of security vulnerability, performance bottlenecks and the need for more updates over time. And what really compounds the problem when you try to use WordPress to build a real estate website is that you have to rely on plugins which compound the problem further. Each plugin adds more potential for problems and bottlenecks. PropertyWebBuilder avoids these extra layers giving it the chance to be more secure, performant and stable than the average WordPress plugin for a real estate site.
What really excites me about PropertyWebBuilder though are the opportunities it opens up for the future. WordPress struggles enough as it is just to adapt to the basic needs of a real estate website today. This holds the sector back from embracing the new technologies of tomorrow. WordPress plugins as I have already explained have a lot of limitations. Many are poorly written and it is hard to know which are any good and how well each plugin will play with another that has been installed. Reliable and useful services have to be written in a better framework that WordPress plugins.
PropertyWebBuilder can be extended through Ruby gems which are libraries that encapsulate functionality for solving distinct sets of problems. The Ruby on Rails ecosystem is choker full of great, free, well-tested, open-source gems. They are generally well written and tested. It is easy to get an idea of how good and useful each gem is by looking through the github repository and checking sites such as rubygems.org for statistics and issues.
PropertyWebBuilder is itself written as a Rails engine which means it can be added to an exiting Ruby on Rails website with just a few lines of code. See https://devblast.com/b/modular-rails-engines for more about Rails engines.
My vision for PropertyWebBuilder is that it becomes the point of integration for the myriad of tasks involved in real estate. It will not become the tool that does it all but rather a simple base from which to interact with other platforms. If you prefer to use your android phone to manage contacts you will simply synch it with PropertyWebBuilder. Each day there are new APIs being rolled out and PropertyWebBuilder will be the easiest way to integrate with them. It will become trivial to import neighbourhood information from the Zillow API or to get historical prices for a property using the Zoopla API.
Right now PropertyWebBuilder is not feature complete but I’m working hard to get it there. The priority for me now is implement IDX to add support for importing and exporting into MLSs. There is an excellent Ruby library for using RETS which is a protocol most MLSs use so it shouldn’t be too difficult. I am quite pushed for time though so any help in implementing this (and the many other features I have planned) will be very much appreciated. In particular it will be great to have estate agents who can help me test it out as I develop it. Please get in touch ( opensource at propertywebbuilder dot com ) if you want to help.
You can try PropertyWebBuilder out by simply clicking here and following the instructions: https://heroku.com/deploy?template=https://github.com/etewiah/pwb-for-heroku