Loading tutorials…
Loading tutorials…
Title tags and meta descriptions drive your CTR in the SERP. Yoast templates use variables (%%title%%, %%sitename%%, %%excerpt%%) to set defaults at scale — but defaults are only as good as the patterns you choose. This is the per-content-type setup that works for most sites.
Who this is forWordPress site owners with Yoast SEO installed and the first-time wizard complete, now ready to configure title and meta templates per content type (posts, pages, products, services). Also for anyone migrating from RankMath/AIOSEO and noticing template syntax differences.
What you'll need
Step 1
List every content type on your site (posts, pages, products, services, custom post types). Decide the title/meta pattern for each before editing.
WordPress sites usually have: Posts, Pages, plus zero or more custom post types (Products if WooCommerce, Services, Listings, Portfolio, Case Studies, etc).
For each content type, decide: (a) is this content type indexable? (b) what title pattern fits its purpose? (c) what meta description pattern fits?
Posts (blog articles): %%title%% %%sep%% %%sitename%% — readable, click-worthy, brand at the end.
Pages (About, Services, Contact): %%title%% %%sep%% %%sitename%% — same pattern. Pages rarely need a different template than posts.
Products (WooCommerce): %%title%% — %%price%% %%sep%% %%sitename%% — price in title boosts CTR for commerce queries.
Custom post types: vary. Case Studies → Case Study: %%title%% %%sep%% %%sitename%%. Services → %%title%% Services in %%sep%% %%sitename%%.
Write your map in a doc before opening Yoast. Editing in-place without a plan produces inconsistent patterns.
Step 2
Yoast SEO → Settings → Content Types → Posts. Set SEO title and Meta description templates. Repeat for Pages.
WordPress Admin → Yoast SEO → Settings → Content Types → Posts.
SEO title template: %%title%% %%page%% %%sep%% %%sitename%% — the %%page%% variable adds "Page 2 of 5" to paginated posts. Drop it if you do not paginate.
Meta description template: %%excerpt%% — Yoast pulls the post excerpt. If a post has no excerpt, Yoast auto-generates from the first 156 characters of body content. This beats Google auto-snippet which is less controllable.
Show Posts in search results: YES.
SEO settings → Single posts → leave most defaults. The 'Date in snippet preview' toggle adds the post date to the SERP — useful for news/blog, distracting for evergreen content.
Click Save. Repeat for Pages with the same SEO title template. Pages usually do not have excerpts so leave meta description template empty and write meta descriptions manually per page.
Step 3
Yoast SEO → Settings → Categories & Tags. Decide whether each archive type is indexed; set templates accordingly.
WordPress Admin → Yoast SEO → Settings → Categories & Tags → Categories.
Show Categories in search results: YES if categories have unique value (curated landing pages with intro copy). NO if categories are auto-generated post lists.
SEO title template: %%term_title%% Archives %%sep%% %%sitename%% — or for higher CTR, write a custom title per category manually.
Meta description template: %%term_description%% — this pulls the category description you write in Posts → Categories → Edit. Without a written description, the field stays empty and Google generates a snippet.
Tags: Show Tags in search results → NO for most sites (see the first-time setup tutorial). If YES, use the same pattern.
Format: NO almost always — format archives (Aside, Gallery, Quote) are rarely useful and duplicate post content.
Step 4
Yoast SEO → Settings → Content Types. Configure each registered custom post type with its own template.
Custom post types appear automatically in Yoast SEO → Settings → Content Types once they are registered (via WooCommerce, ACF, CPT UI, or theme code).
WooCommerce Products: SEO title template: %%title%% %%sep%% %%sitename%% works. Some stores prefer %%title%% %%sep%% Buy %%sep%% %%sitename%%. Meta description template: %%excerpt%% (uses the WooCommerce short description).
Services / Case Studies / Listings: pick a pattern that signals the content type. Services: %%title%% Services %%sep%% %%sitename%% — boosts SERP recognition for "service" queries.
If you do not see a custom post type in the list, it was registered without public visibility (public: false) — talk to your developer about exposing it.
For custom taxonomies (Product categories in WooCommerce, custom tags), Yoast SEO → Settings → Categories & Tags exposes them with the same controls as Categories.
Step 5
Yoast SEO → Settings → Archives. Configure or noindex author, date, search-results, and 404 pages.
WordPress Admin → Yoast SEO → Settings → Archives.
Author archives: Show in search results → NO for single-author sites. YES with template %%name%% %%sep%% %%sitename%% for multi-author publications.
Date archives: Show in search results → NO almost always. Date archives create duplicate content and have zero search demand.
Special pages → Search pages: SEO title template: You searched for %%searchphrase%% %%sep%% %%sitename%%. Show in search results → NO (search-results pages should never be indexed).
Special pages → 404 pages: SEO title template: Page not found %%sep%% %%sitename%%. Yoast automatically noindexes 404 pages — confirm this.
Step 6
Pick 5-10 random posts, pages, and category archives. View Source. Confirm titles and meta descriptions match the templates.
Pick at least 10 URLs covering every content type you configured: 3 blog posts, 2 pages, 1 category archive, 1 WooCommerce product (if applicable), 1 tag archive (if indexed), 1 author archive (if multi-author).
For each URL: open in a private window → View Source → search for <title> and <meta name="description">.
Confirm the title follows your template. If you see literal %%title%% in the output, the variable did not resolve — usually a Yoast version mismatch or migration leftover.
Confirm the meta description matches the excerpt or your manual override. Empty meta description means template fell back to nothing — usually no excerpt was set on the post.
Spreadsheet check: log each URL, expected title, actual title, expected meta, actual meta. Any mismatch → return to the relevant Settings step.
Step 7
For your top 20-50 pages by traffic, write manual title tags and meta descriptions in the Yoast sidebar — do not rely on templates.
Templates are for scale. Your top 20-50 pages — the ones driving most of your organic traffic — should have hand-written, CTR-optimized titles and meta descriptions.
Open each top page in the WordPress editor. Scroll to the Yoast SEO sidebar. The SEO title and Meta description fields show the current rendered value (from template + variables).
Click the SEO title field and write a manual title. Use the green/orange/red length indicator — stay under 60 characters mobile to avoid SERP truncation.
Click the Meta description field and write 140-155 characters that include the primary keyword and a clear value proposition. Use power words: 'how to,' 'guide,' 'compared,' 'best,' '2026.'
Pull your top 20-50 pages by clicks from Google Search Console → Performance → Pages. These are the highest-leverage pages to manually optimize.
Common mistakes
Using brand name first in the title template
What goes wrong: Mobile SERPs truncate titles at ~30-35 characters. With "Acme Blog | How to Set Up Yoast" the user sees only "Acme Blog | How to..." — the actual topic of the page is hidden. CTR drops 15-30% versus the title-first version.
How to avoid: Always %%title%% %%sep%% %%sitename%% (title first). Brand recognition still happens via favicon and domain shown in the SERP.
Leaving meta description template empty for content types with no excerpts
What goes wrong: Pages, products, and custom post types often have no excerpt. With an empty template, Yoast outputs no meta description. Google auto-generates a snippet from body content — sometimes lifting boilerplate (cookie notice, footer text) instead of the value proposition.
How to avoid: For content types without excerpts, write meta descriptions manually per item — or set a template using %%title%% — short description fallback like 'Learn about %%title%% on %%sitename%%.'
Identical title templates across content types
What goes wrong: All posts, pages, and products use %%title%% %%sep%% %%sitename%%. Service pages, blog posts, and products all look the same in the SERP. Users cannot tell content type at a glance. CTR for commercial intent queries suffers.
How to avoid: Differentiate by content type. Posts: %%title%% %%sep%% %%sitename%%. Products: %%title%% %%sep%% Buy at %%sitename%%. Services: %%title%% Services %%sep%% %%sitename%%.
Not migrating template variables correctly from RankMath/AIOSEO
What goes wrong: RankMath uses %title% (single percent). AIOSEO uses %post_title%. Yoast uses %%title%% (double percent). After migration, literal %title% strings appear in title tags on the live site. Every page CTR drops to zero on those queries.
How to avoid: View Source on 10 random pages right after migration. Search for any literal '%' symbol. If found, regenerate Yoast templates manually — do not rely on auto-import.
Setting too-long title templates that always truncate
What goes wrong: Templates like %%title%% — The Ultimate Guide on %%sitename%% (Updated %%currentyear%%) consistently produce titles over 70 characters. Google truncates with ellipsis. The truncation point hides keywords or value props.
How to avoid: Aim for titles under 60 characters mobile, 70 desktop. The Yoast sidebar SEO title field has a colored length indicator — keep it green or just into orange.
Never overriding templates on top pages
What goes wrong: Your top 20 pages drive 70-80% of organic traffic. Template-generated titles are 'good enough' but not optimized. Manually-written titles on top pages typically lift CTR 20-40% — a measurable revenue gain you forfeit by relying on templates.
How to avoid: GSC → Performance → Pages. Sort by clicks desc. Take top 20-50. Open each in WordPress and write manual titles and meta descriptions in the Yoast sidebar. Re-check CTR after 30 days.
Recap
Done — what's next
How to configure Yoast SEO with the first-time configuration wizard
Read the next tutorial
Hand it off
Templates set the floor for your SERP appearance. Manual overrides on top pages set the ceiling. A vetted technical SEO specialist pulls your top pages from GSC, writes optimized titles and meta descriptions, A/B tests where possible, and reports CTR lift — typically $80-200 total at $14-16/hr.
See specialist rates
Common: %%title%%, %%sitename%%, %%sep%%, %%page%%, %%excerpt%%, %%category%%, %%tag%%, %%currentdate%%, %%currentyear%%, %%searchphrase%%, %%term_title%%, %%term_description%%. WooCommerce adds %%price%%, %%sku%%, %%category_description%%. Full list: Yoast SEO → Settings → Content Types → click the variable helper icon next to the field.
For evergreen content with annual revisits (best-X-2026 articles), yes — but write it manually per post, not in the template. Hardcoding %%currentyear%% in the template causes silent rollover on Jan 1 where every title suddenly says 2027 even on outdated content.
Google rewrites about 60% of title tags as of 2024-2026, ignoring your manually-set title. Most common rewrite triggers: title too long, title not matching page H1, title stuffed with keywords. Fix: shorten title, align with H1, remove keyword stuffing. Yoast does what it can — the SERP decision is Google's.
Use %%page%% in the title template: %%title%% %%page%% %%sep%% %%sitename%%. Yoast outputs "Post Title Page 2 of 5 | Brand" automatically. For category archives with pagination, the same variable works.
Yoast SEO → Settings → Site representation → Title separator lets you pick from |, -, –, →, etc. Pipe is most common. Em-dash (—) looks editorial. Arrow (→) feels more modern. No SEO impact — pick what fits your brand.
Yoast SEO
Yoast's first-time configuration wizard is six clicks long and quietly makes 30+ decisions about how your site appears in search. Most owners rush it and ship the wrong indexing defaults, wrong schema type, and wrong social profile links. This is the slow version.
Yoast SEO
Yoast outputs JSON-LD schema by default — Organization, WebSite, BreadcrumbList, Article, WebPage. But the defaults assume a one-author blog. Multi-author sites, e-commerce, local businesses, and publishers need configuration to get the schema Google actually rewards with rich results.
Yoast SEO
Yoast generates a multi-file sitemap_index.xml automatically — but the default output usually includes content you do not want indexed and excludes content you do. This is the audit + submit workflow that produces a sitemap Google actually trusts.
Google Search Console
Your fastest SEO wins are already in GSC — you're just looking at the wrong report. This walks through the exact filter sequence specialists use to find pages and queries that need 1-2 weeks of work, not 6 months.
Yoast SEO
Most WordPress site owners can install and configure Yoast themselves. But some scenarios — migrations, schema deep-debugging, 5+ year old sites with technical debt — burn more DIY time than the specialist would cost. This is the honest signals list.