Cambiar h1 por h2 en el título del sitio según la página en WordPress

h1-h2

Existe un debate sobre el correcto uso de las etiquetas h1 y h2. H1 sirve para colocar el título del contenido de una página web, por lo tanto sólo debería haber un h1 en cada página web. Hay que aclarar que una página web es una página dentro de un sitio web, no el sitio web completo. H2 es un subtítulo y por lo tanto se puede usar varias veces dentro del contenido.

Normalmente en los temas de WordPress en la página de inicio o blog tenemos los títulos de las entradas con una etiqueta h2 cuando son varias las entradas mostradas (como por ejemplo en la página de inicio o blog) y h1 cuando nos encontramos en un artículo individual, puesto que es el título importante de la página.

Por eso creo que es más semántico y recomendable por SEO que en el home o página del blog tengamos h1 en el logo y h2 en los títulos de los artículos; y en cada artículo individual (single) usemos h1 para el título del artículo y para el logo pongamos un h2.

Para hacer este cambio de etiquetas en WordPress he usado este código dentro del archivo header.php de mi theme.

<?php //abrimos h1 en el home y página del blog; y h2 en otras páginas 
echo ( is_home() || is_front_page() ) ? '<h1>' : '<h2>'; ?> 

<a href="<?php bloginfo('url'); ?>" title="<?php bloginfo('name'); ?>" rel="home"><?php bloginfo( 'name' ); ?></a> 

<?php //cerramos h1 o h2 
echo ( is_home() || is_front_page() ) ? '</h1>' : '</h2>'; ?>

Deja tu opinión

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

11 thoughts on “Cambiar h1 por h2 en el título del sitio según la página en WordPress

  1. Hola amigo, felicidades por tu página y gracias por este articulo, yo tengo precisamente ese problema con mi sitio, ya que en la página de inicio todos los titulos de los post me salen con ; he mirado el header.php de mi tema y simplemente no consigo hacer que funcione. No se si serias tan amable de explicarme como se hace, en que parte del archivo va escrito el código o algo así. Te lo agradecería mucho.
    Saludos

    • Hola Andesken, este código es para cambiar el h1 por h2 en la cabecera del sitio. Si lo que quieres es cambiar los h1 por h2 en los títulos de los post, tendrás que cambiarlo seguramente en el loop.php pero no te hará falta este código, puedes cambiarlo directamente.

      • Muchas gracias AntonioHG, lo he resuelto tal como has dicho
        modificando desde el archivo loop.php el h1 por el h2. Mi pregunta ahora si no es molestia, como puedo hacer lo que explicas en tu articulo, es decir
        poner el h1 en el logo de mi pagina, he leído que ahí debe ir tu palabra
        clave mas importante. Ya tengo los h2 en todos los titulos de los
        articulos, pero me faltaría colocar el h1; no tengo mucha idea de
        códigos y estoy haciendo yo solo el trabajo del SEO en el sitio únicamente
        leyendo paginas como la tuya que me han servido de mucho, así que espero puedas ayudarme.
        De antemano muchas gracias por tu respuesta

      • Para hacer eso en el header.php ponlo así:

        //aquí pon la linea 2 de mi código

        //Aquí vendría tu logo, no toques nada en esta linea

        //aquí pon la linea 10 de mi codigo

      • Hola, Antonio, cómo hago para cambiar H2 por H1 en los títulos de mis posts? El theme de mi sitio en wordpress trae por defecto los títulos de los posts en H2 y nada en H1. Muchas gracias!

        Ahh, pregunto porque no tengo ese archivo loop.php en mi sitio o no lo encontré.

  2. Hola Antonio. Hay que poner el código en algún lugar en particular? Yo lo he añadido al final del header.php pero sigo teniendo los títulos de cada post como h2 en mi blog

    Gracias

  3. Hola, todas mis entradas salen enn H2 :/ y quiero que estén en H1, que debo hacer? copio y pego tu código? donde se pega? me podrías explícar?

  4. una consulta:
    mi logo es una foto y esta en h1, puedo ponerle una palabra clave a este h1, mientras funciona como logo? como se hace? gracias!!!