{"id":37563440,"url":"https://github.com/mikefreemantn/sourcehub","last_synced_at":"2026-04-16T15:01:22.522Z","repository":{"id":317284142,"uuid":"1066498303","full_name":"mikefreemantn/SourceHub","owner":"mikefreemantn","description":"Hub \u0026 Spoke WordPress Plugin for Centralized Content Distribution with AI Rewriting and Smart Links","archived":false,"fork":false,"pushed_at":"2026-04-03T18:27:34.000Z","size":1441,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-03T20:56:58.851Z","etag":null,"topics":["ai","content-syndication","hub-spoke","plugin","seo","wordpress"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mikefreemantn.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-29T15:08:02.000Z","updated_at":"2026-04-03T18:27:38.000Z","dependencies_parsed_at":"2025-12-06T10:08:46.385Z","dependency_job_id":null,"html_url":"https://github.com/mikefreemantn/SourceHub","commit_stats":null,"previous_names":["mikefreemantn/sourcehub"],"tags_count":132,"template":false,"template_full_name":null,"purl":"pkg:github/mikefreemantn/SourceHub","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikefreemantn%2FSourceHub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikefreemantn%2FSourceHub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikefreemantn%2FSourceHub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikefreemantn%2FSourceHub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikefreemantn","download_url":"https://codeload.github.com/mikefreemantn/SourceHub/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikefreemantn%2FSourceHub/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31891038,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T11:36:10.202Z","status":"ssl_error","status_checked_at":"2026-04-16T11:36:09.652Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","content-syndication","hub-spoke","plugin","seo","wordpress"],"created_at":"2026-01-16T09:11:27.041Z","updated_at":"2026-04-16T15:01:22.514Z","avatar_url":"https://github.com/mikefreemantn.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SourceHub - Hub \u0026 Spoke WordPress Plugin\n\nA powerful content syndication plugin that enables centralized editorial teams to distribute content across multiple WordPress sites with full SEO integration, AI rewriting, and smart linking capabilities.\n\n## 🎯 Overview\n\nSourceHub transforms your WordPress network into a centralized content distribution system. Create content once on your hub site and automatically syndicate it to multiple spoke sites with intelligent processing, SEO optimization, and custom linking.\n\n## ✨ Key Features\n\n### 🏢 **Hub \u0026 Spoke Architecture**\n- **Hub Mode**: Central content creation and management\n- **Spoke Mode**: Automated content receiving and publishing\n- **Dual Mode Plugin**: Single plugin works in both modes\n\n### 🤖 **AI-Powered Content Rewriting**\n- **OpenAI Integration**: GPT-4, GPT-4 Turbo, GPT-4o Mini support\n- **Per-Spoke Customization**: Different AI settings for each spoke site\n- **Per-Post Control**: Override AI settings on individual posts\n- **Tone \u0026 Style**: Customize rewriting tone and instructions\n\n### 🔗 **Smart Linking System**\n- **Smart Links**: Automatic URL adaptation (`/weather` → `spoke1.com/weather`)\n- **Custom Smart Links**: Unique URLs per spoke site for external links\n- **Block Editor Integration**: Visual formatting tools in WordPress editor\n- **AI Compatible**: Links preserved during AI rewriting\n\n### 🎨 **Modern Admin Interface**\n- **Google Material Design**: Beautiful, responsive dashboard\n- **Real-time Monitoring**: Live syndication status and logs\n- **Connection Management**: Easy spoke site setup and testing\n- **Activity Logging**: Comprehensive audit trail\n\n### 🔍 **SEO \u0026 Technical Features**\n- **Full Yoast SEO Integration**: All meta fields sync automatically\n- **Canonical URL Management**: Proper SEO structure maintained\n- **Featured Image Sync**: Complete media handling\n- **Category \u0026 Tag Mapping**: Taxonomy synchronization\n- **Site Wake-Up System**: Handles sleeping/inactive sites\n\n## 🚀 **Quick Start**\n\n### Installation\n1. Upload the plugin to `/wp-content/plugins/sourcehub/`\n2. Activate the plugin through WordPress admin\n3. Choose Hub or Spoke mode in SourceHub settings\n\n### Hub Site Setup\n1. Set mode to \"Hub\" in SourceHub → Settings\n2. Add spoke connections in SourceHub → Connections\n3. Configure AI settings (optional) in SourceHub → Settings → AI Integration\n4. Start creating and syndicating content!\n\n### Spoke Site Setup\n1. Set mode to \"Spoke\" in SourceHub → Settings\n2. Copy the API key and provide it to your hub site\n3. Content will automatically appear when syndicated from hub\n\n## 🛠 **Technical Requirements**\n\n- **WordPress**: 5.0 or higher\n- **PHP**: 7.4 or higher\n- **MySQL**: 5.6 or higher\n- **Yoast SEO**: Recommended for full SEO features\n- **OpenAI API Key**: Required for AI rewriting features\n\n## 📋 **Use Cases**\n\n### 🗞️ **News Organizations**\n- Central newsroom creates content\n- Automatic distribution to local market sites\n- AI adapts content for local audiences\n- Consistent SEO and branding\n\n### 🏢 **Multi-Location Businesses**\n- Corporate content creation\n- Location-specific customization\n- Smart links adapt to local pages\n- Centralized content management\n\n### 📱 **Digital Agencies**\n- Manage multiple client sites\n- Efficient content distribution\n- Custom AI settings per client\n- Comprehensive reporting\n\n## 🔧 **Advanced Features**\n\n### Smart Links\n```html\n\u003c!-- In Editor --\u003e\nVisit our \u003csmart-link\u003e/weather\u003c/smart-link\u003e section\n\n\u003c!-- On Spoke Sites --\u003e\nVisit our \u003ca href=\"https://spoke1.com/weather\"\u003eweather\u003c/a\u003e section\nVisit our \u003ca href=\"https://spoke2.com/weather\"\u003eweather\u003c/a\u003e section\n```\n\n### Custom Smart Links\n```html\n\u003c!-- Different URLs per spoke --\u003e\nCheck your \u003ccustom-smart-link\u003ecounty website\u003c/custom-smart-link\u003e\n\u003c!-- spoke1.com → links to dallascounty.org --\u003e\n\u003c!-- spoke2.com → links to harriscounty.org --\u003e\n```\n\n### AI Rewriting\n- **Automatic**: Content rewritten based on spoke settings\n- **Per-Post Override**: Disable AI for specific posts\n- **Tone Control**: Professional, casual, local, etc.\n- **Custom Instructions**: Specific rewriting guidelines\n\n## 📊 **Monitoring \u0026 Logs**\n\n- **Real-time Dashboard**: Live syndication status\n- **Activity Logs**: Detailed operation history\n- **Success Metrics**: Syndication success rates\n- **Error Tracking**: Comprehensive error logging\n- **Wake-up Monitoring**: Site responsiveness tracking\n\n## 🔐 **Security**\n\n- **API Key Authentication**: Secure hub-spoke communication\n- **Nonce Verification**: CSRF protection\n- **Permission Checks**: Proper user capability validation\n- **Input Sanitization**: All data properly sanitized\n- **Audit Logging**: Complete activity tracking\n\n## 🤝 **Contributing**\n\nWe welcome contributions! Please see our contributing guidelines and submit pull requests for any improvements.\n\n## 📄 **License**\n\nThis plugin is licensed under the GPL v2 or later.\n\n## 🆘 **Support**\n\nFor support, feature requests, or bug reports, please open an issue on GitHub.\n\n---\n\n**Made with ❤️ for the WordPress community**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikefreemantn%2Fsourcehub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikefreemantn%2Fsourcehub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikefreemantn%2Fsourcehub/lists"}