MD85 Posted September 25, 2019 Share Posted September 25, 2019 Hola, He comprobado que Prestashop 1.7 crea urls canonical para el tema de paginación (en categorías) pero en la home no aparece ninguna canonical, ¿cómo lo podría hacer sin que afecte a la que ya están creadas en las otras páginas? Quiero que Google sepa que mi web es con https y con www, especificando una canonical. Espero que me puedan ayudar. Gracias. Link to comment Share on other sites More sharing options...
Prestafan33 Posted September 25, 2019 Share Posted September 25, 2019 (edited) Las canonical no son para eso. Las canonical son, cuando un contenido tiene varias URLs diferentes, para indicarle a los buscadores cuál es "la buena". Por ejemplo, si tienes un producto en las categorías "bazar", "tazas" y "cerámica", pues podrías acceder a él con las URLs "https://misitio.com/bazar/1-taza.html", "https://misitio.com/tazas/1-taza.html" y "https://misitio.com/ceramica/1-taza.html". Lo correcto aquí sería indicarle en la canonical en todas ellas cuál es la URL "buena", que sería aquella que incluyera la categoría por defecto del producto. La home sólo tiene una URL a través de la cual se pueda acceder, y por eso no necesita canonical. Si tienes activado el HTTPS y has especificado un subdominio www, lo normal es que si intentas entrar de otra forma te haga una redirección, pero la URL en la que terminas al final sería siempre la misma, y por eso no necesita canonical. Edited September 25, 2019 by Prestafan33 (see edit history) 1 Link to comment Share on other sites More sharing options...
MD85 Posted October 23, 2019 Author Share Posted October 23, 2019 On 9/25/2019 at 4:14 PM, Prestafan33 said: Las canonical no son para eso. Las canonical son, cuando un contenido tiene varias URLs diferentes, para indicarle a los buscadores cuál es "la buena". Por ejemplo, si tienes un producto en las categorías "bazar", "tazas" y "cerámica", pues podrías acceder a él con las URLs "https://misitio.com/bazar/1-taza.html", "https://misitio.com/tazas/1-taza.html" y "https://misitio.com/ceramica/1-taza.html". Lo correcto aquí sería indicarle en la canonical en todas ellas cuál es la URL "buena", que sería aquella que incluyera la categoría por defecto del producto. La home sólo tiene una URL a través de la cual se pueda acceder, y por eso no necesita canonical. Si tienes activado el HTTPS y has especificado un subdominio www, lo normal es que si intentas entrar de otra forma te haga una redirección, pero la URL en la que terminas al final sería siempre la misma, y por eso no necesita canonical. Gracias pero me están llegando emails de errores de la propiedad antigua http, y me aconsejan establecer en la home la conocnica: https://www.miweb.es. ¿Me podría decir como hacerlo en Prestashop 1.7? Gracias. Link to comment Share on other sites More sharing options...
MD85 Posted October 30, 2019 Author Share Posted October 30, 2019 He localizado este código: {if $page.canonical} <link rel="canonical" href="{$page.canonical}"> {/if} En las categorías si me aparece, pero en el head de la home no me aparece ninguna canonical, y necesito que se establezca con https://www.miweb.com. Espero que me podáis ayudar, no encuentro nada al respecto. Gracias. Link to comment Share on other sites More sharing options...
MD85 Posted October 31, 2019 Author Share Posted October 31, 2019 ¿Nadie me puede ayudar? Link to comment Share on other sites More sharing options...
Prestafan33 Posted October 31, 2019 Share Posted October 31, 2019 Insisto en que la canonical no es necesaria en la home, pero si aún así la quieres forzar, tan solo debes editar el archivo /theme/nombre-de-tu-tema/templates/_partials/head.tpl. Ahí es donde se establece la canonical, debe haber algo similar a esto: {if $page.canonical} <link rel="canonical" href="{$page.canonical}"> {/if} Puedes modificarlo así: {if $page.page_name == 'index'} <link rel="canonical" href="https://www.miweb.com"> {elseif $page.canonical} <link rel="canonical" href="{$page.canonical}"> {/if} 1 Link to comment Share on other sites More sharing options...
MD85 Posted October 31, 2019 Author Share Posted October 31, 2019 16 minutes ago, Prestafan33 said: Insisto en que la canonical no es necesaria en la home, pero si aún así la quieres forzar, tan solo debes editar el archivo /theme/nombre-de-tu-tema/templates/_partials/head.tpl. Ahí es donde se establece la canonical, debe haber algo similar a esto: {if $page.canonical} <link rel="canonical" href="{$page.canonical}"> {/if} Puedes modificarlo así: {if $page.page_name == 'index'} <link rel="canonical" href="https://www.miweb.com"> {elseif $page.canonical} <link rel="canonical" href="{$page.canonical}"> {/if} Muchas gracias, perdona no es en la home solamente. Me he explicado mal, lo que busco es que en todas las páginas donde no existe paginación la canonical sea la url de la página. Muchísimas gracias de nuevo. Link to comment Share on other sites More sharing options...
Prestafan33 Posted October 31, 2019 Share Posted October 31, 2019 41 minutes ago, MD85 said: Muchas gracias, perdona no es en la home solamente. Me he explicado mal, lo que busco es que en todas las páginas donde no existe paginación la canonical sea la url de la página. Muchísimas gracias de nuevo. No entiendo muy bien, eso que dices ya lo debería hacer Prestashop automáticamente, para eso es la línea: {if $page.canonical} <link rel="canonical" href="{$page.canonical}"> {/if} En el controlador correspondiente es donde se define la canonical de la página, supuestamente según los criterios adecuados. Ponme un ejemplo de alguna página, cómo está ahora la canonical, cómo es la URL real de la página (si quieres cambia el dominio por "miweb.com"), y cómo quieres que quede. 1 Link to comment Share on other sites More sharing options...
MD85 Posted October 31, 2019 Author Share Posted October 31, 2019 (edited) 1 hour ago, Prestafan33 said: No entiendo muy bien, eso que dices ya lo debería hacer Prestashop automáticamente, para eso es la línea: {if $page.canonical} <link rel="canonical" href="{$page.canonical}"> {/if} En el controlador correspondiente es donde se define la canonical de la página, supuestamente según los criterios adecuados. Ponme un ejemplo de alguna página, cómo está ahora la canonical, cómo es la URL real de la página (si quieres cambia el dominio por "miweb.com"), y cómo quieres que quede. Claro ahora mismo solo aparece la canonical en las páginas de productos haya o no paginación (categorías), pero en la home o en las páginas de contenido (content) no se especifica la canonical. Aparece canonical por ejemplo en: www.mitienda.es/colchones Pero no aparece en www.mitienda.es o en www.mitienda.es/content/quienes-somos Y quiero que aparezca en todas. Gracias. Edited October 31, 2019 by MD85 (see edit history) Link to comment Share on other sites More sharing options...
Prestafan33 Posted October 31, 2019 Share Posted October 31, 2019 A las páginas a las que se llega solo a través de una única ruta no necesitan canonical, porque no hay confusión posible para el robot de indexación. Aquellas a las que se puede llegar a través de varias URLs (por ejemplo, las de producto, porque el mismo producto puede tener distintas combinaciones), son las que necesitan indicar cuál es la URL canonical. Respecto al tema de idiomas, para eso van los "alternates", que también están especificados ya en el archivo head.tpl: {block name='head_hreflang'} {foreach from=$urls.alternative_langs item=pageUrl key=code} <link rel="alternate" href="{$pageUrl}" hreflang="{$code}"> {/foreach} {/block} No obstante, si quieres especificar la canonical en todas las páginas, puedes hacerlo así: {if $page.canonical} <link rel="canonical" href="{$page.canonical}"> {else} <link rel="canonical" href="{$urls.current_url}"> {/if} 1 Link to comment Share on other sites More sharing options...
Luisejo Posted November 3, 2019 Share Posted November 3, 2019 Hola MD85, pégale un vistacillo a este módulo: https://addons.prestashop.com/es/url-redirecciones/22526-canonical-seo.html?ab=1 Saludos. Link to comment Share on other sites More sharing options...
MD85 Posted November 18, 2019 Author Share Posted November 18, 2019 On 10/31/2019 at 11:29 AM, Prestafan33 said: A las páginas a las que se llega solo a través de una única ruta no necesitan canonical, porque no hay confusión posible para el robot de indexación. Aquellas a las que se puede llegar a través de varias URLs (por ejemplo, las de producto, porque el mismo producto puede tener distintas combinaciones), son las que necesitan indicar cuál es la URL canonical. Respecto al tema de idiomas, para eso van los "alternates", que también están especificados ya en el archivo head.tpl: {block name='head_hreflang'} {foreach from=$urls.alternative_langs item=pageUrl key=code} <link rel="alternate" href="{$pageUrl}" hreflang="{$code}"> {/foreach} {/block} No obstante, si quieres especificar la canonical en todas las páginas, puedes hacerlo así: {if $page.canonical} <link rel="canonical" href="{$page.canonical}"> {else} <link rel="canonical" href="{$urls.current_url}"> {/if} Hola, uso Prestashop 1.7.3.3, y no incluye en el head: {block name='head_hreflang'}. ¿Dónde lo debería incluir? ¿Sería correcto? <link rel="alternate" href="https://www.mitienda.com/es/" hreflang="es"> <link rel="alternate" href="https://www.mitienda.com/en/" hreflang="en"> Link to comment Share on other sites More sharing options...
MD85 Posted March 5, 2020 Author Share Posted March 5, 2020 On 10/31/2019 at 11:29 AM, Prestafan33 said: A las páginas a las que se llega solo a través de una única ruta no necesitan canonical, porque no hay confusión posible para el robot de indexación. Aquellas a las que se puede llegar a través de varias URLs (por ejemplo, las de producto, porque el mismo producto puede tener distintas combinaciones), son las que necesitan indicar cuál es la URL canonical. Respecto al tema de idiomas, para eso van los "alternates", que también están especificados ya en el archivo head.tpl: {block name='head_hreflang'} {foreach from=$urls.alternative_langs item=pageUrl key=code} <link rel="alternate" href="{$pageUrl}" hreflang="{$code}"> {/foreach} {/block} No obstante, si quieres especificar la canonical en todas las páginas, puedes hacerlo así: {if $page.canonical} <link rel="canonical" href="{$page.canonical}"> {else} <link rel="canonical" href="{$urls.current_url}"> {/if} En mi head no aparece: {block name='head_hreflang'} No encuentro la forma de solucionarlo. Lo incluyo y nada. Gracias. Link to comment Share on other sites More sharing options...
SergioE Posted March 29, 2020 Share Posted March 29, 2020 En 31/10/2019 a las 8:54 AM, Prestafan33 dijo: Insisto en que la canonical no es necesaria en la home, pero si aún así la quieres forzar, tan solo debes editar el archivo /theme/nombre-de-tu-tema/templates/_partials/head.tpl. Ahí es donde se establece la canonical, debe haber algo similar a esto: {if $page.canonical} <link rel="canonical" href="{$page.canonical}"> {/if} Puedes modificarlo así: {if $page.page_name == 'index'} <link rel="canonical" href="https://www.miweb.com"> {elseif $page.canonical} <link rel="canonical" href="{$page.canonical}"> {/if} Personalmente creo que toda página debería tener un canonical, la home incluida. Nunca he tenido ni he visto problemas de duplicado en una HOME, pero pueden darse casos dónde haciendo campañas o instalado X módulos, se puedan añadir parámetros detrás de la URL para etiquetar algo mediante un ID o parámetro. Por ejemplo, en una campaña de Adwrods, donde el etiquetado es automático y si se habilita, puedes acabar con una URL así: https://www.miweb.com/?gclid=XXXXX Ya te digo, tampoco creo que pasara nada, pero yo siempre pongo canonical a todas las URLs. Saludos Link to comment Share on other sites More sharing options...
Prestafan33 Posted March 31, 2020 Share Posted March 31, 2020 (edited) On 3/29/2020 at 4:48 PM, SergioE said: Personalmente creo que toda página debería tener un canonical, la home incluida. Nunca he tenido ni he visto problemas de duplicado en una HOME, pero pueden darse casos dónde haciendo campañas o instalado X módulos, se puedan añadir parámetros detrás de la URL para etiquetar algo mediante un ID o parámetro. Por ejemplo, en una campaña de Adwrods, donde el etiquetado es automático y si se habilita, puedes acabar con una URL así: https://www.miweb.com/?gclid=XXXXX Ya te digo, tampoco creo que pasara nada, pero yo siempre pongo canonical a todas las URLs. Saludos Un motor de indexación de un buscador debe ser lo suficientemente "inteligente" como para ser capaz de diferenciar lo que es una variable pasada por GET en una URL (?gclid=XXXX en tu ejemplo) de lo que es una ruta en sí. Vamos, estoy plenamente convencido de que lo diferencian, porque es una práctica habitual y si no hicieran se liarían unos follones impresionantes. Un enlace de seguimiento GTM como los que se crean para las campañas de email márketing por ejempo, lo usan, y son parámetros para el mismo Analytics, que también es de Google, así que sería absurdo que su robot de indexación no los reconociera después. Pero tienes razón en que, dependiendo de lo que instales en tu web, si es algo que hace cosas muy raras, cabe la posibilidad de llegar a acabar con unas rutas bastante "extrañas" que podrían llegar a confundir en algún caso al robot de Google. Personalmente no lo he visto nunca en la home, pero por poder, sí, podría llegar a pasar. Edited March 31, 2020 by Prestafan33 (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now