complete draft

This commit is contained in:
ray 2020-02-16 16:01:46 +00:00
parent 92acacbba9
commit 3ca85f9d47
1 changed files with 77 additions and 32 deletions

View File

@ -4,55 +4,100 @@ date = 2020-01-20T18:55:00Z
title = "Charles Stantham Legal Services"
description = ""
slug = ""
tags = ["WordPress"]
tags = ["WordPress", "Elementor"]
categories = ["Portfolio"]
featured_image = "/images/stanthams/large-1.jpg"
externalLink = ""
series = []
+++
Charles Stantham are a firm of made up solicitors.
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.
Done a while ago.
The site is a fairly basic brochure site with no particularly special requirements.
Their [website](https://stanthams.rayelliott.dev/).
And so, for this relatively simple site I decided that a 'site-builder' and a pre-made theme would be used.
Uses [Elementor](https://elementor.com/).
Was before Gutenberg update.
## The Theme
Nothing particularly special.
Some bits of minor customisation via CSS required and so a child theme, based on [OceanWP](https://oceanwp.org/), is used.
The one chosen was [OceanWP](https://oceanwp.org/).
This uses [Elementor](https://elementor.com/) and provides a ready made, general purpose theme that can be customised for a particular use.
Reasons for choosing Elementor and OceanWP:
There were some bits of minor customisation required that were not possible through the theme's interface and so a child theme was created.
* Cuts development time considerably.
* Flexible.
* Free version can be enough for a lot of sites -- if need additional stuff can either purchase addon plugins or code manually.
* Relatively lightweight compared to other page builders.
Reasons for choosing OceanWP and Elementor:
Disadvantage is bloat required to cover many use cases, in which not many may be used.
Purpose built design elements will always be leaner and more efficient with cleaner code (if coded correctly of course).
This especially true if using very few components of the chosen parent theme / page builder.
Performance may not be so much of an issue for small sites with few users -- will become much more of an issue the bigger the site.
Can be harder to customise in ways that are not available in the interface -- e.g., CSS specificity problems.
* **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, Elementor, and therefore 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 of Elementor.
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.
Plugins used (with reasons, and what I would probably use now):
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.
## The Plugins
Apart from Elementor, I used a limited number of plugins.
* [Contact Form 7](https://wordpress.org/plugins/contact-form-7/).
* [Elementor](https://wordpress.org/plugins/elementor/).
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/).
For Google Maps integration.
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/).
* [Ocean Extra](https://wordpress.org/plugins/ocean-extra/).
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 very 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.
Always a good idea to test speed of site after adding a plugin, especially if not used before.
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.
Not much to say - a pretty basic brochure site.
The primary purpose is to allow users to discover/get more information about the firm.
Important that site is easy navigable and presents the information in a clean, uncluttered way.
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.