Details of our bespoke content management system are provided below. Going forward all application development will be undertaken in Python, using the Django web framework.
Django employs the model-view-template (MVT) approach ensuring optimum site security and speed. The MVT acronym is really equivalent to the traditional MVC (model-view-controller) paradigm.
The CMS comprises an admin interface to manage the site and any number of "apps” which perform specific tasks.
The central app is called “pages” which allows you to create an unlimited number of web pages (eg About Us, Services etc) and once created, to edit and delete them. Pages can be “top level” eg Home, About Us and these parents can as many children (sub pages) as is required.
The core system also includes dynamic navigation; meaning that as pages are added these will be reflected in the main menu area on the front end of the website. A local navigation for sub pages is also produced dynamically.
All pages on the site would have “search engine friendly” urls – meaning that, even though the site is dynamic (database driven), to search engines the pages will look static – eg http://www.somedomain.com/projects/project1/. This is in contrast to many dynamic websites which will have urls such as http://www.somedomain.com?cat=5&page=3
On all pages we provide a breadcrumb as an aid to usability eg You are here: Home > Garden Furniture > Wooden Furniture, to enable users to see where they are at any point in the site.
The admin is protected by IP address as an added security measure
A dynamic XML site map (aka Google Site Map) is provided which is updated when the site map url is viewed. This is designed to assist the search engines index as many pages of the site as possible. Once submitted to Google we run a regular scheduled task to notify Google of any changes.
We have written a web service to serve all the relevant GDPR (General Data Protection Regulation) pages. This content can be customised to suit each client's requirements. Serving these documents from a central location makes it much easier to update them when adjustments are needed