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:
- Ingresa al panel de administración de tu sitio WordPress.
- Ve a Plugins > Añadir nuevo.
- Busca Code Snippets en el campo de búsqueda.
- 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.
- En el panel de administración, ve a Snippets > Añadir nuevo.
- Pon un título descriptivo, como «Añadir Columna de Visitas a Entradas».
- 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.- Ve a Snippets > Añadir nuevo.
- Titula el snippet, como «Añadir Columna de Visitas a Páginas».
- 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');