Custom fields for posts

This is a key issue that effects my next site build. If I am hamstrung by the lack of custom fields I won’t be able to complete my site :frowning:


the original question(custom fields) are forgotten…=/
I follow this from github to here, to find nothing

In moment i think that create a filed to store a json (as mobiledoc) in one migration and use to store adicional properties.

Search can be done indexing api content.

Any update from Ghost team about this topic? It would be very nice to add some basic additional field, for example an url field for linkblog style post. (I tried insert links to the title field, or simple post without title field, but non of them work.
The simplicity of Ghost could make it very very suitable for microblogging (link post types, short post without title, etc.) but it is not applicable without customisable fields for posts :cold_sweat::cold_sweat::cold_sweat:

1 Like

Hey…that’s a neat feature! I was worrying about this when setting up my Gatsby site, but it magically worked :smile:


Repetita but missing a simple and elegant feature where we could create some custom-fields (in yaml for example) and add them via the post page.



  type: {array,string,number,custom} # natives types / customizable via attributes
    type: text
    minlength: 2
    maxlength: 54
  type: array
    type: text
    required: true
  validation: /^(ftp|http|https):\/\/[^]+$/
  hint: Add here some videos URLs

Then, custom-fields are availables in the post sidebar and served in a JSON attribute.


The lack of custom fields greatly limits how Ghost can be used. Perhaps it’s intentional to keep things simple for the target audience, but it’s difficult to put Ghost in the same league as other CMS platforms for anything but the most trivial of sites.


It’s really funny when topic started from idea of custom fields for posts and then moved to conversation about posts urls.

I want to support topic starter. We need custom fields for posts or some API or tooling for doing this thing.


nothing yet?

This is an amazing idea!
I know some people want to stay with minimal feature and interface, but some others need a bit of advanced feature of their publishing projects. Considering that, .yaml is the best place to do so.

My use case would add social media post links so that people can easily share or interact there. For the social media such as Instagram, pinterest and Tumblr, I prefer people to interact on my existing posts rather than create their own.

As my needs are very specific, .yaml setting would be perfect for me!

1 Like

I’m dying to have the ability to add custom fields too.

While I do agree that Wordpress went a bit overboard with the customisations and that there is a certain beauty in Ghost’s simplicity and minimalism, I still wish there were a tad more customisation options with Ghost.

Hi! We’re really need this functionality.

This is already possible without custom fields using a normal post, albeit perhaps with a little more manual work than what WP can offer with a plugin.

  • Create new post and enter the title as the same as the article you’re linking to
  • Enter the excerpt of the article you’re linking to as a quotation in the post body, plus any other commentary you’d like to add
    • The except can normally be found by opening up developer tools in your browser, expanding the <HEAD> section and looking for the <meta property="og:description" content="My amazing description about the best article I've ever written"> tag.
  • Go to Post settings > Meta data and paste the URL of the article you’re linking to into the canonical URL field
  • Hit post :slightly_smiling_face:

I don’t think Ghost is trying to be anything like a CMS; it’s specifically designed for publishing rather than acting as an all-in-one CMS and website builder.

Post sharing links are part of your theme, so you can already do this without custom fields by editing your theme. Bear in mind that most people tend to use mobile devices these days, so even if your theme doesn’t have any sharing options built in, every mobile browser does through the iOS/Android Share Sheet functionality.

Those share buttons do add quite a bit of bloat and visitor tracking though, so there are some trade-offs to be made.

What are you trying to achieve? What sort of feature are you trying to build into your website? How are the current suite of Ghost features and tools coming up short? What sort of roadblocks are you hitting?

There’s lots of different ways to achieve the same goal. Custom post types in WordPress added almost limitless customisation options, but that doesn’t mean it was a good idea. That limitless also added significant complexity, bloat, and theme customisation to make it work properly.


I have WP-using colleagues (who I’d like to migrate to Ghost) who often include small images in their posts, which are floated left or right. Easy enough to do with an HTML card, but some people I wouldn’t want to have to request that they fiddle with HTML, i.e. having to implement code for hyperlinks, italics, etc., in the captions.

Hi Stuart,
I’m trying to use Ghost like an API for website build with Vue. I really like how Ghost admin panel work, but for building complex website i found some limitation. For example it would be nice to have opportunity to create subpages, or posts inside a pages: You can use a “primary tag” for this, maybe, but in this case you can’t use this tag for subcategory like: (Parent: Blog, Subcategory <primary tag>).
Blog (parent page) -> Post 1, Post 2, Post 3;
Articles (parent page) -> Article 1, Article 2, Article 3;

It would be really nice to have “hidden opportunity”, thru config.json or something else set you custom fields. In this case Ghost will be super simple like now, but if you want to customize some settings, you can “hard coded” them.


What if you modified the theme CSS so that images inserted as regular (instead of wide or full) floated left/right so that the text could wrap around?


You might be able to achieve something similar using dynamic routing:

Nested/hierarchical tags are planned (as of 2018):


Huh, that’s a great idea, I never thought about doing that. The one problem that I’d still see remaining is that there wouldn’t be a way to set the width of those images (without some high-flying JS and code-injection utilization?), necessary since some of those small images are landscape-oriented while others are portrait-oriented.

Feel free to reply here on the forum, or you could always stop by Framework over on Swanston Street for a little Ghost chat :wink:

1 Like

That sounds more like this idea, which hasn’t had that much attention:

1 Like

Thank you John, for tending to the well being of the community. I found his tone and attitude disturbing.


You’re welcome! :hugs: They’re gone now.

We’re aware that people are interested in custom fields - and if we come up with a strong way to do them without making the product bloated and slow, then of course we’ll look into it.

But, despite a few very vocal people, this simply is not requested very often and so it isn’t a priority for the core team. If anyone cares enough about custom fields to work on it themselves as an open source contributor, by all means get in touch with me directly -

For now I’m going to close this topic because it’s had plenty of time for discussion, and more “me too” replies aren’t going to add much more value. Do feel free to keep voting on it :slight_smile: