Initial commit — SEO Guidelines & SmartCrawl reference

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>
This commit is contained in:
2026-04-17 13:32:17 -05:00
commit 6eff12e8ac
21 changed files with 3301 additions and 0 deletions
+190
View File
@@ -0,0 +1,190 @@
# 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.**