Store previous analysis before regeneration and show comparison table
with priority breakdown, new/removed actions diff.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Cache: exclude volatile citations fields from hash for better hit rate
- Thinking level: reduce from 'high' to 'low' for faster responses (13-24s → ~5-10s)
- UTF-8: html.unescape() on meta_title, meta_description, h1_text
- SEO score: add "(Google Lighthouse)" label and explanatory note
- Spinner: update text to "15-30 seconds" with live timer counter
- Auto-scroll: smooth scroll to results after AI analysis and content generation
- Cache info: show generation date with "Wygeneruj ponownie" link
- Markdown: render non-code AI content with basic markdown formatting
- Error feedback: inline error display with retry button instead of modal
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add Gemini AI integration to SEO, GBP, and Social Media audits that
generates contextual analysis summaries and prioritized action items
with ready-to-use content (Schema.org, meta descriptions, social posts,
GBP descriptions, review responses, content calendars).
New files:
- audit_ai_service.py: Central AI service with caching (7-day TTL)
- blueprints/api/routes_audit_actions.py: 4 API endpoints
- database/migrations/056_audit_actions.sql: 3 new tables
- templates/partials/audit_ai_actions.html: Reusable UI component
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Jinja2 auto-escaping converts HTML entities inside {{ }} to literal text.
Replaced ✓/✗/⚠ with ✓/✗/⚠ in Local SEO and Technical SEO sections.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Zmiana nazwy: "Norda Biznes Hub" → "Norda Biznes Partner"
- Aktualizacja modelu AI: Gemini 2.0 Flash → Gemini 3 Flash
- Zachowano historyczne odniesienia w timeline i dokumentacji
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Updated CSS class definitions in all 4 audit templates to use
the same 5-level color scale as inline styles:
- .score-excellent: #10b981 (green, 90-100%)
- .score-good: #84cc16 (lime, 70-89%)
- .score-average: #f59e0b (amber, 50-69%)
- .score-needs-work: #f97316 (orange, 30-49%)
- .score-poor: #ef4444 (red, 0-29%)
This ensures consistency between company profile banners
and detailed audit page score circles/text.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Create /audit/seo/<slug> route with access control (admin or company owner)
- Create seo_audit.html template with score visualization
- Add green "Audyt SEO" button next to GBP audit button on company profile
- Match styling and UX patterns from GBP audit feature
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>