Descubre que páginas y entradas son las más visitadas en tu WordPress

Facebook
LinkedIn
WhatsApp
Twitter

Comprender cuáles de tus páginas y entradas reciben más visitas puede proporcionarte información valiosa sobre lo que tu audiencia encuentra más atractivo o útil. Al analizar los patrones de tráfico, puedes identificar qué temas resuenan más con tus visitantes, lo que te permite optimizar el contenido futuro para aumentar el compromiso y la retención. Además, esta información puede ayudarte a mejorar las estrategias de SEO, focalizando en las áreas que generan más interés y adaptando tus esfuerzos de marketing digital para maximizar el retorno de inversión.

Por otro lado, un análisis detallado de las páginas y entradas más visitadas puede ofrecerte pistas sobre posibles mejoras en la usabilidad de tu sitio web. Por ejemplo, si ciertas páginas tienen altas tasas de visita pero bajas tasas de interacción, esto podría indicar problemas de navegabilidad o falta de llamadas a la acción claras. Ajustar estos elementos puede no solo mejorar la experiencia del usuario, sino también convertir el tráfico pasivo en leads activos y ventas, optimizando así toda tu presencia online.

1. Instalación del Plugin Code Snippets

Primero, debes instalar y activar el plugin Code Snippets. Sigue estos pasos:

  1. Ingresa al panel de administración de tu sitio WordPress.
  2. Ve a Plugins > Añadir nuevo.
  3. Busca Code Snippets en el campo de búsqueda.
  4. Haz clic en Instalar ahora y luego en Activar.

2. Añadir Snippet para Entradas

Ahora vamos a crear un snippet para añadir y gestionar la columna de «Visitas» en la tabla de entradas.

  1. En el panel de administración, ve a Snippets > Añadir nuevo.
  2. Pon un título descriptivo, como «Añadir Columna de Visitas a Entradas».
  3. En el área de código, copia y pega el siguiente código:
				
					function agregar_columna_visitas($columns) {
    $nuevas_columnas = [];
    foreach ($columns as $key => $title) {
        $nuevas_columnas[$key] = $title;
        if ($key == 'categories') {  
            $nuevas_columnas['visitas'] = 'Visitas';
        }
    }
    return $nuevas_columnas;
}
add_filter('manage_posts_columns', 'agregar_columna_visitas');

function mostrar_visitas_columna($column, $post_id) {
    if ($column == 'visitas') {
        $visitas = get_post_meta($post_id, 'visitas_meta', true);
        echo $visitas ? $visitas : '0';
    }
}
add_action('manage_posts_custom_column', 'mostrar_visitas_columna', 10, 2);

function hacer_visitas_columna_ordenable($columns) {
    $columns['visitas'] = 'visitas';
    return $columns;
}
add_filter('manage_edit-post_sortable_columns', 'hacer_visitas_columna_ordenable');

function ordenar_por_visitas($query) {
    if (!is_admin() || !$query->is_main_query()) {
        return;
    }

    if ('visitas' === $query->get('orderby')) {
        $query->set('meta_key', 'visitas_meta');
        $query->set('orderby', 'meta_value_num');
    }
}
add_action('pre_get_posts', 'ordenar_por_visitas');

function contar_visitas() {
    if (!is_single()) {
        return;
    }

    global $post;
    $visitas = (int) get_post_meta($post->ID, 'visitas_meta', true);
    $visitas++;
    update_post_meta($post->ID, 'visitas_meta', $visitas);
}

add_action('wp_head', 'contar_visitas');

				
			

Si quieres que no contabilice las visitas de las entradas todos los usuarios que tengan el rol de administrador debes insertar el siguiente código:

				
					function agregar_columna_visitas($columns) {
    $nuevas_columnas = [];
    foreach ($columns as $key => $title) {
        $nuevas_columnas[$key] = $title;
        if ($key == 'categories') {
            $nuevas_columnas['visitas'] = 'Visitas';
        }
    }
    return $nuevas_columnas;
}
add_filter('manage_posts_columns', 'agregar_columna_visitas');

function mostrar_visitas_columna($column, $post_id) {
    if ($column == 'visitas') {
        $visitas = get_post_meta($post_id, 'visitas_meta', true);
        echo $visitas ? $visitas : '0';
    }
}
add_action('manage_posts_custom_column', 'mostrar_visitas_columna', 10, 2);

function hacer_visitas_columna_ordenable($columns) {
    $columns['visitas'] = 'visitas';
    return $columns;
}
add_filter('manage_edit-post_sortable_columns', 'hacer_visitas_columna_ordenable');

function ordenar_por_visitas($query) {
    if (!is_admin() || !$query->is_main_query()) {
        return;
    }

    if ('visitas' === $query->get('orderby')) {
        $query->set('meta_key', 'visitas_meta');
        $query->set('orderby', 'meta_value_num');
    }
}
add_action('pre_get_posts', 'ordenar_por_visitas');

function contar_visitas() {
    if (!is_single()) {
        return;
    }

    // Excluir administradores de la contabilización de visitas
    if (current_user_can('administrator')) {
        return;
    }

    global $post;
    $visitas = (int) get_post_meta($post->ID, 'visitas_meta', true);
    $visitas++;
    update_post_meta($post->ID, 'visitas_meta', $visitas);
}

add_action('wp_head', 'contar_visitas');

				
			

Añadir Snippet para Páginas

Repite el proceso para las páginas.
  1. Ve a Snippets > Añadir nuevo.
  2. Titula el snippet, como «Añadir Columna de Visitas a Páginas».
  3. Copia y pega el siguiente código en el área de código
				
					function agregar_columna_visitas_paginas($columns) {
    $nuevas_columnas = [];
    foreach ($columns as $key => $title) {
        $nuevas_columnas[$key] = $title;
        if ($key == 'author') {  // Insertar después de la columna de autor
            $nuevas_columnas['visitas'] = 'Visitas';
        }
    }
    return $nuevas_columnas;
}
add_filter('manage_pages_columns', 'agregar_columna_visitas_paginas');

// Mostrar el número de visitas en la columna de páginas
function mostrar_visitas_columna_paginas($column, $page_id) {
    if ($column == 'visitas') {
        $visitas = get_post_meta($page_id, 'visitas_meta', true);
        echo $visitas ? $visitas : '0';
    }
}
add_action('manage_pages_custom_column', 'mostrar_visitas_columna_paginas', 10, 2);

// Hacer que la columna de visitas en páginas sea ordenable
function hacer_visitas_columna_paginas_ordenable($columns) {
    $columns['visitas'] = 'visitas';
    return $columns;
}
add_filter('manage_edit-page_sortable_columns', 'hacer_visitas_columna_paginas_ordenable');

// Ajustar la consulta para ordenar por número de visitas en páginas
function ordenar_por_visitas_paginas($query) {
    if (!is_admin() || !$query->is_main_query()) {
        return;
    }

    if ('visitas' === $query->get('orderby')) {
        $query->set('meta_key', 'visitas_meta');
        $query->set('orderby', 'meta_value_num');
    }
}
add_action('pre_get_posts', 'ordenar_por_visitas_paginas');

// Contar las visitas de cada página y guardarlas como metadato
function contar_visitas_paginas() {
    if (!is_page()) {
        return;
    }

    global $post;
    $visitas = (int) get_post_meta($post->ID, 'visitas_meta', true);
    $visitas++;
    update_post_meta($post->ID, 'visitas_meta', $visitas);
}

add_action('wp_head', 'contar_visitas_paginas');

				
			

Si quieres que no contabilice las visitas de las páginas todos los usuarios que tengan el rol de administrador debes insertar el siguiente código:

				
					function agregar_columna_visitas_paginas($columns) {
    $nuevas_columnas = [];
    foreach ($columns as $key => $title) {
        $nuevas_columnas[$key] = $title;
        if ($key == 'author') {  // Insertar después de la columna de autor
            $nuevas_columnas['visitas'] = 'Visitas';
        }
    }
    return $nuevas_columnas;
}
add_filter('manage_pages_columns', 'agregar_columna_visitas_paginas');

// Mostrar el número de visitas en la columna de páginas
function mostrar_visitas_columna_paginas($column, $page_id) {
    if ($column == 'visitas') {
        $visitas = get_post_meta($page_id, 'visitas_meta', true);
        echo $visitas ? $visitas : '0';
    }
}
add_action('manage_pages_custom_column', 'mostrar_visitas_columna_paginas', 10, 2);

// Hacer que la columna de visitas en páginas sea ordenable
function hacer_visitas_columna_paginas_ordenable($columns) {
    $columns['visitas'] = 'visitas';
    return $columns;
}
add_filter('manage_edit-page_sortable_columns', 'hacer_visitas_columna_paginas_ordenable');

// Ajustar la consulta para ordenar por número de visitas en páginas
function ordenar_por_visitas_paginas($query) {
    if (!is_admin() || !$query->is_main_query()) {
        return;
    }

    if ('visitas' === $query->get('orderby')) {
        $query->set('meta_key', 'visitas_meta');
        $query->set('orderby', 'meta_value_num');
    }
}
add_action('pre_get_posts', 'ordenar_por_visitas_paginas');

// Contar las visitas de cada página y guardarlas como metadato
function contar_visitas_paginas() {
    // Verificar si es una página
    if (!is_page()) {
        return;
    }

    // Evitar que se cuenten las visitas de administradores
    if (current_user_can('administrator')) {
        return;
    }

    global $post;
    $visitas = (int) get_post_meta($post->ID, 'visitas_meta', true);
    $visitas++;
    update_post_meta($post->ID, 'visitas_meta', $visitas);
}

add_action('wp_head', 'contar_visitas_paginas');


				
			

¿Tienes interés en que creemos un tutorial sobre algún tema específico de Elementor? Dejalo en comentarios, prometemos responderte.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

He leido y acepto nuestra política de privacidad. *

Responsable:Carlos Jiménez Mendez
Finalidad:Atender solicitudes de información, ejecución de la contratación de servicios y remisión de comunicaciones comerciales.
Legitimación:Consentimiento del interesado y contratación de productos y/o servicios del Responsable
Destinatarios:No se ceden datos a terceros, salvo obligación legal.
Personas físicas o jurídicas directamente relacionadas con el Responsable
Encargados de Tratamiento adheridos al Privacy Shield
Derechos:Acceder, rectificar y suprimir los datos, portabilidad de los datos, limitación u oposición a su tratamiento, derecho a no ser objeto de decisiones automatizadas, así como a obtener información clara y transparente sobre el tratamiento de sus datos.
Información adicional:Se puede consultar la política de privacidad de forma más detallada aquí.
Scroll al inicio