A Newbie’s Guide to WordPress Coding Standards

The real beauty of WordPress is that it’s open-source. Because of that, you can contribute to it and make it even more awesome. Yes. You..

While there is a definite business side to open-source software, the philosophy behind it is simple: let’s make something together. If you’ve ever worked with a group of any kind, you know how hard it can be to make people check their egos at the door and play nice.

So the Powers That Be wrote up the WordPress Coding Standards, a collection of HTML, CSS, JavaScript, and PHP rules guidelines written specifically to keep the source code as clean and functional as possible.

Get it…functional? It’s a code joke.

Why Do We Need WordPress Coding Standards?

My writing style is casual, off-the-cuff, and full of puns. My wife’s is collected, professional, and concise. Yours is…something altogether different and unique, too. None of them are bad or wrong, just different.

That applies to code as well. My HTML will look different than yours, my JavaScript may make your eyes bleed, and your CSS might be life-changingly beautiful.

Despite code’s prescriptive syntax, what you and I write line-by-line will be a little different. The WordPress coding standards are there to make sure that everyone who comes after you and contributes to the code is able to not only read and understand your work, but can also seamlessly add their own to it.

What Do You Need to Know to Contribute?

The first time you look at the standards, they might seem pretty restrictive. And they kind of are. If they were more lenient, they wouldn’t do their job, and the core WP code would be a mess.

But the documentation is so comprehensive, you don’t have to remember every detail. Just look it all up as you need it, referencing each section as you parse and debug your code before your final pull request is accepted and merged.

If the term pull request is foreign to you, check out our beginner’s guide for git and Github newbies. You’ll definitely need to be familiar with git because the WordPress code lives on Github.

Examples of the WordPress Coding Standards

Each of the core languages that make up WordPress has its own standards: PHP, JavaScript, HTML, CSS. If you’re truly dedicated to the cause, you may eventually contribute something with all four of them.

If you aren’t at the point where you can feel as though you are able to contribute, that’s okay, too. Looking at and learning the gist of the coding standards now will make your life a lot easier when you are ready.

HTML Examples

Have you ever opened up a web page, checked out the source code, and then cringed at how anyone ever thought writing that code was a good idea?

Me, too.

That’s why the HTML standards are set up the way they are. Just behind the W3C standards themselves, these are the standards you should commit to your fingers’ muscle memory.

Indentation

Outside of braces, indents are one of the most contested elements of most code. The WordPress Codex says to use tabs and that you must indent your code so that open and closing flags line up. Note: This took me a long time to get used to, as I am strongly in the ‘you indent with two spaces’ camp. If you are, too, you have my sympathies.

Good:

Hello, World!

Ahoy, Divi Nation!

Goodbye, World!

Bad:

Hello, World!

Ahoy, Divi Nation!

Goodbye, World!

The same logic applies when you’re mixing PHP and HTML flags.

Quotes

Use quotes. Don’t not use quotes. Double or single is your choice, but use them at all costs. You have been warned.

Good:

Your Email Address:

Or

Your Email Address:

Bad:

Your Email Address:

So…quotes = yes. No quotes = bad.

For the rest of the HTML Coding Standards, you can go here.

CSS Examples

When it comes to CSS, most of the standards are for readability. There are a lot of classes and ids in WP. If we’re not careful, these stylesheets can turn into a real nightmare.

Structure

The WordPress coding standards say that CSS needs to have every single element on its own line, from class and id selectors to the styling and braces themselves. Additionally, you must use specific names for your elements that others can follow.

Good:


#email-div-about,
#email-div-blog {
    text-align: center;
    display:block;
    margin: auto;
}

Bad:

.awesome-emails, .amazing-something { text-align: center; display:block; margin: auto; }

or even this:

.awesome-emails,#amazing-stuff {
    text-align: center;
    display:block;
    margin: auto;
}

You can see that it the WP way of writing CSS makes each element easier to identify and style.

Properties

Just like the structure and selectors, properties need to be as concise and specific as possible. This make other users’ lives a little easier, and it also brings the overall size of the code down — and when the repo is as expansive as the WP, every bit and byte counts.

Good:


#form-submit-btn {
    display: block;
    background: #000;
    color: #fff;
    margin: 20px;
}

Bad:


#bjs-awesome-button {
    background: WHITE;
    color: #FFFFFF;
    border: 35PX;
    Margin-right: 30;
}

The second one is just ugly. And not in the awww, that dog is so ugly it’s cute kind of way.

And there are a ton more CSS standards to check out, too.

JavaScript Examples

There are a lot of important JavaScript WordPress Coding Standards. They are not that hard to remember, or really that far away from typical JS best practices, but there are enough that you should familiarize yourself with them.

Variables

What would JavaScript be without variables, you know? You can’t do much of anything without good ole var, and that’s what I want to make sure you do right. By following the official guide, you’re going to avoid weird scope issues that affect different parts of the repo than you mean to.

Good:

var b, j, k, awesome,
    // You should indent with tabs here, too!
    value = ‘Something’;

Bad:


var b = true;
var j = false; // since it’s a bad example, here’s a comment done wrong!
var k = b + j;
var awesome = true;

Comments

Okay, so maybe comments aren’t specifically a part of the JavaScript code itself, but I am a comment junkie and think that well-documented code is an art. The Core team has put together some great guidelines for commenting that make me smile.

Single Line:

function bjk();
//Be concise and explain the next line of code
$( ‘beej’ ).beAwesome();

Multiple Lines:

/*
 * Make sure that you keep the asterisks
 * lined up when you put comments on
 * multiple lines. Like this!
 */

Inline:

These will only be used to annotate parameter lists.

Function bjk( param1, param2, param7 /* explain why I skipped params 3 to 6 */, param 8 ) {
    // fantastic code goes here
}

Now you can annotate with the best of them.

And while you’re at it, you should probably read through the entire slate of WordPress coding standards for JavaScript.

PHP Examples

WordPress is PHP software. Devs and contributors are adding bunches of JavaScript in there these days, but it’s still predominantly PHP.

PHP Tags

Opening and closing PHP tags should be on their own lines (again, for readability), and you should never, ever, ever shorthand them. Ever.

Good:

Or

Bad PHP:


Naming Conventions:

PHP can do so much. So much. But it’s also kind of a mess. It was because of PHP that I first discovered the term spaghetti code, and if you follow the WordPress coding standards, maybe you can help clean things up by naming things the right way.

  • functions are in snake case: function_name
  • Classes are in snake case, but with capital letters: Class_Name
  • Unless the class is an acronym, then it’s all-caps snake case: WP_JS
  • Constants are also in all-caps, snake case: CONSTANT_NAME
  • files are written in all lowercase with hyphens: wp-config.php
  • functions are in snake case: function_name

Those are the simplest standards you’ll need to learn to contribute to the WordPress PHP codebase. The others are, once again, found in the codex.

How Can You Contribute?

Once you’re familiar (enough) with the baseline standards, you may want to read up on how to actually get into the contributor community.

Probably the best is make.wordpress.org because that’s where they (wait for it…) make WordPress.

Everything from documentation, core, support, to design, to all the coding languages have regularly scheduled Slack meetings you can jump into freely and immediately.

Additionally, there are WordCamp contributor days and panels. At WordCamp US 2017, after the main part of the conference, folks gathered for sessions that were specifically put together for people to contribute. Other camps will have similar offerings. If you’re interested in getting involved, I strongly suggest talking to and meeting some of the people who are already contribute.

Between forums, Slack, contributor days, and the unbelievable amount of documentation available in the WP Codex, you should have no trouble making sure that your code can win the Prettiest WordPress Code Award.

So get out there, codejunkie! And remember, we say code is poetry for a reason.

PS: we need real award like that to give out — a trophy or sash and tiara or something to give away at the national WordCamps for prettiest code contribution that year. Let’s make this happen, people!

Article thumbnail by Maksim M / shutterstock.com

The post A Newbie’s Guide to WordPress Coding Standards appeared first on Elegant Themes Blog.

Powered by WPeMatico

Solidifying Systems and Processes for Your Divi Web Design Business

Welcome to part 2 of 5 in our series Scaling Your Divi Web Design Business where we’re exploring proven tactics and actionable strategies geared towards helping you grow your Divi based web design business.


When you’ve prepared your mindset and you’ve solidified your strengths and weaknesses, it’s time to take the first step towards scaling your business. And that is to solidify your systems and processes. If these aren’t organized, templatized and ready for scale, adding other people into the mix will likely result in a chaotic and perhaps a very costly experience.

In the previous post, we explored how preparing your mindset will enable you to step into the role of the leader or the most important roles that you NEED to focus on. We glanced over preparing systems and processes and will now dive into those areas in more detail before you start building a team to fill in those roles.

A quick note: While I’ll provide plenty of links to resources and tools mentioned, this post will act as more of a guide for the main areas of importance for systems and processes. Without adding more suspense, let’s get to it!

Solidifying Systems and Processes for Your Divi Web Design Business

Proposals, checklists, processes, contracts, documents, templates oh my. There are so many pieces to the successful web design business puzzle that it’s hard to know where to start when it comes to organizing your business. But after interviewing 9 Divi professionals, I came to the conclusion that there are 4 main areas to focus on to be prepared to scale.

1) Internal Systems

By internal systems, I’m referencing tools and platforms that will most likely be seen by you and your team. These include but are not be limited to:

Administrative – Picking a platform that you’ll use to help you manage your numbers, contacts, documents, etc is crucial to your success. I’ve used 17hats for several years now and would highly recommend that as a way to keep as many things under one roof. I could list a slew of others but FreshBooks, Quickbooks and Wave are other popular choices in the web design realm. More details and options found in this DiviChat episode if you’d like to look into it further.

Task Manager – Having a centralized place to create, see and check off tasks will be incredibly useful if you’re going to oversee a team and hit deadlines. By far, the most popular and most recommended task manager is Trello and while task management strategies can also blend in with project management platforms, I found that many business owners choose to separate the two.

Project Manager – I remember in the early days of my web design career when projects were zooming around in my head and on scattered post-it notes and pieces of paper. The day I started using a project management platform and visually seeing my projects was a game-changer. Basecamp (more particularly Basecamp2) is what I’ve used for over 4 years now to great effect but others in the interview series also utilize Asana and a more recent option Monday.com. There are a variety of tools and strategies I recommend checking out in these episodes/posts of DiviChat.

Internal Communication – I probably don’t need to explain why you want a centralized place for your team to communicate but just incase you’re new to the game; getting notifications, pings and dings from email, social media messengers, texts and other outlets can very likely lead to insanity. It’s highly recommended, whether in place of or along side your task/project management, to have a centralized means of team communication. Slack is by far the most popular solution. Virtually everyone I interviewed is using slack to keep their “biz talk” centralized between all team members.

Password Sharing – If you manage all of your passwords locally on one machine, you will very likely play middle man when other team members start coming on board. To avoid that, having a password manager where you can assign privileges, limited and allow access will help. A few recommended by the interviewees were LastPass and 1Password.

File Sharing – This comes into play when collecting files and content from clients but you’ll also want to be intentional about internal file sharing as well. Popular solutions (outside of your task and project managers) include DropBox, Google Drive and WeTransfer among many others out there now.

2) External Systems

External systems will be seen and interacted with by your clients as well your team. These include but are not limited to:

Questionnaires – In a previous post, we talked about creating questionnaires for your leads and new clients to gather as much information up front as possible before taking the next steps. Whether you choose to create questionnaires in your website or through your administrative platform, it’s important to solidify how you want to gather initial input from your clients.

Proposals – While it’s beneficial to link your proposals in with your administrative platform, many in the design arena still choose to go a more creative route by creating PDFs. I did this for years until recently when I combined my proposals into 17hats to give the client the option to view the proposal, sign the contract and pay the first invoice all in one swift experience. If I can offer any advice when it comes to proposals, I recommend having as many repeated elements such as website package deliverables, outline details and processes saved as templates to spare you from having to retype the same text over and over again when preparing quotes. I know a guy who did this far too often for many years 😉

Invoicing – This will likely tie in to whatever system you choose as your administrative platform but if not, you can often invoice via online payment platforms like Stripe or even request check payments by a good ole PDF if you’re not accepting online payments yet.

Contracts – These are important from the get go as a one man shop but they’re even more important when you have a team of people to pay. You need to make sure you protect yourself and ensure that payments come in on time and are paid in full. Contracts don’t have to be 10 page legal documents and there isn’t a right or wrong way to prepare a contract. In short, I recommend that it just covers the deliverables on your end, what’s expected of you before, during and after a project is complete and what’s expected from the client.

Content Gathering – Finally, along with your internal method of file sharing, you need to make sure you have a solidified and recommended place to gather files, images and website content from your clients. This will likely be one of the file transfer options mentioned above or your project management platform but there are other options as well now like ContentSnare that are catered to getting web design content.

3) Internal Processes

Internal processes include repeated tasks, design, development and any processes that only you and your team will take on. These include but are not limited to:

Project Strategy – This process would identifying the main goals of the project, figuring out your clients key demographics, call-to-actions and other primary needs that needs that should be solidified before diving into design and development.

Design – Are you creating wireframes and digital mock ups? Do you sketch things out on paper? Do you research example designs for inspiration then dive right into Divi to design? Do you utilize library layouts, child themes or other prebuilt starting points?

We all design differently so this must be a formalized process that someone can pick up quickly or model after if you’re going to be able to scale and hire it out.

Development – Luckily, Divi makes it easy for designers at any level to add custom CSS, plugins, integrations and other advanced functionality but this all must be a process as well before getting more hands on deck. You don’t want a developer coding things out if the design isn’t solidified first.

SEO and Webmaster Services – Creating a solid SEO foundation should often start in the project strategy phase but I highly recommend making this a standardized process as well in your internal processes.

Practically, that process might look like:

  • Keyword research for industry and area
  • Overview of current rankings
  • Top 10 terms researched
  • On-site title and meta data
  • Site submitted to Google Webmaster services after launch
  • Sitemap pages and posts submitted

See this DiviChat SEO post for a great guide to help you out with SEO.

Internal Checklists – I have a client facing checklist with deliverables (seen in our previous post) but often, you’ll want to have a more detailed team checklist for projects from beginning to end.

4) External Processes

Finally, external processes are similar to the ones mentioned above but they will include include anything that will be seen or interacted with by your clientele. These include but are not limited to:

Sales & Weeding Out Process – As a solo freelance web designer, it’s very common to get leads through your contact form or email and either request more information or talk to a lead via phone to determine whether they’d be worth pursuing as a client. But if you’re to manage a team, this process must be formalized in more detail.

I recommend creating email templates or as Geno mentions in interview #7, internal pages on your site that walk you through certain sales processes and tactics to better empower a growing team with how YOU want to guide leads. One practical option here as well is to create a “client weed out page” with your design process, pricing estimate ranges and other basic info to weed out the tire kickers looking for the cheapest deal.

On Boarding Process – Similarly to the design/development checklist idea above, I recommend having a formalized process for clients when they want to get started. In our previous post, I wrote about how creating a Getting Started page was a game-changer for me in the on boarding process.

Getting Content – Unless you educate your client on how to send their content, you’ll likely get it sporadically through emails, random file exchangers or worse…texts or Facebook messages. Formalizing your process on HOW and WHERE you want your clients to send you content will be key. Again, this is the client facing information that the client needs to know about and is often a process as well as a system.

Revisions and Edits – It’s important to create and inform your clients of your process for revisions and edits. If you don’t let them know how, when and where to give you feedback, you’ll get it from them on their terms which is more than likely, from experience, going to be in sporadic thoughts between emails, texts and other messengers at all hours of the day.

Post launch – It’s important not to overlook a standardized process once a site goes live. I wrote previously about creating a Moving Forward page with recommendations for your clients on what to do next when their site launches but I also want to encourage you to use this as an opportunity to sell more of your services.

If a client had a great design experience with you, they’ll likely be much more apt to take part in more of your services, whether SEO, digital marketing, graphic design or any additional services you offer. Make sure this information is organized nicely in a page on your site or an email template and make it a process that your growing team can use!

Client training and education – Finally, the last process in a successful web design experience (on both sides) is to make sure the client is empowered and educated on the basics if they’re editing the site. I recently revamped my client resources page with personalized tutorial videos (by me) on the basics of WordPress, Divi and the main tools we use.

Perhaps you can consider having a page like this for your clients that they can reference to save you time and educate them. Please refer back to our custom dashboard post as well for ideas on creating a custom dashboard for your clients.


Now there are plenty other systems and process we could add here but this is a good overview of the primary systems and processes that should be solidified if you’re to scale effectively. Again, since each one of these mentioned could be a post in itself, this is more of a guide to help you check off all the main areas you need to solidify before scaling.

Wrapping Up

To wrap up, I don’t want to leave you with all these ideas without giving you some practical ways of systematizing all of this. Here are 5 practical ways to help you with all of the items mentioned above:

  1. Video Tutorials – Consider creating internal videos with a screen capture program like Screenflow or Camtasia for team members and clients to be able to watch instead of having to talk with you directly numerous times.
  2. Email Templates – My new rule of thumb is that any time I repeat myself in an email, with clients or team members, I save it as a template. You can always personalize it as well but having the “meat and potatoes” of repeated emails saved will save you a surprising amount of time moving forward.
  3. Internal Pages – While I mentioned above creating process pages for clients, the same concept can be used for team members. Consider creating internal or hidden pages on your site for training, processes, hiring details and more for your team to be able to refer back to instead of having them reach out to you over and over and over again.
  4. Platform Templates – Be sure to save your proposals, invoices, contracts and other detailed documents as templates either on file or in your administrative programs of choice. It’s easy to overlook but doing this in any area possible will greatly benefit you moving forward 🙂
  5. Divi Library Items and Child Themes – One of my personal favorite aspects of Divi is the ability to save layouts, designs and sections as library items for use on other sites. If you’re growing a team, one way to cut down on the initial design/dev time is to utilize your saved layouts, using child themes or any of the recent Divi layout kits found on the ET blog.

Well we’ve covered a lot of ideas and information in this post but I hope it’s been an encouraging place to start when it comes to getting your business ready to scale! Again, if these things aren’t thought out before you start to add team members, things are going to get complicated and time consuming very quickly.

Do you have any other ideas on systems or process when it comes to scaling your business? Feel free to share below!

Part 3 – Finding and Hiring Your Divi Web Design Dream Team

In the next post, we’ll explore how to effectively find and hire your web design dream team with methods taken directly from the folks I interviewed. Many of whom are managing teams up to 20-30 employees local and abroad. Till then!

The post Solidifying Systems and Processes for Your Divi Web Design Business appeared first on Elegant Themes Blog.

Powered by WPeMatico

5 Ways to Check If Your Theme Is Secure to Use

One of the most important choices you’ll make during your WordPress career is which theme to use for your website. Not all themes are equal though, and some are safer than others. Choosing the wrong theme can leave your site vulnerable security-wise, so it’s essential you don’t base your decision on looks alone.

WordPress theme security can be hard to gauge at first unless you know what to look for. In this article, we’ll teach you five ways to spot a safe theme without you having to peek under the hood and see through its code. Let’s get to it!

Why WordPress Theme Security Matters

WordPress’ popularity makes it one of the best platforms you can use to create a website. It’s easy to use, and it offers a lot of customization options through plugins and themes. The problem is, that same popularity also makes it a target for attackers who prey on vulnerabilities on both the platform and its extensions. Themes can also be vulnerable to attack in several ways:

  • Outdated WordPress themes often come with vulnerabilities. If your theme hasn’t been updated for over six months, it may be abandoned, and attackers are more likely to find security holes they can exploit.
  • Old themes can cause compatibility issues. Even if an outdated theme is safe to use, it might cause issues with other plugins or WordPress itself, which can also lead to security problems.
  • Pirated WordPress themes can be infected with malware. Some people download pirated versions of premium WordPress themes to save money, which often ends up with an infected website.

The good news is you can avoid unreputable themes for the most part by downloading yours from reputable sources only. We’ll talk more about some of the best places to look for themes in a minute. For now, let’s talk about how you can spot the safest options.

5 Ways to Check If Your WordPress Theme Is Safe

Figuring out which themes are safe to use is mostly a matter of common sense. There are several red flags you should be on the lookout for and if you know what they are, spotting winning options isn’t complicated. Let’s take it from the top.

1. It Receives Constant Updates

As we mentioned earlier, regular updates are the number-one indicator of a safe theme. If the team behind a theme is active when it comes to updates, chances are they aren’t just working on adding new features but also patching bugs and vulnerabilities.

Most theme repositories enable you to keep up with development updates. If you check out a theme on WordPress.org, for example, you can see the last time it was updated right below its version number:

The last time a theme was updated.

For even more information, you can scroll down a bit further and click on the Development Log button under Browse the Code. On the next screen, you’ll see a list of every update to the theme throughout its history:

A list of the latest updates for a theme.

If you click on the latest number under the Rev column, you’ll see a list of folders representing each version of the theme:

Individual directories for the latest versions of a theme.

From this screen, you can open the directory for any version of the theme and look for its changelog file within. You can open the file right from your browser, which will enable you to see a thorough breakdown of the changes from one version to another:

An example of a theme changelog file.

Sadly, not every theme on WordPress.org includes full changelog files, but they’re common enough for most popular options. Likewise, premium theme repositories also make a habit of letting you know when themes were updated last and what changes there are for each version. For example, we usually publish in-depth articles each time we launch a new version of Divi, or just plain old updates if there’s enough new content for us to discuss:

The Elegant Themes' blog, showcasing theme updates.

If you’re a regular reader of our blog, chances are you’ve seen at least one of those update announcements. In case you haven’t, you can sign up for our newsletter so we can keep you informed about theme updates.

2. There Is Direct Support From the Developers

It doesn’t matter how many amazing features a theme offers if there’s no way for you to get in touch with the developers when you need support. Thorough documentation often does the trick when it comes to solving problems, but it’s not the same as being able to ask a human being for help with specific issues.

Sure, popular themes often have such large enough communities that other users may be able to help you, but even they may not be enough. Finally, if you have zero ways to reach someone who works on the theme, it means they might not care about user bug reports, which is a huge red flag.

On WordPress.org, there’s a section called Support below each theme’s reviews. If you click the View Support Forum, you’ll find a section where you can ask questions and wait for answers by the themes’ developers:

An example of a theme's support forum.

When a question is solved, you’ll see a green checkmark next to it. The more checkmarks and replies you see in the forum, the better the odds you’re using a theme with developers who are happy to provide support. When it comes to premium repositories, you should also be able to find dedicated support sections for any themes you look into. For example, ThemeForest shows a Support tab right below the theme’s title. Within, you’ll find information on how to contact the theme’s developers and get help:

An example of a ThemeForest theme's Support tab.

Finally, when it comes to Divi, you can open a support ticket at any time from your account dashboard, and we’ll get back to you as soon as possible:

Elegant Themes' support page.

Support is available for licensed users, and there are dedicated sections for each of our products. There’s also a support forum, where you can get answers from the entire Divi community!

3. You Can Find Clear Information About Who’s Working On the Theme

Transparency is one of the things that sets successful WordPress themes apart. When you know who’s working on a theme’s development, chances are you’ll come to trust them over time and maybe even check out some of their other WordPress projects.

In most cases, it’s easy enough to find out the basics about a theme’s developer(s). When you’re using WordPress.org, for example, you can see who built a theme right next to its name at the top of the screen:

An example of a theme page, displaying its author's username.

If you click on their user, you’ll see a list of all the projects they’ve created:

Checking out all of an author's themes on WordPress.org.

However, this often isn’t enough information. We recommend looking for a website, where the developers include further information, such as team members, a business address, and more. It’s not a matter of stalking your favorite theme’s developers – instead, it’s all about accountability. If you’re using a theme created by a team with a legitimate business, chances are they’ll be more proactive when it comes to developing their products and supporting them. Elegant Themes is a great example of that business model (in our humble opinion!).

A selection of the Elegant Themes team.

Many of the people behind Divi are regular contributors to the Elegant Themes blog, so chances are you already know a few of them. However, you can always check out the full list of the company’s members within our About Us page.

4. The Theme’s Website Showcases Unbiased Reviews

These days, finding reputable online products (including WordPress themes) isn’t hard if you take the time to read through reviews. Most reputable theme repositories showcase unbiased, detailed reviews, from genuine users.

For example, on WordPress.org they’re under the Ratings section to the right of the screen. There, you’ll find the theme’s average score, which ranges from one to five:

An example of a theme's ratings section.

In our experience, most themes below a four-star average aren’t worth your time. However, it pays to read any one, two, or three-star reviews your theme might have regardless of its overall score, so you can check out if users are dealing with common errors or anything else to scare you away. To get to these reviews, just click on the links next to the ratings:

Checking out individual theme reviews on WordPress.org.

On the next screen, you’ll find a list of all available reviews for each star rating, and you can click on any of them to read a full version. When it comes to premium repositories, such as ThemeForest, you should also be able to find an average rating and read individual user reviews:

An example of a ThemeForest ratings section.

Finally, themes with their own home pages could be trickier due to the developer being able to ‘finesse’ the content towards their own narrative. In our opinion, you’ll either need to carry out some deeper searches (which should bring up some independent reviews), and take all of the other factors into account before making a decision.

You may also find some developers provider deeper insight into their customer base, such as with our own customer spotlights:

The Elegant Themes blog contains a selection of spotlights on our customers.

These aren’t paid or sponsored, they’re genuinely happy customers who want to help us spread the word about Divi. In short, a trustworthy developer in all other areas with a vested interest in happy customers is likely going to deliver the goods, rather than hoodwink you into opening your wallet.

5. It’s Popular With Plenty of Users

The wisdom of crowds isn’t something you can always rely on. However, users tend to do a great job of making secure and powerful themes popular within the WordPress ecosystem. In most cases, unsafe or mediocre themes never make it too far, whereas great ones spread around fast.

Of course, the size of a theme’s user base is something you should only take into consideration if you’re impressed with the other criteria we’ve mentioned so far. To see how many people are using a specific theme, you can visit its WordPress.org page and look at the Active Installs section under its Download button:

Checking out a theme's active installations.

Generally speaking, any theme with over 10,000 simultaneous installations tends to be pretty good. After all, users often don’t stick around for long if a theme doesn’t meet their requirements. Sadly, premium repositories often don’t include information about active installs. Instead, they just show you how many sales a theme has, which doesn’t tell you the full story:

Checking out the overall sales for a ThemeForest theme.

What’s more, less reputable independent developers will forgo information such as how many people use their products. Every Elegant Themes page includes those numbers, so you know you’re in good hands:

Divi's social proof marker on the website.

Overall, popular themes are that for a good reason. Usually, there are multiple factors, but hard numbers offer a good base from which to research a developer further.

Where to Find Secure WordPress Themes

Generally speaking, the safest place to find new themes is in the WordPress.org repository, due to the theme approval process. However, they don’t include premium options, so chances are you’ll need to look through marketplaces such as ThemeForest. They are the most popular premium theme repository online, and their themes tend to be safe.

Finally, you’ll also find plenty of theme shops that offer only their own products, such as Elegant Themes:

The Elegant Themes pricing page.

For these, you’ll want to take all of the tips mentioned in this piece and ruthlessly apply them. In our case, we’ve gone through several security audits from Sucuri, and passed with flying colors each time. Good developers will often display their successes proudly, making your choice much easier.

Conclusion

Most WordPress themes with sizable user bases are safe enough. However, if you’re going to pay for a premium option, you should aim for only the best. Our own Divi is a great option for most types of websites, and it’s gone through extensive security audits to ensure it’s safe for you to use.

In any case, here are five ways you can spot a safe WordPress theme quickly:

  1. It receives constant updates.
  2. You can get direct support from its developers within a reasonable timeframe.
  3. Information about who’s working on the theme is freely available and easy to find.
  4. It has excellent reviews with high average scores.
  5. It has a sizable install base.

What do you think is the most important criteria when it comes to choosing a safe WordPress theme? Share your thoughts with us in the comments section below!

Article thumbnail image by Anton Chuvstvin / shutterstock.com

The post 5 Ways to Check If Your Theme Is Secure to Use appeared first on Elegant Themes Blog.

Powered by WPeMatico

Preparing to Grow Your Divi Web Design Business

Welcome to part 1 of 5 in our series Scaling Your Divi Web Design Business where we’re exploring proven tactics and actionable strategies that will help you grow your Divi based web design business.


For many freelance web designers, there comes a point where you need to thinking about scaling your business. This could come intentionally or unintentionally and it can be very overwhelming. The good news is, there’s help.

This series will provide you with actionable and practical strategies on how to scale your web design business no matter if you’re just wanting to grow slowly from a one man shop or if you’re wanting to quickly build a full fledged web agency with a big team. And the best part is, this series isn’t based off of theory or some dated academic program, it’s a culmination of experience from several established Divi Web Design business owners who are currently in the thick of it.

Before we dive in, here’s an overview of the full series:

  • Part 1 – Preparing to Grow your Divi Web Design Business
  • Part 2 – Solidifying Systems and Processes for your Divi Web Design Business
  • Part 3 – Finding and Hiring Your Divi Web Design Dream Team
  • Part 4 – Effectively Growing and Managing Your Divi Web Design Team
  • Part 5 – Organizing the “Client Side” of your Divi Web Design Business

Some things to note:

  • While many of the strategies and ideas presented in this series are intentionally catered to Divi Web Design, there’s room for implementation by any sort of web design business as well as those running a Divi based product business.
  • Keep in mind that these recommendations are not a matter of “right or wrong.” These are methods, tactics and strategies that have worked for others and are open for interpretation depending on your desires or situation. They can be applied no matter how big or small your business is or how big you’d like it to be.
  • Perhaps most importantly, this series isn’t just based on my experience, methods or ideas; it’s based off of several established Divi community members who have successful growing Divi web design businesses.

In preparing and researching for this series, I interviewed 9 active Divi community members ranging from folks who are a “one man shop” just starting their scaling journey all the way to more established businesses with teams of 20-30 employees. Throughout the series, you’ll see references and quotes from the interviews. But there’s more. I didn’t want to take the chance of overlooking any ideas, tactics or expertise during my interviews, so I recorded every chat for you to refer back to at your convenience! They are as follows:

Interview 1 with Tim Strifler of TimStrifler.com and Divi Life


Interview 2 with Kathy Kroll Romana of Viva Design Studio


Interview 3 with Andrew Tuzson of Evol Empire Creative


Interview 4 with Tammy Grant of Sunflower Creatives


Interview 5 with David Blackmon of Aspen Grove Studios and Divi Space


Interview 6 with John Wooten of Artillery Media and Superfly


Interview 7 with Geno Quiroz of Monterey Premier and Quiroz.co


Interview 8 with Daniel Dye of Gruffy Goat and Superfly


Interview 9 with Sarah Oates of Endure Web Studios


I asked many of the same questions to all interviewees and while I received many similar responses, I also got many varied answers based off of their own experience with scaling their businesses.

Some of the questions were as follows:

  • Why did you scale your business?
  • How did you know when you were ready to scale?
  • Did you have money saved up or account for the extra cost in to be able to scale?
  • How do you centralize communication with your team?
  • What tools do you use for project management, calendars, due dates, etc?
  • What are some of the struggles you’ve experienced with scaling your business?

With the variety of answers I received, it affirms what I stated above in saying that there is truly no “right or wrong” way to scale a web design business. It all depends on where you’re at in your endeavor and your situation.

So now that we’re prepared to prepare, let’s dive in!

Preparing to Grow Your Divi Web Design Business

To start, let’s answer the big question; Why would you want to scale your Divi Web Design Business? Across all of my interviews I learned that there are, among others, 3 common reasons:

  1. You’re overloaded and can’t keep up with your workload – In the world of freelance web design, if you do good work, do it on time and provide great communication, you’ll likely end up in this situation before long. I imagine many of you can relate if you have found yourself with more work to do than there are hours in the day to get it done. If this is you, then it might be time to start thinking about scaling.

    This is one of the most common challenges for successful web designers. It’s a great challenge to have, don’t get me wrong, but nonetheless it is a challenge. Unless you start charging significantly more and begin saying no to most new business, you’ll likely not be able to continue doing it all on your own. And if you’re not prepared to scale, you’ll quickly get behind on your projects, not meet your deadlines and run into a potential slew of other issues that will arise.

    Kathy puts it very wisely in interview #2 by saying “If you find yourself working more than you are living, then it’s time to scale.”

  2. You want to have the freedom to do what you do best – I’ve found that there are two kinds of people in business; those who prefer to do everything themselves (like me) or those who very quickly delegate what they don’t want to do or what they’re not good at.

    If you’re like me, you probably wear all the hats in your business and for the most part, enjoy taking on all of the roles. But you (like me) probably realized that for all the strengths you have, there are an equal amount of weaknesses. Scaling your business is a great way to free you up to do the work you’re either good at or love to do.

    As Andrew Tuzson points out in interview #3, “You’re only going to be as good as the people you surround yourself with.”

  3. You want to provide work and opportunities for others – Another common reason you may want to scale is to provide opportunities for others. Recently, I’ve often felt that it’s almost selfish of me to take on work that I could be contracting out. I could be giving others the experience that I wish I could’ve had perhaps 5 or 6 years ago as an aspiring web designer.

    And I must admit, your mindset will change in an incredible way when the purpose of your business is greater than just yourself. Having intentions of giving others opportunities and being transparent about that with your clients can bring a whole new level of satisfaction to your work. It’s also a great way to combat the loneliness that often comes in the life of a solo web designer! While we’re lucky to have the incredible Divi community to interact with, actually collaborating with other designers and developers can increase the feeling of being in community even more.


So now that we’ve covered a few reason why you might want to scale, let’s explore 3 important pieces in preparing to grow your Divi web design business.

1) Preparing Your Mindset

Effectively scaling any business starts with your mindset. When you’re a freelance web designer, you’re juggling the roles of multiple people which can lead to multiple mindsets.

These roles may include but are not limited to:

  • The CEO/President/Owner
  • Web Designer
  • Graphic Designer
  • Project Manager
  • Sales
  • Support
  • Human Resources
  • Administrative
  • And yes, even janitor. (If you’re cleaning your home office) 🙂

When you’re juggling all these hats, it’s easy to lose sight of where you SHOULD be and where your true strengths lie. As mentioned above, you may be similar to me in that you’re comfortable in wearing all the hats and that mindset, while very beneficial as a one man shop/solo freelance web designer, must be changed if you’re going to effectively scale your business. It would behove you to realistically self evaluate yourself and find out your strengths and weaknesses. One resource I’ve used in the past and would recommend is StrengthsFinder 2.0 to find your strengths and weaknesses. You might also consider taking a DISC Personality Test to find out what personality types you have in order to effectively lead and work with others.

Perhaps the most important lesson I’ve learned in this area recently is to think of yourself as the CEO/president/owner (or whatever term you’d like to use) first. During the gradual growth of my business since 2010, I’ve always viewed myself as a web designer first, then a graphic designer, then the owner and other roles to follow. Since I’ve begun my quest to scale, my mindset is now as the owner & leader first, then web designer, salesman, etc. The reason this is so crucial is because in order to scale, you have to be the leader unless you’re in a partnership with someone who wants to take that role. But if you’re a solo web designer, more than likely you’re the leader and the “captain of the ship” per say.

From a business financial standpoint, this is even more critical. Case in point, I’ve seen good growth in my business for several years but I’ve always wondered…”Why don’t we have more in the account??” Among other reasons, it’s because I’ve created essentially a solid full time web design job but I haven’t put the systems in place to dedicate more time in the other roles to take the business to the next level. Profit margins, baseline costs and other terms of the like tend to get a bad rap in the freelance world but are important to consider if you’re going to scale. The main reason this is important is because once you have enough revenue coming in to hire out, you need to make sure there’s enough profit margin to sustain you as the CEO.

One practical way to do this is to create an Org Chart (Organizational Chart) with all the main roles in your business. In the case of most freelancers, your picture will be in every role. As you begin to scale, your goal is to fill in those positions with more pictures i.e. – your growing team.

Here’s a look at my current org chart.

Org chart for In Transit Studios | Jan 2018

These are, among others, the main positions in my business. While I have some team members assisting me in some areas, I’m still actively involved in every role. The goal is to fill up those positions with other pictures, either subcontractors, part-time or full-time team members, in order to free yourself to do either what you do best or to do the work you love most. Again, it all starts with your mindset!

2) Preparing Your Process

As Tammy Grant points out in interview #4, “If you’re going to scale, it’s important to get things out of your head and on paper or on file.”

I’m guessing I’m not alone in saying that the majority of my processes are in my head. Am I wrong? We all have our own way of laying out designs and building out sites. If you’re already ahead of the game and have a design/development checklist written out or on file then that’s a great start. Most web designers struggle to scale because their process isn’t laid out in detail. And if you’re a creative type that feels like a process or system will hinder true art, then it’s likely that you’re not the one managing clients, dev schedules and deadlines 🙂

Across all my interviews, I learned that if you’re going to scale, your process MUST be something that is written out in detail and is something that can be replicated. As a practical example, I’m self-admittedly bad at quickly sketching out my initial design ideas like a 3rd grader then diving straight into design with Divi.

Here’s a recent example of one of my initial sketches to the final design.

Exampel of intial sketch for a project completed in Dec 2017.

I tend to like diving right into Divi when designing sites but the only reason this has worked out for me is because to this point, I have been designing on my own. My initial sketch just got the ball rolling for the layout that my trained web designer mind was able to see. But, this is not going to work as I scale my business 🙂 I can’t expect a designer at any level to look at that sketch and come up with this final design.

So it’s important to get your design and development process written out in detail. Even if you’re still a one man shop, you’d be surprised how getting things out of your head and on paper or on file will dramatically help free your mind up. We’ll dive more into practical ways of doing this in the next post.

3) Preparing Your Systems

Finally, and similarly to preparing your process, is to prepare your systems. By systems, I’m referencing proposals, invoices, contacts, internal team and client task managers, project managers, etc. All of these systems are at play the moment you start designing websites. If all of these things are disorganized and scattered, scaling will prove very complicated and costly from a financial and time-wasting standpoint.

I get it, the term “Systematizing” might make you shudder but if you look past the corporate facade that has tarnished the term, it’s actually incredibly freeing. In short, systematizing is all about freeing you up to do what you love to do. More on this in the next post as well.


Closing Thoughts

Well I hope this first post has inspired you for what’s to come! Again, I intentionally began the series with this concept of mindset because in order to effectively scale any business, it all starts in the mind of the person who’s running the show. And if you’re a solo freelancer who owns his/hers own business and wants to go to the next level, that’s you!

Do you any initial thoughts or experience on preparing to scale a web business? If you have any feedback on this first post, feel free to share in the comments below!

Part 2 – Solidifying Systems and Processes for your Divi Web Design Business

Join us for part 2 as we’ll be diving further into how to solidify your systems and processes in order to effectively scale your Divi Web Design Business. Till then!

The post Preparing to Grow Your Divi Web Design Business appeared first on Elegant Themes Blog.

Powered by WPeMatico

Shared Hosting vs. Virtual Private Servers: A Performance Comparison

Most people will tell you a Virtual Private Server (VPS) is a vastly superior option to shared hosting in almost every case. While this tends to be broadly true, it’s difficult to measure how significant the difference in performance can be. Without that information, you can’t determine if using a VPS is cost-effective.

Fortunately, numbers don’t lie. In this article, we’re going to test one of our favorite providers that offers both shared and VPS hosting. We’ll compare the performance of both types of plans using a thorough set of tests. By the end of the piece, you’ll have a better idea of the difference between shared hosting and a VPS. Let’s put our lab coats on!

A Brief Introduction to Shared Hosting and Virtual Private Servers

Shared hosting offers the most basic of services when it comes to publishing websites. In essence, you share a server with multiple other users, which enables your provider to keep costs down and pass those savings on to you.

These days, you can find plenty of robust shared hosting plans at around or below the $5 per month mark, and from a cost perspective, they’re an excellent option. However, sharing a server limits your website’s performance when traffic levels rise. Later on, we’ll show you a test that illustrates this problem, but for now, let’s move on to VPSs.

Like shared hosting, a VPS also makes you share hardware with other customers. The difference is, each website runs on a virtual computer unique to you, meaning your site gets a dedicated amount of resources. In other words, you get the benefits of a dedicated server while still sharing hardware, which translates to more reasonable costs.

More importantly, a lot of reputable web hosts enable you to scale your VPS as needed. This is a fancy way of saying they can allocate more resources to your computer (at a cost), enabling your website to handle more traffic without having to upgrade to an expensive dedicated server.

On paper, a VPS is the better choice. However, VPS prices vary greatly depending on the resources you choose to allocate to your server. For example, you can easily find a cheap yet robust VPS starting at $5 per month. However, it’s also common to see plans starting at around the $20 per month mark, such as those offered by Bluehost and HostGator. If you’re not sure what your website’s requirements are, you might end up overpaying for a plan with more resources than you need.

How to Measure Performance For a Quality Shared Host and a VPS

There are a lot of factors that go into evaluating a web hosting provider. For example, some services offer better support than others, while another may shine thanks to competitive pricing.

For this article, our primary concern lies with performance. What we’re going to do is evaluate the difference in performance using a single host and test both its shared hosting and VPS plans, using the starter tier for both.

To that end, we’re going to set up a test Divi page on both plans. Then we’ll test how long the page takes to load on average, using servers from different regions through the Pingdom Tools service:

The Pingdom Tools homepage.

However, loading times alone don’t paint the entire picture when it comes to performance. After all, a well-optimized website might load just as fast from a shared hosting plan as from a VPS. Given this, we’ll also check out how both plans fare under a bit of stress. To do so, we’re going to use the Load Impact service to check out how both websites perform with up to 50 concurrent visitors over a period of five minutes:

The Load Impact homepage.

This service adds virtual users one at a time until it gets to the cap you set for your test. Then it provides us with loading time information every step of the way, which tells us how our plans fare under duress.

Keep in mind – our tests will be thorough, but we’re only using a single web host and performance may vary with other providers. Given this, we looked around for a web host with a reputation for top-notch performance at accessible costs, instead of using a high-end service. Let’s talk about them before we dive into the test results.

An Introduction to A2 Hosting

The A2 Hosting homepage.

A2 Hosting is a provider that’s made a name for itself based on its low prices and above-average performance. In fact, it offers the fastest average loading times among other thirty hosting providers, according to Hosting Facts.

We’re also happy to recommend SiteGround when it comes to affordable WordPress hosting. However, they don’t offer VPS plans, so we’ve opted for A2 Hosting since they have a better variety of tiers, which we needed for our tests.

For the shared hosting portion of our tests, we’ll use A2 Hosting’s Lite plan, which starts at $3.92 per month and supports a single website with unlimited storage and bandwidth. As for our VPS, we’ll go with the basic Power+ tier, which costs $32.99 per month, offers 4 GB of RAM, 75 GB of storage, 2 TBs of bandwidth, and a four-core CPU. That’s a whole lot of firepower, and it’s a managed plan to boot. With managed services, you have to worry about a lot fewer maintenance tasks. However, since we’re talking about a simple one-page test, this won’t affect our test results.

Shared Hosting vs Virtual Private Servers: Our Test Results

To keep things clear, we’re going to break down our results into two sections. In the first one, we’ll deal with our shared hosting plan and the next will cover our VPS results. Then, we’ll talk about what those results mean in practical terms.

Finally, keep in mind we didn’t run any performance optimization procedures on either plan. The loading times you see could be lower if we used image compression, integrated a Content Delivery Network (CDN), and worked on our caching settings. However, that would affect our numbers, so we decided to keep both installations as close to pristine as possible.

1. Shared Hosting

Before we talk numbers, let’s take a look at the page we’re going to use for our tests. Using Divi, we imported one of the theme’s Landing Page layouts and set it up as our home page – here’s the mobile version of that page:

An example of a Divi landing page.

Then, we used Pingdom Tools to measure its loading time from four different locations. For each location, we ran the test three times to get their averages, which are the numbers you see below:

  • Melbourne: 3.73 seconds.
  • New York: 2.57  seconds.
  • San Jose: 1.83  seconds.
  • Stockholm: 0.96 seconds.

A2 Hosting’s primary data center is located in the US, and it’s the one we’re using for both plans. As you can see, loading times are way too long for users further away, and relatively low for US-based visitors. The dip in loading times when testing from the Stockholm server is unusual, but still worth bearing in mind. In any case, anything above two seconds is usually too long when it comes to loading times, so you’d need to do some optimization if this were a real website. Surprisingly enough, those loading time averages went down during our Load Impact stress test, which used a server located in Ashburn, US:

Our shared hosting stress test.

The fastest loading time during our test clocked in at a respectable 1.43 seconds and we saw a high of 2.02 seconds when we got close to 50 simultaneous users. These are excellent results for a budget shared hosting plan. With that in mind, let’s find out how A2 Hosting’s VPS stacks up.

2. Virtual Private Servers

Right out of the gate, we expected to see better loading times for our Turbo+ plan, and the results didn’t let us down. If you look next to the numbers, you’ll see the difference in percentage points from our shared hosting results:

  • Melbourne: 2.13 (-75.11%)
  • New York: 1.41 (-82.26%)
  • San Jose:  1.56 (-17.3%)
  • Stockholm: 3.35 (+248%)

First off, let’s talk about Melbourne and Stockholm. The variance here is way off the charts since we’re talking about remote servers with variable loading times between tests. In this case, you should pay closer attention to the New York and San Jose results, which shows a definite improvement. Still, there’s a lot of room between 17.3% and 82.26% to give us an accurate idea of the difference between both plans. Let’s see if the Load Impact test can clear things up:

Our VPS stress test.

Right off the bat, the difference in the results is staggering. During our tests, we saw a low of 0.37 seconds and loading times didn’t rise past 0.7 seconds even at full load. That’s a decrease of 25.87% and 34.65% respectively. Considering our results, we can say with confidence that upgrading to a VPS won’t only provide you with a performance boost – it’ll also improve your website’s performance when under stress.

Shared Hosting vs Virtual Private Servers: What The Results Tell Us

We walked into this test knowing the balance was going to swing in favor of a VPS because it’s the logical result. After all, the better hardware you have for your server, the greater your website’s performance should be.

With that in mind, the real question here is whether a VPS is a cost-effective option for you. To answer the question, we need to break down VPS plans into two categories, managed and unmanaged:

  1. Managed VPSs: This type of plan tends to start at around $30 per month.
  2. Unmanaged VPSs: When it comes to unmanaged plans, you can find options starting at around $5 per month. However, if you want to match the hardware of our managed Turbo+ plan, you should be willing to spend at least $20 per month.

During our previous sections, we got more consistent results from our stress tests, so let’s talk about those numbers. Our VPS stress test tells us we can expect a performance increase of anywhere between 15-35% just from upgrading from shared hosting to a VPS. However, we’re also paying an extra $29.07 for the increase. This means a managed VPS is not cost-effective, except for websites with high amounts of traffic. In those situations, you want to protect yourself from loading time spikes to prevent your bounce rate from rising, so the extra cost is well justified.

Of course, keep in mind you can find unmanaged VPS plans starting at around $5-10 per month. Even at that price point, you still get a hefty performance increase. In those cases, the only reason not to use them over shared hosting is that you won’t have access to control panel software, which can be quite expensive. You can do everything a control panel can through the command line, but it can be a hassle if you’re not already familiar with it.

Conclusion

The short answer is a VPS is indeed better than shared hosting in nearly every case. However, the latter is better for websites that don’t require much firepower. After all, shared hosting tends to be a bit cheaper and costs add up over time.

You can always upgrade to a VPS when you need one, but managed plans often start at around $20 or more, which is a significant increase in costs. Unmanaged plans are a lot cheaper and still provide you with performance benefits, but they require you to be comfortable using the command line.

When do you think is the right time to make the jump from shared hosting to a VPS? Share your experiences with us in the comments section below!

Article thumbnail image by Aukote / shutterstock.com.

The post Shared Hosting vs. Virtual Private Servers: A Performance Comparison appeared first on Elegant Themes Blog.

Powered by WPeMatico