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:
@@ -0,0 +1,184 @@
|
||||
# Keyword Research Worksheet
|
||||
|
||||
Use this template to research and organize keywords for a specific site. Copy this file per site.
|
||||
|
||||
## Site Information
|
||||
|
||||
- **Site:**
|
||||
- **URL:**
|
||||
- **Business type:**
|
||||
- **Primary location(s):**
|
||||
- **Target audience:**
|
||||
- **Date:**
|
||||
|
||||
---
|
||||
|
||||
## 1. Seed Keywords
|
||||
|
||||
List everything the target audience might search for:
|
||||
|
||||
### Services / Products
|
||||
|
||||
| Service/Product | Seed Keywords |
|
||||
|----------------|---------------|
|
||||
| | |
|
||||
| | |
|
||||
| | |
|
||||
|
||||
### Problems / Questions
|
||||
|
||||
| Problem/Question | Seed Keywords |
|
||||
|-----------------|---------------|
|
||||
| | |
|
||||
| | |
|
||||
|
||||
### Location Variations
|
||||
|
||||
| Location | Format |
|
||||
|----------|--------|
|
||||
| City | `[service] [city]` |
|
||||
| State | `[service] [state]` |
|
||||
| Neighborhood | `[service] [neighborhood]` |
|
||||
| Region | `[service] [region]` |
|
||||
|
||||
---
|
||||
|
||||
## 2. Keyword Matrix (Local)
|
||||
|
||||
Fill in with Target / Assess / Skip for each intersection:
|
||||
|
||||
| Service ↓ \ Location → | [City 1] | [City 2] | [City 3] | [State] |
|
||||
|------------------------|----------|----------|----------|---------|
|
||||
| [Service 1] | | | | |
|
||||
| [Service 2] | | | | |
|
||||
| [Service 3] | | | | |
|
||||
|
||||
---
|
||||
|
||||
## 3. Expanded Keywords
|
||||
|
||||
After running seed keywords through tools (Google Autocomplete, PAA, Keyword Planner, Ubersuggest):
|
||||
|
||||
### Informational Keywords (Blog Content)
|
||||
|
||||
| Keyword | Est. Volume | Difficulty | Intent | Notes |
|
||||
|---------|------------|------------|--------|-------|
|
||||
| | | | Informational | |
|
||||
| | | | Informational | |
|
||||
| | | | Informational | |
|
||||
| | | | Informational | |
|
||||
| | | | Informational | |
|
||||
|
||||
### Commercial Keywords (Service/Comparison Pages)
|
||||
|
||||
| Keyword | Est. Volume | Difficulty | Intent | Notes |
|
||||
|---------|------------|------------|--------|-------|
|
||||
| | | | Commercial | |
|
||||
| | | | Commercial | |
|
||||
| | | | Commercial | |
|
||||
|
||||
### Transactional Keywords (Registration/Contact/Buy)
|
||||
|
||||
| Keyword | Est. Volume | Difficulty | Intent | Notes |
|
||||
|---------|------------|------------|--------|-------|
|
||||
| | | | Transactional | |
|
||||
| | | | Transactional | |
|
||||
| | | | Transactional | |
|
||||
|
||||
---
|
||||
|
||||
## 4. People Also Ask (PAA) Questions
|
||||
|
||||
From Google PAA results for your primary keywords:
|
||||
|
||||
| Question | Target Page | Priority |
|
||||
|----------|-------------|----------|
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
|
||||
---
|
||||
|
||||
## 5. Competitor Keywords
|
||||
|
||||
From reviewing competitor sites and sitemaps:
|
||||
|
||||
| Competitor | URL | Keywords They Target | Gap (We Don't Cover) |
|
||||
|-----------|-----|---------------------|---------------------|
|
||||
| | | | |
|
||||
| | | | |
|
||||
| | | | |
|
||||
|
||||
---
|
||||
|
||||
## 6. Search Console Data (Existing Sites Only)
|
||||
|
||||
### High-Impression Keywords (What Google Shows Us For)
|
||||
|
||||
| Query | Impressions | Clicks | CTR | Position | Page |
|
||||
|-------|------------|--------|-----|----------|------|
|
||||
| | | | | | |
|
||||
| | | | | | |
|
||||
| | | | | | |
|
||||
|
||||
### Striking Distance (Position 8-20)
|
||||
|
||||
| Query | Position | Page | Action |
|
||||
|-------|----------|------|--------|
|
||||
| | | | |
|
||||
| | | | |
|
||||
| | | | |
|
||||
|
||||
### High Impressions / Low CTR (Title/Description Fix)
|
||||
|
||||
| Query | Impressions | CTR | Page | Fix Needed |
|
||||
|-------|------------|-----|------|-----------|
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
|
||||
---
|
||||
|
||||
## 7. Keyword-to-Page Mapping
|
||||
|
||||
Assign one primary keyword per page:
|
||||
|
||||
| Page | Primary Keyword | Secondary Keywords (2-3) | Intent | Status |
|
||||
|------|----------------|-------------------------|--------|--------|
|
||||
| Homepage | | | Nav/Commercial | |
|
||||
| About | | | Navigational | |
|
||||
| Contact | | | Nav/Transactional | |
|
||||
| [Service 1] | | | Commercial | |
|
||||
| [Service 2] | | | Commercial | |
|
||||
| [Blog Post 1] | | | Informational | |
|
||||
| [Blog Post 2] | | | Informational | |
|
||||
|
||||
Status: Not Started / In Progress / Optimized / Monitoring
|
||||
|
||||
---
|
||||
|
||||
## 8. Content Gap — New Pages Needed
|
||||
|
||||
Keywords that don't have a natural home on existing pages:
|
||||
|
||||
| Keyword | Intent | Proposed Page | Priority |
|
||||
|---------|--------|--------------|----------|
|
||||
| | | | |
|
||||
| | | | |
|
||||
| | | | |
|
||||
|
||||
---
|
||||
|
||||
## 9. Seasonal Opportunities
|
||||
|
||||
| Season/Event | Keywords | Content Needed | Publish By |
|
||||
|-------------|----------|---------------|-----------|
|
||||
| | | | |
|
||||
| | | | |
|
||||
|
||||
---
|
||||
|
||||
## Notes
|
||||
|
||||
_Research observations, tool screenshots, or additional context:_
|
||||
@@ -0,0 +1,206 @@
|
||||
# Page Optimization Checklist
|
||||
|
||||
Use this template when optimizing an individual page. Copy per page.
|
||||
|
||||
## Page Information
|
||||
|
||||
- **Site:**
|
||||
- **Page URL:**
|
||||
- **Page type:** Homepage / Service / Blog / Portfolio / Contact / About / Landing
|
||||
- **Primary keyword:**
|
||||
- **Secondary keywords (2-3):**
|
||||
- **Search intent:** Informational / Navigational / Commercial / Transactional
|
||||
- **Date optimized:**
|
||||
|
||||
---
|
||||
|
||||
## SmartCrawl Setup
|
||||
|
||||
- [ ] Focus keyword set in SmartCrawl (primary)
|
||||
- [ ] Secondary keywords added (up to 3 total)
|
||||
- [ ] SEO analysis tab reviewed
|
||||
- [ ] Readability analysis tab reviewed
|
||||
- [ ] No keyword cannibalization (checked against other posts)
|
||||
|
||||
---
|
||||
|
||||
## Title Tag
|
||||
|
||||
- [ ] Contains primary keyword
|
||||
- [ ] Keyword near the beginning
|
||||
- [ ] Length: 50-60 characters
|
||||
- [ ] Unique (not used on any other page)
|
||||
- [ ] Includes brand name
|
||||
- [ ] Compelling for CTR (value prop, numbers, power words)
|
||||
|
||||
**Title tag:** `________________________________________`
|
||||
**Character count:** ____
|
||||
|
||||
---
|
||||
|
||||
## Meta Description
|
||||
|
||||
- [ ] Hand-crafted (not auto-generated)
|
||||
- [ ] Contains primary keyword
|
||||
- [ ] Length: 150-160 characters
|
||||
- [ ] Includes call to action
|
||||
- [ ] Includes differentiator (price, location, certification, etc.)
|
||||
- [ ] Compelling for CTR
|
||||
|
||||
**Meta description:** `________________________________________`
|
||||
**Character count:** ____
|
||||
|
||||
---
|
||||
|
||||
## Headings
|
||||
|
||||
- [ ] Exactly one H1 on the page
|
||||
- [ ] H1 contains primary keyword
|
||||
- [ ] H2s cover major sections (3-8 total)
|
||||
- [ ] At least one H2 contains a secondary keyword
|
||||
- [ ] H3s used for subsections where needed
|
||||
- [ ] No skipped levels (H1 → H2 → H3, not H1 → H3)
|
||||
|
||||
**H1:** `________________________________________`
|
||||
|
||||
**H2s:**
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
4.
|
||||
|
||||
---
|
||||
|
||||
## Content
|
||||
|
||||
- [ ] Primary keyword in first 100-200 words
|
||||
- [ ] Topic covered comprehensively (no obvious gaps vs top competitors)
|
||||
- [ ] Written for humans first, search engines second
|
||||
- [ ] Short paragraphs (2-4 sentences)
|
||||
- [ ] Uses lists, tables, or structured formatting where appropriate
|
||||
- [ ] Readability score: ____ (target 60-70 Flesch-Kincaid)
|
||||
- [ ] No keyword stuffing
|
||||
- [ ] Answers the searcher's question/need clearly
|
||||
|
||||
**Word count:** ____
|
||||
|
||||
---
|
||||
|
||||
## Images
|
||||
|
||||
- [ ] At least one image on the page
|
||||
- [ ] Primary image has alt text with keyword (where natural)
|
||||
- [ ] All images have descriptive alt text
|
||||
- [ ] Image file names are descriptive (not `IMG_4532.jpg`)
|
||||
- [ ] Images are optimized (WebP/compressed, explicit dimensions)
|
||||
- [ ] Below-fold images use lazy loading
|
||||
|
||||
**Images on page:** ____
|
||||
|
||||
---
|
||||
|
||||
## Internal Links
|
||||
|
||||
- [ ] Page links to 2-3+ other relevant pages on the site
|
||||
- [ ] 2-3+ other pages link to this page
|
||||
- [ ] Anchor text is descriptive (not "click here")
|
||||
- [ ] Links are contextually relevant
|
||||
|
||||
**Outgoing internal links:**
|
||||
1. `[anchor text]` → `[destination URL]`
|
||||
2. `[anchor text]` → `[destination URL]`
|
||||
3. `[anchor text]` → `[destination URL]`
|
||||
|
||||
**Incoming internal links from:**
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
---
|
||||
|
||||
## URL
|
||||
|
||||
- [ ] Short and descriptive
|
||||
- [ ] Contains primary keyword
|
||||
- [ ] Uses hyphens (not underscores)
|
||||
- [ ] Lowercase
|
||||
- [ ] No dates (unless truly time-bound)
|
||||
- [ ] No unnecessary parameters or IDs
|
||||
|
||||
**URL slug:** `/________________________________/`
|
||||
|
||||
---
|
||||
|
||||
## Open Graph / Social
|
||||
|
||||
- [ ] OG title set (or using SEO title as default)
|
||||
- [ ] OG description set
|
||||
- [ ] OG image set (1200x630px)
|
||||
- [ ] Twitter Card configured
|
||||
- [ ] Tested with Facebook Sharing Debugger
|
||||
|
||||
---
|
||||
|
||||
## Schema Markup
|
||||
|
||||
- [ ] Appropriate schema type applied
|
||||
- [ ] Schema validated at Google Rich Results Test
|
||||
- [ ] No errors or warnings
|
||||
|
||||
**Schema type:** ____
|
||||
|
||||
---
|
||||
|
||||
## Technical
|
||||
|
||||
- [ ] Page loads over HTTPS
|
||||
- [ ] Canonical tag present and correct
|
||||
- [ ] Not accidentally noindexed
|
||||
- [ ] Included in XML sitemap
|
||||
- [ ] Mobile-friendly
|
||||
- [ ] Page load time acceptable
|
||||
|
||||
---
|
||||
|
||||
## SmartCrawl Analysis Results
|
||||
|
||||
### SEO Checks
|
||||
|
||||
| Check | Status |
|
||||
|-------|--------|
|
||||
| Keyphrase in title | |
|
||||
| Keyphrase in URL | |
|
||||
| Keyphrase in meta description | |
|
||||
| Keyphrase in H1 | |
|
||||
| Keyphrase in subheadings | |
|
||||
| Keyphrase in content | |
|
||||
| Keyphrase in image alt | |
|
||||
| External links present | |
|
||||
| Internal links present | |
|
||||
| Meta description quality | |
|
||||
|
||||
### Readability
|
||||
|
||||
| Check | Status |
|
||||
|-------|--------|
|
||||
| Flesch-Kincaid score | |
|
||||
| Sentence length | |
|
||||
| Passive voice | |
|
||||
| Paragraph length | |
|
||||
| Subheading distribution | |
|
||||
|
||||
---
|
||||
|
||||
## Post-Optimization
|
||||
|
||||
- [ ] Cleared Nginx cache: `rm -rf /var/cache/ea-nginx/proxy/<account>/*`
|
||||
- [ ] Verified changes render correctly on frontend
|
||||
- [ ] Facebook Sharing Debugger: scraped updated OG tags
|
||||
- [ ] Google Rich Results Test: validated schema
|
||||
- [ ] Search Console: requested re-indexing (optional, for urgent changes)
|
||||
|
||||
---
|
||||
|
||||
## Notes
|
||||
|
||||
_Observations, decisions made, things to revisit:_
|
||||
@@ -0,0 +1,175 @@
|
||||
# Site SEO Audit Checklist
|
||||
|
||||
Use this template before starting SEO work on any site. Copy this file and fill it in for the specific site.
|
||||
|
||||
## Site Information
|
||||
|
||||
- **Site URL:**
|
||||
- **cPanel Account:**
|
||||
- **Cache path:** `/var/cache/ea-nginx/proxy/<account>/`
|
||||
- **CMS:** WordPress / Static HTML / Other
|
||||
- **SEO Plugin:** SmartCrawl Free / SmartCrawl Pro / Other / None
|
||||
- **Date of Audit:**
|
||||
- **Auditor:**
|
||||
|
||||
---
|
||||
|
||||
## 1. Current State Assessment
|
||||
|
||||
### Indexing
|
||||
|
||||
- [ ] Site is indexed in Google (`site:example.com` returns results)
|
||||
- [ ] Approximate number of indexed pages: ____
|
||||
- [ ] Google Search Console connected and verified
|
||||
- [ ] Any manual actions or security issues in Search Console? ____
|
||||
|
||||
### Existing SEO Setup
|
||||
|
||||
- [ ] SEO plugin installed? Which one? ____
|
||||
- [ ] Title tags customized or default? ____
|
||||
- [ ] Meta descriptions set? How many pages? ____
|
||||
- [ ] Schema markup present? Type(s)? ____
|
||||
- [ ] XML sitemap exists? URL: ____
|
||||
- [ ] Sitemap submitted to Search Console?
|
||||
- [ ] Robots.txt exists and is correct?
|
||||
- [ ] Open Graph tags present?
|
||||
- [ ] Any existing redirects?
|
||||
|
||||
---
|
||||
|
||||
## 2. Technical SEO
|
||||
|
||||
### Performance
|
||||
|
||||
- [ ] Page load time (GTmetrix or PageSpeed Insights): ____ seconds
|
||||
- [ ] LCP (Largest Contentful Paint): ____
|
||||
- [ ] INP (Interaction to Next Paint): ____
|
||||
- [ ] CLS (Cumulative Layout Shift): ____
|
||||
- [ ] Mobile-friendly test: Pass / Fail
|
||||
|
||||
### Security & Protocol
|
||||
|
||||
- [ ] HTTPS enabled (no mixed content)
|
||||
- [ ] HTTP → HTTPS redirect working
|
||||
- [ ] www / non-www preference set with redirect
|
||||
- [ ] Trailing slash consistency
|
||||
|
||||
### Crawlability
|
||||
|
||||
- [ ] Robots.txt reviewed (not blocking CSS/JS/important content)
|
||||
- [ ] No accidental `noindex` on important pages
|
||||
- [ ] No orphan pages (pages with zero internal links)
|
||||
- [ ] No broken internal links (404s)
|
||||
- [ ] Canonical tags present and correct
|
||||
|
||||
---
|
||||
|
||||
## 3. On-Page SEO
|
||||
|
||||
### Title Tags
|
||||
|
||||
- [ ] Homepage has custom title tag
|
||||
- [ ] Service pages have custom title tags
|
||||
- [ ] Blog posts have title tags (template or custom)
|
||||
- [ ] Any duplicate title tags? List: ____
|
||||
- [ ] Title tag length (50-60 chars)? ____
|
||||
|
||||
### Meta Descriptions
|
||||
|
||||
- [ ] Homepage has hand-crafted meta description
|
||||
- [ ] Service pages have meta descriptions
|
||||
- [ ] Any pages missing descriptions? Count: ____
|
||||
- [ ] Description length (150-160 chars)? ____
|
||||
|
||||
### Content
|
||||
|
||||
- [ ] Every page has exactly one H1
|
||||
- [ ] Header hierarchy is correct (no skipped levels)
|
||||
- [ ] Images have alt text
|
||||
- [ ] Internal linking structure exists
|
||||
- [ ] Content quality assessment (thin pages? duplicate content?)
|
||||
|
||||
### URLs
|
||||
|
||||
- [ ] URLs are clean (no ?p=123 or parameter junk)
|
||||
- [ ] URLs include keywords where appropriate
|
||||
- [ ] Hyphens used (not underscores)
|
||||
- [ ] Reasonable length
|
||||
|
||||
---
|
||||
|
||||
## 4. Local SEO (If Applicable)
|
||||
|
||||
- [ ] Google Business Profile exists and is verified
|
||||
- [ ] GBP information is complete and accurate
|
||||
- [ ] NAP is consistent across website, GBP, and directories
|
||||
- [ ] LocalBusiness schema on website
|
||||
- [ ] Google Map embedded on contact page
|
||||
- [ ] Reviews: count ____, average rating ____
|
||||
- [ ] Listed in relevant local directories
|
||||
|
||||
---
|
||||
|
||||
## 5. Content Inventory
|
||||
|
||||
List the key pages and their current SEO status:
|
||||
|
||||
| Page | URL | Title Tag | Meta Desc | H1 | Focus KW | Status |
|
||||
|------|-----|-----------|-----------|-----|----------|--------|
|
||||
| Homepage | / | | | | | |
|
||||
| About | /about/ | | | | | |
|
||||
| Contact | /contact/ | | | | | |
|
||||
| Service 1 | | | | | | |
|
||||
| Service 2 | | | | | | |
|
||||
| Blog (if any) | /blog/ | | | | | |
|
||||
|
||||
Status options: Good / Needs Work / Missing / N/A
|
||||
|
||||
---
|
||||
|
||||
## 6. Search Console Quick Wins
|
||||
|
||||
After connecting Search Console, check:
|
||||
|
||||
- [ ] Top queries by impressions (what Google shows the site for)
|
||||
- [ ] Striking distance keywords (positions 8-20)
|
||||
- [ ] Pages with high impressions but low CTR (title/description issue)
|
||||
- [ ] Any crawl errors or indexing issues
|
||||
|
||||
### Striking Distance Keywords Found
|
||||
|
||||
| Keyword | Current Position | Page | Action Needed |
|
||||
|---------|-----------------|------|---------------|
|
||||
| | | | |
|
||||
| | | | |
|
||||
| | | | |
|
||||
|
||||
---
|
||||
|
||||
## 7. Priority Actions
|
||||
|
||||
Based on the audit, list the top actions in priority order:
|
||||
|
||||
### Immediate (Do First)
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
### Soon (This Week)
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
### Ongoing (Monthly)
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
---
|
||||
|
||||
## Notes
|
||||
|
||||
_Additional observations, competitor insights, or client-specific considerations:_
|
||||
Reference in New Issue
Block a user