You have 88 pages with identical titles, which is severely hurting your SEO:
Run this command to scan all your posts:
cd C:\dev\itblogpros
node find-duplicate-titles.js
This will:
duplicate-titles-report.json
Example Output:
š“ DUPLICATE TITLES FOUND:
1. "Best Router for Virgin Media"
Used by 3 files:
- 2021-09-08-best-router-for-virgin-media.md
- 2021-09-30-best-router-for-virgin-media-asus.md
- 2022-01-18-best-router-for-virgin-media-2022.md
After finding duplicates, run:
node suggest-unique-titles.js
This will analyze each duplicate and suggest unique titles based on:
Example Suggestions:
š 2021-09-08-best-router-for-virgin-media.md
Suggested unique titles:
1. "Best Router for Virgin Media (2021)"
2. "Best Router for Virgin Media - Better Than Super Hubs"
3. "The Ultimate Best Router for Virgin Media Guide"
For each duplicate, choose a unique title and update the file:
Open each file and update the title in the front matter:
---
layout: layout.njk
title: "Best Router for Virgin Media (2021)" ā UPDATE THIS
description: "Your description here"
date: 2021-09-08
tags: ["post", "router", "virgin-media"]
---
I'll create a script that can update multiple files at once. Create a file called title-updates.json
:
{
"updates": [
{
"file": "2021-09-08-best-router-for-virgin-media.md",
"newTitle": "Best Router for Virgin Media (2021)"
},
{
"file": "2021-09-30-best-router-for-virgin-media-asus.md",
"newTitle": "Best Router for Virgin Media: ASUS RT-AC86U Review"
}
]
}
Then run:
node update-titles.js
Good Examples:
Bad Examples (Too Similar):
1. Add Year:
2. Add Specificity:
3. Add Context:
4. Add Brand/Model:
5. Add Use Case:
Format: [Primary Keyword] + [Differentiator] + [Year/Context]
Examples:
Virgin Media WiFi Fix + for Hub 4 + 2022
= "Virgin Media WiFi Fix for Hub 4 (2022)"
Best Mesh WiFi + for Virgin Media + Complete Guide
= "Best Mesh WiFi for Virgin Media: Complete Guide"
Router Lights + What They Mean + Virgin Hub 3
= "Virgin Hub 3 Router Lights: What They Mean"
Problem:
- 2021-01-15-powershell-version.md ā "Check PowerShell Version"
- 2022-03-20-powershell-version.md ā "Check PowerShell Version"
- 2023-08-10-powershell-version.md ā "Check PowerShell Version"
Fix:
- "How to Check PowerShell Version Windows 10 (2021)"
- "Check PowerShell Version: Updated Guide (2022)"
- "Find Your PowerShell Version in 2023"
Problem:
- best-virgin-router-1.md ā "Best Router for Virgin Media"
- best-virgin-router-2.md ā "Best Router for Virgin Media"
- best-virgin-router-3.md ā "Best Router for Virgin Media"
Fix:
- "Best Router for Virgin Media 2025"
- "Best Third-Party Router for Virgin Media"
- "Top 5 Virgin Media Compatible Routers"
Problem:
- wifi-troubleshooting-1.md ā "WiFi Troubleshooting Guide"
- wifi-troubleshooting-2.md ā "WiFi Troubleshooting Guide"
Fix:
- "WiFi Troubleshooting Guide for Beginners"
- "Advanced WiFi Troubleshooting: Pro Tips"
- "WiFi Troubleshooting for Virgin Media Users"
After updating titles, verify they're unique:
node find-duplicate-titles.js
againnpx @11ty/eleventy --serve
# Build the site
npx @11ty/eleventy
# Deploy (use your deployment method)
# e.g., git push, FTP upload, etc.
Google Search Console:
Expected Timeline:
Create this script to batch-update titles:
// update-titles.js
const fs = require('fs');
const path = require('path');
// Load your updates
const updates = require('./title-updates.json');
updates.forEach(update => {
const filePath = path.join(__dirname, 'posts', update.file);
let content = fs.readFileSync(filePath, 'utf8');
// Replace the title in front matter
content = content.replace(
/title:\s*["'].*?["']/,
`title: "${update.newTitle}"`
);
fs.writeFileSync(filePath, content);
console.log(`ā
Updated: ${update.file}`);
});
console.log(`\n⨠Updated ${updates.length} titles!`);
If you're stuck on:
Just ask! I can help with:
Ready to fix? Start with Step 1: node find-duplicate-titles.js