Martech Zone часто является порталом, через который мы знакомим наших посетителей с продуктами, решениями и услугами, доступными на других сайтах. Мы никогда не хотим, чтобы наш сайт использовался в качестве ферма обратных ссылок автор SEO консультантов, поэтому мы очень внимательно относимся к тому, какой контент является приемлемым и как мы направляем наших посетителей.

Если мы не можем монетизировать внешнюю реферальную ссылку, мы избегаем передачи каких-либо полномочий месту назначения. Опять же, я не хочу, чтобы этот сайт когда-либо воспринимался поисковой системой как сайт, на котором мы пытаемся использовать поисковые системы от имени клиента или где мошеннический создатель обратных ссылок платит нам за обратные ссылки. Каждый день мы отказываемся от денег, чтобы сделать это, потому что результат будет катастрофой для моего рейтинга в поисковых системах, для доверия, которое я завоевал среди наших читателей, и… в конечном итоге… для ценности сайта.

перенаправление WordPress

Для управления этим процессом я использую Ранг Математика Про варианты рефералов. Это позволяет мне классифицировать перенаправление на нужную целевую страницу и отслеживать, какой объем трафика я фактически отправляю в пункт назначения. Независимо от того, монетизируется ли пункт назначения через реферальную ссылку (например, ссылку Rank Math, которой я только что поделился) или отправляет трафик без партнерской ссылки, это позволяет мне организовывать, отслеживать и разрабатывать стратегию в отношении отправляемого трафика.

Одним из недостатков является то, что компании не могут контролировать реферальные сайты в пределах Гугл Аналитика потому что у них могут быть тысячи сайтов, отправляющих трафик. Поскольку мне хотелось бы привлечь их внимание как источник хорошего трафика, хотелось бы добавить UTM параметры для строка запроса кампании чтобы Martech Zone появлялась не только на их реферальных сайтах, но и отслеживание кампании в Google Аналитике.

ЧИТАТЬ  Как легко организовать загрузку медиафайлов пользователями в WordPress

Таким образом, бизнес может увидеть, сколько они тратят на другие кампании, и увидеть, насколько ценна возможность построить партнерство посредством партнерства или спонсорства с Martech Zone.

Добавьте строку запроса UTM для перенаправления

Ниже приведен заканчивать решение, которое добавляет пользовательские параметры UTM ко всем перенаправлениям WordPress. Это гарантирует, что:

  1. utm_source = название текущей страницы (отступ: имя сайта)
  2. utm_campaign = "Redirect"
  3. utm_content = URL текущей страницы (отступ: URL сайта)

Он использует сеансы для захвата для конкретной страницы ценности. Если сеанс недоступен, для перенаправления используются резервные значения по умолчанию. Это помогает отделам продаж и маркетинга отслеживать, какая именно страница увела посетителей с сайта.

Шаг 1. Запустите сеанс PHP

В вашей теме functions.php или небольшой собственный плагин:

add_action( 'init', function() {
    if ( ! session_id() ) {
        session_start();
    }
});

Это гарантирует, что WordPress сможет хранить и извлекать данные. $_SESSION.

Шаг 2. Собирайте информацию о странице при каждой загрузке страницы.

Использовать add_action('wp') захватить текущий название страницы и URL. Если на странице отсутствует имя (или это специальный маршрут), вернитесь к название сайта и домашний URL. Сохраните их как предварительно созданную строку запроса UTM в сеансе, готовую для будущего перенаправления.

add_action( 'wp', function() {
    // Only run on the public front-end (not in wp-admin)
    if ( ! is_admin() ) {

        // Check if the main query has at least one post/page
        if ( have_posts() ) {
            the_post();   // Prepare get_the_title(), get_permalink()
            rewind_posts(); // Reset for the main loop if needed

            // Grab the current page title and URL
            $page_title = get_the_title();
            $page_url   = get_permalink();

            // Site-level fallbacks
            $site_name  = get_bloginfo('name');
            $home_url   = home_url();

            // If the page title is empty, use the site name
            if ( empty( $page_title ) ) {
                $page_title = $site_name;
            }

            // If the page URL is empty, use the home URL
            if ( empty( $page_url ) ) {
                $page_url = $home_url;
            }

            // Build a set of parameters:
            //   utm_source   = page title (fallback: site name)
            //   utm_campaign = "Redirect"
            //   utm_content  = page URL (fallback: site/home URL)
            $utm_params = [
                'utm_source'   => $page_title,
                'utm_campaign' => 'Redirect',
                'utm_content'  => $page_url
            ];

            // Store them in the session as a pre-built query string
            $_SESSION['utm_querystring'] = http_build_query( $utm_params );
        }
    }
});

Если вы просто хотите запечатлеть прежде всего страницу, которую посещает пользователь (вместо того, чтобы обновлять ее каждый раз при переходе), только затем установите ее $_SESSION['utm_querystring'] если это так пустой. Таким образом, вы не перезапишете его на последующих страницах.

ЧИТАТЬ  Страны с самым высоким уровнем разводов в Африке в 2024 году: топ-5

Шаг 3. Добавьте параметры UTM во время перенаправления

В wp_redirect фильтр, мы:

  1. Разобрать существующий URL-адрес назначения и любые существующие параметры запроса.
  2. Получите наши параметры UTM на основе сеанса, если они доступны.
  3. Если они не нужно существует (сессия пуста), используйте отставка настройки по умолчанию.
  4. Добавляйте только те параметры UTM, которые присутствуют. отсутствующий в пункте назначения.
add_filter( 'wp_redirect', 'my_session_based_utm_redirect_with_fallback', 10, 2 );
function my_session_based_utm_redirect_with_fallback( $location, $status ) {
    // Skip if we're in the admin or if the location is empty
    if ( is_admin() || ! $location ) {
        return $location;
    }

    // Process only 3xx (redirect) status codes
    if ( $status >= 300 && $status  $val ) {
            // If the destination doesn't already have a value for this param, append it
            if ( empty( $existing_params[$key] ) ) {
                $existing_params[$key] = $val;
                $utm_updated = true;
            }
        }

        // If we updated any param, rebuild the final URL
        if ( $utm_updated ) {
            $new_query = http_build_query($existing_params);

            // Reconstruct the URL with updated query string
            $scheme   = isset($parsed_url['scheme'])    ? $parsed_url['scheme'] . '://' : '';
            $host     = isset($parsed_url['host'])      ? $parsed_url['host']           : '';
            $port     = isset($parsed_url['port'])      ? ':' . $parsed_url['port']     : '';
            $path     = isset($parsed_url['path'])      ? $parsed_url['path']           : '';
            $fragment = isset($parsed_url['fragment'])  ? '#' . $parsed_url['fragment'] : '';

            $location = sprintf(
                '%s%s%s%s?%s%s',
                $scheme,
                $host,
                $port,
                $path,
                $new_query,
                $fragment
            );
        }
    }

    // Return the (possibly) modified location
    return $location;
}

Как это помогает в маркетинге и продажах

  • Атрибуция страницы: Вы можете увидеть, какая именно страница перенаправила пользователя на внешний сайт. utm_sourceпредоставление более точного анализа кампаний и рекомендаций.
  • Другая кампания: С использованием "Redirect" внутри utm_campaignвы можете сегментировать весь исходящий трафик на своей аналитической платформе.
  • Пользовательский тег контента: С utm_content задав точный URL-адрес страницы, вы можете точно определить, какие страницы привлекают больше всего исходящего трафика.

Необязательно: отмечайте только внешние ссылки.

Если вы просто хотите отметить исходящий ссылки (не внутренние перенаправления), добавьте быстрый тест:

$site_url = site_url();
if ( strpos( $location, $site_url ) === 0 ) {
    // It's an internal link, so skip
    return $location;
}

Поместите его сразу после разбора $location. Это гарантирует, что вы помечаете только ссылки, ведущие за пределы вашего домена.

ЧИТАТЬ  Обновление безопасности WordPress 6.3.2 для устранения 8 уязвимостей

Краткое содержание

  1. Начать сеанс – требуется для сбора данных, специфичных для страницы.
  2. Захват информации о странице – сохранить имя страницы и URL-адрес в сеансе (резервный вариант: имя сайта и URL-адрес сайта).
  3. Добавить UTM — внутри wp_redirectпроанализировать пункт назначения и добавить параметры UTM, только если они отсутствуют. Если данные сеанса отсутствуют, полагайтесь на те же параметры резервного копирования по умолчанию, чтобы у вас всегда было что-то.

Такой комплексный подход гарантирует, что в вашем анализе вы увидите что-то вроде этого:


  ?utm_source=Your+Page+Title
  &utm_campaign=Redirect
  &utm_content=https%3A%2F%2Fyourdomain.com%2Fyour-page

Каждый раз, когда пользователь перенаправляется с вашего сайта, ваши отчеты о продажах и маркетинге могут точно определить, какие страницы (и какая кампания) привели к исходящим кликам.

Source