WordPress obviously comes from a blogging background but can be used to serve sites with a lot of Pages. However, where it falls short for me is not in regard to performance but in the Admin area’s handling of lots of Pages, child pages etc. It quickly becomes a chore to move through the list of Pages trying to find what you’re looking for, especially without the ability to drill down into page hierarchies etc. What techniques / plugins do people use to deal with this issue?
Leave a Reply
You must be logged in to post a comment.
I use the CMS Tree View plugin, and it works very well. It collapses all your pages under their parent pages, among other features.
Update 26/09/19 This plugin is no longer supported and only tested up to version 4.8.7 of WordPress
Yeah, the admin doesn’t work extremely well for a site with tons of Pages vs. Posts. As you mention most WordPress sites have been blogs and who needs to edit older blog posts frequently? Having the most recent available is all most bloggers usually need and since most blogs have probably 5 pages or less it’s been a non-issue.
So I agree, it’s definitely needed.
Three things that come to mind, without an admin overhaul would be the following two of which would require some coding:
Consider Using Custom Post Types?
Often with I’ve seen a site with lots of Pages it turns out there could be real benefit to breaking them out as Custom Post Types. Often it’s because when the site was built Custom Post Types didn’t exist in WordPress to even consider. You know, if the only tool you have is a hammer…
Today I think it’s because they are still new that it doesn’t occur to most people they are an option. Still my guess is if you looked at your content you’d identify patterns where Pages could be converted to one of more Custom Post Types.
To give you some inspiration here’s a screen shot for two different Custom Post Types both with lots of customization I’m working on:
(source: mikeschinkel.com)
(source: mikeschinkel.com)
To Change Post Types for Existing Pages
Since you already have lots of Pages you may need to change your existing post types to the new custom post Type. One way you do this would be to tag the appropriate Pages with a special tag of your choosing and then write a PHP script or a SQL query to change post types for Pages with the tag.
Alternately you could write a custom metabox that allows you to change the type and/or you could modify the list of Pages to offer a type changing feature. If this part is of specific interest add a custom that specifically asks how to do one of these things.
Add Filtering Functionality to the List
Another approach would be to add more filtering options to the list. You could filter by categories, by tags and/or by meta values. Here’s my answer to a question where I showed how to write the code to sort on meta values; filtering is similar:
(source: mikeschinkel.com)
If you want more specifics on how exactly to do this for your specific need please ask another more specific question?
Add an Expand/Collapse Functionality for Parent Pages
A third approach might be to provide an expand/collapse functionality using jQuery and maybe even AJAX to allow you to see only the top level pages and then drill down to the relevant sub pages. (unfortunately I couldn’t find a good screen shot for this.)
This would also take some programming and if you are interested please ask another more specific question on the topic?
Finding Good Existing Plugins
While I haven’t had experience with any of these here are some blog posts on the topic so maybe you’ll be able to find what you need among these:
Hope this helps?
You can change the “Pages per Screen” option in “Screen Options” (top right corner). If you set that to like 200, then you can use your browsers Find function to quickly jump around (Control / Command + F).
If I want to edit a few pages, I middle-click the edit links to open them in new tabs, that way I can keep my “directory” of pages open.
Great question. I don’t have a solid answer and would love to hear what others have done.
As a bit of an aside, here are a few plugins I’ve seen that can customize WordPress’ Admin UI. Note: I haven’t tried any of these myself and don’t know how they would fare on WP 3.0.
Aside from these possibly outdated plugins, you can also customize the Admin using an Admin Theme.
Perhaps a CSS whiz could whip up something that makes page management easier, such as making the category selector more prominent or something.
Just wait :). http://core.trac.wordpress.org/ticket/14579 , Scribu is Ajaxifying the lists, should make it more easy to manage stuff. Stuff of it already get’s committed so in the end you can build on top of that.
Next to adding javascripts, it looks like that bulk actions will be converted into post actions. That enables users to make more modifications at once.