Copyright (c) 2025 AryanVBW
| Website | Documentation | Issues |
|---|---|---|
| aryanvbw.github.io/AUTO-blogger | Documentation | GitHub Issues |
Transform your WordPress content strategy with intelligent automation!
AUTO-blogger is a professional-grade WordPress automation tool that combines the power of AI content generation, Getty Images integration, and comprehensive SEO optimization.
# Install from PyPI (Recommended)
pip install auto-blogger
# Launch the application
autoblog# Clone the repository
git clone https://github.com/AryanVBW/AUTO-blogger.git
cd AUTO-blogger
# Run the setup script
./setup.sh # macOS/Linux
setup.bat # Windows CMD
.\setup.ps1 # Windows PowerShell
# Or for development
./setup.sh --devmake help # Show all available commands
make dev-setup # Set up development environment
make run # Run the application
make test # Run tests
make lint # Run linters
make format # Format code- Automatic article scraping from source websites
- Gemini AI integration for content rewriting and paraphrasing
- SEO-optimized title and meta description generation
- Focus keyphrase and additional keyphrases extraction
- Smart internal and external link injection
- WordPress SEO compatibility (Yoast, AIOSEO)
- OpenAI DALL-E integration for AI-generated images
- Featured image generation with customizable prompts
- Content image insertion for enhanced visuals
- Getty Images editorial content integration
- Professional sports photography enhancement
- Automatic repository updates on launch
- Self-updating launcher with progress dialog
- Cross-platform compatibility (Windows, macOS, Linux)
- Git-based version control with rollback safety
- Step-by-step progress visualization
- Detailed logging with color-coded messages
- Performance metrics and timing information
- Export logs to file
- Domain-specific configuration profiles
- Multi-site management from one interface
- Secure credential storage per domain
AUTO-blogger/
├── auto_blogger/ # Main Python package
│ ├── __init__.py # Package initialization
│ ├── __main__.py # Module entry point
│ ├── automation_engine.py # Core automation logic
│ ├── gui_blogger.py # GUI application
│ ├── cli.py # CLI interface
│ ├── log_manager.py # Logging utilities
│ ├── css_selector_extractor.py
│ └── configs/ # Configuration files
│ ├── default.json
│ ├── gemini_prompts.json
│ ├── category_keywords.json
│ └── ...
│
├── tests/ # Test suite
│ ├── conftest.py # Pytest fixtures
│ ├── unit/ # Unit tests
│ └── integration/ # Integration tests
│
├── requirements/ # Dependency files
│ ├── base.txt # Core dependencies
│ ├── dev.txt # Development dependencies
│ └── test.txt # Test dependencies
│
├── docs/ # Documentation
├── scripts/ # Utility scripts
├── website/ # GitHub Pages site
│
├── setup.sh # Unix setup script
├── setup.bat # Windows CMD setup script
├── setup.ps1 # Windows PowerShell setup script
├── run.sh # Unix run script
├── run.bat # Windows run script
├── Makefile # Development automation
│
├── pyproject.toml # Modern Python packaging config
├── setup.py # Legacy setup (for compatibility)
├── setup.cfg # Additional configuration
├── requirements.txt # Dependencies (points to requirements/)
│
├── .env.example # Environment template
├── .pre-commit-config.yaml # Pre-commit hooks
├── .gitignore # Git ignore rules
│
├── README.md # This file
├── CHANGELOG.md # Version history
├── CONTRIBUTING.md # Contribution guidelines
└── LICENSE # MIT License
pip install auto-blogger
autoblogmacOS/Linux:
curl -sSL https://raw.githubusercontent.com/AryanVBW/AUTO-blogger/main/install.sh | bashWindows PowerShell:
Invoke-WebRequest -Uri https://raw.githubusercontent.com/AryanVBW/AUTO-blogger/main/install.sh -OutFile install.sh; bash install.sh# Clone
git clone https://github.com/AryanVBW/AUTO-blogger.git
cd AUTO-blogger
# Setup with dev dependencies
./setup.sh --dev
# Activate environment
source venv/bin/activate # Unix
venv\Scripts\activate # Windows
# Install pre-commit hooks
pre-commit install- Python 3.8 or higher
- Chrome/Chromium browser (for web scraping)
- WordPress site with REST API enabled
- Gemini API key
- OpenAI API key (optional, for image generation)
# Launch GUI (default)
autoblog
# Show version
autoblog --version
# Show system info
autoblog info
autoblog info --full
# Check requirements
autoblog check
autoblog check --fix
# Run with debug mode
autoblog --debugmake run # Run the GUI application
make run-gui # Run the GUI explicitly
make run-cli # Run CLI modeCopy .env.example to .env and configure:
cp .env.example .env
# Edit .env with your API keysKey environment variables:
WORDPRESS_URL- Your WordPress site URLWORDPRESS_USERNAME- WordPress usernameWORDPRESS_APP_PASSWORD- WordPress application passwordGEMINI_API_KEY- Google Gemini AI API keyOPENAI_API_KEY- OpenAI API key (optional)
# Full development setup
./setup.sh --dev
# Or using Make
make dev-setup# Run all tests
make test
# Run with coverage
make test-cov
# Run fast tests only
make test-fast# Format code
make format
# Run linters
make lint
# Type checking
make type-check
# All checks
make check# Build distribution
make build
# Upload to PyPI
make upload
# Upload to TestPyPI
make upload-testThe automation follows these steps:
- Fetch Article Links - Scrape source website for new articles
- Extract Content - Use Selenium to extract article title and content
- AI Paraphrasing - Use Gemini AI to rewrite and optimize content
- Inject Internal Links - Add relevant internal site links
- Inject External Links - Add authoritative external references
- Add Content Images - Generate and insert images within content
- Generate SEO Metadata - Create optimized titles and descriptions
- Extract Keyphrases - Generate focus and additional keyphrases
- Process Featured Images - Generate or source featured images
- Detect Categories - Automatically categorize content
- Generate Tags - Extract and create relevant tags
- Create WordPress Post - Publish as draft with all media
- Finalize - Complete processing and update status
- Source URL: Website to scrape articles from
- Article Selector: CSS selector for article links
- Timeout: Maximum page load wait time
- Site URL: WordPress REST API endpoint
- Username: WordPress username with posting permissions
- Password: WordPress application password
- API Key: Gemini AI API key
- OpenAI Model: DALL-E 2 or DALL-E 3
- Image Size: 256x256 to 1792x1024
- Style: Vivid or Natural
Import Errors:
# Ensure virtual environment is activated
source venv/bin/activate
# Reinstall dependencies
pip install -r requirements/base.txtSelenium Issues:
- Chrome/Chromium browser required
- ChromeDriver automatically managed by webdriver-manager
WordPress Connection:
- Verify REST API is enabled
- Use application passwords (not regular passwords)
- Check URL format:
https://yoursite.com/wp-json/wp/v2
API Issues:
- Verify API keys are correct
- Check quota and usage limits
- Application handles rate limiting automatically
Check the logs/ directory or the Logs tab in the GUI for detailed error messages.
See CONTRIBUTING.md for contribution guidelines.
# Fork and clone
git clone https://github.com/YOUR_USERNAME/AUTO-blogger.git
cd AUTO-blogger
# Setup development environment
./setup.sh --dev
# Create feature branch
git checkout -b feature/your-feature
# Make changes, test, and submit PR
make test
make lintThis project is licensed under the MIT License - see the LICENSE file for details.
- GUI Framework: Python tkinter
- Web Scraping: Selenium WebDriver
- AI Integration: Google Gemini AI, OpenAI DALL-E
- WordPress API: REST API
- HTML Parsing: BeautifulSoup4
- Image Processing: Pillow (PIL)
- Documentation: aryanvbw.github.io/AUTO-blogger
- Issues: GitHub Issues
- Email: [email protected]