AutoSEO Publisher is an autonomous, agentic content pipeline that orchestrates LLM swarms to research, draft, optimize, and deploy production-ready SEO articles.
Built with CrewAI, the system features a deterministic validation middleware and an agentic self-healing loop that guarantees a minimum SEO threshold before pushing content to a live WordPress site through automated workflows.
The following diagram shows the complete AutoSEO Publisher workflow from trend discovery to automated WordPress publishing.
Specialized agents handle distinct phases of the editorial lifecycle, minimizing hallucination through focused, low-temperature (0.1) prompts.
If generated HTML fails deterministic SEO validation (for example, keyword density mismatches or missing image alt tags), the content is routed back to the LLM with validation feedback for automatic correction.
Designed to run ephemerally on GitHub Actions Ubuntu runners with no persistent runtime dependencies.
- Python 3.10+
- WordPress instance with Application Passwords enabled
- API keys for your preferred LLM provider
- Serper.dev API key
git clone https://github.com/Baskar-forever/AutoSEO_Publisher.git
cd AutoSEO_Publisherpython -m venv venvLinux / macOS:
source venv/bin/activateWindows:
venv\Scripts\activatepip install -r requirements.txtcp .env.example .envPopulate the .env file with your credentials.
| Variable | Description | Required |
|---|---|---|
| OPENAI_API_KEY | LLM Provider API Key | Yes |
| MODEL | Target Model (e.g. gemini/gemini-2.5-flash) | Yes |
| SERPER_API_KEY | Search and Trend Discovery API Key | Yes |
| WP_URL | WordPress Website URL | Yes |
| WP_USER | WordPress Username | Yes |
| WP_APP_PASSWORD | WordPress Application Password | Yes |
Run pipeline in safe mode (draft publish):
python main.pyRun pipeline and publish live:
python main.py --indexBypass validation and force publish:
python main.py --forceThe repository includes a GitHub Actions workflow:
.github/workflows/auto_publish.yml
The workflow can be configured to execute automatically on a recurring schedule.
-
Navigate to: Settings → Secrets and Variables → Actions
-
Add all environment variables listed in the Configuration Schema as Repository Secrets.
-
Enable GitHub Actions for the repository.
-
Trigger manually or allow scheduled execution.
Contributions, issues, and feature requests are welcome.
- Fork the repository
- Create a feature branch
git checkout -b feature/AmazingFeature- Commit your changes
git commit -m "feat: Add AmazingFeature"- Push to GitHub
git push origin feature/AmazingFeature- Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
