Реализация аудита существующего контента перед миграцией

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.
Разработка и обслуживание любых видов сайтов:
Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Реализация аудита существующего контента перед миграцией
Средняя
~2-3 рабочих дня
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    874
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    851

Реализация аудита существующего контента перед миграцией

Аудит контента — инвентаризация и анализ всех материалов на текущем сайте перед переносом на новую платформу. Позволяет понять, что переносить, что обновлять, а что удалять.

Задачи аудита

  • Составить полный список URL на сайте
  • Выявить устаревший и дублирующий контент
  • Определить SEO-показатели каждой страницы
  • Найти битые ссылки и отсутствующие метаданные
  • Приоритизировать контент для переноса

Краулинг сайта для составления инвентаря

Screaming Frog — стандартный инструмент для аудита:

Конфигурация:
- Configuration → Spider → Crawl all subdomains
- Включить: JS rendering (для SPA)
- Экспорт: All tabs → Save as CSV

Результат: CSV с полями — URL, Title, Meta Description, H1, Status Code, Indexability, Word Count, Inlinks, Outlinks.

Python-краулер для автоматизации:

import scrapy
from scrapy.crawler import CrawlerProcess

class ContentAuditSpider(scrapy.Spider):
    name = 'content_audit'
    start_urls = ['https://company.com']
    custom_settings = {
        'DEPTH_LIMIT': 10,
        'DOWNLOAD_DELAY': 0.5,
        'FEEDS': {'audit_results.csv': {'format': 'csv'}}
    }

    def parse(self, response):
        yield {
            'url': response.url,
            'status': response.status,
            'title': response.css('title::text').get(''),
            'h1': response.css('h1::text').get(''),
            'meta_description': response.css('meta[name="description"]::attr(content)').get(''),
            'canonical': response.css('link[rel="canonical"]::attr(href)').get(''),
            'robots': response.css('meta[name="robots"]::attr(content)').get('all'),
            'word_count': len(' '.join(response.css('main *::text').getall()).split()),
            'internal_links': len(response.css('a[href^="/"]')),
            'images_without_alt': len(response.css('img:not([alt])')),
            'last_modified': response.headers.get('Last-Modified', b'').decode()
        }

        for link in response.css('a::attr(href)').getall():
            yield response.follow(link, self.parse)

Анализ SEO-данных

Экспорт из Google Search Console:

  • Performance → Pages: клики, показы, CTR, позиция
  • Coverage: индексированные / не индексированные страницы
  • URL Inspection: статус конкретных URL

Сопоставление с краулинговыми данными в Python:

import pandas as pd

crawl_data = pd.read_csv('audit_results.csv')
gsc_data = pd.read_csv('gsc_pages.csv')  # экспорт из GSC

merged = crawl_data.merge(gsc_data, on='url', how='left')
merged['has_seo_value'] = merged['clicks'] > 0  # страницы с трафиком

Классификация контента

Каждая страница получает метку:

Решение Критерии
Перенести Клики > 0, уникальный контент, актуально
Обновить при переносе Контент устарел, но есть SEO-вес
Объединить Дублирующие страницы на одну тему
Удалить + редирект Нет трафика, дубль, thin content
Не переносить Тестовые страницы, архив, служебные URL
def classify_page(row):
    if row.get('noindex') or row['status'] != 200:
        return 'skip'
    if row.get('clicks', 0) > 100 or row.get('inlinks', 0) > 5:
        return 'migrate_priority_high'
    if row.get('word_count', 0) < 100:
        return 'review_thin_content'
    if row.get('clicks', 0) > 0:
        return 'migrate'
    return 'archive'

Анализ медиафайлов

# Список всех медиафайлов на сервере
find /var/www/uploads -type f | awk -F. '{print $NF}' | sort | uniq -c

# Файлы без ссылок из контента (потенциальный мусор)
# Шаг 1: извлечь все img src из БД
mysql -e "SELECT DISTINCT image_url FROM posts WHERE image_url IS NOT NULL" > used_files.txt

# Шаг 2: сравнить с файлами на диске
comm -23 <(ls /uploads/ | sort) <(sort used_files.txt)

Инвентарь метаданных SEO

# Найти страницы без meta description
missing_meta = merged[merged['meta_description'].isna() | (merged['meta_description'] == '')]
print(f"Без meta description: {len(missing_meta)} страниц")

# Найти дублирующиеся Title
duplicate_titles = merged[merged.duplicated(subset='title', keep=False)]
print(f"Дублирующиеся Title: {len(duplicate_titles)} страниц")

# Экспорт задач для копирайтеров
missing_meta[['url', 'title', 'h1']].to_csv('tasks_add_meta.csv', index=False)

Итоговый отчёт аудита

Структура отчёта:

  1. Сводная статистика (общее число URL, статусы, распределение по типам)
  2. SEO-здоровье (% страниц с meta description, H1, canonical)
  3. Технические проблемы (битые ссылки, страницы с ошибками)
  4. Список страниц по решениям (таблица с URL и action)
  5. Рекомендации по приоритетам переноса

Срок выполнения

Аудит сайта до 1000 страниц с классификацией и отчётом — 3–5 рабочих дней.