WP AutoFlow is a self-hosted platform designed to automate the lifecycle of content creation. It acts as a "Maestro," orchestrating the scraping of data sources, processing content via AI (OpenAI/DeepSeek), handling media manipulation, and publishing directly to WordPress.
Built with performance in mind, it uses a robust Queue system (BullMQ/Redis) to handle thousands of posts without crashing, ensuring your WordPress site remains fast and your content pipeline flows smoothly.
- Smart Rewriting: Uses state-of-the-art LLMs (GPT-5, o3-mini, DeepSeek) to rewrite titles and content, avoiding plagiarism.
- Context Awareness: Preserves the original meaning while improving SEO and readability.
- Internal Linking: Automatically builds internal links based on your site's history (SEO Link Building).
- Queue System: Powered by Redis & BullMQ. Handles massive workloads without timeouts.
- Concurrency Control: Configurable execution modes (Sequential, Parallel, or Staggered) to prevent server overload.
- Robust Scheduling: Built-in CRON scheduler to fetch new content automatically.
- Auto-Upload: Extracts featured images natively, downloads, and uploads them to the WordPress Media Library.
- Watermarking: Automatically applies watermarks to images before uploading.
- Instant Indexing: Automatically pings search engines the second a post is published.
- Multiple Providers: Native support for IndexNow (Bing/Yandex) and SpeedyIndex (Google), including "Pay per Indexed" mode.
- Proxy Support: Native support for Scrape.do (API Mode) or Standard Tunnel Proxies.
- Backup & Restore: Export and import your entire configuration and site lists via JSON for easy migrations.
- React + Vite: A blazing fast interface to manage sites, view logs, and monitor queues.
- Real-time Stats: Monitor success rates, errors, and queue status instantly.
- Backend: Node.js, Express, TypeScript
- Frontend: React, Vite, TailwindCSS, Lucide Icons
- Database: MongoDB (Metadata & Logs)
- Queue/Cache: Redis (BullMQ)
- Process Manager: Docker or PM2
Choose the method that best fits your infrastructure.
The easiest way to get started. Runs the App, MongoDB, and Redis in isolated containers.
-
Clone the repository:
git clone https://github.com/fabioselau077/wp-autoflow.git cd wp-autoflow -
Configure Environment:
cp .env.example .env
Note: Keep
MONGO_URIandREDIS_HOSTpointing tolocalhostin your .env file. The Docker configuration automatically overrides these internally. -
Start the System:
docker compose up -d --build
-
Access: Open
http://localhost:3000in your browser.First Login: Creating an account is open by default on the first access (or check if you have a seeder). If you have a default admin seeder, put credentials here like:
- User:
admin@wpautoflow.com - Pass:
admin123
- User:
Ideal for VPS usage where you want Node.js running natively for maximum performance, but keep databases in Docker.
-
Start Infrastructure (Mongo & Redis):
docker compose -f docker-compose.infra.yml up -d
-
Install & Build:
npm install npm run build
This compiles both Frontend (client) and Backend (server).
-
Start with PM2:
npm install -g pm2 pm2 start ecosystem.config.js pm2 save pm2 startup
-
Monitor:
pm2 logs wp-autoflow
For contributors who want to modify the code with Hot-Reload.
- Start Dev Environment:
This enables hot-reloading for the backend code. Run
docker compose -f docker-compose.dev.yml up --build
npm run devinside the/clientfolder for Frontend hot-reloading.
Create a .env file in the root directory using .env.example as a template.
# Server Configuration
PORT=3000
NODE_ENV=production
# Database (Default: localhost)
# If running via Full Docker, the system automatically routes this to the 'mongo' container.
MONGO_URI=mongodb://localhost:27017/wp-autoflow
# Queue System (Default: localhost)
REDIS_HOST=localhost
REDIS_PORT=6379
# Security
JWT_SECRET=change_this_to_a_secure_random_stringWP AutoFlow follows a Producer-Consumer pattern to ensure stability.
graph TD
Trigger[Scheduler / User] -->|1. Dispatch| Queue(Redis Queue)
Queue --> Worker{Worker Processor}
Worker -->|2. Scrape| Scraper[Fetch Posts]
subgraph Processor [Content Engine]
Scraper -->|3. Extract & Rewrite| AI[AI Rewriter]
Scraper -->|4. Download & Optimize| Media[Image Handler]
end
AI -->|5. Publish Post| WP[WordPress API]
Media -->|Upload Media| WP
WP -->|6. Ping| Indexers[IndexNow & SpeedyIndex]
WP -->|7. Notify| Webhooks[Webhooks]
Contributions are welcome! Please follow these steps:
- Fork the project.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
This project is licensed under the GNU General Public License v3.0 (GPLv3).
You are free to:
- Use privately or commercially.
- Modify the code.
- Distribute copies.
Under the following conditions:
- Source Code: You must disclose the source code of your modified version.
- License: Your modified version must also be licensed under GPLv3.
- Attribution: You must keep the original copyright and author credits.
See LICENSE for more information.
WP AutoFlow - Automate. Orchestrate. Dominate.
