Paginación con rel=”next” y rel=”prev” en WordPress

      

Paginación con link rel="next/prev"Recientemente han publicado en el donde detallan una manera para marcar la páginación usando las cabeceras HTML o ¿como poner una funcion previous/next  en WordPress para implementar paginación?.

El método es sencillo, en las páginas que nos interesen deberemos colocar la etiqueta “link” acompañada del atributo “rel” con el valor apropiado: next o prev. De esta forma podremos crear una paginación SEO amigable para Google.

Veamos un ejemplo suponiendo que nuestro home ocupa 3 páginas y estamos en la página 2:

<head>......<link rel="prev" href="http://www.misitio.com/page/1" /><link rel="next" href="http://www.misitio.com/page/3" />.....

Lógicamente cuando estemos en la primera página no deberá aparecer el link previo y cuando estemos en la última no aparecerá el link siguiente.
También nos dicen que el valor “next” puede ser reemplazado por “previous” y que esto no interfiere para nada con el funcionamiento de los enlaces canónicos.

Implementar rel=”next/prev” en cabeceras WordPress

Los consejos mostrado en el artículo de son sencillos de aplicar cuando estamos trabajando con páginas de forma manual, pero si queremos aplicarlo a un CMS, como por ejemplo WordPress, nos va a costar un poquito más. Seguramente en breve aparecerá algún plugin que lo haga (si acaso no existe ya). Pero yo he decidido aprovechar una función que utilizo para hacer las paginaciones en home, etiquetas y categorías.

Paginación SEO en WordPress

Voy a dejar aquí la función “paginador”que he implementado para crear paginación a nivel SEO, en la cabecera HTML con rel=”next” y rel=”prev” en WordPress.

Soy consciente de que el método es algo complicado y podría hacerse de forma más sencilla.

/*Está función obtine una paginación completa si estamos en el home,en una categoría o en una etiqueta.Posteriormente separa las urls anterior y siguiente a la página en curso,para insertarlos en la cabecera html dentro de una etiqueta "link" conel correspondiente atributo rel=prev/next.*/function next_prev(){ global $wp_query; $valor_alto = 999999999; $paginacion_completa=paginate_links( array( 'base' => str_replace( $valor_alto, '%#%', get_pagenum_link( $valor_alto ) ), 'format' => '?paged=%#%', 'current' => max( 1, get_query_var('paged') ), 'total' =>$wp_query->max_num_pages) ); $array_paginacion=explode("</a>",$paginacion); foreach ($array_paginacion as $enlace) { if (strrpos($enlace,"Siguiente")) { preg_match('(http://"?.*")',$enlace,$matches,PREG_OFFSET_CAPTURE,3); $siguiente=explode('"',$matches[0][0]); echo "<link rel="next" href="".$siguiente[0].""/>n"; } if (strrpos($enlace,"Anterior")) { preg_match('(http://"?.*")',$enlace,$matches,PREG_OFFSET_CAPTURE,3); $anterior=explode('"',$matches[0][0]); echo "<link rel="prev" href="".$anterior[0].""/>n"; } } }

Me encantaría ver otras implementaciones más sencillas. Se pueden usar los comentarios para publicar otros métodos pero no creo que el código PHP quede bien.
No dudéis en enviarme un mail para participar y pondré vuestros códigos bien formateados.


      

jlmora
Sobre nosotros

Juan Luis Mora Blanco, Consultor SEO y SEM freelance, experto en posicionamiento web.No dudes en contactar conmigo si necesitas un profesional que te ayude a posicionar tu web o tienda online. Recuerda que todos los artículos de mi blog están basados en experiencias de trabajos reales, si crees que alguna de estás recomendaciones pueden ayudar a mejorar el posicionamiento web de tu negocio contacta lo antes posible y te diré que puedo hacer para optimizar tu web.

Etiquetado con: ,
Publicado en: SEO para Wordpress | SEO para blogs


No te quedes sin decir lo que piensas, ¡Vamos comenta!
5 comentarios sobre “Paginación con rel=”next” y rel=”prev” en WordPress
  1. mmedia dice:

    ¿Y añadiéndolo a mano en el archivo wp-includes/template-functions-links.php de WP?

    • jlmora jlmora dice:

      En mi instalación tengo el fichero wp-includes/link-template.php, no encuentro el que citas pero creo que es similar.

      Si incluimos la modificación en el citado fichero con una función como la que propongo, la solución sería bastante buena en comparación a implementarlo directamente en el header.php ya que no se pierden los cambios al cambiar de tema.

      Muchas gracias por participar

  2. mmedia dice:

    He intentado encontrar alguna función que lo hiciera pero sin éxito de momento. De todas maneras a mi me interesa que los rel=”next” & rel=”prev” los incluya sólo en los enlaces de las paginaciones. La precarga del head tiene sus inconvenientes y no me termina de convencer…

    Nota: el plugin SEO de yoast.com si que incluye lo que tu comentas.

  3. Claudio dice:

    Sevirá realmente? para implementarlo en mi web tengo que reestructurar medio sitio jeje.

    • jlmora jlmora dice:

      Amigo te puedo decir que aquí lo tengo puesto y sinceramente no he notado mejoría de tráfico, pero también es verdad que no tenía problemas importantes de paginación.

Deja un comentario

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

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

¿Necesita Consultoría?

Hemos creado un servicio para ayudar a nuestros clientes con menos experiencia.

Es la consultoría y auditoría SEO inicial, con ella un experto SEO/SEM le dirá cuales son los principales problemas de su web, como puede solucionarlos y cual será la estrategia más apropiada para su negocio.

Puede leer más sobre este servicio y contratarlo aquí.

Contactar
Contacta SEO Consultor
Llama al 620 47 55 11 o solicita información sobre mis servicios como consultor SEO. Para empezar, te recomendamos que contrates nuestro pack de bienvenida con auditoría gratis!!

También puedes llevarnos en el movil

Sígueme por correo

Introduce tu correo:

O en mis redes sociales
  • Facebook
  • Twitter
  • RSS Feed
  • Google+