Phantom Admin, a bulk-actions & filter-friendly admin interface for Ghost

Not quite polished yet (and it needs filtering to go with the sorting), but I’m happy with where it’s going!


Hey @Cathy_Sarisky, I’m keen to learn more about what you’re doing here. Is this some kind of integration you’re building, or something else?

It’s sort of a ‘sidecar’ for the regular Ghost admin, that allows bulk actions on posts (i.e. add/remove a tag, delete, etc). Not quite polished yet, but working on it.


OK, Phantom Admin is ready for some users! It’s not super pretty, but it’s functional, and @BruceInLouisville says it’s made it much easier to deal with 4000+ posts. (Big kudos to Bruce for paying for the development and then encouraging me to sell it to you! His site, is an awesome example of what you can build on Ghost, and you should check it out.)


All the details:
Phantom Admin is an add-on admin panel for Ghost, built to make it easier to work with large numbers of posts, sort and filter, and perform bulk actions.

It installs as a custom page in any theme and requires no changes to core. If you can unzip a theme, copy a file into it, and rezip it, you can run Phantom Admin.

How does it work? Phantom Admin takes advantage of the Ghost Admin API, and runs lots of client side javascript for all the functionality. Version 0.9 uses the admin cookie for validation. It’s secure, since no one can connect to your admin API without the admin cookie. (A user who stumbles upon the page will have no way to make any queries.)

:stop_sign: Important: With great power comes great responsibility. Back up your content regularly, and certainly before using the bulk deletion tool. (Deletion is irreversible once you click confirm.)

Installation: Download your theme file and add the custom-phantom-admin.hbs file to it. (Alternately, if you have shell access on the server, just drop the file on the server in the active theme folder and then reload Ghost.) Create a page, and select the Phantom Admin template type from the right side menu. Note the address of that page. Visit your admin page (at https://yoursite.tld/ghost) to make sure you have a fresh admin cookie, then navigate over to your new page.


Set-up: Check that Phantom Admin has your admin URL correct - adjust if necessary. (For a typical install, you need only the domain, no /ghost/.) Choose ‘posts’ or ‘page’, then click the setup button. Phantom Admin will check that it has API access, and set up the filtering options.

Filter & retrieve records: Select one or more filter terms and the number of posts/pages you want, then click the button to retrieve posts/pages.

Sort or page through: You can click the headers to sort records, or use the “next” and “previous” buttons to scroll through them. (Note that selections don’t persist from page to page, so take any actions needed before moving to the next page.)

Do your thing! You can select all posts or click individual posts, edit individually or in bulk. Need to retag a bunch of posts? No problem! Bulk publish? Sure thing! Delete a bunch of drafts you made while testing an integration? You betcha, all in two clicks.

Is it beautiful? Well, no, not yet. But it’s super functional.

Version 0.9 is tested and very functional, but not yet super pretty. Purchases include a year of updates and bug fixes. You can buy it here: Introducing Phantom Admin

1 Like

This is really cool. Would it be possible to filter based on titles and text within posts?

That’s an interesting question. Currently, filtering is server-side, using the API, so if you have 5000 posts but want the three with a particular tag, you can get those three from the server pretty quickly. Searching for a word in the post body would mean grabbing all the posts and looking for the word. I suspect it’d be noticeably slow for the number of posts that would cause someone to want it, but it would certainly be faster than looking through them yourself!

What’s the use case?

I think a better way to support searching by body content might be to leverage something like Algolia (which sites might be using anyway). Things to think about!

1 Like

Want to jump in here and recommend both the new tool and the developer. Cathy was easy to work with, does good work, and is up front about costs and timing. If you have a custom project, she is one of the Ghost developers I would recommend, along with Eric from Layered Craft (

As for the tool – due to some import issues on my site, I wound up with dozens, even hundreds, of duplicated posts. The thought of opening each one to delete it, one by one, made me crazy. So, I asked for a tool, and Cathy delivered.

As she has said, it is not necessarily pretty, but it IS quite functional. It contains a number of useful tools, including bulk delete, bulk status change, and bulk tag management. It also has a number of “Are you sure?” dialogs to try to keep you from doing something stupid. And, even on my site with about 4,000 posts, it is pretty quick (1-3 second response time if scanning the entire set of posts; much quicker if less).

If you need this functionality – especially if you REALLY need this functionality – get this tool.


Actually (clearly I’m still thinking about it), given that sodo-search (Ghost native search) is ‘fast enough’ for searching post titles and excerpts, that makes me think that at least searching titles/excerpts would be ‘fast enough’, too, using a similar strategy to the native search implementation. And for that matter, if you really really needed to know where some post is based on some word that’s not in the title, you might settle for it taking a few seconds, even though that wouldn’t be performant enough for website search with users.