Jump to content

SOLUCIONADO - Titulo de Pagina de Producto


Pack_12

Recommended Posts

Buenas,

Tras haber subido casi 3000 productos a la tienda y habiendo tratado de cuidar toda la información relacionada con consejos para Posicionamiento, me encuentro con que los títulos de las páginas de producto en el navegador están siendo tomadas del campo Referencia. ¿Eso significa que para google o cualquier otro buscador está considerando la referencia como el titulo de mis productos?

image.png.7f6d15d6f8a86c0ddccd30bb4b1cc817.png

 

La pregunta es: ¿Cual sería la página de producto para configurar SEO y URLs? O en este caso, ¿existe alguna forma de que en lugar de que el navegador tome la referencia como título, que me agarre el título del producto como tal? No se cual sería la forma más adecuada, pero me gustaría reutilizar todo lo que ya hice hasta ahora (casi 3000 productos)

Muchas gracias de antemano.

 

Edited by Pack_12 (see edit history)
Link to comment
Share on other sites

Seguramente en la plantilla de la ficha de producto de tu tema está configurado para que ponga como título de la página la referencia. Por supuesto, lo puedes cambiar. Lo que puede costar un poco más es encontrar dónde está especificado así.

En principio el bloque que crea el título está en themes/nombre-de-tu-tema/templates/_partials/head.tpl, es el bloque llamado "head_seo", pero lo normal es que esté sobreescrito en otras plantillas, en el caso de las fichas de producto yo miraría en /themes/nombre-de-tu-tema/templates/catalog/product.tpl para empezar...

Link to comment
Share on other sites

Buenas, pues en el primer caso ("head_seo") tengo esto:

{block name='head_seo'}
  <title>{block name='head_seo_title'}{$page.meta.title}{/block}</title>
  <meta name="description" content="{block name='head_seo_description'}{$page.meta.description}{/block}">
  <meta name="keywords" content="{block name='head_seo_keywords'}{$page.meta.keywords}{/block}">
  {if $page.meta.robots !== 'index'}
    <meta name="robots" content="{$page.meta.robots}">
  {/if}
  {block name='head_seo_canonical'}
  {if $page.canonical}
    <link rel="canonical" href="{$page.canonical}">
  {/if}
  {/block}

 

Y en el segundo caso veo esto:

{block name='head_seo' prepend}
    <link rel="canonical" href="{$product.canonical_url}">
{/block}

 

¿Se está sobrescribiendo algo? 😓

Gracias.

Link to comment
Share on other sites

Los bloques funcionan así:

Cuando un bloque está definido en una plantilla, si se vuelve a definir un bloque con el mismo nombre en otra plantilla que descienda de la primera, se sobreescribe el contenido de la primera con la segunda.

Pero cuando al bloque se le añade la coletilla "prepend" (como tienes en tu caso), entonces se añade delante del bloque definido en la primera. Y si se usa la coletilla "append", se añade el contenido al final de lo que ya está definido para ese bloque en la primera plantilla.

Para saber qué plantillas "descienden", o "extienden" a otras se puede ver al principio, que suele venir indicado así:

{extends file='page.tpl'}

Por ejemplo, en este caso la página extendería el archivo "page.tpl". Se pueden extender plantillas en cascada, es decir, que haya una primera plantilla, una segunda que extienda la primera y una tercera que extienda la segunda. Y los bloques que se repitan en ellas se van a ir sobreescribiendo de abajo a arriba (es decir, los bloques que estén definidos en la tercera sobreescribirán a los que tengan el mismo nombre en la segunda).

Después de todo este rollo: En tu caso en principio parece que el título viene en la variable {$page.meta.title}. Por tanto, lo que te saque ahí será lo que estés poniendo en la pestaña SEO -> Meta título de cada producto. Si te pone la referencia es porque ahí estás poniendo la referencia (o porque hay algo mal por algún lado).

Si quisieras cambiarlo sin tener que modificar todos los productos  y poner, por ejemplo, el título del producto, lo puedes hacer añadiendo dentro de "product.tpl", un bloque que sobreescriba al original, por ejemplo detrás de lo que has puesto arriba (el bloque head_seo):

{block name='head_seo_title'}{$product.name}{/block}

... aunque es una solución un poco "chapuza", porque los campos de la pestaña SEO están precisamente para eso, para poner ahí lo que quieras que se use para los campos que afectan al SEO de cada producto, y lo que hacemos en este caso es ignorar ese valor para el título y poner el nombre del producto.

Edited by Prestafan33 (see edit history)
  • Like 1
Link to comment
Share on other sites

Por cierto @Prestafan33,

Encontré el problema pero lo que sucede es que tengo en muchos productos el valor de la referencia pegado en SEO->Meta titulo. Según me dice el Backoffice, si lo dejo en blando por defecto tomará el título del producto. ¿Que opción me recomiendas para dejar en blanco de forma masiva todos los valores de SEO->Meta titulo? ¿Podré hacerlo con alguna consulta SQL para ese campo concreto?

Gracias, parece que ya casi lo resuelvo.

 

image.png.21637371e457ef961b61a3900a10db5b.pngAsí más de 1000 productos :(

Slds,

Edited by Pack_12 (see edit history)
Link to comment
Share on other sites

Yo lo que haría es una consulta para poner en SEO->Meta título el valor del nombre del producto para todos los productos.

Haz una copia de seguridad antes de tu base de datos, o al menos de la tabla ps_product_lang

Luego puedes usar esta consulta SQL:

UPDATE ps_product_lang SET meta_title = name;

Y si lo que quieres es dejar el campo meta-título vacío para que tome automáticamente el nombre de producto:

UPDATE ps_product_lang SET meta_title = '';

 

Edited by Prestafan33 (see edit history)
  • Haha 1
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...