Lately, I’ve been thinking about dedicating a few hours weekly to working on WordPress Core. I have many reasons to do so. Challenging myself and improving my programming and communication skills, while expanding my portfolio are some of them. But what’s that “Core” thing? And even if you know that, why should you care? You are not a charity and don’t have time to waste, right? In today’s article, I’ll show you that contributing to WordPress Core is one of the best things you can do as a web developer, plus you’ll learn how to start, especially what resources to study and who to listen to.
When meeting new developers, one of the first things they ask me is whether I use Git during a theme or a plugin development. “Yes, of course, I couldn’t imagine my life without it”. A few years ago, though, the answer would be a puzzled look followed by a feeling of inferiority and shame. Their efforts at explanation proved futile. Looking back, understanding Git is not that difficult. So here’s my very high-level explanation. Or an attempt, at least.
WordPress sites have a bad reputation of being not professional and not following programming best practices. It is a relic from the past when users had only FTP, no ssh access and a direct consequence of trying to appeal to masses. Many of these complaints are valid and when building a site bigger than a simple blog, it is wise to use something more advanced. Luckily for us, people at roots.io1 have started a project called Bedrock which aims to solve this issue.
To me, building WordPress sites and applications is mostly fun — from listening to client’s requirements to showing her the finished site. This process, though, consists of one important, but not very fun part: deployment. Using a cheap hosting solution, with no WordPress optimizations, might work for some but when you want to be sure your client won’t complain of slow site, you need to go for something like Pagely or WP Engine. But that’s expensive. A lot of clients can’t afford that. “Well”, you say, what about buying a VPS server from DigitalOcean and setting it up? In case you are an expert Linux administrator and have a few free days, it will work just fine. For the 99.9% of us, the solution is much simpler. Use EasyEngine to configure the server for you, in just one click (or key press)!
You might have noticed that I didn’t write new articles for 2-3 months, only very seldomly. It was caused by me having to finish my bachelor’s thesis and prepare for my bachelor’s state exams, which, by the way, I successfully passed (yay).
Actually, no, or, just partially. The true reason for not writing articles and helping my fellow WordPressers is that I’m fucking lazy. Yeah, I admit that.
I know I should write more. I know I should contribute to WordPress more. And I can’t say I doesn’t enjoy it when I finally get to it.
Well, luckily, I have a mind trick up my sleeve. With my best friend, we’ve agreed to sit together in a café and write articles for two hours on each Monday, Wednesday and Friday, starting from next week, till at least to the end of the summer. The only exception is holidays during which I won’t have an Internet access. Hope that won’t happen much.
Let’s do this!
When it comes to the time of choosing a server hosting provider for our WordPress site, we end up with zillion of various options, ranging from bare-bones Linux-based web server to a managed hosting with optimizations and everything. The first step is to realize our budget, abilities and needs:
- Do we have money for this server?
- Are we able to configure it to the point of seamless working?
- Do we really need all its features?
DigitalOcean.com is a relatively cheap, straightforward to configure (for small and medium-sized WordPress sites) and feature-rich server provider company. Here is a short review of my experience with using DigitalOcean and a referral link with 10$ of credit for you at the bottom of the page.
After writing a short review of LayersWP theme builder, I got contacted by Nick La of Themify.me to do a similar review of their new, free and open source theme builder Flow. I’m always excited about new technologies. Theme builders are no exception. Playing with Flow for a while, I got really enthusiastic about it. However, deep down I’m a programmer so I had to put my feelings aside and carry out an honest testing.
In this review, we’ll talk about Flow in brief, see how it works under the hood, perform a load testing to measure its performance and discuss its source code.
Flow in brief
Flow, similar to other theme builders, enables us to create and stylize post/page templates with a simple dragging and dropping of various modules on their front-ends, i.e. you take a “Text” module, write some text into it and put it under the post’s title — reload the post and see the difference. A picture is worth a thousand words (figure 1).
Figure 1: Flow intro
After weeks of hard work, WordPress Performance Optimizations thesis is finally finished! Download it here. If you find any mistakes, whether grammatical or technical, let me know, please.
I will be putting the work into a GitBook format during summer so it will be completely open source, anyone will be able to make modifications (pull requests welcome) and hopefully, it will become one of the biggest resources for all things performance in the WordPress community.
PS: some links:
WordPress-Ansible (automation used in the work) on GitHub: wordpress-ansible
The thesis on Hacker News: link
My Twitter profile: link
The most typical conversation (aside from which plugins to use) in the WordPress sphere is about the speed comparisons between various web serving software like Apache or Nginx. There are tens of articles with nice charts and big claims on the Internet: Nginx is faster than Apache. HHVM is faster than PHP-FPM and so on. The question is: can we trust them? What if the technology behaves differently on our VPS? The only way to be sure is to carry out the benchmarks ourselves. It is, however, time-consuming to install and configure the whole stack. I think I found a (partial) solution.
Having a secure web application is a top priority of any company and web developers. Lately, WordPress has been a subject of much security discussions. Several large vulnerabilities were revealed. Fortunately, they have all been fixed so if you update your site, you are safe once again. I have zero issues with WordPress security — just the opposite — I think it is rock solid. I have problems with people and companies claiming that WordPress is insecure, some of them even building their businesses on this premise. “Our custom solution is much better. Don’t use WordPress. It sucks”, they say.