At time of typing, WordPress is the most popular CMS in use today. As such in the course of my work I have inherited many WordPress installations in varying states.
In this series of blog posts, i will look at best practice for inheriting legacy Wordpress projects. Whether your inheriting an installation from an outgoing developer or taking on a legacy project from a new client, this series should prove useful.
The first step in inheriting a Wordpress website is to make sure you ask the right questions in the first instance. Asking the correct questions will allow you to properly assess the current situation and help you determine if you realyl want to take the project on.
So here is the list of questions i ask whenever i inherit a Wordpress Installation...
- Are there any particular server requirements or dependencies apart from these specified in the official CMS documentation?
- What kind of server set up is the website currently on. Please give as many details as possible.
- Is this a theme from scratch or is it a theme built by a third party and extended?
- Please provide an overview of any files in the theme that do not come with the default WordPress installation. Please detail what they are and what they do.
- Is there any use of child themes? If so please provide details and usage
- Please include an overview of all registered post types and what they are being used for
- Please provide an overview of all registered sidebars and what they are being used
- Please provide an overview of all menus and what they are being used
- Please make sure functions.php is fully commented
- Are there any additional classes or helper files in use?
- Please provide an overview of what each plugin does
- Do any of these plugins require licenses? If so please provide details
- Have any of these plugins been modified by you?
- Are there any plugins that are necessary for the core functionality of the website?
- Do you have any design files / PSD’s?
- Are you using any none web safe standard fonts e.g. Typekit / google font? If so, please detail
- Please provide well formatted, unminfied versions of all code.
- It it using any frameworks?
- Is it using any task runners such as Gulp or Grunt?
- Does the website have any dependencies? If so how are you managing these?
- Is there any caching in place?
- What are the current levels of cross-browser / device compatibility?
- Is there any additional security in place other than that which comes as standard with the CMS?
- Is it using any mobile detection libraries? If so, what are you detecting and why.
- Details of anything at all that may be slightly confusing to anyone inheriting the site?
- Are then any hacks to the core WordPress installation or plugins that would be broken on upgrade.
- Have you restricted client access to the CMS in any way? Eg hiding items If so please detail
- Is there a GIT repo? If so what branches are there and what is the purpose of each branch
- How are you deploying the website?