---
name: _common-patterns
description: Shared writing patterns used across multiple content skills. Reference this file for reusable structures.
---

# Common Writing Patterns

Reusable patterns for gauravtiwari.org content. Reference these in your writing skills.

---

## Pattern: Who Should / Who Shouldn't

Use in: Reviews, tutorials, how-to guides, tool comparisons

### Structure

```markdown
## Who Should Use [Product/Method]

### [User Type 1]

[1-2 sentences explaining why it's perfect for them. Be specific about their situation.]

### [User Type 2]

[Continue pattern. 3-5 user types total.]

## Who Should NOT Use [Product/Method]

### [User Type 1]

[Why it's a bad fit + what they should use instead.]

### [User Type 2]

[Continue pattern. 2-4 user types.]
```

### Example

```markdown
## Who Should Use FlyingPress

### Performance-Focused Bloggers

If you check PageSpeed scores weekly and care about Core Web Vitals, FlyingPress gives you more control than WP Rocket. The automatic critical CSS actually works.

### Small Business Sites

For brochure sites and small business pages, FlyingPress handles everything without configuration. Install, activate, done.

## Who Should NOT Use FlyingPress

### Complete Beginners

If "critical CSS" means nothing to you, start with WP Rocket. It's more forgiving of mistakes.

### Large E-commerce Sites

For 10,000+ products, consider LiteSpeed Cache or a dedicated e-commerce caching solution. FlyingPress works but isn't optimized for complex cart interactions.
```

---

## Pattern: My Setup / My Experience

Use in: Reviews, tutorials, tool guides, any content where personal experience adds credibility

### Structure

```markdown
## My Complete Setup on [Site Name]

I've used [Product] on [X sites] since [year]. Here's my exact configuration as of [date].

### What I Have Enabled

| Feature/Module | Why I Use It |
|----------------|--------------|
| [Feature 1] | [Brief reason] |
| [Feature 2] | [Brief reason] |

### What I Have Disabled

| Feature/Module | Why It's Off |
|----------------|--------------|
| [Feature 1] | [Brief reason - shows expertise] |
| [Feature 2] | [Brief reason] |

### Key Settings

**[Setting Name]:** [Your choice] — [Why]

**[Setting Name]:** [Your choice] — [Why]
```

### Why This Works

Showing what you DON'T use is as powerful as showing what you do. It demonstrates:
- You've actually tested everything
- You make deliberate choices
- You're not just listing features from marketing

---

## Pattern: What I Don't Recommend / What Doesn't Work

Use in: Reviews, how-to guides, tutorials, comparisons

### Structure

```markdown
## What I Don't Recommend

### [Tool/Method 1]

**Why not:** [Specific reason with evidence]

**Use instead:** [Alternative]

### [Tool/Method 2]

**Why not:** [Specific reason]

**Use instead:** [Alternative]
```

### Alternative: Methods That Failed

```markdown
## Methods I Tried That Didn't Work

### [Method 1]

I spent [time] trying this approach. The problem: [specific issue]. Saved you the trouble.

### [Method 2]

This works in theory but [real-world problem]. Skip it.
```

---

## Pattern: Pricing Comparison Table

Use in: Reviews, comparisons, deal pages, service pages

### Structure (HTML for WordPress)

```html
<figure class="wp-block-table is-style-regular">
<table>
<thead>
<tr>
<th>Plan/Product</th>
<th>Sites/Users</th>
<th>Price</th>
<th>Per Unit Cost</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Free</strong></td>
<td>Unlimited</td>
<td>$0</td>
<td>$0</td>
</tr>
<tr>
<td><strong>Pro</strong></td>
<td>1 site</td>
<td>$59/year</td>
<td>$59</td>
</tr>
<tr>
<td><strong>Business</strong></td>
<td>100 sites</td>
<td>$199/year</td>
<td>$1.99</td>
</tr>
</tbody>
</table>
</figure>
```

### Comparison Table (Multiple Products)

```html
<figure class="wp-block-table is-style-regular">
<table>
<thead>
<tr>
<th>Product</th>
<th>Free Tier</th>
<th>Pro (1 site)</th>
<th>Unlimited</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Rank Math</strong></td>
<td>Yes</td>
<td>$59/yr</td>
<td>$199/yr</td>
</tr>
<tr>
<td><strong>Yoast</strong></td>
<td>Yes</td>
<td>$99/yr</td>
<td>$499/yr</td>
</tr>
<tr>
<td><strong>SEOPress</strong></td>
<td>Yes</td>
<td>$49/yr</td>
<td>$128/yr</td>
</tr>
</tbody>
</table>
</figure>
```

### Always Include

- Per-unit cost calculation
- Renewal pricing if different from first year
- "What I Use" callout after table

---

## Pattern: Image Placement

Use in: All article content

### Syntax

```markdown
[IMAGE: Description of what the image shows]
Alt: Descriptive alt text for accessibility
Caption: Optional caption (omit if not needed)
```

### When to Include Images

| Content Type | Image Placement |
|--------------|-----------------|
| Tutorial steps | After each major step showing expected result |
| Settings/config | Screenshot of the settings panel |
| Before/after | Side-by-side comparison |
| UI walkthrough | Annotated screenshots |
| Results/proof | PageSpeed scores, analytics, etc. |

### Example

```markdown
## Step 3: Configure Caching Settings

Navigate to Settings → FlyingPress → Page Cache.

[IMAGE: FlyingPress page cache settings panel with recommended options highlighted]
Alt: FlyingPress page cache configuration showing enabled options
Caption: My recommended settings for most blogs

Enable these options:
- Page caching: On
- Cache preloading: On
- Exclude logged-in users: On
```

### Image Best Practices

- Place AFTER the instruction, not before
- Use descriptive alt text (not "screenshot")
- Captions only when they add context
- Annotate complex UI with arrows/highlights
- Show expected outcomes, not just steps

---

## Pattern: Internal Linking

Use in: All blog content

### Requirements

- **Minimum:** 3 internal links per article
- **Target:** 5 internal links for articles 2000+ words
- **Maximum:** Don't force links; quality over quantity

### Placement Rules

1. **Intro section:** 0-1 links (don't distract from opening)
2. **Body sections:** 2-3 links naturally placed
3. **Closing/Next Steps:** 1-2 links to related content

### Link Format

```markdown
If you're new to caching, start with my [WordPress caching guide](https://gauravtiwari.org/wordpress-caching/).
```

### What to Link To

| Priority | Content Type |
|----------|--------------|
| 1 | Directly related tutorials/guides |
| 2 | Product reviews mentioned in text |
| 3 | Foundational concepts for beginners |
| 4 | Related tools in the same category |

### What NOT to Link

- Don't link every mention of a term
- Don't link to competitor content
- Don't link to outdated articles
- Don't cluster multiple links in one paragraph

### Finding Links

Check `./knowledge/published-blog-articles.md` for available internal links.

---

## Pattern: Paragraph Length

Use in: All content

### Rule

**3-6 sentences per paragraph.** This is the default for all content.

| Length | When to Use |
|--------|-------------|
| 1-2 sentences | Emphasis, transitions, punchy statements |
| 3-6 sentences | Standard paragraphs (default) |
| 7+ sentences | Never. Break it up. |

### Good Example

> Redis caching changed how I think about WordPress performance. Before I understood object caching, I was optimizing the wrong things. Spending hours on image compression when the real bottleneck was database queries. Now I check query count first, always.
>
> The difference is dramatic.
>
> I've seen sites go from 800ms response time to 200ms just by adding Redis. No other changes. Same hosting, same theme, same plugins. Just Redis doing what it does.

Note the mix: 4-sentence paragraph, 1-sentence punch, 4-sentence paragraph.

### Bad Example

> Redis is good. It helps. You should use it. It's fast. Really fast. Try it.

Too choppy. Reads like a telegram.

---

## Pattern: Specific Numbers

Use in: All content

### Rule

Every claim should have a number when possible.

### Examples

| Vague | Specific |
|-------|----------|
| "It's faster" | "Load time dropped from 3.2s to 0.9s" |
| "I've used it for a while" | "I've used it on 12 sites over 3 years" |
| "It's affordable" | "It costs $59/year, about $5/month" |
| "Support is slow" | "Average response time: 24-48 hours" |
| "Many people use it" | "2 million+ active installations" |

### Number Types to Include

- Time measurements (load time, response time, setup time)
- Costs (monthly, yearly, per-site)
- Quantities (sites, users, installations)
- Percentages (improvement, market share)
- Dates (when you started using, last updated)

---

## Pattern: Quick Answer / TL;DR

Use in: How-to guides, tutorials, comparison articles

### Structure

```markdown
## The Quick Answer

**If you're in a hurry:** [One-sentence recommendation with specific action]

**For the full breakdown:** Keep reading.
```

### Example

```markdown
## The Quick Answer

**If you're in a hurry:** Install Rank Math Free, run the setup wizard, and enable SEO Analysis + Sitemap modules. That handles 90% of what most blogs need.

**For the full breakdown:** Keep reading for my complete configuration and advanced tips.
```

---

## Pattern: Verdict / Bottom Line

Use in: Reviews, comparisons, guides with recommendations

### Structure

```markdown
## The Bottom Line

[Product/Method] is best for [specific audience] who want [specific outcome].

**Get it if:** [2-3 conditions]

**Skip it if:** [2-3 conditions]

**My recommendation:** [Clear, definitive statement]
```

### Example

```markdown
## The Bottom Line

Rank Math is best for bloggers and small business owners who want powerful SEO without paying for premium plugins.

**Get it if:**
- You want more features than Yoast Free
- You're comfortable with settings panels
- You manage multiple sites (Pro plan value)

**Skip it if:**
- You're a complete beginner (try Yoast first)
- You need phone support
- You're running 10,000+ product e-commerce

**My recommendation:** Install Rank Math Free today. You can always upgrade to Pro later, but most bloggers never need to.
```

---

## Pattern: Comparison Section

Use in: Reviews, comparison articles, alternatives pages

### Structure

```markdown
### [Product A] vs [Product B]

**Key difference:** [One sentence]

**Choose [Product A] if:** [Specific condition]

**Choose [Product B] if:** [Specific condition]

**My pick:** [Clear recommendation with brief reason]
```

### Example

```markdown
### Rank Math vs Yoast

**Key difference:** Rank Math packs more features into the free version. Yoast has better beginner onboarding.

**Choose Rank Math if:** You want advanced features without paying, you're comfortable with settings panels, or you manage multiple sites.

**Choose Yoast if:** You're brand new to SEO, you want extensive documentation, or you're already using it and it's working fine.

**My pick:** Rank Math. The free version is too good to ignore. I switched from Yoast in 2021 and haven't looked back.
```

---

## Pattern: FAQ Section

Use in: All blog articles

### Format

Use ACF Accordion block. See `_acf-blocks-for-writing.md` for syntax.

### Required Question Types

1. **Value question:** "Is [Product] worth [price]?"
2. **Free alternative:** "Is there a free version/alternative?"
3. **Comparison:** "How does [Product] compare to [Competitor]?"
4. **Beginner question:** "Is [Product] good for beginners?"
5. **Technical question:** Specific to the topic

### Minimum Count

| Article Length | FAQ Count |
|----------------|-----------|
| Under 1500 words | 5 FAQs |
| 1500-2500 words | 5-8 FAQs |
| 2500+ words | 8-12 FAQs |

---

## Usage in Skills

Reference this file in skill documents:

```markdown
## Patterns to Use

See `_common-patterns.md` for:
- Who Should / Who Shouldn't sections
- Pricing comparison tables
- Image placement guidance
- Internal linking requirements
```
