Posts sobre ‘wordpress’
Related Post para WordPress sin necesidad de Plugin
Hace algunos días os enseñábamos como limpiar el Header de nuestro WordPress de algunas lineas de código que no son necesarias, lo podéis repasar aquí Optimizar header WordPress, ahora queremos daros unas lineas de código para mejorar uno de los Plugin necesarios para todos nosotros.
El Plugin Related Post o cualquiera que este basado en este es uno de los Plugin para WordPress mas utilizado, lo que hace este Plugin es mostrar una relación de artículos relacionados en cada articulo que nosotros escribimos, de esta manera nuestros lectores pueden encontrar mas información útil en nuestro sitio aumentando así el tiempo de estancia en el sitio por usuario y mejorando la experiencia del mismo que a fin de cuentas es lo que debemos buscar.
Uno de los grandes problemas del Plugin Related Post es el alto consumo de CPU ya que realiza muchas llamadas a la base de datos además de ralentizar considerablemente la carga de nuestro sitio, esto no es nada bueno sobre todo si trabajamos en servidores compartidos con recursos limitados o muy bajos, lógicamente si tenemos un dedicado potente el consumo de este Plugin no debe preocuparnos.
Pero bueno vamos al tema, dándole vueltas al asunto para mejorar la velocidad de carga de este blog, como podéis ver ha aumentado considerablemente, queríamos eliminar el Plugin Related Post pero queríamos también mantener las prestaciones del mismo, así que buscando por la red nos hemos encontrado con el siguiente código.
<?php
$backup = $post;
$tags = wp_get_post_tags($post->ID);
$tagIDs = array();
if ($tags) {
$tagcount = count($tags);
for ($i = 0; $i < $tagcount; $i++) {
$tagIDs[$i] = $tags[$i]->term_id;
}
$args=array(
‘tag__in’ => $tagIDs,
‘post__not_in’ => array($post->ID),
‘showposts’=>5,
‘caller_get_posts’=>1
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<li><a href=”<?php the_permalink() ?>” rel=”bookmark” title=”<?php the_title(); ?>”><?php the_title(); ?></a></li>
<?php endwhile;
} else { ?>
¡No tenemos articulos relacionados con este!
<?php }
}
$post = $backup;
wp_reset_query();
?>
Con este simple script en PHP tenemos las funciones del Plugin Related Post sin necesidad de utilizar dicho Plugin, directamente poniendo este código donde necesitamos mostrar nuestros artículos relacionados lo tenemos todo solucionado.
Como podéis ver en la linea que dice “’showposts’=>5,” determinamos la cantidad de artículos relacionados que deseamos mostrar, simplemente cambiar el numero por la cantidad que nos venga bien a nosotros.
Este script trabaja mediante los Tags (etiquetas) que nosotros determinamos en cada articulo así que para que los artículos mostrados sean realmente interesante o relacionados con el articulo presente debemos afinar bien en nuestras etiquetas, el script de no encontrar ningún articulo etiquetado como el mismo lanzara un mensaje diciendo que no existen artículos relacionados.
Esperamos que con este y el resto de tips que vamos dándoles puedan optimizar y mejorar la calidad de su WordPress al igual que intentamos hacer nosotros.
Optimizar el header en WordPress
Hoy a petición de un amigo vamos a ver como podemos optimizar un poquito el código del header si utilizamos WordPress para aligerar la carga del sitio y evitar código innecesario, para ello necesitaremos modificar dos archivos, el primero sera el header.php que encontraremos en la carpeta de la plantilla que estemos utilizando y el segundo es el default-filters.php que lo podemos encontrar en la capeta wp-includes de la raíz de nuestro WordPress.
Empezamos con el archivo header.php y vamos a ver que podemos quitar de aquí sin peligro a que pase nada, la primera linea que tiene que desaparecer es la siguiente.
<meta name=”generator” content=”WordPress 3.0.1″ />
Esta linea solo da información de la versión que tenemos del CMS y sinceramente no es algo que sea muy relevante además de que es peligroso ya que a un posible atacante le facilitamos mucho el trabajo.
Otra de las lineas que no nos interesa tener es la de robots, por defecto los buscadores siempre indexaran nuestro sitio por tanto a no ser que no queramos que este sea indexado (cosa que dudo) utilizar esta linea de código es absurdo, por tanto podemos eliminar la siguiente linea también.
<meta name=”robots” content=”index, follow” />
Si utilizas algún Plugin como All In One Seo para mejorar y agilizar el resultado seo del sitio también podríamos eliminar las siguientes etiquetas de nuestro Header.php.
<meta name=”keywords” content=”++++++++++++++++” />
<meta name=”description” content=”++++++++++++++++++” />
Tener meta etiquetas duplicadas no es ni necesario ni bueno y el Plugin All In One Seo ya las crea por nosotros por tanto las que vienen por defecto no las necesitamos.
Ahora miraremos un poco el fichero default-filters.php, no todos los temas de WordPress hacen uso de este archivo, para saber si el nuestro si lo utiliza miraremos nuestro header.php y buscaremos la siguiente linea de código.
<?php wp_head(); ?>
Si en nuestro header.php no aparece no necesitaremos modificar nada en default-filters.php ya que no hará uso de sus funciones ahora bien si en nuestro header.php si tenemos esta linea de código deberemos modificar algunas lineas en el archivo default-filters.php, al editar este archivo debemos buscar el siguiente bloque de código.
// Actions
add_action( ‘wp_head’, ‘wp_enqueue_scripts’, 1 );
add_action( ‘wp_head’, ‘feed_links’, 2 );
add_action( ‘wp_head’, ‘feed_links_extra’, 3 );
add_action( ‘wp_head’, ‘rsd_link’ );
add_action( ‘wp_head’, ‘wlwmanifest_link’ );
add_action( ‘wp_head’, ‘index_rel_link’ );
add_action( ‘wp_head’, ‘parent_post_rel_link’, 10, 0 );
add_action( ‘wp_head’, ‘start_post_rel_link’, 10, 0 );
add_action( ‘wp_head’, ‘adjacent_posts_rel_link_wp_head’, 10, 0 );
add_action( ‘wp_head’, ‘locale_stylesheet’ );
add_action( ‘publish_future_post’, ‘check_and_publish_future_post’, 10, 1 );
add_action( ‘wp_head’, ‘noindex’, 1 );
add_action( ‘wp_head’, ‘wp_print_styles’, 8 );
add_action( ‘wp_head’, ‘wp_print_head_scripts’, 9 );
add_action( ‘wp_head’, ‘wp_generator’ );
add_action( ‘wp_head’, ‘rel_canonical’ );
add_action( ‘wp_footer’, ‘wp_print_footer_scripts’ );
add_action( ‘wp_head’, ‘wp_shortlink_wp_head’, 10, 0 );
add_action( ‘template_redirect’, ‘wp_shortlink_header’, 11, 0 );
Este código es el que genera las diferentes lineas en nuestro header de forma automática pero no necesitamos que nos genere algunas de las lineas como por ejemplo los enlaces a los feed tanto de artículos como de comentarios, la dichosa linea de la versión del CMS entre otras.
Por tanto lo que haremos sera comentar las lineas que no queremos utilizar, siempre es mejor comentar y no eliminar lineas de código ya que al ser un archivo php las lineas comentadas se las saltaras y no aparecerán el en código final pero si algún día las necesitamos solo tendremos que des comentarlas para dejarlo todo igual que estaba.
Para dejar nuestro header completamente limpio dejaremos el bloque de código anterior de la siguiente manera.
// Actions
add_action( ‘wp_head’, ‘wp_enqueue_scripts’, 1 );
// add_action( ‘wp_head’, ‘feed_links’, 2 );
// add_action( ‘wp_head’, ‘feed_links_extra’, 3 );
// add_action( ‘wp_head’, ‘rsd_link’ );
// add_action( ‘wp_head’, ‘wlwmanifest_link’ );
// add_action( ‘wp_head’, ‘index_rel_link’ );
// add_action( ‘wp_head’, ‘parent_post_rel_link’, 10, 0 );
// add_action( ‘wp_head’, ‘start_post_rel_link’, 10, 0 );
// add_action( ‘wp_head’, ‘adjacent_posts_rel_link_wp_head’, 10, 0 );
add_action( ‘wp_head’, ‘locale_stylesheet’ );
// add_action( ‘publish_future_post’, ‘check_and_publish_future_post’, 10, 1 );
// add_action( ‘wp_head’, ‘noindex’, 1 );
add_action( ‘wp_head’, ‘wp_print_styles’, 8 );
add_action( ‘wp_head’, ‘wp_print_head_scripts’, 9 );
// add_action( ‘wp_head’, ‘wp_generator’ );
// add_action( ‘wp_head’, ‘rel_canonical’ );
add_action( ‘wp_footer’, ‘wp_print_footer_scripts’ );
// add_action( ‘wp_head’, ‘wp_shortlink_wp_head’, 10, 0 );
// add_action( ‘template_redirect’, ‘wp_shortlink_header’, 11, 0 );
Ahora solo tenemos las lineas necesarias en nuestro header.php para que la carga del sitio sea algo mas ligera, ojo con lo que tocáis en este ultimo archivo que aquí se suelen cargar los estilos de algunos PlugIns y si comentamos una linea que no toca igual dejan de funcionar.
Bueno ahora a ver si mantenemos la cosa mas limpia Carlos que cada vez que te miro debajo de las faldas me pongo negro
.
Taller Seo para WordPress en Valencia
Hoy les traigo un curso bastante interesante impartido por Miguel de Taller Seo sobre los primeros pasos para montar, posicionar y monetizar un blog bajo WordPress.
El curso sera impartido en Valencia (parece que ahora que ya no vivo allí salen muchas buenas oportunidades de estudio y aprendizaje), el día sera el 14 de enero del presente año de las 9 de la mañana a las 2 del mediodía.
El curso sera impartido en Gigaform que esta en la avenida Tirso de Molina (me recuerda al gran Joaquín Sabina) en Valencia claro y el precio sera de 100 euros por alumno limitando el curso a solo 10 alumnos ya que según dice Miguel quiere dedicarle el tiempo que se merecen a cada uno y con mucha gente es imposible.
No se requieren conocimientos previos de WordPress ni de ningún tipo de lenguaje de programación ya que es un curso a nivel básico para poder empezar de cero, si ya eres un experto en bloguear mejor que no te apunte no sea que quedes decepcionado.
A pesar de que el curso tan solo sera de cinco horas Miguel nos presenta un índice de glosario bastante amplio por lo que tiendo a pensar que o habla muy rápido o se explica muy bien ya que es mucha temática para tan poco tiempo.
El curso consta de los siguientes apartados.
Instalar WordPress
Configurar WordPress
Instalar y configurar los Plugin más utilizados
Valorar otros Plugin de interés
Monetización de blogs
Escribir para blogs, uso profesional del blog
Sin duda una buena oportunidad para adentrarte en el mundo de los blogs con uno de los mejores CMS para ello y además de la mano de alguien experto tanto en WordPress y su optimización como en Seo en general.
Podéis poneros en contacto con Miguel mediante su Twitter en la dirección que os dejo abajo o seguir el enlace hacia su blog para pedir información.

