SEO wordpress
Mejorar el tiempo de carga en WordPress
A raíz del cambio de hosting por problemas en el tiempo de carga y ver el impacto en los buscadores, lanzo una pequeño tutorial de como mejorar el tiempo de carga en un WordPress.
Para empezar analizaremos nuestras web con la herramienta online de Google Page Speed, la cual nos devolvera una resultado parecido a este.
1- Compresión en GZIP WordPress de los recursos
El cambio más urgente que nos propone es la comprecion en GZIP de los recursos para así reducir el tamaño de transferencia. Como siempre en WordPress lo tenemos fácil y para conseguirlo solo hay que seguir estás instrucciones: Compresión en WordPress, donde se nos facilitan dos métodos
- Por php
- Por .htacces
2 – Minificar archivos externos
Listado de plugins que pueden ayudarnos a minificar los archivos externos, como el CSS o el JS.
3- Cachear páginas
Esto significa en que en WordPress cada página que se carga hay que procesarla, abrir una base de datos con información diversa, consultar tablas y crear cada página dinámicamente, con la consecuencia de sobrecarga del servidor.
Para solucionarlo existe en WordPress un plugin WP Super Cache que reduce el uso de páginas dinámicas, optimiza la caché de la página.
Tras aplicar los cambios, este es el resultado un aumento al 90
Recursos:
http://tools.pingdom.com medir el tiempo de carga.
Title duplicados en la paginación de wordpress
Como todo buen SEO sabe una de las principales tareas es conseguir que los titles de las páginas sean diferentes en cada una de las páginas del sitio web.
Con el rediseño he decidido poner un paginador, pero me he encontrado con que Google Webmaster tools me daba un error de titles duplicado para la paginación.
Para conseguir que wordpress en la paginación no nos duplique los titles, bastaría con aí±adir Página X al title.
Para evitar la duplicación basta con aí±adir una regla más a la definición del title, en el archivo hearder.php de tu theme.
< ?php if ( $paged < 2 ) { } else { echo (' Página '); echo ($paged);} ? >
Evidentemente podemos jugar con esto, usar una serie de palabras claves que nos interesen y que cada X páginas nos la muestre o bien, jugar con los pares he impares.
El plugin que he usado para la paginación es WP-PageNavi . En infectedFX nos ofrecen 10 estilos de paginación gratis para usar con WP-PageNavi
Url’s para SEO wordpress, correcto uso de los permalink
Las url’s de wordpress por defecto son: www.blog.com/?p=123
Para conseguir una url’s bonitas, fáciles de recordar para el usuario y correcta estructura para una mejor indexación en los buscadores, tenemos varias opciones.
El primer paso es ir al panel de control de wordpress y en el menú vemos settings->permalinks (opciones->permalinks)
Opción 1
www.blog.com/titular-de-la-noticia.htm
Opción 2
www.blog.com/dia/mes/aí±o/titular-de-la-noticia
Artículos relacionados, mejora tu posicionamiento web
Conseguir un buen posicionamiento web para los artículos de la home de un blog o en los primeros nivel de este, no es complicado. Por lo contrario cuando tenemos un blog con muchos post, los artículos más antiguos quedan enterados en las entraíñas del blog, consiguiendo una menor visibilidad tanto para el usuario como para los buscadores.
Para solucionar este problema utilizaremos los artículos relacionados, de está manera estaremos ofreciendo al usuario contenido complementario al post actual y desenterraremos los post más antiguos para que consigan más visibilidad y mejorar su posicionamiento web.
En WordPress existen muchos plugins de artículos relacionados, pero en este caso vamos a utilizar un fragmento de código el cual nos va a mostrar post relacionados basados en los tags actuales del post.
El código debe ponerse en el Loop
<?php
//for use in the loop, list 5 post titles related to first tag on current post
$tags = wp_get_post_tags($post->ID);
if ($tags) {
echo 'Related Posts';
$first_tag = $tags[0]->term_id;$args=array(
'tag__in' => array($first_tag),
'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(); ?>
<p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
<?php
endwhile;
}
}
?>
Para modificar el numero de post relacionados a mostrar sólo hay que cambiar el numero de aquí “‘showposts’=>5,”, en vez de 5 poner por ejemplo 3
[box type="info" color="bw"]Fuente del código: http://www.wprecipes.com/how-to-show-related-posts-without-a-plugin[/box]
Optimización de los Headings en WordPress
La mayoría de los themes de wordpress no vienen preparados para un correcta estructura de los Heading a nivel SEO teacher.
Una correcta estructura SEO de los headings seria:
Página Principal:
- Titulo del blog o la descripción del blog con un H1
- Los titulos de los post con un H2
Página del post (Single page):
- Ni el titulo del blog ni la descripción de este deberían estar en H1
- Titulos de los post en H1
- Los encabezados dentro del post H2 o inferiores
Para conseguir está estructura basta con modificar nuestro header.php y poner
<?php if (is_home()) echo '<h1>'; else echo '<p>'; echo '<a href="'.get_settings('siteurl').'/">'; bloginfo('name'); if (is_home()) echo '</a></h1>'; else echo '</a></p>';?
Explicación del código: Si estamos en la home del blog muestrame el titulo del blog con un H1 sino muestramelo en un <p> Ahora solo quedaría asignar el H1 a nuestra páginas de los post, para ello abrimos single.php y modificamos esto:
<h1><a href="<?phpthe_permalink()?>" title="<?phpthe_title();?>"><?phpthe_title();?></a></h1>
De esta forma conseguimos que el titulo del post sea el único elemento con H1 y por lo tanto le asignamos la relevancia a este. Evidentemente el código seguro que es mejorable ya que la programación no es mi fuerte, pero me hace el apaí±o
.. si alguien se le ocurre una forma mejor que comparta
Edito: Toni de serxin nos recuerda en los comentarios:
[box type="info" color="bw"]También decir que el .get_settings(‘siteurl’).’/ se puede cambiar por cualquier URL y el bloginfo(‘name’) por cualquier anchortext
[/box]




