Create and manage custom object types
How to add structured content types to your SGEN site
Custom Object types let you create a named, structured content type — like "Case Studies," "Properties," or "Team Members" — that lives alongside your blog and pages but stays separate from them. Each type gets its own admin panel, its own archive page, its own URL structure, and its own SEO settings. You define the type once; then your team creates and manages individual entries under it, the same way they manage blog posts.
What is this for?
A Custom Object type is SGEN's answer to the question "I need content that doesn't fit neatly into a page or a blog post." It is a schema definition — you are naming a new category of content and telling SGEN how to display it. Once created, every object of that type (a single "Case Study," a single "Property," a single "Team Member") is managed from the type's own dedicated admin list.
Use Custom Objects when:
- The content needs its own archive page separate from the blog.
- The content benefits from its own URL prefix (e.g.
/case-studies/). - The content will use Custom Fields that don't make sense on pages or posts.
- You need different SEO defaults per content category.
Good use cases
Example 1: Case Studies for an agency site. A digital agency wants to showcase client work in a /case-studies/ section with its own archive page and custom fields for client name, industry, and project duration. The admin creates a "Case Studies" Custom Object type, sets the permalink structure to Post-name, picks an Archive template and a Single-entry template, then hits "Create Item." The new type immediately appears in the admin sidebar.
Custom Objects
| Type name | Slug | Items | Status | |
|---|---|---|---|---|
| Case StudiesEdit|Trash | case-studies | 12 | Published | |
| PropertiesEdit|Trash | properties | 47 | Published | |
| Team MembersEdit|Trash | team-members | 8 | Published | |
| RecipesEdit|Trash | recipes | 0 | Draft |
The Custom Objects list view shows all registered types, their slugs, item counts, and publish status. A "Draft" type is saved but not publicly accessible until you publish it.
Example 2: Properties for a real-estate site. A real-estate firm needs a /properties/ archive with each property on a dedicated URL. They create a "Properties" type, choose the Post-name permalink structure, and assign their existing SG-Builder property-detail template as the Single template. After saving, they navigate to the new Properties panel in the sidebar and start adding listings — each with Custom Fields attached to the Properties type for bedrooms, bathrooms, and price.
The URL structure the admin chose renders each property at:
https://yoursite.com/properties/3-bed-riverside-penthouse/The archive page (all properties) renders at:
https://yoursite.com/properties/Both URLs are live as soon as the first property entry is published. No extra routing configuration is needed.
Example 3: Putting a type into Draft while the template is being built. A content team creates a "Recipes" type but the designer is still building the template in SG-Builder. Setting status to Draft saves the type configuration so it appears in the admin sidebar for content entry, but the archive and single URLs return a 404 to public visitors until the type is published. The team can pre-load recipes while the template work is ongoing.
What NOT to use this for
- Products that go in a cart. Custom Objects have no price, inventory, or checkout integration. Use SGEN Ecommerce / Products for anything customers will buy.
- One-off landing pages. If you need a single page with a specific URL, use Pages — there is no benefit to creating a Custom Object type for a single entry.
- Site-wide blog posts. The built-in Blog content type already handles posts with categories, authors, and comments. Creating a duplicate Custom Object type for "Articles" adds complexity without benefit.
- Form submissions or contact records. Use SGEN Forms. Custom Objects have no submission-capture surface.
How this connects to other features
- Templates (SG-Builder) — Single, Archive, and Loop-Item template selectors on the Create form pull from your SG-Builder templates list. Build your templates first, then create the Custom Object type and assign them.
- Custom Fields — After you create a Custom Object type, you can attach Custom Field groups to it in the Custom Fields area. Those fields then appear on every object entry's edit screen.
- SEO — Each Custom Object type gets its own SEO settings panel (under SEO in the admin) once created. Per-type SEO defaults (title format, meta description template) are managed there.
- Pages — Use Pages for standalone content. Custom Objects are for collections — multiple entries of the same structured type.
Before you start
- Have at least one SG-Builder template ready to assign as the Single and Archive template. If no templates exist, the dropdowns show "No templates available" and you will need to assign templates later by editing the type.
- Decide on the slug before creating the type. The slug becomes the public URL prefix for every entry (
/your-slug/entry-name/). Changing the slug after entries are created will break existing URLs. - Plan the permalink structure up front —
Post-nameis the most URL-friendly choice for most use cases.
Where to go
- In the SGEN admin sidebar, navigate to Custom Objects.
- Click Add New (or the + Create Type button at the top of the list).
Steps
1. Name and slug the type
Enter a descriptive title in the Title field (for example: "Case Studies"). The slug field below it auto-populates as you type — it will become the URL prefix for entries of this type. Review the slug before saving. If you need to change it, click the slug field and edit it directly.
Create new object
2. Set the Configuration panel
In the Configuration card, set Items per page (default: 12) and Items per row (default: 4). These numbers control how the archive and loop templates paginate and lay out entries. Your template's grid component must be compatible — if your template shows a fixed 3-column grid, set items-per-row to 3.
3. Assign templates
In the Templates card, choose:
- Single template — renders one individual entry (the "detail" view).
- Archive template — renders the full list at
/your-slug/. - Loop-Item template — renders one card when the type is embedded as a loop block on another page.
If the dropdown is empty, no SG-Builder templates exist yet. Save the type as Draft first, build templates in SG-Builder, then return to this form and assign them.
4. Choose the permalink structure
In the Permalink Structure card, select one of the four radio options. The label shows a live preview of the URL using the slug you entered in step 1. Post-name (/case-studies/entry-title/) is the recommended choice — it produces the shortest, most readable URLs and is neutral to date-based changes.
5. (Optional) Add per-type Header / Footer Scripts
In the Advanced card, the Header Scripts and Footer Scripts boxes accept any HTML — including <template data-safe="script" data-attrs=""></code> tags, <code><link></code> tags, or <code><style></code> blocks. Content placed here renders on every public page of this type only, not site-wide. Use this for type-specific analytics snippets or stylesheets that should not apply globally.</p>
<pre><code class="language-html"><!-- Example: type-specific structured data for Case Studies -->
<script type="application/ld+json">
{ "@context": "https://schema.org", "@type": "Article", "publisher": { "@type": "Organization", "name": "Acme Agency" }
}
</template>
This block would go in the Header Scripts box. It renders inside <head> on every Case Study single-entry page.
6. Set SEO defaults for the type
In the SEO card, set the default title format, meta description, canonical URL pattern, and search-engine visibility for this object type. These defaults apply to every entry of this type unless you override them on the individual entry.
7. Set status and save
Set Status to Publish if the type and its templates are ready for public visitors. Set Draft if you want the type available in the admin for content entry but not yet live on the public site.
Click Create Item. SGEN saves the type and redirects to the edit form so you can review all settings.
The complete flow
The form contains six cards stacked vertically: Title/Slug at the top, then Configuration, Templates, Permalink Structure, Advanced, and SEO. The sidebar shows a Status dropdown and the Submit button. All six cards are visible on a single scroll — there are no tabs.
What success looks like
After clicking Create Item:
- The admin redirects to the Edit form for the newly created type.
- The type's name appears in the admin sidebar as a new menu item.
- Navigating to
/your-slug/on the public site loads the Archive template (if status is Published and a template is assigned). If no template is assigned, the archive renders blank or falls back to a default layout. - Navigating to
/your-slug/any-entry-name/loads the Single template (once at least one entry is published under this type).
What to do if it does not work
- The sidebar does not show the new type after saving — reload the admin page. The sidebar is cached in the session; a full reload picks up the new item.
- The archive URL shows a 404 — confirm the type status is Publish (not Draft), and that the site is not in maintenance mode. If the type was just created, allow up to 30 seconds for server-side route registration.
- The template dropdowns were empty and you saved without assigning templates — edit the type (click its name in the Custom Objects list), then assign the templates once they are built in SG-Builder.
- Public entry URLs are broken after changing the slug — the old URLs no longer route to the new slug. Create a Redirect rule for each old URL in the Redirects area.
Next step
After creating the type, the next step is to create entries under it. Open the new type from the admin sidebar and click Add New to create the first entry. If you have Custom Fields configured for this type, those fields appear on the entry edit screen.
Last updated: 2026-04-23
