πŸ“‹ Changelog

Track all updates, improvements, and bug fixes for Eternal Auto Blogger. We're constantly improving based on your feedback.

v2.6.0
Latest Version
7
Total Releases
3
Total Downloads
v2.6.0 Latest Stable
πŸ“… January 1, 2026
⏱️ 3 weeks ago
⬇️ 1 downloads

πŸ“ What's Changed

================================================================================
ETERNAL AUTO BLOGGER - CHANGELOG v2.6.0
================================================================================

Version 2.6.0 - January 1, 2026
--------------------------------------------------------------------------------
NO-COLON TITLE APPROACH - Major Strategy Change

PROBLEM:
--------
Despite 19+ detection patterns, titles with colons kept getting truncated:

BAD: \"Nvme Vps Setup Guide For High-performance Apps: Master\"
BAD: \"Ssd Vps Cost Vs Nvme Performance Analysis 2025: 9 Expert\"

The root cause: AI loves using colons in titles, but they create natural
truncation points that result in cut-off phrases.

SOLUTION:
---------
Instead of detecting and fixing broken titles, we now PREVENT the problem
by forbidding colons entirely and requesting simpler title structures.

CHANGES:
--------

1. NEW PROMPT INSTRUCTIONS - No Colons Allowed:

Old approach: \"Include keyword + number + power word\"
New approach: \"NO COLONS allowed - simple complete phrases only\"

New good examples:
- \"VPS Hosting Guide With 9 Expert Tips\"
- \"How to Master Cloud Computing in 5 Steps\"
- \"Complete NVMe VPS Setup Tutorial 2025\"
- \"Essential Linux Server Security Guide\"

2. COLON DETECTION (Pattern A0):

Any title containing a colon (:) is now flagged for regeneration.
This catches titles even if the AI ignores the no-colon instruction.

Detection: strpos($title, \':\') !== false

3. UPDATED regenerate_title_from_content():

- Prompts explicitly forbid colons
- Examples show clean titles without colons
- If AI still includes colon, it\'s replaced with \" -\" and cleaned
- Fallback titles use no colons:
* \"[Keyword] Complete Guide\"
* \"[Keyword] Guide\"

4. BUDGET MODE UPDATED:

Budget prompt now includes: \"NO COLONS\" instruction

EXPECTED RESULTS:
-----------------

Before v2.6.0:
\"NVMe VPS Hosting: Speed Comparison Guide 2025\"
\"SSD Real-world Benchmarks: 2025 Essential Tips\"
\"Best Linux VPS For Developers 2025: 10\"

After v2.6.0:
\"NVMe VPS Hosting Speed Comparison Guide 2025\"
\"SSD Real-world Benchmarks 2025 Essential Tips\"
\"Best Linux VPS For Developers 2025 Guide\"

Or even simpler:
\"Complete NVMe VPS Speed Guide for 2025\"
\"9 Essential SSD Benchmark Tips for 2025\"
\"How to Choose the Best Linux VPS in 2025\"


================================================================================
COMPLETE DETECTION PATTERNS (v2.6.0)
================================================================================

GROUP A - TITLE FORMAT ISSUES:
------------------------------
A0: Contains colon \"Title: Something\" β†’ regenerate (NEW!)
A1: Forum tags [closed], [solved]
A2: AI conversation \"I appreciate...\", \"This is...\"
A3: AI self-reference \"my expertise\", \"not aligned\"
A4: Label-only \"The Issue:\", \"Note:\"
A5: Meta quantifiers \"100+ expertise areas\"

GROUP B - TRUNCATION DETECTION:
-------------------------------
1: Colon + number \": 10\"
2: Question + number \"? 9\"
3: Number + adjective \"9 Best\"
4: Number + adj + year \"9 Best in 2025\"
5: Standalone number \"Gaming 8\"
6: Trailing colon \"Title:\"
7: Trailing preposition \"Tips for\"
8: Trailing dash \"Guide -\"
9: Trailing verb \"How to\"
10: Broken question \"Should I ? 9\"
11: Double punctuation \"::\", \"??\"
12: Words needing noun \"General\", \"Complete\"
13: Compound adjectives \"Virtual Private\"
14: Article + adjective \"a Complete\"


================================================================================
TITLE GENERATION FLOW (v2.6.0)
================================================================================

1. AI generates article with title
↓
2. Title sanitized (remove markdown)
↓
3. CHECK: Does title contain colon?
β†’ YES: Flag for regeneration (Pattern A0)
↓
4. CHECK: Other Group A patterns (AI artifacts)
β†’ If match: Flag for regeneration
↓
5. CHECK: Group B patterns (truncation)
β†’ If match: Flag for regeneration
↓
6. If flagged: regenerate_title_from_content()
- Explicitly forbids colons
- Requests simple, complete phrases
- Removes any colons that slip through
↓
7. Final title: Simple, complete, NO colons, <55 chars


================================================================================
PREVIOUS VERSIONS
================================================================================

v2.5.9 - AI meta-commentary detection (Group A patterns)
v2.5.8 - Year-masked pattern detection (\"9 Best in 2025\")
v2.5.7 - Double punctuation and incomplete word detection
v2.5.6 - Compound phrase detection (\"Virtual Private\")
v2.5.5 - Expanded number and punctuation detection
v2.5.4 - Initial title completeness fix


================================================================================
🌐 WordPress 5.0+
🐘 PHP 7.4+
v2.5.9 Stable
πŸ“… January 1, 2026
⏱️ 4 weeks ago

πŸ“ What's Changed

================================================================================
ETERNAL AUTO BLOGGER - CHANGELOG
================================================================================

Version 2.5.9 - January 1, 2026
--------------------------------------------------------------------------------
AI META-COMMENTARY DETECTION

PROBLEM SOLVED:
---------------
The AI was leaking its internal reasoning/thinking into article titles instead
of generating proper SEO titles:

BAD: \"I Appreciate The Detailed Setup, But I Need To Clarify Guide\"
BAD: \"The Issue:\"
BAD: \"This is fundamentally not aligned with my expertise.\"
BAD: \"Not in Content Interests: None of the 100+ expertise areas\"
BAD: \"What I\'d Recommend Instead:\"
BAD: \"The Best Webmail For A Small Debian Linux Server? [closed]\"

NEW DETECTION PATTERNS (Group A - AI Artifacts):
------------------------------------------------

Pattern A1 - Forum/System Tags:
Detects: [closed], [solved], [duplicate], [migrated], [locked], etc.
Regex: /\\[(closed|solved|duplicate|migrated|locked|answered|...)\\]/i

Pattern A2 - AI Conversational Starts:
Detects titles starting with:
- \"I appreciate/understand/need/would/think/recommend...\"
- \"This is fundamentally/not/a/an...\"
- \"The issue/problem/thing...\"
- \"What I\'d recommend/suggest...\"
- \"Let me/Allow me/I\'ll...\"
- \"Based on my/the/this...\"

Pattern A3 - AI Self-Reference Phrases:
Detects titles containing:
- \"my expertise\", \"not aligned with\", \"outside my\", \"beyond my\"
- \"expertise areas\", \"content interests\", \"persona\"
- \"fundamentally not\", \"need to clarify\", \"let me explain\"
- \"mismatched audience\", \"outside core expertise\"
- Plus 15+ more AI meta-phrases

Pattern A4 - Label-Only Titles:
Detects: \"The Issue:\", \"The Problem:\", \"Note:\", \"Warning:\", etc.
Regex: /^(The\\s+)?(Issue|Problem|Solution|...):\\s*$/i

Pattern A5 - Meta Quantifiers:
Detects: \"100+ expertise areas\", \"50+ topics\", etc.
Regex: /\\d{2,}\\+\\s*(expertise|topics?|areas?|...)/i


================================================================================

Version 2.5.8 - January 1, 2026
--------------------------------------------------------------------------------
YEAR-MASKED INCOMPLETE TITLE DETECTION

PROBLEM SOLVED:
---------------
Titles like \"9 Best in 2025\" appeared complete because the year masked the
missing noun, but are actually \"9 Best [THINGS] in 2025\":

BAD: \"Vps For Forex Trading Low Latency: 9 Best in 2025\"
BAD: \"Best Linux Vps For Developers 2025: 10\"

NEW DETECTION PATTERN:
----------------------

Pattern 4 - Number + Adjective + Year:
Detects: \"9 Best in 2025\", \"10 Top for 2024\", \"5 Essential of 2025\"
Regex: /\\d+\\s+(Best|Top|Proven|...)\\s+(in|for|of)\\s+\\d{4}\\s*$/i

Also fixed pattern numbering (now sequential 1-14).


================================================================================

Version 2.5.7 - January 1, 2026
--------------------------------------------------------------------------------
DOUBLE PUNCTUATION AND INCOMPLETE WORD DETECTION

PROBLEM SOLVED:
---------------
Titles with parsing artifacts and words that need following nouns:

BAD: \"Dedicated Server Vs Single Player :: Space Engineers General\"
(double colon artifact + \"General\" needs Guide/Overview)

NEW DETECTION PATTERNS:
-----------------------

Pattern 10 - Double Punctuation Artifacts:
Detects: \"::\", \"??\", \"..\", \"--\"
Regex: /::|\\?\\?|\\.\\.(?!\\.)|--/

Pattern 11 - Words Needing Following Noun:
Detects titles ending with:
- General (needs Guide/Overview)
- Complete, Ultimate, Comprehensive (needs Guide)
- Detailed, Quick, Brief (needs Guide/Analysis)
- Basic, Advanced, Beginner, Expert (needs Guide/Tutorial)
- Essential, Definitive, Practical (needs Guide/Tips)
- Step-by-Step, Introductory, In-Depth (needs Guide/Tutorial)


================================================================================

Version 2.5.6 - January 1, 2026
--------------------------------------------------------------------------------
COMPOUND PHRASE AND ADJECTIVE DETECTION

PROBLEM SOLVED:
---------------
Titles ending with incomplete compound phrases:

BAD: \"A Virtual Private Server (vps): What Is a Virtual Private\"
(\"Virtual Private\" missing \"Server\")

NEW DETECTION PATTERNS:
-----------------------

Pattern 13 - Incomplete Compound Phrases:
Detects titles ending with:
- \"Virtual Private\" (needs Server/Network)
- \"High Performance\" (needs Computing/Server)
- \"Open Source\" (needs Software/Project)
- \"Real Time\" (needs Data/Processing)
- \"Cloud Based\" (needs Solution/Service)
- \"What Is a\", \"How to Get/Use/Make\"
- \"Why You Should/Need\", \"Everything You Need\"
- Plus 20+ more incomplete compounds

Pattern 14 - Article + Adjective (Missing Noun):
Detects: \"a Virtual\", \"an Advanced\", \"a Complete\", etc.
Regex: /\\b(a|an)\\s+(Virtual|Private|Digital|Online|...)\\s*$/i


================================================================================

Version 2.5.5 - January 1, 2026
--------------------------------------------------------------------------------
EXPANDED NUMBER AND PUNCTUATION DETECTION

PROBLEM SOLVED:
---------------
More truncation patterns that were slipping through:

BAD: \"Use Dedicated Server Gpu For Game Server: Should I ? 9\"
BAD: \"Vps Security Hardening Best Practices 2025: 10\"
BAD: \"Cost Per Player: GPU Server Economics for Gaming: 8\"

NEW DETECTION PATTERNS:
-----------------------

Pattern 1 - Colon + Bare Number:
Detects: \": 10\", \": 8\", \"2025: 10\"
Regex: /:\\s*\\d+\\s*$/

Pattern 2 - Question Mark + Number:
Detects: \"? 9\", \"Should I ? 9\"
Regex: /\\?\\s*\\d+\\s*$/

Pattern 5 - Standalone Small Number:
Detects trailing numbers 1-99 (but not years like 2025)
Regex: /\\s+(\\d{1,2})\\s*$/

Pattern 10 - Broken Question Format:
Detects: \"Should I ? 9\"
Regex: /\\s+I\\s*[\\?\\d]\\s*\\d*\\s*$/i


================================================================================

Version 2.5.4 - January 1, 2026
--------------------------------------------------------------------------------
TITLE COMPLETENESS FIX - Initial Implementation

PROBLEM SOLVED:
---------------
Titles were being truncated at word boundaries without checking if the
result was semantically complete:

BAD: \"Top Kvm Vps Providers For Developers 2025: 9 Best\"
BAD: \"Gpu Server Cost Optimization Strategies: 9 Proven\"

CORE FEATURES ADDED:
--------------------

1. is_title_incomplete() Method:
Detects truncated/incomplete titles using pattern matching.
Initial patterns included:
- Number + adjective endings (9 Best, 10 Proven)
- Trailing colons, dashes, prepositions
- Dangling verbs (is, are, can, will)

2. regenerate_title_from_content() Method:
When incomplete title detected:
- Extracts article content summary (first 300 words)
- Extracts H2 heading topics for context
- Sends focused prompt to regenerate COMPLETE title
- Uses focus keyword at beginning (RankMath requirement)
- Enforces strict 55-character limit
- Falls back to safe patterns if regeneration fails

3. Smart Truncation Prevention:
- Simulates truncation before applying
- Checks if truncation would create incomplete phrase
- Triggers regeneration instead of truncating

4. Stronger Prompt Instructions:
- Reduced target from 60 to 55 characters
- Explicit warnings about incomplete patterns
- Clear BAD examples in prompts


================================================================================
COMPLETE PATTERN REFERENCE (v2.5.9)
================================================================================

GROUP A - AI ARTIFACT DETECTION:
--------------------------------
A1: Forum tags [closed], [solved], [duplicate]
A2: AI conversation \"I appreciate...\", \"This is fundamentally...\"
A3: AI self-reference \"my expertise\", \"not aligned with\"
A4: Label-only \"The Issue:\", \"Note:\"
A5: Meta quantifiers \"100+ expertise areas\"

GROUP B - TRUNCATION DETECTION:
-------------------------------
1: Colon + number \": 10\", \": 8\"
2: Question + number \"? 9\"
3: Number + adjective \"9 Best\", \"10 Proven\"
4: Number + adj + year \"9 Best in 2025\"
5: Standalone number \"Gaming 8\"
6: Trailing colon \"Title:\"
7: Trailing preposition \"Tips for\", \"Guide to\"
8: Trailing dash \"Guide -\", \"Tips β€”\"
9: Trailing verb \"How to\", \"What is\"
10: Broken question \"Should I ? 9\"
11: Double punctuation \"::\", \"??\", \"..\"
12: Words needing noun \"General\", \"Complete\", \"Ultimate\"
13: Compound adjectives \"Virtual Private\", \"High Performance\"
14: Article + adjective \"a Complete\", \"an Advanced\"


================================================================================
PROCESSING FLOW
================================================================================

1. AI generates article with title
↓
2. Title sanitized (remove markdown, asterisks)
↓
3. Check GROUP A patterns (AI artifacts)
β†’ If match: flag for regeneration
↓
4. Check GROUP B patterns (truncation)
β†’ If match: flag for regeneration
↓
5. Check if truncation would cause issues
β†’ If yes: flag for regeneration
↓
6. After content parsed, if flagged:
β†’ regenerate_title_from_content()
↓
7. Final title: complete, sensible, <60 chars


================================================================================
FILE CHANGES
================================================================================

Modified: includes/class-ai-writer.php
- Added is_title_incomplete() method (~180 lines)
- Added regenerate_title_from_content() method (~90 lines)
- Modified parse_article_response() for title regeneration flow
- Updated build_article_prompt() with stronger instructions
- Updated build_budget_article_prompt() with stronger instructions

Modified: ai-autoblogger.php
- Version bump: 2.5.3 β†’ 2.5.9


================================================================================
COMPATIBILITY
================================================================================

  • No database changes required

  • No settings changes required

  • Backward compatible with existing spheres/articles

  • Works with all AI providers (Anthropic, OpenAI, Perplexity, Walter/Ollama)

  • Existing articles with bad titles are NOT automatically fixed

(only new articles benefit from detection)


================================================================================
🌐 WordPress 5.0+
🐘 PHP 7.4+
v2.5.4 Stable
πŸ“… January 1, 2026
⏱️ 4 weeks ago

πŸ“ What's Changed

================================================================================
ETERNAL AUTO BLOGGER - CHANGELOG
================================================================================

Version 2.5.4 - January 1, 2026
--------------------------------------------------------------------------------
TITLE COMPLETENESS FIX - Intelligent Title Regeneration System

PROBLEM SOLVED:
---------------
Titles were being generated with incomplete/truncated phrases that didn\'t make
grammatical sense:

BAD: \"Top Kvm Vps Providers For Developers 2025: 9 Best\" (Best WHAT?)
BAD: \"Gpu Server Cost Optimization Strategies: 9 Proven\" (Proven WHAT?)

This happened because long AI-generated titles were truncated at word boundaries
to meet RankMath\'s 60-character guideline, without checking if the result was
semantically complete.


NEW FEATURES:
-------------

1. INCOMPLETE TITLE DETECTION - is_title_incomplete()
New method that detects truncated/incomplete titles by pattern matching:

- Ends with \"number + adjective\" patterns:
β€’ \"9 Best\", \"5 Proven\", \"10 Essential\", \"7 Top\", etc.

- Ends with incomplete punctuation:
β€’ Colons (:)
β€’ Dashes (-, –, β€”)

- Ends with dangling words:
β€’ Articles: the, a, an
β€’ Prepositions: to, for, with, in, on, of, and, or
β€’ Verbs: is, are, can, will, should, must, do, have, get, make

2. CONTENT-AWARE TITLE REGENERATION - regenerate_title_from_content()
When an incomplete title is detected, the system now:

- Extracts the article content summary (first 300 words)
- Extracts H2 heading topics for context
- Sends a focused prompt to regenerate a COMPLETE title
- Uses the focus keyword at the beginning (RankMath requirement)
- Enforces strict 55-character limit (with buffer room)
- Falls back to safe patterns if regeneration still fails:
β€’ \"[Keyword]: Essential Guide for 2025\"
β€’ \"[Keyword]: Complete Guide\"
β€’ \"[Keyword] Guide\"

3. SMART TRUNCATION PREVENTION
Before truncating any title, the system now:

- Simulates what the truncated title would look like
- Checks if truncation would create an incomplete phrase
- If yes: triggers regeneration instead of truncating
- If no: safely truncates at word boundary

4. STRONGER PROMPT INSTRUCTIONS
Updated article generation prompts with:

- Reduced target from 60 to 55 characters (buffer room)
- Explicit warnings about incomplete patterns
- Clear BAD examples showing what NOT to do:
β€’ \"[keyword]: 9 Best\" ❌ (Best WHAT?)
β€’ \"[keyword] Tips: 10 Proven\" ❌ (Proven WHAT?)
- GOOD examples of complete titles:
β€’ \"[keyword]: 9 Essential Tips\"
β€’ \"9 Proven [keyword] Strategies\"


TECHNICAL DETAILS:
------------------

File Modified: includes/class-ai-writer.php

New Methods Added:
- is_title_incomplete($title) Lines 2385-2427
- regenerate_title_from_content(...) Lines 2435-2525

Modified Methods:
- parse_article_response() Title parsing logic updated
- build_article_prompt() Prompt instructions strengthened
- build_budget_article_prompt() Budget mode prompt updated

Processing Flow:
1. AI generates article with title
2. Title is sanitized (remove markdown, asterisks, etc.)
3. Check if title is already incomplete β†’ flag for regeneration
4. Check if truncation would make it incomplete β†’ flag for regeneration
5. After content is parsed, if flagged: regenerate title using content
6. Final title is complete, sensible, and under 60 characters


EXAMPLE RESULTS:
----------------

Before (v2.5.3):
\"Top Kvm Vps Providers For Developers 2025: 9 Best\"

After (v2.5.4):
\"KVM VPS Providers: 9 Top Picks for Developers\"

Before (v2.5.3):
\"Gpu Server Cost Optimization Strategies: 9 Proven\"

After (v2.5.4):
\"GPU Server Costs: 9 Proven Savings Strategies\"


LOGGING:
--------
New log entries for debugging:

πŸ”„ Triggering title regeneration
- original_title: [the incomplete title]
- focus_keyword: [keyword]
- content_length: [bytes]

βœ… Title regenerated successfully
- original: [old title]
- new_title: [new title]
- length: [character count]

⚠️ Title detected as incomplete (ends with number+adjective)
⚠️ Title would be incomplete after truncation, will regenerate


COMPATIBILITY:
--------------
  • No database changes required

  • No settings changes required

  • Backward compatible with existing spheres/articles

  • Works with all AI providers (Anthropic, OpenAI, Perplexity, Walter/Ollama)



  • ================================================================================
    Previous Versions
    ================================================================================

    Version 2.5.3
  • RankMath SEO integration improvements

  • Google CSE rate limiting (reduced to 3 queries per research area)

  • MySQL 5.5 compatibility fixes


  • Version 2.5.2
  • Keyword density enforcement

  • Heading hierarchy optimization

  • TOC generation improvements


  • Version 2.5.1
  • Budget mode for reduced API costs

  • Exponential backoff retry logic

  • Extended caching periods


  • Version 2.5.0
  • Walter (Ollama) local AI support

  • Multi-provider architecture

  • Enhanced error handling


================================================================================
🌐 WordPress 5.0+
🐘 PHP 7.4+
v2.5.3 Stable
πŸ“… December 30, 2025
⏱️ 4 weeks ago
⬇️ 1 downloads

πŸ“ What's Changed

AI Auto Blogger v2.5.3 Changelog

Release Date: December 31, 2024
Type: Bug Fix & Improvement Release

================================================================================
SUMMARY
================================================================================

This release fixes two significant content quality issues: academic-style
citation markers appearing in generated content, and malformed article titles
with double colons and truncated phrases.

================================================================================
BUG FIXES
================================================================================

1. CITATION MARKERS IN CONTENT Fixed
--------------------------------------

Problem: Generated articles contained academic-style footnote markers like
[1], [2], [1][4] throughout the text, making content look unprofessional and
confusing to readers.

Example Before:
This eliminated my 400% traffic growth blockers post-automation.[1][4]
Use jitter: add random delays to avoid thundering herds.[3]
In n8n, set node timeouts explicitly.[7]

Example After:
This eliminated my 400% traffic growth blockers post-automation.
Use jitter: add random delays to avoid thundering herds.
In n8n, set node timeouts explicitly.

Fixes Applied:
- Removed \"Suggest 2-3 authoritative external sources to reference\" from
article prompts
- Added explicit instruction to ALL AI providers: \"NO citation markers
[1][2][3], NO footnotes, NO bibliography sections\"
- Added automatic citation stripping in content cleanup:
- Strips [1], [2], [1][2] patterns
- Strips footnote markers [*], [†], [‑]
- Removes \"References\", \"Bibliography\", \"Sources\", \"Citations\" sections
- Cleans up empty brackets []

Files Changed:
- includes/class-ai-writer.php - Updated prompts for Anthropic, OpenAI,
Perplexity, and Custom Server
- includes/class-ai-writer.php - Added citation stripping to cleanup_html()


2. MALFORMED ARTICLE TITLES Fixed
-----------------------------------

Problem: Article titles were being generated with double colons, truncated
mid-phrase, and often didn\'t make grammatical sense.

Example Before:
Triggering Infinite Pending Fixes: Api Timeouts : 5 Costly
Jobs Causing Pending Loops: Debugging Cron : 8 Critical
Blogger Stuck Workflow Solutions: Eternal Auto : 9 Essential
Fix Zapier Infinite Pending Loops: How to : 8 Essential

Example After:
5 Costly Triggering Infinite Pending Tips
8 Critical Jobs Causing Pending Solutions
9 Essential Blogger Stuck Workflow Tips
8 Essential Fix Zapier Infinite Tips

Root Cause: The ensure_seo_title_starts_with_keyword() function was
aggressively prepending keywords with colons and then truncating to 60
characters, often cutting mid-word or mid-phrase.

Fixes Applied:

1. Smarter Keyword Position Detection:
- If keyword is at position 0 β†’ leave title unchanged
- If keyword is in first 50% of title β†’ accept as-is (good enough for SEO)
- Only restructure if keyword is missing or in last half of title

2. Intelligent Title Restructuring:
- Strategy 1: \"[Number] [PowerWord] [Keyword] Tips\" - when number +
power word found
- Strategy 2: \"[Keyword]: [Number] [PowerWord] Tips\" - for shorter keywords
- Strategy 3: \"[Keyword] Guide\" - for very long keywords (>30 chars)
- Strategy 4: Abbreviated keywords for >25 character keywords (first 3 words)

3. Title Cleanup Functions:
- clean_title() - Fixes double colons, trailing punctuation, spacing
- extract_meaningful_phrase() - Extracts useful content without filler words

Files Changed:
- includes/class-article-publisher.php - Completely rewrote
ensure_seo_title_starts_with_keyword()
- includes/class-article-publisher.php - Added clean_title() helper function
- includes/class-article-publisher.php - Added extract_meaningful_phrase()
helper function

================================================================================
IMPROVEMENTS
================================================================================

ENHANCED AI PROMPTS
-------------------

Updated title generation instructions across all AI providers:

Before:
- Keep title under 60 characters for SEO

After:
- Create a COMPLETE, meaningful title that stands on its own (NO truncated
phrases!)
- MUST be under 60 characters total - plan your title to fit, don\'t just
cut it off
- GOOD examples: \'8 Essential Tips for [Keyword]\', \'[Keyword]: 5 Proven Methods\'
- BAD examples: \'How to Fix Problems That Are : 5\' (cut off!),
\'Solutions That Will : 8 Best\' (incomplete!)

================================================================================
FILES MODIFIED
================================================================================

File Changes
---- -------
ai-autoblogger.php Version bump to 2.5.3
includes/class-ai-writer.php Updated prompts, added citation stripping
includes/class-article-publisher.php Rewrote title optimization logic

================================================================================
IMPORTANT NOTES
================================================================================

1. EXISTING ARTICLES: Previously published articles will NOT be automatically
updated. To fix existing articles with citation markers, manually edit in
WordPress or use database find/replace.

2. NEW ARTICLES ONLY: These fixes apply only to articles generated after
updating to v2.5.3.

3. BACKWARD COMPATIBLE: No database migrations required. Safe to update from
any 2.x version.

================================================================================
UPGRADE INSTRUCTIONS
================================================================================

1. Download ai-autoblogger-v2.5.3.zip
2. Go to WordPress Admin β†’ Plugins
3. Deactivate \"AI Auto Blogger\"
4. Delete the old plugin
5. Upload and activate the new version
6. Verify version shows \"2.5.3\" in plugin list

================================================================================
TESTING CHECKLIST
================================================================================

[ ] Generate a new article and verify no [1][2] markers appear
[ ] Verify article titles are complete sentences (no double colons, no truncation)
[ ] Verify keyword appears in first half of title
[ ] Check RankMath SEO score is still 80+
[ ] Test with different AI providers (Anthropic, OpenAI, Custom Server)

================================================================================
SUPPORT
================================================================================

If you encounter issues after updating:
Email: help@eternalautoblogger.com
Check logs: AI Auto Blogger β†’ Logs

================================================================================

Eternal Auto Blogger - Your Blog Writes Itself. Forever.
🌐 WordPress 5.0+
🐘 PHP 7.4+
v2.5.1 Stable
πŸ“… December 30, 2025
⏱️ 4 weeks ago
⬇️ 1 downloads

πŸ“ What's Changed

# Eternal Auto Blogger - WordPress Plugin

πŸ€– An autonomous AI-powered content engine that researches, plans, writes, and publishes SEO-optimized article clusters based on persona-driven thought spheres.

**Developed by [Ventus Media](https://www.ventusserver.com)**

✨ Features



  • **🌐 Thought Spheres**: Creates clusters of 7 interconnected articles (1 pillar + 6 supporting)

  • **πŸ‘€ AI Personas**: Define unique author personalities with specific expertise, interests, and writing styles

  • **πŸ” Automated Research**: Discovers trending topics using Google Autocomplete, People Also Ask, and more

  • **✍️ AI-Powered Writing**: Generates SEO-optimized content using Claude or GPT-4

  • **πŸ–ΌοΈ Image Generation**: Automatically creates featured images with DALL-E 3

  • **πŸ”— Smart Internal Linking**: Automatically links articles within spheres

  • **πŸ“Š RankMath Compatible**: SEO meta fields optimized for RankMath

  • **♾️ Eternal Cycle**: Runs autonomously on cron schedule


  • πŸš€ Installation



    1. Upload the `ai-autoblogger` folder to `/wp-content/plugins/`
    2. Activate the plugin through the \'Plugins\' menu in WordPress
    3. Go to **Eternal Blogger > Settings** to configure your API keys
    4. Create your first **Persona** under Eternal Blogger > Personas
    5. Run manually or wait for the cron to trigger automatically!

    βš™οΈ Configuration



    API Keys Required



  • **Anthropic API Key** (for Claude) - Get at [console.anthropic.com](https://console.anthropic.com)

  • **OpenAI API Key** (for GPT-4/DALL-E) - Get at [platform.openai.com](https://platform.openai.com)

  • **SerpAPI Key** (optional, for enhanced research) - Get at [serpapi.com](https://serpapi.com)


  • Creating a Persona



    Each persona represents an AI author with:
  • **Name**: The persona\'s identity

  • **Expertise Areas**: Topics they\'re knowledgeable about

  • **Interests**: Related topics they find interesting

  • **Passions**: What drives their writing

  • **Voice Style**: Professional, casual, academic, etc.

  • **Tone**: Informative, inspiring, practical, etc.

  • **Target Audience**: Who they\'re writing for

  • **Writing Guidelines**: Specific instructions for their content

  • **Topics to Avoid**: Subjects they shouldn\'t cover


  • πŸ“ How Thought Spheres Work



    1. **Research Phase**: Discovers trending topics related to persona\'s expertise
    2. **Planning Phase**: Selects pillar keyword and 6 supporting topics
    3. **Writing Phase**: Generates pillar article (2500+ words) and cluster articles (1500+ words each)
    4. **Linking Phase**: Injects internal links between all articles in the sphere
    5. **Publishing Phase**: Publishes all 7 articles with SEO meta, featured images, and tags

    Internal Link Structure



    ```
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ PILLAR β”‚
    β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
    β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ β”‚ β”‚
    β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”
    β”‚Clusterβ”‚β”‚Clusterβ”‚β”‚Clusterβ”‚
    β”‚ 1 β”‚β”‚ 2 β”‚β”‚ 3 β”‚
    β””β”€β”€β”€β”¬β”€β”€β”€β”˜β””β”€β”€β”€β”¬β”€β”€β”€β”˜β””β”€β”€β”€β”¬β”€β”€β”€β”˜
    β”‚ β”‚ β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”˜
    β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ β”‚ β”‚
    β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”
    β”‚Clusterβ”‚β”‚Clusterβ”‚β”‚Clusterβ”‚
    β”‚ 4 β”‚β”‚ 5 β”‚β”‚ 6 β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”˜β””β”€β”€β”€β”€β”€β”€β”€β”˜β””β”€β”€β”€β”€β”€β”€β”€β”˜
    ```

    Each cluster links to:
  • The pillar article

  • Adjacent cluster articles (circular pattern)


  • πŸ• Cron Schedule



    Configure how often the autoblogger runs:
  • Hourly

  • Every 6 Hours

  • Twice Daily

  • Daily (default)

  • Weekly


  • Each cycle continues from where it left off, so long-running spheres will complete over multiple cycles.

    πŸ“Š Database Tables



    The plugin creates these custom tables:
  • `wp_aiab_personas` - AI author configurations

  • `wp_aiab_thought_spheres` - Article clusters

  • `wp_aiab_articles` - Individual articles

  • `wp_aiab_topic_history` - Prevents duplicate topics

  • `wp_aiab_research_cache` - Caches research API results

  • `wp_aiab_log` - Activity logging

  • `wp_aiab_queue` - Job queue for async processing


  • πŸ”§ Hooks & Filters



    Actions


    ```php
    // Runs before each cycle
    do_action(\'aiab_before_cycle\');

    // Runs after sphere completion
    do_action(\'aiab_sphere_completed\', $sphere_id);

    // Runs after article published
    do_action(\'aiab_article_published\', $post_id, $article_id);
    ```

    Filters


    ```php
    // Modify article content before publishing
    $content = apply_filters(\'aiab_article_content\', $content, $article);

    // Modify system prompt for persona
    $prompt = apply_filters(\'aiab_system_prompt\', $prompt, $persona);
    ```

    πŸ’° Cost Estimation



    Per thought sphere (7 articles):
  • **Claude Sonnet**: ~$2-4

  • **Claude Opus**: ~$8-15

  • **GPT-4 Turbo**: ~$3-6

  • **DALL-E 3 Images**: ~$0.28 (7 Γ— $0.04)


  • **Monthly estimate (daily sphere)**: $70-150

    πŸ› Troubleshooting



    Cron not running?


    1. Check if WP-Cron is enabled
    2. Try manually triggering from Dashboard
    3. Consider using server cron instead of WP-Cron

    API errors?


    1. Verify API keys are correct
    2. Check API quota/billing status
    3. Review logs for specific error messages

    Articles not linking?


    1. Ensure all articles in sphere are published
    2. Check that wp_post_id is populated in aiab_articles table
    3. Review logs for linking phase errors

    πŸ“„ License



    GPL v2 or later

    πŸ“‹ Changelog



    v2.4.0 (2024-12-30)


    **🏒 VENTUS MEDIA RELEASE**
  • **NEW**: Official release by Ventus Media

  • **NEW**: Updated plugin URI to eternalautoblogger.com

  • **NEW**: Custom Server (Ollama) support for self-hosted AI

  • **IMPROVED**: Free tier research options (Google Autocomplete + DuckDuckGo)

  • **IMPROVED**: Documentation and support resources


  • v2.3.6 (2024-12-28)


    **🎯 GUARANTEED KEYWORD AT START OF SEO TITLE**
  • **NEW**: `ensure_seo_title_starts_with_keyword()` method in Publisher

  • **FIX**: Title enforcement now happens BEFORE post insertion

  • **FIX**: Both `post_title` AND `rank_math_title` now start with keyword

  • **IMPROVED**: Logs show `keyword_at_start: YES/NO` for debugging

  • **IMPROVED**: Title fixed at 3 points: AI Writer, Publisher (before insert), SEO Meta


  • **The Fix:**
    ```
    OLD: Post created with any title β†’ SEO meta set with same title
    NEW: Title fixed to start with keyword β†’ THEN post created β†’ SEO meta uses fixed title
    ```

    v2.3.5 (2024-12-14)


    **🎯 CRITICAL FIX: RankMath Keyword Matching**
  • **FIX**: URL slug was stripping \"for\", \"the\", etc. breaking keyword match

  • **FIX**: Title must START with keyword (position 0), not just \"first half\"

  • **FIX**: `optimize_focus_keyword` was too aggressive - now only removes question prefixes


  • v2.3.4 (2024-12-14)


    **πŸ”§ CRITICAL FIX: HTML Tag Corruption & TOC Issues**
  • **FIX**: Raw HTML tags (``, ``) showing in content

  • **FIX**: Table of Contents not appearing

  • **NEW**: `cleanup_html()` function to fix escaped/broken HTML entities


  • v2.3.3 (2024-12-14)


    **🎯 KEYWORD DENSITY ENFORCEMENT FOR RANKMATH 100/100**
  • **NEW**: Post-processing keyword density enforcement system

  • **FIX**: Keyword Density showing 0.00% - now enforces exact keyword placement


  • v2.3.2


  • API key mismatch auto-detection and correction

  • Enhanced model migrations for deprecated Perplexity models

  • Improved budget/quota error handling


  • v2.3.1


  • MySQL 5.5 compatibility fixes

  • Database timestamp handling improvements

  • Schema fallback for older databases


  • v2.3.0


  • Infinite retry loop prevention

  • Self-healing sphere advancement

  • Continuation check improvements


  • v2.0.0


  • Initial release with full autonomous operation

  • Thought sphere architecture

  • Multi-provider AI support (Anthropic, OpenAI, Perplexity)

  • RankMath SEO optimization

  • Internal linking system


  • 🀝 Support



    For support and inquiries:
  • **Website**: [eternalautoblogger.com](https://eternalautoblogger.com)

  • **Developer**: [Ventus Media](https://www.ventusserver.com)

  • **Documentation**: [eternalautoblogger.com/docs](https://eternalautoblogger.com/docs)


---

Built with ❀️ by [Ventus Media](https://www.ventusserver.com) for autonomous content creation
🌐 WordPress 5.0+
🐘 PHP 7.4+
v2.5.0 Stable
πŸ“… December 30, 2025
⏱️ 4 weeks ago

πŸ“ What's Changed

# Eternal Auto Blogger - WordPress Plugin

πŸ€– An autonomous AI-powered content engine that researches, plans, writes, and publishes SEO-optimized article clusters based on persona-driven thought spheres.

**Developed by [Ventus Media](https://www.ventusserver.com)**

✨ Features



  • **🌐 Thought Spheres**: Creates clusters of 7 interconnected articles (1 pillar + 6 supporting)

  • **πŸ‘€ AI Personas**: Define unique author personalities with specific expertise, interests, and writing styles

  • **πŸ” Automated Research**: Discovers trending topics using Google Autocomplete, People Also Ask, and more

  • **✍️ AI-Powered Writing**: Generates SEO-optimized content using Claude or GPT-4

  • **πŸ–ΌοΈ Image Generation**: Automatically creates featured images with DALL-E 3

  • **πŸ”— Smart Internal Linking**: Automatically links articles within spheres

  • **πŸ“Š RankMath Compatible**: SEO meta fields optimized for RankMath

  • **♾️ Eternal Cycle**: Runs autonomously on cron schedule


  • πŸš€ Installation



    1. Upload the `ai-autoblogger` folder to `/wp-content/plugins/`
    2. Activate the plugin through the \'Plugins\' menu in WordPress
    3. Go to **Eternal Blogger > Settings** to configure your API keys
    4. Create your first **Persona** under Eternal Blogger > Personas
    5. Run manually or wait for the cron to trigger automatically!

    βš™οΈ Configuration



    API Keys Required



  • **Anthropic API Key** (for Claude) - Get at [console.anthropic.com](https://console.anthropic.com)

  • **OpenAI API Key** (for GPT-4/DALL-E) - Get at [platform.openai.com](https://platform.openai.com)

  • **SerpAPI Key** (optional, for enhanced research) - Get at [serpapi.com](https://serpapi.com)


  • Creating a Persona



    Each persona represents an AI author with:
  • **Name**: The persona\'s identity

  • **Expertise Areas**: Topics they\'re knowledgeable about

  • **Interests**: Related topics they find interesting

  • **Passions**: What drives their writing

  • **Voice Style**: Professional, casual, academic, etc.

  • **Tone**: Informative, inspiring, practical, etc.

  • **Target Audience**: Who they\'re writing for

  • **Writing Guidelines**: Specific instructions for their content

  • **Topics to Avoid**: Subjects they shouldn\'t cover


  • πŸ“ How Thought Spheres Work



    1. **Research Phase**: Discovers trending topics related to persona\'s expertise
    2. **Planning Phase**: Selects pillar keyword and 6 supporting topics
    3. **Writing Phase**: Generates pillar article (2500+ words) and cluster articles (1500+ words each)
    4. **Linking Phase**: Injects internal links between all articles in the sphere
    5. **Publishing Phase**: Publishes all 7 articles with SEO meta, featured images, and tags

    Internal Link Structure



    ```
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ PILLAR β”‚
    β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
    β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ β”‚ β”‚
    β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”
    β”‚Clusterβ”‚β”‚Clusterβ”‚β”‚Clusterβ”‚
    β”‚ 1 β”‚β”‚ 2 β”‚β”‚ 3 β”‚
    β””β”€β”€β”€β”¬β”€β”€β”€β”˜β””β”€β”€β”€β”¬β”€β”€β”€β”˜β””β”€β”€β”€β”¬β”€β”€β”€β”˜
    β”‚ β”‚ β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”˜
    β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ β”‚ β”‚
    β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”
    β”‚Clusterβ”‚β”‚Clusterβ”‚β”‚Clusterβ”‚
    β”‚ 4 β”‚β”‚ 5 β”‚β”‚ 6 β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”˜β””β”€β”€β”€β”€β”€β”€β”€β”˜β””β”€β”€β”€β”€β”€β”€β”€β”˜
    ```

    Each cluster links to:
  • The pillar article

  • Adjacent cluster articles (circular pattern)


  • πŸ• Cron Schedule



    Configure how often the autoblogger runs:
  • Hourly

  • Every 6 Hours

  • Twice Daily

  • Daily (default)

  • Weekly


  • Each cycle continues from where it left off, so long-running spheres will complete over multiple cycles.

    πŸ“Š Database Tables



    The plugin creates these custom tables:
  • `wp_aiab_personas` - AI author configurations

  • `wp_aiab_thought_spheres` - Article clusters

  • `wp_aiab_articles` - Individual articles

  • `wp_aiab_topic_history` - Prevents duplicate topics

  • `wp_aiab_research_cache` - Caches research API results

  • `wp_aiab_log` - Activity logging

  • `wp_aiab_queue` - Job queue for async processing


  • πŸ”§ Hooks & Filters



    Actions


    ```php
    // Runs before each cycle
    do_action(\'aiab_before_cycle\');

    // Runs after sphere completion
    do_action(\'aiab_sphere_completed\', $sphere_id);

    // Runs after article published
    do_action(\'aiab_article_published\', $post_id, $article_id);
    ```

    Filters


    ```php
    // Modify article content before publishing
    $content = apply_filters(\'aiab_article_content\', $content, $article);

    // Modify system prompt for persona
    $prompt = apply_filters(\'aiab_system_prompt\', $prompt, $persona);
    ```

    πŸ’° Cost Estimation



    Per thought sphere (7 articles):
  • **Claude Sonnet**: ~$2-4

  • **Claude Opus**: ~$8-15

  • **GPT-4 Turbo**: ~$3-6

  • **DALL-E 3 Images**: ~$0.28 (7 Γ— $0.04)


  • **Monthly estimate (daily sphere)**: $70-150

    πŸ› Troubleshooting



    Cron not running?


    1. Check if WP-Cron is enabled
    2. Try manually triggering from Dashboard
    3. Consider using server cron instead of WP-Cron

    API errors?


    1. Verify API keys are correct
    2. Check API quota/billing status
    3. Review logs for specific error messages

    Articles not linking?


    1. Ensure all articles in sphere are published
    2. Check that wp_post_id is populated in aiab_articles table
    3. Review logs for linking phase errors

    πŸ“„ License



    GPL v2 or later

    πŸ“‹ Changelog



    v2.4.0 (2024-12-30)


    **🏒 VENTUS MEDIA RELEASE**
  • **NEW**: Official release by Ventus Media

  • **NEW**: Updated plugin URI to eternalautoblogger.com

  • **NEW**: Custom Server (Ollama) support for self-hosted AI

  • **IMPROVED**: Free tier research options (Google Autocomplete + DuckDuckGo)

  • **IMPROVED**: Documentation and support resources


  • v2.3.6 (2024-12-28)


    **🎯 GUARANTEED KEYWORD AT START OF SEO TITLE**
  • **NEW**: `ensure_seo_title_starts_with_keyword()` method in Publisher

  • **FIX**: Title enforcement now happens BEFORE post insertion

  • **FIX**: Both `post_title` AND `rank_math_title` now start with keyword

  • **IMPROVED**: Logs show `keyword_at_start: YES/NO` for debugging

  • **IMPROVED**: Title fixed at 3 points: AI Writer, Publisher (before insert), SEO Meta


  • **The Fix:**
    ```
    OLD: Post created with any title β†’ SEO meta set with same title
    NEW: Title fixed to start with keyword β†’ THEN post created β†’ SEO meta uses fixed title
    ```

    v2.3.5 (2024-12-14)


    **🎯 CRITICAL FIX: RankMath Keyword Matching**
  • **FIX**: URL slug was stripping \"for\", \"the\", etc. breaking keyword match

  • **FIX**: Title must START with keyword (position 0), not just \"first half\"

  • **FIX**: `optimize_focus_keyword` was too aggressive - now only removes question prefixes


  • v2.3.4 (2024-12-14)


    **πŸ”§ CRITICAL FIX: HTML Tag Corruption & TOC Issues**
  • **FIX**: Raw HTML tags (``, ``) showing in content

  • **FIX**: Table of Contents not appearing

  • **NEW**: `cleanup_html()` function to fix escaped/broken HTML entities


  • v2.3.3 (2024-12-14)


    **🎯 KEYWORD DENSITY ENFORCEMENT FOR RANKMATH 100/100**
  • **NEW**: Post-processing keyword density enforcement system

  • **FIX**: Keyword Density showing 0.00% - now enforces exact keyword placement


  • v2.3.2


  • API key mismatch auto-detection and correction

  • Enhanced model migrations for deprecated Perplexity models

  • Improved budget/quota error handling


  • v2.3.1


  • MySQL 5.5 compatibility fixes

  • Database timestamp handling improvements

  • Schema fallback for older databases


  • v2.3.0


  • Infinite retry loop prevention

  • Self-healing sphere advancement

  • Continuation check improvements


  • v2.0.0


  • Initial release with full autonomous operation

  • Thought sphere architecture

  • Multi-provider AI support (Anthropic, OpenAI, Perplexity)

  • RankMath SEO optimization

  • Internal linking system


  • 🀝 Support



    For support and inquiries:
  • **Website**: [eternalautoblogger.com](https://eternalautoblogger.com)

  • **Developer**: [Ventus Media](https://www.ventusserver.com)

  • **Documentation**: [eternalautoblogger.com/docs](https://eternalautoblogger.com/docs)


---

Built with ❀️ by [Ventus Media](https://www.ventusserver.com) for autonomous content creation
🌐 WordPress 5.0+
🐘 PHP 7.4+
v1.9.7 Stable
πŸ“… December 14, 2025
⏱️ 1 month ago

πŸ“ What's Changed

Eternal Auto Blogger
Version 1.9.7

Release Date: December 2025

Overview

Version 1.9.7 focuses on stability, automation reliability, and SEO compatibility. This release refines the autonomous publishing cycle, improves content generation consistency, and strengthens integrations with WordPress and Rank Math.

New and Improved

Improved autonomous cron execution for more reliable article generation cycles

Enhanced Thought Sphere handling for cleaner pillar and supporting article relationships

Refined AI persona prompt handling for more consistent tone and topical authority

Improved internal linking logic within article clusters

More reliable featured image generation and attachment handling

Optimized Rank Math meta population for titles, descriptions, and focus keywords

Fixes

Fixed intermittent cron failures on low traffic sites

Fixed duplicate or missing internal links in supporting articles

Fixed edge cases where featured images were not properly attached to posts

Fixed admin settings not persisting correctly in some hosting environments

Fixed minor PHP notices and improved error handling across core classes

Performance and Stability

Reduced unnecessary database queries during autonomous runs

Improved memory handling during bulk article generation

General code cleanup and internal refactoring for long-term maintainability

Compatibility

Tested with latest WordPress core versions

Fully compatible with Rank Math SEO

Compatible with GPT-4 and Claude-based content generation workflows

Notes

This release is recommended for all users running autonomous publishing cycles.
As always, back up your site before updating.
🌐 WordPress 5.0+
🐘 PHP 7.4+