es Spanish
gbi_get_page_title

Paginación y títulos con Elementor

Share on facebook
Share on linkedin
Share on twitter
Share on email

El elemento Paginación de Elementor no nos crea un título diferente para cada página.

Si has maquetado alguna vez con Elementor, es posible que te hayas dado cuenta de un pequeño problema que tiene la plantilla de tipo “Archive“.

En este caso hablo del elemento “Archivo de entradas“. Aunque también se puede aplicar a cualquier elemento con la funcionalidad “Paginación” como “Posts”, por ejemplo.

Al activar el Paginación, mientras navegamos por las diferentes páginas, el título de la página web permanece inalterable. Esto crea un problema SEO, ya que tendrías varias URLs, con el mismo título. Con este código puedes tener un título único para cada URL

Te comparto este código con la esperanza de que te sea útil.

Resolver títulos iguales en diferentes páginas Archivo Blog Elementor

Para resolver este apartado, hemos desarrollado este pequeño código (que por supuesto se puede mejorar). Es solamente un ejemplo y puede no funcionar perfectamente en todas las webs. A ti te toca personalizarlo :-).

Os muestro el código y con los comentarios creo que se puede entender fácilmente

function gbi_get_page_title(){

    $cadena = explode("/",$_SERVER['REQUEST_URI']); // Recogemos en un array los elementos de la url
    $total = count($cadena); // contamos los elementos

    switch($cadena[1]){
        case "blog": // si el primer elemento es blog
            if($total < 4){
                $titulo = strtoupper ("<h1 style='font-size:30px; color: white'>El " . $cadena[1] . " de Garber</h1>" );
            }else{  // blog y página
                $titulo = strtoupper ("<h1 style='font-size:30px; color: white'>El " . $cadena[1] . " de Garber - PÁGINA: " . $cadena[3] ."</h1>" );
            }
        break;
        case  "category": // elemento categoría
            if($cadena[3] <= "page" && $total < 5){ // categoría padre
                $titulo = strtoupper ("<h1 style='font-size:30px; color: white'>" . $cadena[2] . "</h1>" );
            }elseif($cadena[3] == "page"){  // categoría padre y página
                $titulo = strtoupper ("<h1 style='font-size:30px; color: white'>" . $cadena[2] . " / PAG. " . $cadena[4] ."</h1>" );
            }elseif($cadena[4] == "page"){ // categoría hija y página
                $titulo = strtoupper ("<h1 style='font-size:30px; color: white'>" . $cadena[2] . " / " . $cadena[3] ." / PAG.". $cadena[5] ."</h1>" );           
            }else{ // categoría hija
                $titulo = strtoupper ("<h1 style='font-size:30px; color: white'>" . $cadena[2] . " / " . $cadena[3] ."</h1>" );
            }
        break;
    }

    if(isset($_GET['s'])){ // si se ha realizado una búsqueda
        $titulo = strtoupper ("<h1 style='font-size:30px; color: white'>Resultados para " . $_GET["s"] . "</h1>" );
    }

    return $titulo; // devolvemos la cadena a imprimir
}
add_shortcode( "gbi_get_page_title", "gbi_get_page_title" );

¿Qué hace este shortcode?

En realidad, lo que hace es coger la url y dependiendo de los parámetros y lo que encuentra en ella, muestra un título u otro:
$cadena = explode("/",$_SERVER['REQUEST_URI']);
Esta línea de código coge la url y mete en un array los diferentes elementos que se obtienen entre “/”.
$total = count($cadena);
Contamos el total de elementos que tiene el array, para conocer su longitud.
Después pasamos por un switch la cadena, el primer elemento y si es blog y la longitud es inferior a 4, sería una url como la siguiente:
https://garberinformatica.com/blog/
Si navegamos por la “Paginación” que nos ofrece Elementor, la url puede ser como sigue:
https://garberinformatica.com/blog/page/2/
Es cuando entra en el case blog y longitud mayor o igual a 4, por lo que asignamos a $titulo la siguiente línea de código:
$titulo = strtoupper ("<h1 style='font-size:30px; color: white'>El " . $cadena[1] . " de Garber - PÁGINA: " . $cadena[3] ."</h1>" );

¿Cómo usar el código?

Para poder utilizarlo, añade el código al archivo functions de tu theme y solamente tendrás que incluir el shortcode en dónde iría el título de la página:

titulos de pagina en archivos con elementor

Que da como resultado algo así,
el blog de garber
Cuando hacemos una búsqueda, en este ejemplo buscamos “WordPress y WooCommerce
resultados para wordpress y woocommerce
Está claro que el código es mejorable y debe adaptarse a la configuración de urls que tengáis en cada web.
Pero eso es ya trabajo de cada uno. Si te ha servido, comparte y si tienes dudas o quieres aportar algo, deja un comentario.
Si te ha servido, deja un comentario

Deja una respuesta

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

Más entradas

Diseño web en Aspe
Design

Diseño web en Aspe

Te explicamos todo lo que tienes que tener en cuenta acerca del diseño web en Aspe. Según Wikipedia, el diseño web es el conjunto de

marketing digital Alicante
Marketing Web

Marketing digital en Alicante

¿Estás pensando en contratar a una empresa especializada en marketing digital para tu negocio en Alicante? Te contamos todas las claves y ventajas del sistema

Categorías

¿Quieres impulsar tu negocio?

escríbenos y manténte en contacto

Desarrollo de tiendas online Garber Informática

Contacta con nosotros