This document outlines SEO best practices for creating new blog posts on rshankar.com.
Every blog post should include these essential fields in the front matter:
---
title: "Your SEO-Optimized Title (50-60 characters)"
date: "YYYY-MM-DD"
description: "Compelling meta description that includes primary keyword (120-155 characters)"
categories:
- "primary-category"
- "secondary-category"
tags:
- "Relevant Tag 1"
- "Relevant Tag 2"
image: "/assets/images/post-slug/featured-image.png"
permalink: "/post-slug/"
excerpt_separator: <!--more-->
---
Good Examples:
✅ "Building a SwiftUI Stopwatch App with Lap Timing"
✅ "Understanding iOS Delegate Pattern: A Beginner's Guide"
✅ "How to Fix CFBundleVersion Error in Xcode"
Bad Examples:
❌ "Stopwatch" (too short, not descriptive)
❌ "You Won't Believe How Easy This iOS Pattern Is!!!" (clickbait)
❌ "The Ultimate Complete Comprehensive Guide to Everything About iOS Development" (too long)
Template:
Learn [topic] with [approach]. [Benefit statement]. [Optional CTA].
Good Examples:
✅ "Learn how to build a SwiftUI stopwatch with lap timing. Complete tutorial with code examples and best practices."
✅ "Master the iOS delegate pattern with simple explanations and real-world examples. Perfect for beginners."
Bad Examples:
❌ "In this post I will talk about..." (boring, no value)
❌ "A blog post about SwiftUI" (too vague)
❌ [leaving it blank - lets search engines guess]
Every post should have a featured image for social sharing:
Specifications:
/assets/images/[post-slug]/featured.pngImage Content Guidelines:
Front Matter:
image: "/assets/images/building-twaist/featured.png"
og_image: "/assets/images/building-twaist/featured.png" # Optional, uses 'image' if not set
All images in content must have descriptive alt text:
# Good - descriptive and keyword-rich

# Bad - generic or missing


Use descriptive, keyword-rich URLs:
# Good
permalink: "/building-swiftui-stopwatch-app-lap-timing/"
permalink: "/understanding-ios-delegate-pattern/"
# Bad
permalink: "/post-123/" # not descriptive
permalink: "/2024/01/11/post/" # date-based (unless intentional)
Current standard: /:title/
Categories (2-3 max):
swift, swiftui, ios, watchos, ai, chrome-extensionsTags (4-8 recommended):
SwiftUI, Xcode, UIKit, Core Datacategories:
- "swiftui"
- "tutorial"
tags:
- "SwiftUI"
- "Stopwatch"
- "Timer"
- "iOS Development"
- "Xcode"
Add a keywords field for additional SEO context:
keywords: "SwiftUI stopwatch, iOS timer app, lap timing tutorial, SwiftUI tutorial, iOS development"
Always include an excerpt separator to control preview text:
excerpt_separator: <!--more-->
Place <!--more--> after 1-2 compelling paragraphs (150-200 words).
For maximum SEO impact, use this comprehensive template:
---
title: "Your SEO-Optimized Title (50-60 chars)"
date: "2025-11-01"
permalink: "/your-post-slug/"
description: "Compelling meta description with primary keyword (120-155 characters)"
categories:
- "primary-category"
- "secondary-category"
tags:
- "Relevant Tag 1"
- "Relevant Tag 2"
- "Relevant Tag 3"
keywords: "primary keyword, secondary keyword, related terms"
image: "/assets/images/post-slug/featured.png"
og_title: "Title optimized for social sharing"
og_description: "Description optimized for social sharing (may differ from meta description)"
og_image: "/assets/images/post-slug/social.png"
og_type: "article"
twitter_card: "summary_large_image"
twitter_title: "Twitter-specific title (if different)"
twitter_description: "Twitter-specific description"
excerpt_separator: <!--more-->
toc: true # Enable table of contents for long posts
toc_sticky: true
last_modified_at: "2025-11-01" # Update when making significant changes
---
Use proper heading hierarchy for SEO and accessibility:
# H1 - Post Title (automatically generated from front matter)
## H2 - Main Sections
Use H2 for primary sections. Include keywords naturally.
### H3 - Subsections
Use H3 for subsections within H2 blocks.
#### H4 - Detailed Points
Use sparingly for very detailed breakdowns.
Best Practices:
Link to related posts within your content:
Learn more about [SwiftUI basics](/swiftui-basics/)
or check out our [complete SwiftUI guide](/swiftui-guide/).
Target: 2-5 internal links per post to related content
Link to authoritative sources:
Always use descriptive anchor text (not “click here”).
Quality over quantity - every word should add value.
Use syntax highlighting for better readability:
\`\`\`swift
// Your Swift code here
struct ContentView: View {
var body: some View {
Text("Hello, World!")
}
}
\`\`\`
Your opening paragraph is critical for SEO:
Example:
Learn how to build a sophisticated stopwatch app using SwiftUI with lap timing
functionality. This step-by-step tutorial covers state management, timer
implementation, and creating an intuitive user interface.<!--more-->
/assets/images/[post-slug]/Before publishing any post, verify:
After publishing:
For questions about these guidelines or SEO best practices, refer to:
Last Updated: 2025-11-01 Version: 1.0