The WordPress Recipe for

Do you ever pull up a website and wonder if it’s WordPress? Even if it is WordPress, it can be hard to know exactly how a site’s assembled. So let’s take a look at how Nonprofit WP itself was written and built!

As long as you understand the building blocks of WordPress, you will have no problem following along.

Hosting is hosted on SiteGround, my favorite affordable recommended host for nonprofit organizations.

It includes a free Let’s Encrypt SSL certificate to enable HTTPS for security and HTTP/2 for speed. Finally, with PHP7 enabled and the SG Optimizer plugin for enabling custom caching, the site loads really fast.

For additional security and speed, the site runs on Sucuri’s security firewall which actively protects against and monitors for hacking attempts.


Everything about this site derives from the content. When I was first planning Nonprofit WP, I thought about the audience I wanted to target: nonprofit’s using WordPress. More specifically, I wrote for people trying to make a DIY WordPress site.

I then thought about my experiences with that audience and the type of information they needed to know. That list turned into an outline for the site. Over an intense month or so, I devoted lots of time to writing the first pages of the site and revising each one multiple times. When I felt like I had enough information composed to help my target audience—even though there are pages I’ve added since—I launched the site.

Importantly, as I wrote, I sought a consistent style and focused on writing each page for someone that is at a specific step in the website-building process. Following best practices for writing for the web, pages are long but well-organized and use highly-readable formatting. That linear style helped determine the design…


This site uses a default WordPress theme: Twenty Fifteen! You can view a demo of the theme (this demo is better than the one hosted from where you actually download the theme).

I chose Twenty Fifteen primarily for it’s navigation menu that runs down the left side of the page on large screens. While “old fashioned” in a way, the linear organization and available space reads like a table of contents, perfect for such a content-heavy site!

To give the theme a bit of interest, the site theme was customized using a “child theme.” A few custom colors plus some fancy CSS to allow for an icon with each menu item is just about all that gives this site it’s approachable and user-friendly design.


This site uses quite a few plugins for features big and small. They’re divided below based on a few broad categories of need with short descriptions for each.

Content Administration

There are quite a few plugins I use to make it easier to write, display, and manage my content.

Technical Administration Features

A number of plugins add behind-the-scenes features to WordPress that strengthen, fix, or adjust technical issues.

Site Maintenance

A few plugins make it easy to maintain the site.

Front-Facing Features

  • Gravity Forms and it’s Stripe Add-on run all the forms, including the donation form which can take credit cards.
  • WCAG 2.0 form fields for Gravity Forms fixes multiple accessibility problems with Gravity Forms.
  • Jetpack‘s free version has lots of great small features like a nice commenting form, like and share buttons, a spell checker, and the blog’s email subscriptions (and more!).

Look at Examples but Make Your Site Yours

There is no list of plugins every site must use. There is no one theme that all nonprofits can use. It’s valuable to view example sites, but make sure that you plan your website carefully and only use the plugins you need.

Ask Questions in the Comments?

See anything on the site and wonder how it got made? Ask in the comments!

The Building Blocks of WordPress

Of the three recent additions to this site, the WordPress 101 for Nonprofits page is probably the most exciting.

Why? It’s a great overview of the entire site for new users, but it also has the first Nonprofit WP infographic to help readers really grasp the component parts of WordPress.

The Building Blocks of WordPress: Five interlocking blocks from the top show the theme for design, plugins for features, media files stored on the server, the database with text content and settings, and WordPress "core" files powering the whole site.

Let’s quickly go through each piece of the WordPress tower from bottom-to-top to really understand it.

Know that like most things on this site, this graphic focuses on “self-hosted” WordPress and not For those unfamiliar with the difference, here’s our explainer.

WordPress Core

The “core” files of WordPress are what make everything else work. You can download them for free on and install on your website host.

WordPress is often described as a solid foundation for a website, and this graphic takes that description literally! It’s a foundation because nothing works without it and also because it allows you build a million variations of different designs and website features based on your needs.


The second part of a standard WordPress site installation is the database. While everyone who installs WordPress has the same “core” files, the information stored in the database is what makes the site yours. The database contains all the settings and information on your site. That means things like:

  • Your website’s timezone
  • Your username, email, password (securely encrypted!), and preferred administrative color scheme
  • The title, body field, excerpt, and publication date of your very first blog post
  • The title, caption, and alternative text for your images (Speaking of which…)


Just like each person’s database contains information that’s unique to their site, WordPress supports uploading many common types of image, video, audio, and document files for use on your website. Every file you upload, ends up in the “Media Library where it’s stored for future use.

  • Need a logo on your website? Upload it to the Media Library.
  • Putting your Annual Report PDF on the website? It goes to the Media Library!
  • Love the awesome infographic in the post? It’s in the Media Library of!

WordPress makes it easy to upload files, but make sure you keep them organized to get the most from them.


The plugins “block” actually represents a layer of lots of little blocks. Plugins are what add features to your site any time you need it to do anything that WordPress “core” can’t do on its own.

  • What to add a donation form to your website? You might use the Give plugin.
  • Are your website’s search results not good enough? SearchWP is great for that.
  • Want to add custom documentation right in the WordPress admin? WP Help works great.

There are thousands of free WordPress plugins as well as lots of good paid ones. Just make sure you carefully vet each plugin before installing it and see if there’s a recommended plugin for your need before searching yourself.


The theme of your website is the very top block since it determines how the website looks. The words you enter into the database are just little bits of data, but the theme tells them where to go (along with images), the font and font size, and how they change when viewed on a phone as compared to a desktop computer.

Unlike plugins, a site only has one theme since a website only has one design. In many ways, the theme you choose is one of the most important decisions you make, so don’t miss the guide on how to choose a theme and the list of recommended themes.

When it comes to building a website with WordPress, you need to build the most solid tower for your nonprofit so it supports your mission and activities as you try to improve the world! WordPress is a great choice for many organizations because how you put the pieces together is up to you.

Choose Your Nonprofit Website Role Models Carefully

When you start planning your next WordPress website, you should take stock of what your peers are doing. Reviewing example sites will help identify nonprofit website trends, analyze common navigation and layout patterns, and inspire us to aim high!

Since I build WordPress websites for lots of nonprofits, I hear what sites people like and want to emulate. It’s surprising how often the same few sites come up. Reacting to these websites will always be a critical part of planning a site, but it’s also a process that can lead people astray.

When looking at sites, don’t just take in the visuals. Make sure to consider the audience, goals, and budget of the sites. Choose your role models wisely!

Red Website Icon

Does your nonprofit website serve the same audience?

The needs of your visitors should always drive your website’s design and content. So if you’re an association of trial lawyers, will the design of a site targeting young environmentalists make sense for your organization? Probably not.

It’s surprisingly easy to look past important differences between your organization and another when you’ve come to review a homepage layout. One especially common issue I see? Many large organizations you’ve probably heard of—think the Audubon Society or AARP—have such pervasive reputations that they don’t need to spend much time explaining their work to their visitors. Yet if a new visitor can’t figure out what your organization does, they will leave. Guaranteed.

To avoid learning the wrong lessons from other websites, think about the target audience of the site you’re viewing including their age, primary device (i.e. phone vs. desktop), cultural background, education level, and the top tasks they seek to accomplish.

An exact copy of a site will never be as effective for your organization. Learn from examples, and then adjust your website’s design and features for your audience.

Purple Website Icon

How do your website goals support your nonprofit’s mission?

Just as each organization serves a different constituency, each nonprofit’s website supports their work in a unique way. The primary “business goal” of your website might be any of the following:

  • Increase individual donors
  • Develop institutional donors (completely different from individuals!)
  • Grow [social] media reach
  • Inform public about a specific issue
  • Provide a service (or intake for an in-person service)
  • Supply in-depth resources for research

Beyond the primary goal, sites must often serve multiple purposes. In most cases, the way your site supports your mission is different than each example site you look at. Again, this doesn’t mean you shouldn’t look around. It means you should seek to figure out why a website was built the way it was and how your site might differ.

(It’s common to see a website and be unsure of its primary goal or question whether that goal is the right one. Organization’s experiment and make mistakes. Don’t assume that every decision a favorite website makes is a good one!)

Blue website icon

Budget Constraints Require Smart Decisions

Funding for technology is a constant struggle for small nonprofits. It’s critical to set expectations that align with your budget.

This is the worst part of looking at example sites: Especially with large, national nonprofits, the cost of their website may far exceed what you can spend. Heck, some nonprofits spend more on a website in a year than a small nonprofit’s annual operating budget!

When it comes to high-cost websites, watch out for:

  • Highly customized graphics or interactive navigation tools
  • Some types of ecommerce or donation setups (Though check out Give for an awfully nice WordPress donation plugin)
  • Branded fancy animations
  • Significant use of many high-quality large photographs and video

The more complicated a site is, the harder it will be to reproduce on a shoe-string budget.

Gray WordPress Icon

Does the site even use WordPress?

WordPress is great at some things and less-so at others!

  • The control over design isn’t as fine-grained as SquareSpace, but it gives you way more ability to grow over time.
  • The online store integrations aren’t as good as Shopify, but you can blog up a storm.
  • Drupal and Plone handle content permissions way better than WordPress, but good luck training your new intern on updating the site!

You can see why certain organization’s might choose one tool over another. It’s true that WordPress can do just about anything, but that’s only true, as they say, given unlimited time and budget.

You should talk to consultant or experienced WordPress volunteer if you’re not sure if WordPress is best for you.

When you’re looking at example sites, keep in mind that they may use certain tools or customization time that don’t make sense for your organization.

How to tell if a nonprofit website uses WordPress

If you do want to know whether a site uses WordPress, it’s easy to find out! Enter the address of any website into WP Theme Detector. It detects a limited set of plugins and tells you what theme it’s using. Pay attention to whether it uses a prebuilt theme, a custom theme, or child theme.

Try it out for! (This site is built with a custom child theme of Twenty Fifteen.)

Black iMac Computer Monitor Icon
Fill in the blank with something made just for you!

Getting the Most Out of Your Site

If you keep in mind the audience, goals, and budgets when looking at other nonprofit’s websites, you’ll end up with a better website. Why? Because you’ll start thinking about websites differently.

Instead of looking at a really fancy video and wanting a really fancy video, you can look at a fancy video and think about how you can appeal to your site visitors to achieve the same thing.

Both the nonprofit sector and open-source software share a love of collaboration, support, and openness. These are good things that make everyone better, but only when we make thoughtful choices for ourselves and avoid blindly following the latest trend.

So choose your website role models wisely:

  1. Identify how those organization’s and sites differ from your own
  2. Take inspiration from beautiful amazing websites

When you’ve done that, you’re ready to make the best possible website for your nonprofit.

6 Achievable Nonprofit Website Tasks for the New Year (Start With One!)

The new year is a great time to evaluate the state of your website and figure out how to make it better. But we all know that plenty of resolutions don’t get the followup they need. So instead of a New Year’s website resolution, pick one or two of these tasks and get started right now!

Since the goal is to get you moving forward on a concrete task, you don’t even need to read this whole post! Just pick the task that sounds the most interesting or useful and get to work!

Do a Content Audit

A content audit is the process of reviewing your entire site and assessing each piece of content individually to make sure it still serves your site visitors. It’s common to combine a content audit with a website redesign, but I think they work better separately. More-frequent content audits mean future website redesigns go more smoothly and your website will be consistently higher-quality for your visitors!

Whether it’s in a custom spreadsheet you set up or with a plugin like Content Audit, this is one of the best tasks you can do on your site.

Here’s how to do it:

  1. Go through your site’s Pages one by one.
  2. For each page, mark or list it as a meaningful status you can act on. I like to use the statuses Good, Minor Revisions, Major Revisions, Archive, and Merge with…. Then I’ll make a short note for each page about what should change.
  3. If more than one person writes content for the site, also assign the Page to the person who will work on any revisions.

Once you’ve gone through the entire site, you will have learned a lot about the state of your site. Schedule the time to work on these pages throughout January and finish before February.

Quick Audit

If this sounds like too much, use your Jetpack Statistics or Google Analytics to identify your top 5, 10, or 20 pages. Then follow the steps above for that more limited set of pages.

Similarly, if you’ve managed to audit your whole site but aren’t sure where to start, let the site visitor stats determine which small part of the revision process to start on. Improving one high-traffic page is much more valuable that improving multiple low-traffic ones.

Clean Up Your Plugins & Themes

This one’s a little bit faster than the content audit.

Plugin Cleanup

While there’s no such thing as too many plugins, you never want to have plugins or themes that you’re not using installed on your site. These can slow down your site, clutter the admin, leave open a security hole, or force you to make unnecessary updates.

First, go to the Plugins page of the admin, and review each one. Do you know what it’s used for? Do you still need it? You may need to do a bit of research and contact your web developer or other staff, but figure out which plugins you don’t need and remove them from the site.

Once done, you’ll get a good reminder of how your site works and you’ll probably get some ideas for future projects (see below!).

[Fun fact: I just did this for With a bit of work to tweak a few things with my theme, I removed three plugins!]

Theme Cleanup

For themes, you really only need the theme your site is using. Delete all other themes from the Appearance > Themes screen in the admin. That’s it! 🙂

EXCEPTION: Child Themes

If your site is built using a “child theme”, then you’ll need two themes on your site, the active child theme and it’s parent theme. You can tell if you have a child theme by opening up your active theme details in Appearance > Themes and then looking for this:

Notice: "This is a child theme of Twenty Fifteen."
The notice in the Theme Details panel saying whether it is a child theme of a parent.

If you see that notice, delete all themes except the active [child] theme and its parent theme.

Streamline Your Forms

Do you want more people to fill in forms on your site? Do you want to get better information from them? Streamlining your forms will probably lead to both outcomes over time!

If you’re using one of our recommended WordPress forms plugins, you’ll be able to easily improve the forms used to collect information from visitors.

Here’s what to do for each form:

  1. Review your 5 most recent submissions and ask yourself these questions:
    1. What questions don’t receive enough or accurate information?
      1. Do certain optional fields get consistently skipped?
    2. Most important: Can I tell someone how I use every piece of information I collect?
  2. Once you’re more familiar with the reality of your form submissions, do the following for the form:
    1. Make as few fields required as possible. These are the fields you couldn’t do without. An easy example: The email field for an email newsletter form. It won’t work without it!
    2. Remove as many optional fields as possible. For example: Do you really need that person’s ZIP code?
    3. Remove as many options from checkboxes, radio buttons, and select menus as possible.
    4. Clarify each field name and, if needed, description. If you’re not getting good data, you’re probably mis-labeling your field or not being specific enough. Consider providing an example answer or sentence starter for free-form questions.
    5. Rearrange form fields to increase commitment to finishing. For example: If working on a donation form, have people select their donation amount first. This builds momentum and gets questions that require active thinking out of the way earlier, letting users finish a form more or less on autopilot.

A streamlined form will be less-confusing for visitors and faster to fill out. That will increase the likelihood of people filling out your form and of you getting good data when they do!

Further reading on streamlining form design: Design Better Forms
Further reading with real-life example: KISSing Your Web Forms

Establish a Relationship with a Consultant

Even if you didn’t use a consultant to build your site, it’s good to know who you’ll turn to when—not if—you face a website emergency or project outside your own technical abilities. A few phone calls, a visit to a meetup, or a strategic referral from a colleague is usually all it takes.

Once you’ve found someone willing to work with you, find a way to bring them on board with a small project. Maybe that’s signing up for their annual maintenance plan, doing a small project together (see below!), or having them performing a site audit with strategic recommendations for future improvements.

When your donation form or email newsletter signup form isn’t working, you don’t want to panic and working with the first person you can find. (“Well our Development Director’s nephew is great with an iPad!”)

Even if you have a consultant already, you need to make sure they’ll make time to help you when you need it most. Take a moment to get back in touch and thank them for their support.

Put in a bit of time and money now, and you will feel immense relief at the moment you need it most!

Do a Small Project

Too often, website work is an all-or-nothing endeavor for organizations. You get your budget together, you sink a huge amount of effort into planning, and then you make one big push to get the new site live.

But if your site is a year old or more, I bet there’s a pain point you’ve identified or a “Phase II” project that’s yet to happen. If we’re being honest, there was probably something not quite right immediately after launch too.

Take some time to think about one incremental improvement to your site that will make it better. A smart project here and there can extend the life of your site and make it more useful to your visitors.

With the year starting, plan now for a great new addition to your site and figure out what it will take—time-, budget-, and planning-wise—to get it up and running.

Make a Blogging Content Calendar for the Year

Content calendars are a great may to make sure your blog stays updated all year. They’re usually built around major events, donation drives, programmatic campaigns, and unscheduled important news as it arises. (If you don’t have many obvious events, maybe you work in some blogging seasons too!)

There are lots of great templates out there, or you can get fancy and use a plugin like Edit Flow to manage it right in your WordPress dashboard. Find a good format for you—I think it’s hard to beat a good spreadsheet!—and get to planning!

  1. Start by making a list of key events and dates you’ll need to post on and leading up to.
  2. Then make a list of less time-sensitive topics you can blog about to fill in the gaps. One easy idea: Do a fun social media roundup with the best posts about your cause from you and your supporters!
  3. Finally, get these all down into a spreadsheet with due dates, staff writing assignments, and any other notes you’ll need to start writing immediately when a blog post deadline looms.

Now you’re ready to blog up a storm in 2017! 📝🌩☺

Content calendars help you think ahead leading to better-written posts and an easier time getting usable web content from your colleagues!

Remember Why You Picked WordPress. Incremental Changes to Your Website Are Good!

The whole point of using WordPress is to allow you and fellow staff members or volunteers to easily update your website. If you’ve already done the work to get a site up, take full advantage of that flexibility and control! This month, focus on a single task like the ones suggested here and just get it done. You should feel good about giving your visitors a better experience and simultaneously supporting your organization’s work more.

I always tell my clients that websites are never done. They’re more like a garden that needs tending. So put your digital green thumb to use, and make your site even better to support your organization and achieve your mission!

Looking for More

If you want more ideas, check out similar suggestions from our Spring Cleaning and Spring Cleaning Followup!

Let me know what task you chose and how it went!

Spring Cleaning Your Website!

Just like you spring clean your house, every nonprofit website needs some attention every now and then to keep your site healthy. Given that it’s almost May, it’s time to get to it!

Plugins & Themes

If you’re a website administrator, head on over to Plugins > Installed Plugins and Appearance > Themes in your WordPress admin.

Read through the description of each plugin and make sure you still need it. Delete plugins that you don’t use and are deactivated, and see if you can deactivate any plugins you don’t need anymore.

For themes, delete all themes except the one you’re using. I used to leave one backup theme, but I don’t even do that anymore.

Why prune your plugins and themes? There are a few reasons:

  1. Some security issues in plugins and themes can still be used even if the plugin or theme is not active!
  2. While hosting space is cheap (usually “unlimited”), there’s no need to store extra files you won’t need and can easily download again. Worse yet, that extra code can bloat your backup files (see below!)
  3. Fewer themes & plugins means fewer updates to manage!
  4. You should know what powers your site and always aim to keep your site lean and efficient. Using fewer plugins might speed up your site, reduce clutter in your admin, and provide one less source for a potential problem in the future.

Check Your Backups

Assuming you have automated backups—you do have automated backups, right?—go to where they are stored and make sure that they are current and working as expected. If you have the technical ability, try to actually restore one on a test site to ensure these backups actually work! You get bonus points for saving a copy to your local hard drive as a backup-backup-backup.

Test Your Forms

Where I live in Seattle, GiveBig is coming up soon. No matter what, imagine your donation form hasn’t been working for who knows how long and you don’t know how many donations you’ve lost. That would be terrible! Try making a quick test donation on your site to ensure it works. (Feeling panicky? This post isn’t going anywhere.)

This is also always a good reminder to you of what your site visitors go through when trying to make a donation. Could it be better? Make sure you get automated receipts and thank you messages!

Besides your donation form, test your contact form, newsletter signup form and any other forms to make sure they work and create any notification emails you expect. If those forms are connected to other services or databases like MailChimp or Salesforce, make sure your test submissions accurately import into those as well.

Audit Your Content

A website is never “done.” If you haven’t reviewed your site in a while, it’s likely that something is out of date. Is your Staff page showing all current members with accurate emails? Has one of your programs shifted focus? Have you accomplished something major and not shared it with your website visitors yet?

Click through your site, edit what’s out of date, and make a list of what you need to add or significantly revise. Remember though that just because something isn’t current doesn’t mean you should delete it.

No Excuses!

I guarantee that an hour of reviewing your site will make it better! That’s something to take pride in! So close this window, log in to your website, and get clicking!

Update! It’s May 9, 2016 and I just posted a followup to this with some great recommendations from members of the Nonprofit Technology Network about even more spring cleaning tasks for your website. (And they really think you should do a content audit too!)