Agregar hreflang a todos los productos en Laravel [SOLUCIONADO]

Implementación de hreflang en proyectos Laravel para SEO en eCommerce

Al desarrollar aplicaciones web multilingües con Laravel, especialmente en el caso de plataformas de comercio electrónico, es crucial considerar el SEO para productos ofrecidos en múltiples idiomas. Aquí es donde entra en juego el atributo hreflang, que ayuda a los motores de búsqueda a comprender la relación lingüística y geográfica de las páginas, mejorando la experiencia del usuario al servir la versión correcta del contenido según su ubicación e idioma.

Para añadir hreflang en un sitio web de productos Laravel, es necesario hacer un mapeo eficiente de las URL de las páginas de cada producto en sus respectivos idiomas y luego implementarlas de forma adecuada en las etiquetas de enlace de la cabecera del HTML. Vamos a habilitar estas capacidades dentro de un proyecto Laravel para garantizar que nuestras páginas de productos sean amigables para el SEO internacional.

Configuración de entorno multilingüe en Laravel

Antes de incorporar hreflang, asegúrate de que Laravel está configurado para manejar múltiples idiomas. Esto suele lograrse utilizando archivos de traducción y una lógica que permita cambiar entre idiomas. A continuación, presentamos cómo establecer una estructura básica para soportar múltiples idiomas.

Route::get('{locale}/products/{product}', function ($locale, $product) {
    App::setLocale($locale);

    // Buscar información del producto y mostrar la vista adecuada
});


Una vez que el soporte de idiomas está preparado, podemos avanzar con la implementación del hreflang.

Integración de hreflang para productos

Para añadir la etiqueta hreflang a un producto específico, necesitamos obtener las URLs de ese producto en todos los idiomas soportados. El siguiente código muestra una posible solución para automatizar este proceso en Laravel.

Podemos crear un helper o un método en un Controller que genere las etiquetas necesarias:

use IlluminateSupportFacadesURL;

function generateHreflangTags($product) {
    $locales = ['en', 'es', 'fr']; // Añadir o quitar idiomas según sea necesario
    $tags = [];

    foreach ($locales as $locale) {
        $localizedUrl = URL::to("$locale/products/{$product->slug}");
        $tags[] = "";
    }

    return implode(PHP_EOL, $tags);
}


Ese código producirá un conjunto de etiquetas link que luego pueden ser añadidas en la sección head del documento HTML de la página del producto.

Uso del helper en las vistas de Blade

Con el helper o método del controller preparado, se debe insertar la salida en las vistas de Blade correspondientes. En la vista de un producto, se insertarían las etiquetas generadas de la siguiente manera:

{{ !! generateHreflangTags($product) !! }}

Ahora, cada vez que un usuario visite la página de un producto, las etiquetas de hreflang se añadirán de manera dinámica, lo que es excelente para SEO internacional.

Manejo de hreflang y redirecciones

Es importante no solo añadir las etiquetas sino también asegurarse de que las redirecciones entre las distintas versiones lingüísticas y regionales de las páginas de productos sean manejadas adecuadamente. Esto implica configurar redirecciones 301 para las versiones antiguas y asegurarse de que no haya contenido duplicado accesible bajo diferentes URLs. Un posible enfoque para hacer esto en Laravel sería:

Route::redirect('/old-route', '/new-route', 301);

Si las redirecciones están correctamente configuradas, las mejoras en SEO debido a la correcta implementación del atributo hreflang no tardarán en verse. Los sitios de eCommerce multilingües registrarán una mejora en las tasas de clics (CTR) de resultados de búsqueda y, por lo tanto, un aumento potencial en el tráfico orgánico.

Automatización de hreflang con Middleware

Para proyectos grandes de Laravel, donde agregar manualmente hreflang a cada ruta puede ser engorroso, crear un Middleware que se encargue de esta tarea puede ser una solidad solución. Este middleware interceptaría cada solicitud y agregaría automáticamente las etiquetas hreflang cuando sea necesario. Un esqueleto para este Middleware podría verse así:

namespace AppHttpMiddleware;

use Closure;

class HreflangMiddleware
{
    public function handle($request, Closure $next)
    {
        // Lógica para añadir las etiquetas hreflang

        return $next($request);
    }
}

Este Middleware se registraría en el archivo kernel.php y se aplicaría a las rutas correspondientes para asegurarse de que todas las páginas de productos tengan las etiquetas necesarias sin un esfuerzo manual adicional.

Consideraciones Finales sobre hreflang en Laravel

La adición de hreflang en un proyecto Laravel es imprescindible para mejorar la visibilidad de los productos en un entorno internacional. No obstante, es igual de importante asegurarse de hacerlo de manera eficiente y automatizada siempre que sea posible para evitar cargas de trabajo innecesarias. Además, es fundamental mantenerse al día con las mejores prácticas de SEO y las actualizaciones de algoritmo de motores de búsqueda para asegurar que las estrategias implementadas continúen siendo efectivas.

El uso estratégico del atributo hreflang y una sólida configuración SEO permitirán que un proyecto de eCommerce en Laravel destaque en un mercado global cada vez más competitivo. La implementación adecuada es un paso significativo para obtener un mayor engagement y conversiones, y subraya la importancia de abordar a fondo la internacionalización en el desarrollo web.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad