Cómo soluciono que en buscar tenga que poner la palabra correcta

  • Autor Autor luisa1221
  • Fecha de inicio Fecha de inicio

luisa1221

Gamma
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Buenas compañer@s, hace unos mese migré mi blog de wordpress a blogger, tuve problemillas pero casi todos solucionados gracias a vosotr@s, pero ahora me surge una duda. En el apartado buscar, tengo que poner la palabra escrita tal y como está en el blog, es decir, si busco "depresión", pero no pongo el acento, en el resultado de búsqueda no aparecen los posts, pero si le pongo el acento no hay problema. Hay alguna forma de que lo acepte tanto con acentos como sin? sino la gente que busque, si no lo hace con las palabras correctas, no van a encontrar nada y eso es un problema... Gracias!
 
Hola, esto es un problema habitual en Blogger. No puedes hacer mucho al respecto ya que la función de búsqueda en Blogger es muy básica y no soporta la búsqueda de palabras sin acentos. Mi recomendación sería publicar palabras tanto con acentos como sin acentos en tus posts para que la búsqueda las pueda identificar. Otra alternativa sería añadir un buscador personalizado de Google a tu blog, ya que maneja mejor este tipo de situaciones. ¡Espero que esto ayude!
 
¿qué plantilla usas?
¿usas el buscador que ya viene en la plantilla?

tienes que modificar el código del buscađor

con javascript, por ejemplo poner una lista, que cambie una palabra por otra :
const accentMap = { 'depresion': 'depresión', 'cafe': 'café', 'pais': 'país', 'nino': 'niño', };
o
cambiarlo por Google Custom Search
 
Resolvamos este "misterio"

- la plantilla usa el widget/buscador que trae el blogger
- solo muestra las palabras/entradas exactas como estan, con o sin acento

en tu blogger...
- si busco ovarica no aparece ninguna entrada
- si busco ovárica si aparece la entrada

entonces copio dos entradas

- busco ovarica y luego ovárica y ya aparece las entradas
- busco otra palabra, por ejemplo: pelvico y luego pélvico, y aparecen las entradas

solo pones en plantilla > personalizar > editar html
arriba de </body> el siguiente script

JavaScript:
<script type='text/javascript'>
//<![CDATA[
  document.addEventListener('DOMContentLoaded', function () {
    const searchForm = document.querySelector('form.gsc-search-box');
    if (searchForm) {
      searchForm.addEventListener('submit', function (event) {
        event.preventDefault();
        const searchInput = searchForm.querySelector('input[name="q"]');
        if (searchInput && searchInput.value.trim() !== "") {
          const query = searchInput.value.trim();
          const transformedQuery = transformQuery(query);
          const searchUrl = searchForm.getAttribute('action');
          window.location.href = `${searchUrl}?q=${encodeURIComponent(transformedQuery)}`;
        }
      });
    }
    function transformQuery(word) {

      const specificWords = {
        "ovarica": "ovárica", // aquí para agregarle acento
        "ovárica": "ovárica", // aquí la misma para que la tiene acento no le agregue más acentos
        "pelvico": "pélvico",
        "pélvico": "pélvico"

      };
      return specificWords[word] || word;
    }
  });
//]]>
</script>

en la constante del script "specificWords"
agregas la palabra sin y con acento
después la que tiene acento y de nuevo otra vez para que no le agregue más acentos

"ovarica": "ovárica",
"ovárica": "ovárica",
"pelvico": "pélvico",
"pélvico": "pélvico"

En resumen : aquí lo puedes probar... buscando : ovarica, ovárica, pelvico, pélvico.

 
Última edición:
Muchísimas gracias!