Skip to content

SEO Title and Description Templates (Replace Variables)

Templates let you define a consistent structure for SEO titles and descriptions across your site. Instead of manually entering titles for every post, use replace variables like %title%, %sitename%, and %sep% to auto-generate them from your content.

Go to SEOvault AI > General > Homepage/Templates. The template section includes:

  • Enable Templates: Toggle to turn template-based generation on or off
  • Title Separator: Character used between title parts (default: -)
  • Title Template: Pattern for auto-generated SEO titles
  • Description Template: Pattern for auto-generated meta descriptions

When you enable templates, SEOvault AI applies them to posts and pages that don’t have a custom SEO title or description set in the editor. The template system uses replace variables—placeholders that get swapped with actual content when the page loads.

Example title template:

%title% %sep% %sitename%

Output for a post titled “Best Coffee Tips”:

Best Coffee Tips - Joe's Coffee Shop

Example description template:

%excerpt%

Output:

Learn the best tips for brewing perfect coffee at home with our expert guide.

The Enable Templates checkbox controls whether templates apply automatically:

  • Enabled: Posts without custom SEO data use templates. This is the default behavior.
  • Disabled: Posts use raw post titles and auto-generated descriptions from content. Templates are ignored.

Disable templates if you prefer complete manual control over every post’s SEO data, or if you use another plugin for title generation.

The Title Separator field sets the character used by the %sep% variable. Common choices:

  • - (hyphen, default)
  • | (pipe)
  • (em dash)
  • » (right angle quote)

The separator appears between title parts in your template. Change it to match your brand’s style.

The title template defines the structure of auto-generated SEO titles. The default is:

%title% %sep% %sitename%

This produces: Post Title - Site Name

Brand-first:

%sitename% %sep% %title%

Output: Joe's Coffee Shop - Best Coffee Tips

With category:

%title% %sep% %category% %sep% %sitename%

Output: Best Coffee Tips - Guides - Joe's Coffee Shop

Simple title only:

%title%

Output: Best Coffee Tips

With focus keyword:

%focuskw% %sep% %title% %sep% %sitename%

Output: Coffee Brewing - Best Coffee Tips - Joe's Coffee Shop

The description template defines the structure of auto-generated meta descriptions. The default is:

%excerpt%

This uses the post excerpt, or auto-generates one from content if the excerpt is empty.

With category context:

%excerpt% Browse our %category% collection for more %tag% content.

With author:

By %name%: %excerpt%

Custom field integration:

%excerpt% Price: %customfield(price)%
Variable Description Example
%sep% Title separator character -
%sitename% Site name from WordPress settings Joe's Coffee Shop
%sitedesc% Site tagline from WordPress settings Best coffee since 2010
%currentdate% Current server date January 15, 2025
%currentday% Current day of month 15
%currentmonth% Current month name January
%currentyear% Current year 2025
%currenttime% Current server time 3:45 PM
%search_query% Search query (on search results only) coffee beans
Variable Description Example
%title% Post title Best Coffee Tips
%parent_title% Parent page title (for hierarchical pages) Coffee Guides
%excerpt% Post excerpt (auto-generated if empty) Learn the best tips...
%excerpt_only% Post excerpt without auto-generation Learn the best tips...
%seo_title% Custom SEO title if set, otherwise post title Best Coffee Tips
%seo_description% Custom SEO description if set, otherwise excerpt Learn the best tips...
%url% Post permalink https://example.com/best-coffee-tips
%post_thumbnail% Featured image URL https://example.com/image.jpg
%date% Publication date January 15, 2025
%modified% Last modification date January 20, 2025
%category% First category assigned to post Guides
%categories% All categories (comma-separated) Guides, Tips
%tag% First tag assigned to post brewing
%tags% All tags (comma-separated) brewing, beans, equipment
Variable Description Example
%term% Current term name (on taxonomy archives) Coffee Equipment
%term_description% Current term description All coffee brewing equipment reviews
%customterm(taxonomy) Custom term from specific taxonomy %customterm(product_cat)
%customterm_desc(taxonomy) Custom term description from specific taxonomy %customterm_desc(product_cat)
Variable Description Example
%userid% Author user ID 5
%name% Author display name Jane Smith
%post_author% Author display name (same as %name%) Jane Smith
%user_description% Author biographical info Coffee enthusiast and barista
Variable Description Example
%id% Post ID 123
%focuskw% Focus keyword set in editor coffee brewing
%keywords% All focus keywords (comma-separated) coffee, brewing, tips
%customfield(field-name) Value from a custom field %customfield(price)
%page% Page number with context (page 2 of 4) - Page 2 of 4
%pagenumber% Current page number 2
%pagetotal% Total number of pages 4
%pt_single% Post type singular name Post
%pt_plural% Post type plural name Posts
%filename% Image filename (for Image SEO) coffee-cup

Some variables accept arguments for customization:

Date with custom format:

%date(F jS, Y)

Output: January 15th, 2025

Time with custom format:

%currenttime(g:i A)

Output: 3:45 PM

Custom field by name:

%customfield(price)

Output: $19.99

Custom term by taxonomy:

%customterm(product_cat)

Output: Coffee Equipment

If you use Manual output mode, templates still work for posts without custom SEO data. However, no auto-generation occurs if you leave both the template field and the custom SEO field empty.

When you migrate from Yoast, Rank Math, AIOSEO, or another SEO plugin, SEOvault AI imports your title and description templates automatically. The migration converts the old plugin’s variable syntax to SEOvault AI’s %variable% format.

  • Empty templates: If you leave a template field empty, the default applies (%title% %sep% %sitename% for titles, %excerpt% for descriptions)
  • Trailing separator: SEOvault AI automatically strips trailing %sep% to avoid titles like Post Title -
  • Duplicate separators: Consecutive separators collapse into one to prevent Post Title - - Site Name
  • Variable availability: Some variables only work in specific contexts (e.g., %search_query% only on search results pages)
  • Custom fields: Use %customfield(field-name) to pull values from ACF, custom post meta, or other field plugins
  • Character limits: The SERP preview in the editor shows how your template output will appear in search results