Action wp_head

🔹 Добавление SEO Description

✅ Правильный способ в WordPress (через фильтр)

НЕ делаем echo <meta> в шаблоне
✔ используем wp_head


🧩 Универсальный код (посты, страницы, таксономии)



add_action('wp_head', function () {

    $description = '';

    // Посты и страницы
    if (is_singular()) {
        $description = get_field('seo_desc');
    }
    // Категории и метки
    elseif (is_category() || is_tag()) {
        $term = get_queried_object();
        $description = get_field('seo_desc', $term);
    }

    // Фолбэк — excerpt или описание термина
    if (!$description) {
        if (is_singular()) {
            $description = get_the_excerpt();
        }
        elseif (is_category() || is_tag()) {
            $term = get_queried_object();
            $description = term_description($term);
        }
    }

    if (!$description) {
        return;
    }

    // Чистим HTML и лишние пробелы
    $description = wp_strip_all_tags($description);
    $description = trim(preg_replace('/\s+/', ' ', $description));

    echo '<meta name="description" content="' . esc_attr($description) . '">' . "\n";

});


🔎 Почему именно так

✔ Работает для:

✔ Без дублей
✔ Без XSS
✔ Совместимо с темами и плагинами


🎯 Лучшие практики SEO Description


🧠 Частые ошибки

❌ несколько <meta description>
❌ HTML внутри
❌ слишком длинный текст
❌ одинаковый на всех страницах


🚀 Если нужно улучшить

Можно добавить:


✅ Итог

✔ Meta description добавляется через wp_head
✔ Используется ACF
✔ Есть fallback
✔ Без конфликтов


Revision #2
Created 2026-02-23 03:19:25 UTC by Nikolay
Updated 2026-02-23 04:03:20 UTC by Nikolay