# -*- coding: utf-8 -*- “”” Autoflow AI Tools – Professional SEO & Growth Engine (v2.0) Optimized for: autoflowaitools.com ———————————————————- تنبيه: هذا السكربت يتم تشغيله على جهازك الشخصي (أو Server / Google Colab) وليس داخل محرر ووردبريس. “”” import os import re import json import logging import requests from datetime import datetime from typing import Dict, List, Tuple, Optional, Any, Set from dataclasses import dataclass, field from enum import Enum from collections import defaultdict # ========================================== # 1. إعدادات التسجيل (Logging System) # ========================================== logging.basicConfig( level=logging.INFO, format=’%(asctime)s – %(levelname)s – %(message)s’, handlers=[ logging.FileHandler(‘autoflow_seo.log’, encoding=’utf-8′), logging.StreamHandler() ] ) logger = logging.getLogger(__name__) # ========================================== # 2. التعريفات وهياكل البيانات (Enums & Classes) # ========================================== class PageType(Enum): MONEY = “money” COMPARISON = “comparison” INFORMATIONAL = “informational” class SearchIntent(Enum): TRANSACTIONAL = “Transactional” COMMERCIAL = “Commercial Investigation” INFORMATIONAL = “Informational” NAVIGATIONAL = “Navigational” @dataclass class PageNode: url: str page_type: PageType intent: SearchIntent title: str keyword: str keywords_ar: List[str] = field(default_factory=list) outlinks: List[str] = field(default_factory=list) backlinks: List[str] = field(default_factory=list) content_score: float = 0.0 last_modified: str = field(default_factory=lambda: datetime.now().isoformat()) @dataclass class Persona: name: str name_ar: str pain_points: List[str] pain_points_ar: List[str] solutions: List[str] solutions_ar: List[str] keywords: List[str] keywords_ar: List[str] urgency_score: float = 0.0 conversion_rate: float = 0.0 @dataclass class CompetitorAnalysis: domain: str strengths: List[str] weaknesses: List[str] opportunity_gap: str market_share: float = 0.0 seo_score: float = 0.0 # ========================================== # 3. المحرك الرئيسي (Autoflow SEO Engine) # ========================================== class AutoflowSEOEngine: def __init__(self, domain: str = “autoflowaitools.com”, wp_username: str = “”, wp_app_password: str = “”, debug: bool = False): self.domain = domain.strip().lower() self.debug = debug self.wp_username = wp_username self.wp_app_password = wp_app_password self.wp_api_url = f”https://{self.domain}/wp-json/wp/v2″ self.personas: Dict[str, Persona] = {} self.pages: Dict[str, PageNode] = {} self.competitors: Dict[str, CompetitorAnalysis] = {} self.schema_cache: Dict[str, str] = {} logger.info(f”SEO Engine Initialized for: {self.domain}”) def add_persona(self, persona: Persona): “””إضافة شخصية مستهدفة (Buyer Persona)””” self.personas[persona.name] = persona logger.info(f”Persona added: {persona.name} ({persona.name_ar})”) def add_page(self, page: PageNode): “””إضافة صفحة إلى هيكل الموقع والمحتوى””” self.pages[page.url] = page logger.info(f”Page indexed: {page.title} [{page.url}]”) def generate_json_ld_schema(self, page_url: str) -> str: “””توليد كود Schema JSON-LD لتوافقيات Google SEO””” page = self.pages.get(page_url) if not page: return “{}” schema = { “@context”: “https://schema.org”, “@type”: “Article” if page.page_type == PageType.INFORMATIONAL else “WebPage”, “headline”: page.title, “url”: f”https://{self.domain}{page.url}”, “keywords”: “, “.join([page.keyword] + page.keywords_ar), “publisher”: { “@type”: “Organization”, “name”: “Autoflow AI Tools”, “url”: f”https://{self.domain}” } } return json.dumps(schema, ensure_ascii=False, indent=2) def publish_post_to_wordpress(self, title: str, content: str, excerpt: str = “”, status: str = “publish”) -> Optional[dict]: “”” إرسال ونشر مقال مباشر إلى موقع ووردبريس عبر WordPress REST API “”” if not self.wp_username or not self.wp_app_password: logger.error(“لم يتم إدخال بيانات اعتماد WordPress (WP Username / Application Password).”) return None endpoint = f”{self.wp_api_url}/posts” payload = { “title”: title, “content”: content, “excerpt”: excerpt, “status”: status # ‘publish’ للنشر المباشر أو ‘draft’ للمسودة } try: response = requests.post( endpoint, json=payload, auth=(self.wp_username, self.wp_app_password), headers={“Content-Type”: “application/json”} ) if response.status_code in [200, 201]: res_data = response.json() logger.info(f”تم النشر بنجاح على ووردبريس! رابط المقال: {res_data.get(‘link’)}”) return res_data else: logger.error(f”فشل النشر. رمز الاستجابة: {response.status_code} – التفاصيل: {response.text}”) return None except Exception as e: logger.error(f”خطأ أثناء الاتصال بموقع ووردبريس: {str(e)}”) return None # ========================================== # 4. تشغيل مثال عملي (Execution Example) # ========================================== if __name__ == “__main__”: print(“=== بدء تشغيل محرك Autoflow SEO Engine ===”) # 1. إعداد بيانات الاتصال بموقعك WP_USER = “Hicham Mansour” WP_APP_PASS = “XXXX XXXX XXXX XXXX” # احصل عليها من لوحة تحكم ووردبريس # 2. إنشاء كائن المحرك engine = AutoflowSEOEngine( domain=”autoflowaitools.com”, wp_username=WP_USER, wp_app_password=WP_APP_PASS ) # 3. إدخال بيانات العميل المستهدف (Persona) biz_owner = Persona( name=”Small Business Owner”, name_ar=”صاحب مشروع صغير”, pain_points=[“Manual repetitive tasks”, “High operating costs”], pain_points_ar=[“المهام اليدوية المكررة”, “ارتفاع التكاليف التشغيلية”], solutions=[“AI Workflows”, “Automated CRM”], solutions_ar=[“مسارات عمل الذكاء الاصطناعي”, “أتمتة إدارة العملاء”], keywords=[“AI tools for small business”, “business automation”], keywords_ar=[“أدوات الذكاء الاصطناعي للأعمال”, “أتمتة الشركات الصغيرة”] ) engine.add_persona(biz_owner) # 4. إضافة صفحة المقال الحالي current_page = PageNode( url=”/top-ai-automation-tools-reviewed-for-small-businesses”, page_type=PageType.INFORMATIONAL, intent=SearchIntent.INFORMATIONAL, title=”Top AI Automation Tools Reviewed for Small Businesses”, keyword=”AI Automation Tools”, keywords_ar=[“أدوات أتمتة الذكاء الاصطناعي”, “أتمتة الأعمال”] ) engine.add_page(current_page) # 5. توليد كود الـ Schema (JSON-LD) schema_code = engine.generate_json_ld_schema(current_page.url) print(“\n[+] كود JSON-LD Schema المنشأ بنجاح:”) print(schema_code)