WordCamp Chicago 2013
Stephanie Leary, @sleary
This talk is
now a book!
for WordPress is
•Barnes & Noble
You've read Kristina Halvorson's
You know you need a content
And then you open up your site's
How do we get there from here?
Steps to Content Strategy
• Distinct fields
• Reusable elements
• Functional requirements
• Organizational requirements
• Separate structured data
• Look for templated posts
• press releases
• course listings
• personnel bios
• Full name (title)
• Description / résumé / CV (body)
• Photo (featured image)
• Custom fields:
• Last name
• Email, URL, phone, etc.
• People: post type
• Staff Directory
• Principle Investigators
• Division Heads
• Partner Institutions: taxonomy
• research projects
• joint programs
• non-employee bios
Changing Default Text
• Video post
• Video player interface
• Audio post
• Audio player interface
• Personnel bios
• Sorted alphabetically
• Research projects
• Sorted by date
• Sorted by hierarchy
Custom Post Types UI
Custom Meta Box Class
Custom Meta Box Class
Advanced Custom Fields
Convert Post Types
Post Type Switcher
Post 2 Post
Term Management Tools
name, last name,
photo, email, phone
• Set up workflow
• Determine media strategy
• Create a style guide
• Set up project management?
Multiple Featured Images
WP Project Manager
WP Project Manager
Content Audit (again)
Broken Link Checker
How do we get there from here?
First of all, let’s not sit around copying and pasting IDs and titles and URLs and categories into Excel.
Content Audit lets you build your inventory right in the WordPress edit screens.
Because I use Content Audit for my inventories, I often import external sites into WordPress *before* doing the inventory. This is the reverse of the usual recommended process, which is to migrate only the content you want to keep.
Most of your analysis is going to have to be done outside of WordPress, with people and meetings and discussions about priorities. But you can use your traffic logs to make some decisions about what content is effective. I like Dashboard Analytics, which shows you a sparkline based on your Google Analytics data for each page. Use it sparingly, though – it will slow down your page lists considerably.
Your analysis should include a look at the structure of your content.
Lumping lots of different pieces of content into one big post body makes it difficult to work with. You can’t easily extract parts of that data and do things like sorting or moving them around in a responsive layout. Even if you’re not a developer, you can take advantage of custom post types, custom fields, and custom taxonomies to break things up in a more modular and logical way.
In some cases, you can use user profiles to store this data simply by changing the built-in contact fields. (I have another plugin for that, User Contact Control.) But on most of the sites I’ve worked with recently, I needed to include people who weren’t users, or whose data we’d want to keep around if they left the organization. Tying that information to a user account would force us to keep accounts active – even if they didn’t have permission to do anything – for someone who really shouldn’t have access to the site anymore. That’s very bad from a security standpoint.
Diagram: bio post type
But the biographies will be used in several ways. I don’t want to duplicate the information in all these places, and then have to keep three lists up to date. Instead, I’ll create a custom post type for people. Then I can generate lists based on my custom fields, or a taxonomy, or whatever.
A taxonomy would be appropriate wherever you would want your users to select choices from a predefined list (a hierarchical taxonomy, like categories), or where free-form tagging would work well. Taxonomy terms don’t have lots of fields like posts and custom post types can, so this is best for simple lists.
Changing the placeholder text (or the field name) using Peter Westwood’s “Mangling Strings for Fun and Profit” article
Creating new content structures is also appropriate wherever there are types of content that require different functionality. Now, HTML5 audio and video players will be built in to WP 3.6, but this is just an example.
And none of these things belong in the main news page or RSS feed!
There are a bunch of ways to create your custom post types and taxonomies and fields, and there’s a whole chapter in my book on how to do this.
I’ve seen people criticize WordPress for not supporting content modeling, but it does! It just doesn’t have a UI for it, and that’s deliberate. The developers feel that if you need custom post types, you ought to be at least comfortable enough with code to copy and alter a few PHP arrays. That said, there are some plugins that provide a nice interface for these features. Custom Post Types UI is pretty good. My only complaint is that it doesn’t always get updated promptly, but I’m not in a position to throw stones there.
For custom fields, I like the Custom Meta Box class on GitHub. This is being polished up for possible inclusion in a future version of WordPress. Again, this is code-based, but all you have to do is copy the sample functions’ fields and edit their labels. This includes
The class includes a ton of field types. Date pickers, currency, rich text editors, image uploads… pretty much everything you could want.
This plugin gives you a nicer UI for it.
Once you’ve created your new custom post types, you probably need to migrate some old posts or pages. I created Convert Post Types to do this in bulk.
For changing one post type at a time, or just a handful using Bulk Edit, Post Type Switcher is great.
Post 2 Post allows you to create connections between post types. This is how I hook up my people to my research projects.
This plugin’s developer has recently announced that he doesn’t plan to keep working on it. However, it’s so widely used and loved that I expect its development will continue with someone else, or by the entire community via GitHub.
This is another plugin from the developer of Post 2 Post. It’s great for changing a term from one taxonomy to another. If you’ve created a new taxonomy and you need to move over some old tags or categories, this will do the job. It’ll also help you clean up your tag list; if you have duplicates, like a singular and plural version of the same tag, you can use this to merge them.
Complete content model! Post types: research projects, tools, people. People are connected to their research projects and tools via Post 2 Post. Taxonomies: topics, institutions. The taxonomies are used for both research projects and tools. Institutions partnering with us on a research project are added to the project when a user tags them in the Edit Project screen. The institutions taxonomy is also used for the People, to indicate which one a person works for.
Media strategy: How are you going to handle responsive images? How will you ensure that transcripts are provided for audio and video content?
If your organization already has a project management tool, there’s no reason to set up a separate one for the website – it would never get used. But if you don’t, there are a couple of plugins you can use to manage the site’s tasks within the dashboard.
Workflow: Edit Flow
Editorial Metadata are basically custom fields that are only visible in the administration screens – things like required word count, whether a photo is required
I’m sure Jesse is going to talk more about responsive images later in the day. This is a plugin to implement the Picturefill method Chris discusses in his latest book on responsive design (which is great)
This one is great when you need two images per post. I work with an Australian author who’s recently become a dual US citizen, and she wants to publicize both the American and Australian editions equally on her site. I’ve set up this plugin, added each book cover, and then I use a few lines of CSS to overlap the two and add drop shadows.
You could also use Advanced Custom Fields or the custom meta box class, and you’ll have to if you need more than two, but this integrates more neatly with the media library.
Revising without publishing immediately, with editorial review of the changes: Revisionary
You can schedule the changes!
WP Project Manager’s project list looks a lot like Basecamp.
The single project view
CollabPress does include a calendar view to display due dates. It also integrates with BuddyPress groups.
Back to content audit: you can use it for ongoing content management. It can automatically mark content as outdated after a certain period (you can override this with per-post expiration dates), and send emails to the content owners listing their outdated content. (To remove something from the Outdated list, just uncheck that category and update the post.)
If you’re using Edit Flow for your workflow, you probably don’t need this. Edit Flow does come with an editorial calendar of its own. I think this standalone version is a little more polished.
You can use WP Help to build in any documentation you need – like your style guide, or brief reminders on how to use all the extra custom fields in your new post types.