6eff12e8ac
SmartCrawl plugin reference (11 docs): - Overview, configuration, titles & meta, schema, sitemaps, social/OG, redirects, breadcrumbs, content analysis, hooks/filters, known issues SEO strategy playbook (6 docs): - Keyword research, per-page-type selection, on-page optimization, local SEO, technical SEO, content strategy Reusable templates (3): - Site audit checklist, keyword research worksheet, page optimization checklist Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
191 lines
6.4 KiB
Markdown
191 lines
6.4 KiB
Markdown
# Titles & Meta Descriptions
|
|
|
|
SmartCrawl's Titles & Meta module controls how every page on your site appears in search results and browser tabs. It uses a macro/variable system for global templates with per-post overrides.
|
|
|
|
## Template Macros
|
|
|
|
SmartCrawl uses `%%variable%%` syntax. The full list is accessible via the **"Browse Macros"** button in the Titles & Meta admin screen.
|
|
|
|
### Core Macros
|
|
|
|
| Macro | Output |
|
|
|-------|--------|
|
|
| `%%title%%` | Post/page title |
|
|
| `%%sitename%%` | Site name (from Settings > General) |
|
|
| `%%sep%%` | Separator character (configurable) |
|
|
| `%%excerpt%%` | Post excerpt (auto-generated if not set) |
|
|
| `%%excerpt_only%%` | Excerpt only — no auto-generation fallback |
|
|
| `%%category%%` | Post primary category |
|
|
| `%%tag%%` | Post tags |
|
|
| `%%term_title%%` | Term/taxonomy title |
|
|
| `%%term_description%%` | Term description |
|
|
|
|
### Date & Time Macros
|
|
|
|
| Macro | Output |
|
|
|-------|--------|
|
|
| `%%date%%` | Post published date |
|
|
| `%%modified%%` | Post last modified date |
|
|
| `%%currenttime%%` | Current time |
|
|
| `%%currentdate%%` | Current date |
|
|
| `%%currentday%%` | Current day |
|
|
| `%%currentmonth%%` | Current month |
|
|
| `%%currentyear%%` | Current year |
|
|
|
|
### Pagination Macros
|
|
|
|
| Macro | Output |
|
|
|-------|--------|
|
|
| `%%page%%` | Page number |
|
|
| `%%pagenumber%%` | Current page number |
|
|
| `%%pagetotal%%` | Total pages |
|
|
| `%%spell_pagenumber%%` | Page number in words ("Page Two of Five") |
|
|
| `%%spell_pagetotal%%` | Total pages in words |
|
|
|
|
### Author & Post Macros
|
|
|
|
| Macro | Output |
|
|
|-------|--------|
|
|
| `%%name%%` | Author display name |
|
|
| `%%userid%%` | Author user ID |
|
|
| `%%id%%` | Post ID |
|
|
| `%%pt_single%%` | Post type singular name |
|
|
| `%%pt_plural%%` | Post type plural name |
|
|
|
|
### Special Macros
|
|
|
|
| Macro | Output |
|
|
|-------|--------|
|
|
| `%%searchphrase%%` | Search query (for search results page) |
|
|
| Custom field macros | Supported with uppercase (v3.11.0+) |
|
|
|
|
> Additional "dynamic macros" exist for edge cases that do not appear in the Browse Macros list. These are documented in the WPMU DEV support forums.
|
|
|
|
## Global vs Per-Post Settings
|
|
|
|
| Level | Scope | How It Works |
|
|
|-------|-------|-------------|
|
|
| **Global template** | Per post type, per taxonomy, archives, special pages | Set once, applies everywhere via macros |
|
|
| **Per-post override** | Individual post/page | Entered in the SmartCrawl meta box in the editor — overrides the global template |
|
|
|
|
### When to Use Each
|
|
|
|
- **Global template:** Set it and forget it. Works well for blogs, archives, and consistent content types.
|
|
- **Per-post override:** Use for every important page. Homepage, service pages, key landing pages, and high-value blog posts should all have hand-crafted titles and descriptions.
|
|
|
|
## Recommended Title Templates
|
|
|
|
### Homepage
|
|
```
|
|
%%sitename%% %%sep%% [Your primary value proposition]
|
|
```
|
|
Example output: `Alaska Safe Riders | Motorcycle Safety Courses in Anchorage, AK`
|
|
|
|
### Posts (Blog)
|
|
```
|
|
%%title%% %%sep%% %%sitename%%
|
|
```
|
|
Example output: `What to Wear to a Motorcycle Safety Course | Alaska Safe Riders`
|
|
|
|
### Pages
|
|
```
|
|
%%title%% %%sep%% %%sitename%%
|
|
```
|
|
Override per-page for service pages with keyword-optimized titles.
|
|
|
|
### Categories
|
|
```
|
|
%%term_title%% %%sep%% %%sitename%%
|
|
```
|
|
|
|
### Author Archives
|
|
```
|
|
Posts by %%name%% %%sep%% %%sitename%%
|
|
```
|
|
(Consider noindexing author archives on single-author sites)
|
|
|
|
### Search Results
|
|
```
|
|
Search Results for "%%searchphrase%%" %%sep%% %%sitename%%
|
|
```
|
|
(Always noindex search results pages)
|
|
|
|
### 404 Page
|
|
```
|
|
Page Not Found %%sep%% %%sitename%%
|
|
```
|
|
|
|
## Title Tag Best Practices
|
|
|
|
- **Length:** 50-60 characters (Google truncates at ~580px pixel width)
|
|
- **Primary keyword placement:** As close to the beginning as possible
|
|
- **Every page must have a unique title** — duplicates confuse Google
|
|
- **Include brand name** at the end (builds brand recognition in SERPs)
|
|
- **Do not keyword-stuff** — one primary keyword is enough
|
|
- **Use power words for CTR:** "Best", "Guide", "Free", numbers, parentheses
|
|
|
|
### Good vs Bad Examples
|
|
|
|
| Bad | Good |
|
|
|-----|------|
|
|
| `Home - My Website` | `Motorcycle Safety Courses Anchorage, AK \| Alaska Safe Riders` |
|
|
| `Services` | `Event Management & Roster Tracking \| ASR Events Manager` |
|
|
| `Blog Post Title Here \| Category \| Website Name` | `What to Expect at a Basic Rider Course \| Alaska Safe Riders` |
|
|
|
|
## Meta Description Best Practices
|
|
|
|
- **Length:** 150-160 characters (Google truncates unpredictably above this)
|
|
- **Include primary keyword** naturally (Google bolds matching terms)
|
|
- **Include a call to action:** "Register today", "Learn more", "Contact us"
|
|
- **Include differentiators:** Pricing, location, certifications, experience
|
|
- **Hand-craft descriptions** for important pages — auto-generated ones rarely perform well
|
|
- **Google rewrites ~60% of meta descriptions** but good ones are kept and improve CTR
|
|
|
|
### Quality Indicators in SmartCrawl
|
|
|
|
SmartCrawl's SEO status column on post/page lists uses color-coded indicators:
|
|
|
|
| Color | Meaning |
|
|
|-------|---------|
|
|
| Green | Description is 120-160 characters, hand-crafted |
|
|
| Yellow | Description exists but is outside optimal range or auto-generated |
|
|
| Red | No description set |
|
|
|
|
## Separator Character
|
|
|
|
Set in Titles & Meta > General. Common choices:
|
|
|
|
| Separator | Look |
|
|
|-----------|------|
|
|
| `\|` (pipe) | `Page Title \| Site Name` |
|
|
| `—` (em dash) | `Page Title — Site Name` |
|
|
| `-` (hyphen) | `Page Title - Site Name` |
|
|
| `»` | `Page Title » Site Name` |
|
|
|
|
**Recommendation:** Use `|` or `—` for a clean, modern appearance.
|
|
|
|
## Noindex Recommendations
|
|
|
|
Set these in the Titles & Meta module per post type/taxonomy:
|
|
|
|
| Content Type | Recommendation | Reason |
|
|
|--------------|---------------|--------|
|
|
| Tag archives | Noindex | Usually thin content, duplicate of category archives |
|
|
| Author archives | Noindex (single-author sites) | Duplicate of main blog page |
|
|
| Date archives | Noindex | Thin content, duplicate |
|
|
| Search results | Noindex | Dynamic, no SEO value |
|
|
| Paginated archives | Noindex | Thin duplicate content |
|
|
| Media attachment pages | Noindex | Single image on a page, no value |
|
|
| Thank you pages | Noindex | No search value |
|
|
|
|
## Post Type Configuration
|
|
|
|
Check **Settings > Advanced > Post Types** to ensure all relevant content types are enabled:
|
|
|
|
- Posts and Pages (default)
|
|
- WooCommerce Products (if applicable)
|
|
- Portfolio items
|
|
- Any custom post types
|
|
|
|
**If a post type is not enabled, its pages will not appear in sitemaps and will not get SmartCrawl meta box in the editor.**
|