# Generated by Django 5.2.7 on 2025-10-14 16:39

import django.db.models.deletion
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='SEOAuditRun',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('status', models.CharField(choices=[('pending', 'Pending'), ('running', 'Running'), ('completed', 'Completed'), ('failed', 'Failed')], max_length=255)),
                ('overall_score', models.IntegerField()),
                ('pages_analyzed', models.IntegerField()),
            ],
        ),
        migrations.CreateModel(
            name='SEOAuditIssue',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('issue_type', models.CharField(choices=[('title_missing', 'Title Missing'), ('title_too_short', 'Title Too Short'), ('title_too_long', 'Title Too Long'), ('meta_description_missing', 'Meta Description Missing'), ('meta_description_too_short', 'Meta Description Too Short'), ('meta_description_too_long', 'Meta Description Too Long'), ('meta_description_duplicate', 'Meta Description Duplicate'), ('meta_description_no_cta', 'Meta Description No CTA'), ('content_empty', 'Content Empty'), ('content_thin', 'Content Thin'), ('content_no_paragraphs', 'Content No Paragraphs'), ('header_no_h1', 'Header No H1'), ('header_multiple_h1', 'Header Multiple H1'), ('header_no_subheadings', 'Header No Subheadings'), ('header_broken_hierarchy', 'Header Broken Hierarchy'), ('image_no_alt', 'Image No Alt Text'), ('image_alt_generic', 'Image Alt Generic'), ('image_alt_too_long', 'Image Alt Too Long'), ('schema_missing', 'Schema Missing'), ('schema_no_organization', 'Schema No Organization/Person'), ('schema_no_article', 'Schema No Article/BlogPosting'), ('schema_invalid', 'Schema Invalid'), ('mobile_no_viewport', 'Mobile No Viewport'), ('mobile_fixed_width', 'Mobile Fixed Width'), ('mobile_text_small', 'Mobile Text Small'), ('internal_links_none', 'Internal Links None'), ('internal_links_few', 'Internal Links Few'), ('internal_links_all_external', 'Internal Links All External'), ('content_not_updated', 'Content Not Updated'), ('content_no_publish_date', 'Content No Publish Date'), ('content_no_modified_date', 'Content No Modified Date')], max_length=255)),
                ('issue_severity', models.CharField(choices=[('low', 'Low'), ('medium', 'Medium'), ('high', 'High')], max_length=255)),
                ('page_url', models.CharField(blank=True, max_length=512)),
                ('page_title', models.CharField(blank=True, max_length=512)),
                ('description', models.TextField(blank=True)),
                ('audit_run', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='issues', to='wagtail_seotoolkit.seoauditrun')),
            ],
            options={
                'ordering': ['-issue_severity', 'issue_type'],
            },
        ),
    ]
