At Spark Development, we develop custom WordPress themes that use the latest in engineering practices to create secure, fast, themes that meet our client’s goals. Without getting overly technical, this post will be a description of our engineering process.
The open-source WordPress content manage system (CMS) is infinitely adaptable. It can be used as a simple blogging tool, a complex CMS for promoting a business, or as a full-fledged publishing platform.
Given the infinite possibilities with WordPress, our philosophy is simplicity. We start with a base theme, created and approved by the WordPress software engineers, and build up from there. We only include the code your site needs to meet its goals, and remove anything that is unnecessary. This makes development faster, easier to debug, and more secure. Our sites are tailor-made to create simple, reliable, secure websites.
We limit the use of 3rd party plugins. Adding a plugin is akin to adding a door to your house. In most cases, the plugins we use are utilitarian in nature: backup, security, etc. and are not used on front end of the website. Only heavily vetted 3rd party plugins, such as Gravity Forms, will make the cut.
Client and User Experience
The Spark Development team creates custom displays on the front end for our clients so they can show the world the data unique to their organization. We customize the WordPress admin on the back-end so our client’s can see the connection between their data and the site.
Computer interfaces and systems are complex enough. Sites don’t need to be over-engineered with the hottest new programming fad. Keeping things simple is better for team collaboration.
We use clean, readable HTML markup in our sites. We keep clean separation between markup and PHP code in our sites. This make it easier to debug, and easier for team collaboration.
The sites we build for our clients are cross-browser compatible. We use the latest tools to allow older browsers to display our site. Spark Development sites are built to be mobile responsive, with a mobile-first philosophy so that large resources are not loaded on devices with limited bandwidth. Page layouts are built using a grid system, which gives us the advantage of quickly changing column dimensions as needed for the project.
We share and re-use code across projects, also know as Don’t Repeat Yourself (DRY) programming. This saves development time and reduces time for debugging code.
WordPress is built upon the MySQL database system which uses queries to store and retrieve data for the website. We strive to limit the number of queries to the database, and their complexity, for better performance. We also cache data, when possible, to avoid querying the database at all.
For security, we validate and sanitize all input to the database. We also escape and validate any output to the browser.
WordPress is an open-source set of software with hundreds of engineers fixing problems and security holes over the years. At this point WordPress core is solid and secure. For this reason we do not use external libraries from outside of WordPress.
Some 3rd Party APIs are very powerful and can be safely used within a site. Companies like Google, MailChimp, and PayPal provide secure interfaces for WordPress sites. We use 3rd party APIs with security and reliability foremost in our minds.
We develop sites and custom themes using version control. If problems crop up during development, we can easily roll back to a working version of the project and proceed with a fix. Our workflow allows our teams to contribute code without risk to the project. Our development systems consist of Vagrant (virtual LAMP stacks), Grunt (task runner), Git (version control), and WP-CLI (custom WordPress site building scripts).
Our WordPress sites are built with industry standard tools and practices. We do this to provide secure, fast, simple, and reliable websites for our clients and their customers.