Files
ALwrity/backend/test_seo_metadata_generator.py

110 lines
4.2 KiB
Python

"""
Test script for BlogSEOMetadataGenerator
Run this to verify the service works correctly
"""
import asyncio
import sys
import os
# Add the backend directory to the Python path
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from services.blog_writer.seo.blog_seo_metadata_generator import BlogSEOMetadataGenerator
async def test_metadata_generation():
"""Test the metadata generation service"""
# Sample blog content
blog_content = """
# The Future of AI in Content Marketing
Artificial Intelligence is revolutionizing the way we create and distribute content.
From automated content generation to personalized marketing campaigns, AI is transforming
the content marketing landscape.
## Key Benefits of AI in Content Marketing
1. **Automated Content Creation**: AI can generate high-quality content at scale
2. **Personalization**: AI enables hyper-personalized content for different audiences
3. **Optimization**: AI helps optimize content for better performance
4. **Analytics**: AI provides deeper insights into content performance
## The Road Ahead
As AI technology continues to evolve, we can expect even more sophisticated
content marketing tools and strategies. The future is bright for AI-powered content marketing.
"""
blog_title = "The Future of AI in Content Marketing"
# Sample research data
research_data = {
"keyword_analysis": {
"primary": ["AI content marketing", "artificial intelligence marketing", "content automation"],
"long_tail": ["AI content marketing tools 2024", "automated content generation benefits"],
"semantic": ["machine learning", "content strategy", "digital marketing", "automation"],
"search_intent": "informational",
"target_audience": "marketing professionals",
"industry": "technology"
}
}
try:
print("🚀 Testing BlogSEOMetadataGenerator...")
# Initialize the generator
generator = BlogSEOMetadataGenerator()
# Generate metadata
print("📝 Generating comprehensive SEO metadata...")
results = await generator.generate_comprehensive_metadata(
blog_content=blog_content,
blog_title=blog_title,
research_data=research_data
)
# Display results
print("\n✅ Metadata Generation Results:")
print("=" * 50)
print(f"Success: {results.get('success', False)}")
print(f"SEO Title: {results.get('seo_title', 'N/A')}")
print(f"Meta Description: {results.get('meta_description', 'N/A')}")
print(f"URL Slug: {results.get('url_slug', 'N/A')}")
print(f"Blog Tags: {results.get('blog_tags', [])}")
print(f"Blog Categories: {results.get('blog_categories', [])}")
print(f"Social Hashtags: {results.get('social_hashtags', [])}")
print(f"Reading Time: {results.get('reading_time', 0)} minutes")
print(f"Focus Keyword: {results.get('focus_keyword', 'N/A')}")
print(f"Optimization Score: {results.get('metadata_summary', {}).get('optimization_score', 0)}%")
print("\n📱 Social Media Metadata:")
print("-" * 30)
open_graph = results.get('open_graph', {})
print(f"OG Title: {open_graph.get('title', 'N/A')}")
print(f"OG Description: {open_graph.get('description', 'N/A')}")
twitter_card = results.get('twitter_card', {})
print(f"Twitter Title: {twitter_card.get('title', 'N/A')}")
print(f"Twitter Description: {twitter_card.get('description', 'N/A')}")
print("\n🔍 Structured Data:")
print("-" * 20)
json_ld = results.get('json_ld_schema', {})
print(f"Schema Type: {json_ld.get('@type', 'N/A')}")
print(f"Headline: {json_ld.get('headline', 'N/A')}")
print(f"\n⏱️ Generation completed in: {results.get('generated_at', 'N/A')}")
print("🎉 Test completed successfully!")
except Exception as e:
print(f"❌ Test failed: {e}")
import traceback
traceback.print_exc()
if __name__ == "__main__":
asyncio.run(test_metadata_generation())