Ocultar del sitemap de prestashop una pagina cms

por | Sep 16, 2019 | Prestashop

Tienes páginas cms que no te interesa que vean todos pero el sitemap las muestra. Te enseño a ocultar del sitemap de prestashop una pagina cms. Sigue leyendo y te explico cómo.

Es posible que en tu tienda Prestashop tengas algunas páginas CMS creadas, por ejemplo con algún descuento o información especial, y dirigidas a sólo determinados clientes. No son clientes que puedas agrupar utilizando los grupos de clientes de prestashop (visitantes, invitados, predeterminados, etc).

Quizá sea, por ejemplo, sólo clientes que se han suscrito a tu newsletter. O en general cualquier criterio que tú hayas dispuesto por el que esas páginas CMS no sean de interés de todos los visitantes, sólo de algunos.

Si ese es tu caso, ya sabes que en la sección CMS puedes decidir qué páginas se muestran y cuáles no (Módulos -> Bloque CMS -> mostrar o no cada enlace). Pero esto sólo afecta a la sección cms.

Pero tu problema es que el sitemap de Prestashop va a mostrar todas las páginas cms que hayas creado.

 

Ocultar del sitemap de prestashop una pagina cms

El fichero que tenemos que modificar para ocultar del sitemap la página cms que te interesa es /themes/tu-tema/sitemap.tpl

Te será muy fácil utilizar algún programa tipo Filezilla para acceder al gestor de ficheros y localizarlo. Sobre todo, haz una copia de seguridad del fichero antes de editarlo.

Si estás en 1.6, el código que debes buscar es muy parecido al siguiente:

 

{foreach from=$categoriescmsTree.cms item=cms name=cmsTree}
        



<li>
            <a href="{$cms.link|escape:'html':'UTF-8'}" title="{$cms.meta_title|escape:'html':'UTF-8'}">
              {$cms.meta_title|escape:'html':'UTF-8'}
            </a>
          </li>






          {/if}

Ten localizado ese código, porque primero vamos a ver cuál es la id de la página cms que quieres ocultar.

Cómo saber el id de una página cms (1.6)

Preferencias -> CMS -> y en la lista de páginas cms, la columna de la izquierda es el número de id de cada una de ellas. Imagina que la que quieres ocultar tiene id 15.

Pues bien, con ese dato, la id, vamos a generar unas líneas de código que tienes que colocar tal y como te indico a continuación:

1.- Justo después de la línea foreach, escribe lo siguiente:

 

  {if $cms.id_cms==15}
         {else}

2.- Justo antes del {/foreach}, escribe:

  {/if} 

De manera que quede como ves:

  {foreach from=$categoriescmsTree.cms item=cms name=cmsTree}
         {if $cms.id_cms==15}
         {else}
          



<li>
            <a href="{$cms.link|escape:'html':'UTF-8'}" title="{$cms.meta_title|escape:'html':'UTF-8'}">
              {$cms.meta_title|escape:'html':'UTF-8'}
            </a>
          </li>




          {/if}
        {/foreach}

Recuerda que en este ejemplo, la id es 15 pero en tu caso tienes que poner la que corresponda.

Ahora, si vas a tu frontoffice y haces clic en «Mapa del sitio», aparecerán todas las páginas cms excepto esa que querías ocultar.

Y si lo que quieres es ocultar varias, simplemente tienes que añadir el siguiente código. Por ejemplo, para ocultar las páginas cms 15, 16 y 17, sería así: en lugar de

 {if $cms.id_cms==15} 

, escribe

{if $cms.id_cms==15 || $cms.id_cms==16 || $cms.id_cms==17} 

Como ves, es relativamente sencillo decidir qué páginas cms aparecen en el sitemap de tu sitio. Además, recuerda que al no aparecer, google no las rastrea e indexa, con lo cual es fenomenal. Ya que en caso contrario, no sólo todos tus usuarios pueden ver esas páginas, sino que estando indexadas, pueden aparecer en los resultados de búsqueda…

Pruébalo y ya me dirás. Mucha suerte y mucho ecommerce 🙂

Rating: 5.0/5. From 5 votes.
Please wait...

Translate »