Quick SEO Fix Guide for Existing Posts

This guide helps you quickly add essential SEO elements to existing blog posts.

Priority Order

Fix posts in this order for maximum impact:

  1. Most recent posts (2024-2025) - highest traffic potential
  2. Most visited posts (check Analytics) - already getting traffic
  3. Evergreen content - timeless tutorials and guides
  4. Older posts (2023 and earlier) - update as time permits

Minimum Required Changes

For each post, add these three essential fields:

1. Add Meta Description

description: "120-155 character description with primary keyword"

Quick formula:

Learn [topic] using [method/tool]. [What they'll achieve]. [Optional: audience or benefit].

Examples:

# For tutorial
description: "Learn how to build a SwiftUI stopwatch app with lap timing. Complete tutorial with code examples for iOS developers."

# For how-to
description: "Fix the CFBundleVersion error in Xcode by incrementing your build number. Step-by-step guide with screenshots."

# For guide
description: "Master iOS delegate patterns with simple explanations and real code examples. Perfect for beginners learning Swift."
image: "/assets/images/post-slug/featured.png"

If you don’t have an image yet:

permalink: "/descriptive-post-slug/"

Create from title:

Example:

Title: "Building a SwiftUI Stopwatch App with Lap Timing"
Permalink: "/building-swiftui-stopwatch-app-lap-timing/"

Template for Quick Updates

Copy this template and fill in the blanks:

---
title: ""
date: ""
permalink: "//"
description: ""
image: "/assets/images//featured.png"
categories:
  - ""
tags:
  - ""
excerpt_separator: <!--more-->
---

Batch Update Strategy

Week 1: Top 10 Posts (Most Recent/Popular)

  1. Add description, image, permalink
  2. Add alt text to images
  3. Add 2-3 internal links
  4. Update if content is outdated

Week 2-4: Next 40 Posts

  1. Add description and permalink minimum
  2. Add image path (can be placeholder)
  3. Quick scan for broken links

Ongoing: Remaining Posts

One-Line Commands for Quick Checks

# Find posts missing descriptions
grep -L "description:" _posts/*.md | wc -l

# Find posts missing images
grep -L "image:\|og_image:" _posts/*.md | wc -l

# Find posts missing permalinks
grep -L "permalink:" _posts/*.md | head -20

# Find posts missing excerpt separator
grep -L "<!--more-->" _posts/*.md | head -20

Time Estimates

Per post:

For 400 posts:

Recommendation: Start with quick fixes, then enhance over time.

Common Descriptions by Post Type

Tutorial Posts

description: "Learn how to [build/create/implement] [thing] using [technology]. Step-by-step [tutorial/guide] with [code examples/screenshots]."

How-To Posts

description: "How to [solve problem] in [software/platform]. [Quick/Simple/Step-by-step] guide with [screenshots/instructions] for [audience]."

Troubleshooting Posts

description: "Fix [error message] in [software]. [Quick/Easy] solution with [explanation/steps] to resolve this common [iOS/Mac/Xcode] issue."

Concept Explanation Posts

description: "Understand [concept] in [context]. [Simple/Clear] explanation with [real examples/code samples] for [beginners/developers]."

Image Quick Wins

Don’t have time to create custom images? Use these quick options:

Option 1: Screenshot + Title

Option 2: Code Snippet

Option 3: Use Default Template

Option 4: AI-Generated

Bulk Find & Replace

Use your editor to quickly update patterns:

Add Missing Excerpt Separators

  1. Find posts without <!--more-->
  2. Read first 2-3 paragraphs
  3. Add after compelling intro
  4. Aim for 150-200 words before separator

Fix Image Paths

# Old format
![](/assets/images/image.png)

# New format with alt text
![Descriptive alt text explaining the image](/assets/images/image.png)

Standardize Categories

Review and consolidate:

Progress Tracking

Create a simple spreadsheet:

Post Title Description Image Permalink Alt Text Links Status
Post 1 60%
Post 2 40%

Or use a simple text file:

DONE (80):
- 2025-10-31-building-twaist...
- 2025-08-26-how-chantflow...

IN_PROGRESS (15):
- 2024-02-08-building-personal-journal...

TODO (305):
- 2024-01-11-swiftui-stopwatch...

When to Stop and Move On

You don’t need perfection. Move to the next post when you’ve added:

  1. ✅ Meta description
  2. ✅ Image path (even if placeholder)
  3. ✅ Permalink (if missing)

Everything else can be enhanced later.

Questions to Ask for Each Post

Before updating, quickly answer:

  1. Is this post still relevant?
    • Yes → Update SEO
    • Somewhat → Update SEO + content
    • No → Consider archiving or major rewrite
  2. Is this content outdated?
    • Check if code/screenshots are current
    • Update if major changes in technology
    • Add note if deprecated
  3. Does this deserve social media?
    • If yes → create custom featured image
    • If no → use default image

Automation Ideas

Consider automating repetitive tasks:

Generate Descriptions from Content

# Pseudo-code
for post in posts_without_description:
    first_paragraph = extract_first_paragraph(post)
    description = truncate(first_paragraph, 155)
    add_to_frontmatter(post, description)
for post in posts_without_permalink:
    permalink = slugify(post.title)
    add_to_frontmatter(post, permalink)

Batch Image Placeholder

# Add default image to all posts missing one
for file in _posts/*.md; do
    if ! grep -q "image:" "$file"; then
        sed -i '' '/^date:/a\
image: "/assets/images/default-featured.png"
' "$file"
    fi
done

Need Help?

Reference the full guidelines:


Pro Tip: Set a timer for 10 minutes per post. If you’re not done, save progress and move to the next one. You can always come back later.

Remember: Done is better than perfect. Getting basic SEO on all posts is more valuable than perfect SEO on a few posts.