Should I create a new document type for "shorts" or use existing "article" type?

3 replies
Last updated: Jan 18, 2026
seeking opinions.
i have a blog, basically a travel journal. I have all the posts in a document type of
article
and am considering adding a new type of content. i'm essentially calling them
shorts
and they are mainly quick thoughts, almost like a tweet. for now i see them in three buckets, general, coffee and cocktails.
my question is .. would you make a new document type of
short
or would it be better to keep them inside the
article
type?
i don't really want them flowing in with the rest of the blog content, and would likely always query them separately ... which is why i am considering a new document type. but then part of me feels like i'm over complicating it and should just continue to use the
article
type.
thoughts? opinions? tia
AI Update

Based on your description, I'd recommend creating a separate short document type. Here's why your instinct is right:

Separate document types make sense when:

  • Content has different purposes and presentation (travel articles vs. quick thoughts)
  • You'll query them separately (which you mentioned)
  • They have different fields/structure (shorts probably don't need all the fields articles have)
  • You want to manage them differently in the Studio

Practical benefits for your use case:

  1. Cleaner queries - You can do *[_type == "short"] without filtering out articles every time
  2. Different schemas - Shorts probably don't need a hero image, long body text, or other article fields. Keep them lightweight with just what you need (text, category, date)
  3. Better Studio experience - You can create separate desk structure sections, different preview layouts, or even custom input components specific to shorts
  4. Future flexibility - If you want to add features specific to shorts (like a character limit, different publishing workflow, or special formatting), it's much easier with separate types

Simple implementation:

// schemas/short.js
export default {
  name: 'short',
  type: 'document',
  title: 'Short',
  fields: [
    {
      name: 'text',
      type: 'text',
      title: 'Text',
      validation: Rule => Rule.required().max(280)
    },
    {
      name: 'category',
      type: 'string',
      options: {
        list: [
          {title: 'General', value: 'general'},
          {title: 'Coffee', value: 'coffee'},
          {title: 'Cocktails', value: 'cocktails'}
        ]
      }
    }
  ]
}

You're not overcomplicating it—you're modeling your content appropriately. Different content types deserve different document types. This is exactly what Sanity's flexible schema system is designed for.

The rule of thumb: if you find yourself constantly filtering one type of content out from another, or if they serve different purposes, split them into separate document types. In your case, since you'll "always query them separately" and don't want them "flowing in with the rest of the blog content," that's a clear signal that separate types are the right choice.

Show original thread
3 replies

Sanity – Build the way you think, not the way your CMS thinks

Sanity is the developer-first content operating system that gives you complete control. Schema-as-code, GROQ queries, and real-time APIs mean no more workarounds or waiting for deployments. Free to start, scale as you grow.

Was this answer helpful?