Avisos
Vaciar todo

forzar ssl en variables $link->getCategoryLink hreflang header.tpl

12 Respuestas
6 Usuarios
0 Reactions
41 Visitas
Gus_Artegres
Respuestas: 43
Eminent Member
Topic starter
 

Hola, en mi prestashop 1.6.1.24, el archivo header.tpl de mi tema (warehouse), aparecen las siguientes variables y necesitaría forzar dichos enlaces con SSL, ya que cuando se imprimen en sus respectivas páginas html aparecen con http:// Como debería hacerlo?

$link->getCategoryLink
$link->getProductLink
$link->getCMSLink
$link->getManufacturerLink

 

Aquí muestro el fragmento del bloque hreflang del themes/warehouse/header.tpl

<!-- hreflang -->
{if $page_name == 'index' or $page_name == 'search'}
<link rel="canonical" href="{$base_dir_ssl}{$lang_iso}/" />
{foreach $languages as $lang}
<link rel="alternate" hreflang="{$lang.iso_code}" href="{$base_dir_ssl}{$lang.iso_code}/" />
{/foreach}
{/if}

{if $page_name == 'category'}
<link rel="canonical" href="{$link->getCategoryLink($smarty.get.id_category, null, $id_lang,null,null )}" />
{foreach $languages as $lang}<link rel="alternate" hreflang="{$lang.iso_code}" href="{$link->getCategoryLink($smarty.get.id_category, null, $lang.id_lang,null,null )}" />{/foreach}
{/if}

{if $page_name == 'product'}
<link rel="canonical" href="{$link->getProductLink($smarty.get.id_product, null, null, null, $id_lang, null, 0, false)}" />
{foreach $languages as $lang}<link rel="alternate" hreflang="{$lang.iso_code}" href="{$link->getProductLink($smarty.get.id_product, null, null, null, $lang.id_lang, null, 0, false)}" />{/foreach}
{/if}

{if $page_name == 'cms'}
<link rel="canonical" href="{$link->getCMSLink($smarty.get.id_cms, null, false, $id_lang)}" />
{foreach $languages as $lang}<link rel="alternate" hreflang="{$lang.lang_iso}" href="{$link->getCMSLink($smarty.get.id_cms, null, false, $lang.id_lang)}" />{/foreach}
{/if}

{if $page_name == 'manufacturer'}
<link rel="canonical" href="{$link->getManufacturerLink($smarty.get.id_manufacturer, null, null, null, $id_lang, null, 0, false)}" />
{foreach $languages as $lang}<link rel="alternate" hreflang="{$lang.iso_code}" href="{$link->getManufacturerLink($smarty.get.id_manufacturer, null, null, null, $lang.id_lang, null, 0, false)}" />{/foreach}
{/if}

<!-- fin hreflang -->

 

Saludos y gracias por todo,

 

Contenido solo visible a usuarios registrados


 
Respondido : 10/11/2020 3:34 pm
Tags del tema
Jhon
 Jhon
Respuestas: 44989
Illustrious Member Moderator
 

Hola

Ese código ya debería generarte el https, ya que son funciones del propio PrestaShop

Revisa este artículo para habilitar https en caso se te haya escapado algo:

https://www.webempresa.com/blog/habilita-ssl-en-prestashop-seguridad-para-ti-y-tus-clientes.html

Envíanos algunas capturas de pantalla para ver cómo has configurado https en tu sitio.

Saludos.


 
Respondido : 10/11/2020 4:20 pm
Bulmaro
Respuestas: 4380
Famed Member Moderator
 

Hola, 

Si no te bastara con lo que mi compañero @Jhon te comparte te sugiero agregar lo suguiente al fichero .htaccess de tu prestashop accediendo a él desde tu cuenta de cPanel -> Administrador de archivos

 

<IfModule mod_headers.c> Header always set Content-Security-Policy "upgrade-insecure-requests;" </IfModule>

 

Saludos


Esta publicación ha sido modificada el hace 5 años por Bulmaro
 
Respondido : 10/11/2020 4:20 pm
Gus_Artegres
Respuestas: 43
Eminent Member
Topic starter
 

Hola @jmarreros, adjunto te muestro las configuraciones que tengo..., como verás esta todo activado según las recomendaciones del artículo que me has indicado. En toda la web carga perfectamente SSL pero en las etiquetas canonical y hreflang no muestra ssl, como podría forzar para que aparezcan en las canonicas el ssl

ssl preferencias seo urls
ssl preferencias configuracion

 
Respondido : 10/11/2020 5:57 pm
Karen Rios
Respuestas: 18673
Illustrious Member Moderator
 

Hola Gus,

Como esta configurado ya deberia forzar el SSL en todo tu sitio web. Haz probado forzar el SSL en todo tu sitio web a través del archivo htaccess por ejemplo usando el siguiente código, puedes ver la información completa en el siguiente enlace 

RewriteEngine On 
RewriteCond %{ENV:HTTPS} !on [NC]
RewriteCond %{HTTP_HOST} ^tu_dominio.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.tu_dominio.com$
RewriteRule ^(.*)$ https://tudominio.com/$1 [R=301,L,NE]

De igual forma puedes verificar el siguiente hilo donde tratan un tema similar -> https://www.webempresa.com/foro/administracion-prestashop/forzar-https-usando-htaccess

También comprueba lo que te ha comentado mi compañero Bulmaro

Respondido por: @bulmaro-webempresa

i no te bastara con lo que mi compañero @Jhon te comparte te sugiero agregar lo suguiente al fichero .htaccess de tu prestashop accediendo a él desde tu cuenta de cPanel -> Administrador de archivos

 

<IfModule mod_headers.c> Header always set Content-Security-Policy "upgrade-insecure-requests;" </IfModule>

PD: Recuerda realizar una copia de seguridad de tus archivos antes de realizar cualquier cambio, de esta forma si se genera algún error puedes restaurarla.

Un Saludo


 
Respondido : 10/11/2020 6:45 pm
Gus_Artegres
Respuestas: 43
Eminent Member
Topic starter
 

Hola @bulmaro-webempresa, he añadido como indicas el fragmento

<IfModule mod_headers.c> Header always set Content-Security-Policy "upgrade-insecure-requests;" </IfModule> 

y tampoco funciona, sigue mostrando contenido mixto en las canonicals, pero lo que he visto, es que tengo dos directivas con el mismo nombre, adjunto capturas para que me indiques si deberían estar juntas o que debería hacer con ellas... Gracias por todo,

canonicals
htacces2

 
Respondido : 10/11/2020 10:15 pm
Gus_Artegres
Respuestas: 43
Eminent Member
Topic starter
 

Hola @karen, he comprobado lo que me indicas y lo tengo todo correcto aparentemente. Paralelamente como verás también en mi respuesta anterior, también he añadido el fragmento IfModule mod_headers.c ..... lo único que he visto quizás anómalo, es que en el htaccess existen dos directivas (mod_headers.c) pero no se si sería normal, salvando esto,  tampoco funciona, es decir siguen apareciendo en las canonicals contenido sin https. adjunto captura de mi htaccess y del código de mi web con el contenido mixto.

htacces
canonicals

 


 
Respondido : 10/11/2020 10:22 pm
Argenis
Respuestas: 11585
Illustrious Member Moderator
 

Hola Gus,

Actualmente veo que todo tu sitio esta cargando con https:

image

 

Sin título

Ingresando directamente a donde comentas no se logra cargar en http, ten en cuenta que aunque muestre un http en el código fuente este esta siendo sustituido en la carga del mismo por https al insertar el código que compartes en tu último mensaje, de esta forma fuerzas la carga en https de todo tu contenido.

Un saludo 🖐️ 

 


 
Respondido : 11/11/2020 12:00 am
Gus_Artegres
Respuestas: 43
Eminent Member
Topic starter
 

Gracias @argenis por tus comentarios, pero la cuestión es que al llevar a cabo análisis de seo onpage, tengo un montón de errores que no me permiten posicionar correctamente. Debo resolver dichos errores graves, ya que esto repercute negativamente en los resultados de búsqueda. Por tanto, vuelvo al inicio de mi consulta, partiendo de la base, de que mi htaccess es correcto ya que sigo vuestras directivas mencionadas.... 

adjunto captura errores contenido mixto..

en mi prestashop 1.6.1.24, el archivo header.tpl de mi tema (warehouse), aparecen las siguientes variables y necesitaría forzar dichos enlaces con SSL, ya que cuando se imprimen en sus respectivas páginas html aparecen con http:// Como debería hacerlo?

$link->getCategoryLink
$link->getProductLink
$link->getCMSLink
$link->getManufacturerLink

 

Aquí muestro el fragmento del bloque hreflang del themes/warehouse/header.tpl

<!-- hreflang -->
{if $page_name == 'index' or $page_name == 'search'}
<link rel="canonical" href="{$base_dir_ssl}{$lang_iso}/" />
{foreach $languages as $lang}
<link rel="alternate" hreflang="{$lang.iso_code}" href="{$base_dir_ssl}{$lang.iso_code}/" />
{/foreach}
{/if}

{if $page_name == 'category'}
<link rel="canonical" href="{$link->getCategoryLink($smarty.get.id_category, null, $id_lang,null,null )}" />
{foreach $languages as $lang}<link rel="alternate" hreflang="{$lang.iso_code}" href="{$link->getCategoryLink($smarty.get.id_category, null, $lang.id_lang,null,null )}" />{/foreach}
{/if}

{if $page_name == 'product'}
<link rel="canonical" href="{$link->getProductLink($smarty.get.id_product, null, null, null, $id_lang, null, 0, false)}" />
{foreach $languages as $lang}<link rel="alternate" hreflang="{$lang.iso_code}" href="{$link->getProductLink($smarty.get.id_product, null, null, null, $lang.id_lang, null, 0, false)}" />{/foreach}
{/if}

{if $page_name == 'cms'}
<link rel="canonical" href="{$link->getCMSLink($smarty.get.id_cms, null, false, $id_lang)}" />
{foreach $languages as $lang}<link rel="alternate" hreflang="{$lang.lang_iso}" href="{$link->getCMSLink($smarty.get.id_cms, null, false, $lang.id_lang)}" />{/foreach}
{/if}

{if $page_name == 'manufacturer'}
<link rel="canonical" href="{$link->getManufacturerLink($smarty.get.id_manufacturer, null, null, null, $id_lang, null, 0, false)}" />
{foreach $languages as $lang}<link rel="alternate" hreflang="{$lang.iso_code}" href="{$link->getManufacturerLink($smarty.get.id_manufacturer, null, null, null, $lang.id_lang, null, 0, false)}" />{/foreach}
{/if}

<!-- fin hreflang -->

Saludos y muchas gracias por todo,

 

canonicals1

 
Respondido : 11/11/2020 11:30 am
Pepe
 Pepe
Respuestas: 41121
Illustrious Member Admin
 

Hola Gus.

No tienes problemas esta cargando bien con el certificado.

La etiqueta hreflang se suele utilizar cuando tenemos por ejemplo una web con distintos idiomas y le indicamos a los buscadores que no es un contenido duplicado y les indica que contenido es el que tiene que indexar, en tu caso solo utilizas un idioma.

El aviso que te muestra no es por la carga de HTTP ( invalid Tag ) esto es por que no tiene una referencia a otro idioma pero no es ningun error ni tienes porque preocuparte es así y no te afectará al posicionamiento ni te penaliza.

 

-> https://support.google.com/webmasters/answer/189077?hl=es

 

No tienes problemas con eso 😉 

 

Un saludo


 
Respondido : 11/11/2020 12:48 pm
Gus_Artegres
Respuestas: 43
Eminent Member
Topic starter
 

Gracias @pepesoler por tu aclaración..., en cuanto a la etiqueta hreflang entiendo que sea como me indicas, pero que me dices de la etiqueta canonical?, también aparece sin ssl, por lo que me gustaría que fuera https. adjunto captura del código de una página renderizada...

canonicals

 


 
Respondido : 11/11/2020 1:11 pm
Bulmaro
Respuestas: 4380
Famed Member Moderator
 

@gparraberaartegres-es

Hola Gus, 

En realidad esto no es un problema, la configuración me parece correcta, te sugiero revisar -> url-canonica-en-prestashop-activala-correctamente.html 

Quizás podría ayudarte el modulo de -> https://www.4webs.es/blog/modulo-prestashop-1-6-canonical-seo, aunque lo pensaría 2 veces, ya que tu plantilla ya incluye las etiquetas necesarias para la url Canonical, etc. 

Si lo deseas tambien puedes consultar con el desarrollador de tu template de Prestashop para que te de las instrucciones necesarias según las modificaciones que consideres pertinentes -> https://iqitcommerce.ticksy.com/


 
Respondido : 11/11/2020 2:48 pm