WordPress to the rescue! Modernizing the mesTravaux.com online directory
In 2017, I had the chance to participate in re-developping the mesTravaux.com website, an artisan directory and online platform for requesting quotes for both homeowners and artisans.
This process involved creating a custom WordPress system to host the website data and the import of data from an old legacy PHP script (called ScriptPag).
Since then, many changes have been made to bring the website to life, and I regularly add new features.
Today, this unique WordPress solution can handle a large amount of data on the website: more than 40,000 artisans are referenced on mesTravaux.com, and thousands of matchmaking messages are made each month. This performant and secure architecture is now powered by WordPress as a modern framework for this demanding web application.
Pierre is a talented developer who is attentive to his clients’ needs. Since the beginning of our collaboration, he has been a serious and disciplined service provider who has contributed significantly to the development of the website and its success.
I recommend him for his skills as a developer/graphic designer and his excellent communication skills and cheerfulness, which lead to a trustful and long-term partnership.Olivier Mas, Director of mesTravaux website
A multi-type data architecture
To respond to the diversity of content available on mesTravaux.com, a specific data architecture has been created based on the core of WordPress or in-house solutions:
- custom post types (CPT) are used to host artisan business data or direct messages,
- taxonomies are used to organize these contents by activity or department,
- custom SQL tables offer a higher level of flexibility and performance to store sharable leads, quote request details, or members’ page statistics.
The flexibility of WordPress is well highlighted here: it efficiently responds to a project with complex and evolving needs and resources. Depending on the need, the structure of the WordPress CPT or taxonomy database makes total sense. In other cases, this monolithic structure can sometimes be too restrictive; the use of custom SQL tables is then preferred.
Customized front-end forms
The first step was to create the artisan user flow from scratch. This custom WordPress development was about:
- creating a front-end form for the registration of artisans, with automatic retrieval of company information from the SIREN (via external API) and data validation via AJAX,
- integrating a custom dashboard for professionals, allowing them to edit their company details, consult their messages, view their statistics, and monitor their subscription,
- integrating the public artisan pages and creating a custom form for posting reviews and requesting quotes,
- designing and implementing segmented search results pages (by department, by activity),
- developing a subscription system for paid options (with WooCommerce Subscriptions) to highlight artisans’ profiles in search results.
Internal API development and third-party APIs integration
The heart of the mesTravaux website is to link individuals looking for professionals. These quote requests come whether from a form on the mesTravaux.com website or from external partners providing these leads.
A specific incoming API has been designed and documented from start to finish. It gives partners the possibility to submit quote requests using secure access. The WordPress Rest API has been extended to allow such functionality, receive these requests, validate them and accept/refuse them according to the incoming parameters.
After import, other external APIs are also connected. Specific developments have enabled a complex system of selling leads to other partners according to the unique characteristics of each requester (daily limit, accepted/rejected company types, regions/states, priorities, etc.). These intelligent API connectors allow for pre-matching (checking the acceptance of a lead according to the request’s activity type and the geographic location of the requester) and sending the lead to these APIs.
A high-level configurable and customizable backend
On the backend side, a system settings page allows the administrator to fine-tune many website parameters, such as:
- the content of all transactional emails sent by the platform (with variables injected via placeholders)
- the priorities and specificities of the partners or leads APIs,
- activating and deactivating certain occasional functionalities (popups, graphic design on certain pages),
- defining static content displayed on multiple pages.
Besides this settings page, many other administration pages offer a precise activity follow-up and a fine tracking of the website inputs and outputs. I have also developed many CSV exports to allow the administrator to track the registrations of professionals and the statistics related to the leads created, analyze the volume of requests over a given date range, etc.
In conclusion, WordPress is used here as a complete PHP framework. The flexibility of its architecture will have allowed the implementation of a complex and high-performing website, intelligent on the backend side and modern on the frontend side.