+++ draft = false date = 2020-01-20T18:55:00Z title = "Charles Stantham Legal Services" description = "" slug = "" tags = ["WordPress", "Elementor"] categories = ["Portfolio"] featured_image = "/images/stanthams/large-1.jpg" externalLink = "" series = [] +++ **Charles Stantham** are a firm of made up solicitors who decided they wanted me to make up a [website](https://stanthams.rayelliott.dev/) for their firm. The site is a fairly basic brochure site with no particularly special requirements. And so, for this relatively simple site I decided that a ready made customisable theme would be used. ## The Theme The theme I chose, that would be a starting point for the site, was [OceanWP](https://oceanwp.org/). {{< figure src="/images/logos/oceanwp-blue-icon.png" alt="The OceanWP icon." class="icon-inline oceanwp-icon" caption="There were a number of reasons why using OceanWP is appropriate for a project such as this:" >}} * **Quick**. Using such solutions can cut development time considerably. This can be especially important for low budget sites. Instead of building a site completely from scratch, a general, existing theme can be highly customised. * **Flexible**. Although not as flexible as a bespoke theme, OceanWP is highly customisable. For features that can't be created or modified within the theme a child theme can be created and these features added on that way. * **Extensible**. Many features are provided as extensions to the base theme. It is also not difficult to add custom functionality if needed. * **Lightweight**. There are a lot of popular page builders available for WordPress. Not all of them are, relatively speaking, as lightweight or well coded. There are, however, disadvantages. One of those being bloat. Pre-built themes are typically designed to provide for very broad, general use cases. A lot of this functionality will never be used by any one theme and so will only serve to at best clutter the interface. At worst they can slow the site and increase the likelihood of vulnerabilities. This means purpose built themes and design elements will always be leaner and more efficient. We can also be sure they are be written with clean, well written code (if coded correctly of course). In some cases, performance issues may not be so apparent for small sites with few users. However, these can become much more of an issue once the number of visitors is scaled up for bigger sites. So, when working with WordPress, a theme developed from scratch should always be faster, leaner and more efficient. However, this is not always possible given time or cost restraints and compromises may need to be made. In these cases a site builder may be the best option. As there were some minor customisations required that were not possible through the theme's interface, a child theme was created. {{< figure src="/images/stanthams/large-5.jpg" alt="" class="medium" caption="" >}} ## The Plugins The main plugin used was [Elementor](https://elementor.com/). {{< figure src="/images/logos/elementor-icon.png" alt="The Elementor logo." class="icon-inline" caption="Elementor is a 'Page Builder' that provides component based building blocks that can be added to a WordPress site and customised." >}} This has the advantage of speeding up development time considerably but brings disadvantages similar to those discussed above for using OceanWP. Again, for this particular project, I felt the advantages outweighed the disadvantages. Apart from Elementor, a limited number of other plugins were also used: * [Contact Form 7](https://wordpress.org/plugins/contact-form-7/). For a basic contact submission form, this is perfectly suitable. For more complicated requirements I would use Gravity Forms due to its better developer oriented features. * [Elementor Addon Elements](https://wordpress.org/plugins/addon-elements-for-elementor-page-builder/). This was required to add Google Maps integration. It would have been better to add this feature as a leaner, custom plugin, but for a site with a low budget, this is an acceptable compromise. * [GDPR Cookie Compliance](https://wordpress.org/plugins/gdpr-cookie-compliance/). Very important for any site since the GDPR regulations came into force. A custom plugin could have been used, but for this very specific functionality, the benefits of an actively developed, tried and tested solution, outweigh any benefit of developing a plugin from scratch. * [iThemes Security](https://wordpress.org/plugins/better-wp-security/). Security is a big issue with any WordPress site. I find this plugin provides good security in addition to any server side security measures. * [UpdraftPlus - Backup/Restore](https://wordpress.org/plugins/updraftplus/). Regular, offsite backups are another essential component to any website. UpdraftPlus handles these very well. * [WP Fastest Cache](https://wordpress.org/plugins/wp-fastest-cache/). It is always better to use server side caching such as Nginx FastCGI cashing or Varnish. However, in cases where this isn't practical, this plugin is a competent solution. * [WP Mail SMTP](https://wordpress.org/plugins/wp-mail-smtp/). It can be tricky getting mail working when using WordPress within Docker containers. This plugin provides for a simple solution. For an actual production site where Search Engine Optimisation is important I would also use a plugin to cover this. I find [The SEO Framework](https://wordpress.org/plugins/autodescription/) to be the most comprehensive, efficient plugin to achieve this. For any plugin used with WordPress, it is essential to test the speed of the site before and after adding it, especially if not used before. It is also very useful to look over the source code of any plugin. Seeing how well written this is, can be a good indicator of the likely performance of a plugin and we can see how seriously security considerations are taken. Also essential, for any WordPress site, is to limit the number of plugins used. An unnecessary amount of plugins will almost certainly slow a site down and will increases the risk of introducing vulnerabilities. ## The Summary So, in summary, there's not much to be said about the actual content of the website. It's a fairly basic, low budget, brochure site. The kind of site, that many small businesses will be looking for to give their business a presence on the web. More interesting are the justifications for the development choices made which are covered above. The primary purpose of the site is to provide information about the business. It is important that this is presented in an easy navigable fashion and the information is given in a clean, uncluttered, easy to digest manner. All of which is achieved in the design choices of the theming and layout. {{< figure src="/images/stanthams/stanthams-team.jpg" alt="" class="medium" caption="" >}}