Javier Casares

  • En el corazón de Google

    ·

    Siempre hay alguien que te dice que aparece muy bien posicionado en Google. En esos momentos abres tú, haces la consulta y no lo ves tan bien como él dice. Esto me lo he encontrado en innumerables ocasiones en los últimos años, y la verdad es que ya no se cómo explicarle a clientes y no clientes que Google les muestra lo que quieren ver, que les dice lo que quieren oir. Claro está, esto lo hace si hay un mínimo de SEO, porque si estás penalizado o algo parecido, ya da igual lo que tú, él o Google diga.… Read More →

  • Cómo cargar JavaScript

    ·

    Como ya he comentado alguna otra vez, el JavaScript es uno de los elementos que bloquean la carga de los sitios web. Para evitar este bloqueo podemos usar algunos métodos creados con otro código de JavaScript que nos servirá para cualquier fichero externo que queramos cargar. Lo bueno de estos sistemas es que permiten cargar en el sistema no sólo JavaScript sino que se podría abrir hasta CSS. Los códigos son bastante sencillos: function loadScript(url, callback){   var script = document.createElement(«script»)   script.type = «text/javascript»;   if (script.readyState){ // Internet Explorer     script.onreadystatechange = function(){       if (script.readyState == «loaded» || script.readyState == «complete») {… Read More →

  • Peligro SEO: no tocar

    ·

    Una de las cosas que hay que hacer cuando se aplican técnicas SEO a un sitio web es dejar que reposen. Por norma general, Google, en un sitio de tamaño mediano reindexa completamente todo cada 3 meses, que es el ciclo natural del motor, de forma que, cuando se hacen cambios medianos o grandes en un sitio es muy recomendable esperar estos 3 meses para comprobar la aplicación completa. ¿Y por qué hay que esperar? Porque aunque a los buscadores les gustan determinados cambios, algo que más les gusta es que se hagan cambios para bien, ya que cualquier cagada… Read More →

  • Combinar y reducir JavaScript

    ·

    En muchas ocasiones me encuentro que tengo varios JavaScript en una página y, al final, se hace bastante pesado tener que gestionar múltiples ficheros. Además, otra cosa que me gusta es la de reducir al máximo el tamaño del fichero, y el hecho de poder combinarlos también permite reducirlos… Es por esto que existe para PHP una pequeña biblioteca de funciones llamada JSmin-php que ayuda a gestionar esta situación tanto la de combinar como de minimizar. Básicamente lo que hace esta biblioteca es leer todos los ficheros JS de una carpeta, combinarlos, comprimirlos y generar un fichero único cacheado. require_once(«jsmin.php»);… Read More →

  • 101010101010

    ·

    Hoy es día 10, del mes 10, del año 10 y son las 10 horas, 10 minutos y 10 segundos… por si no te habías enterado… Read More →

  • HTML5 Prefetch

    ·

    Hace un tiempo, cuando comencé a hablar del HTML 5, hice una breve referencia a los distinto «rel-algo» que podemos encontrar en la nueva codificación. Entre estos hay uno que puede ser muy interesante si sabes cómo navegan los usuarios de tu sitio web y, aun no sabiéndolo, crees que puedes acelerar la velocidad de carga de la misma. El link prefetching básicamente lo que permite es descargar las URL indicadas antes de que se vayan a visitar… y el HTML 5 incluye un sistema para avisarlo, ya de forma estándar (hasta ahora sólo Firefox le daba soporte). El sistema… Read More →

  • Header Robots (no Meta Robots)

    ·

    Siempre que se habla de limitar el acceso de los robots de búsqueda a un contenido hablamos de los robots.txt y del meta-robots. Con estos sistemas básicamente podemos controlar cosas muy generales como todo un sitio o unas carpetas, y de forma más detallada, cada una de las páginas o determinados tipos de fichero. El tema está en que en algunas ocasiones hay ficheros como los PDF, los vídeos o imágenes que, de forma particular, podemos decidir no indexarlos… pero ¿cómo le puedo poner un noindex a un PDF? Para ello usaremos los encabezados para robots. Es por esto que… Read More →

  • HTML semántico

    ·

    Cuando desarrollamos sitios web normalmente no pensamos en usar etiquetas o herramientas que se salen del HTML que todo el mundo conoce. Pero lo que muchos no saben es que el HTML permite algunas cosas semánticas que habitualmente no se utilizan. También lo permite el XHTML, que fue el precursor de esto hace ya algún tiempo, aunque en este caso existen algunas reglas. Antes de comenzar con lo que se podría hacer en un futuro en el HTML5, voy a poner un ejemplo en XHTML y a explicar brevemente su funcionamiento, ya que es algo distinto si comparamos la versión… Read More →

  • SEO y Arquitectura de la Información

    ·

    Una de las cosas más interesantes del SEO es que hay que pensar como piensan las máquinas. Dedicar tiempo simplemente a posicionar cuatro conceptos no sirve de nada si tu sitio no aumenta el tráfico de llegada y, una vez dentro, lo conviertes. Esto se resumen en que el SEO ya no sirve por sí mismo si no va acompañado de otras cosas alrededor. Cuando en Kisslab comenzamos la consultoría de un proyecto el primer paso siempre es el de las buenas prácticas en buscadores, la base para que un proyecto no tenga problemas en un futuro y, que conste,… Read More →

  • Data URI mejor que CSS Sprites

    ·

    Una de las cosas que más a bombo y platillo se nos ha intentado meter en la cabeza en los últimos tiempos es que era mejor usar los CSS Sprites que no un montón de imágenes. Y es cierto, es mejor lo primero que lo segundo… ¿pero es lo óptimo? No. En alguna ocasión he hablado ligeramente sobre las peticiones HTTP y lo que afectan en cuanto a la velocidad de carga de un sitio; una de esas cosas que comenté en su momento fue la de usar los Data URI. Y es que el uso de los CSS Sprites… Read More →

  • Contenidos duplicados por idiomas

    ·

    Según va pasando el tiempo cada vez me encuentro con clientes (y no clientes) que quieren hacer versiones internacionales de sus sitios. En algunos casos lo hacen bien, ya que usan los TLD de cada país, con la interfaz y los contenidos traducidos a lo que ese país utiliza, pero no siempre es así. Aunque algunos digan y repitan que el contenido duplicado no existe, la propia Google da algunos consejos para evitar que eso ocurra (un artículo muy interesante, la verdad) y, aunque para mi falta chicha en ese artículo, sobre todo hablando de los contenidos dplicados off-site (ahí… Read More →

  • evercookie, la cookie que nunca desaparece

    ·

    Una de las cosas que en algunos proyectos pueden ser interesantes es saber quién visita la página sí o sí. Normalmente usamos las cookies del navegador, con las opciones de que sean de sesión, de darles una fecha final más o menos cercana o lejana y, por supuesto, la opción de eliminarlas simplemente pulsando un par de botones en las opciones de nuestro navegador. Pero seguro que en alguna ocasión has necesitado poner una cookie que no desaparezca ni aunque se vacíen todas las opciones de configuración. Si esto es lo que quieres, tu respuesta tiene nombre: evercookie. El objetivo… Read More →

  • Tu propio acortador de URL gracias a Google Short Links

    ·

    Seguramente muchos habréis escuchado hablar de los acortadores de URL tipo tinyURL o bit.ly y últimamente el lanzamiento de goo.gl. Pues si quieres disponer de tu propio acortador y usar la tecnología de Google, puedes plantearte usar el sistema de Google Short Links, una aplicación del Google Apps Marketplace para los usuarios de Google Apps. En principio este acortador es válido para las cuentas gratuitas como las cuentas de pago de Google Apps, así que se puede usar sin problema. También hay que ecir que esta aplicación está creada por la propia Google, lo que da cierta seguridad de que… Read More →

  • CSS eficientes, según Mozilla

    ·

    Desde hace ya un tiempo que vengo revisando con frecuencia mi forma de escribir los CSS y comparándolo con las cosas que se comentan en el artículo Writing efficient CSS donde se habla de cómo crear CSS eficientes. Para empezar, existen 4 tipos de identificadores: ID, class, tags y universales. Cada uno de ellos tienen ciertas particularidades… y se pueden anidar. Así que según vayamos anidando y se vaya haciendo más complejo, la lectura y desarrollo también lo será. Hacer algo de este estilo no sería muy útil: table .fila td #enlace { … } Lo idel sería intentar reducir… Read More →

  • Macroeconomía de los buscadores

    ·

    Uno de los últimos artículos que publiqué días atrás fue el de los cambios a la hora de buscar en Internet; este artículo, sumado a lo que ha publicado Jaume estos días, y al «excel» de información que llevo trabajando sobre Evolución de las Búsquedas me han hecho reflexionar en varias cosas. NOTA 1: las gráficas hay que leerlas de «derecha a izquierda» ya que los datos van de más nuevos a más antiguos… NOTA 2: hay bastantes vacíos en las gráficas, y es que encontrar datos no es tan sencillo como parece… aun así, sigo añadiendo según encuentro. Google… Read More →

  • Crear un efecto «desbloquear» de iPhone

    ·

    Seguro que en alguna ocasión te gustaría hacer una versión de tu web para dispositivos móviles y añadir un toque iPhone. Es por esto que Chris Coyier ha creado un efecto «slide to unlock» en el que podemos apreciar, sobretodo en motores WebKit, el efecto a todo rendimiento. Entre otras cosas, hay ese efecto degradado y gracias a jQuery también la posibilidad de hacer ese efecto slide. El sistema aprovecha códigos CSS como el -webkit-animation: slidetounlock 5s infinite; y la función -webkit-keyframes slidetounlock. El ejemplo funciona en motores Webkit al 100% (Safari y Chrome), aunque se pueden analizar los códigos… Read More →

  • Analítica Web en tiempo real

    ·

    Aunque muchas veces utilizamos Google Analytics para saber el tráfico que tenemos, existen otra gran cantidad de servicios similares (sencillos, simplemente para analizar datos de visitas y no de comercio electrónico) que pueden ser de mucha utilidad. En algunas ocasiones es interesante disponer de un segundo sistema de seguimiento básicamente por el tiempo real, para poder controlar en cualquier momento si hay un pico de tráfico y a qué se debe… también, si no tenemos mucho tráfico en nuestro sitio, podremos ver y seguir la información en tiempo real, lo que nos dará una visión completa. Incluso, aquellos que publican… Read More →

  • Se acabó la temporada

    ·

    Como ya comenté hace un par de años hoy, 31 de agosto, es el día en el que se acaba una temporada y comienza otra, por lo que celebro el «fin de año» esta noche. A diferencia de otros años, que han sido más tranquilos, sólo cenas, este año creo que toca algo distinto, y es que coincide con la despedida de soltero de uno de mis socios, así que supongo que el desfase será bastante mayor. Además, mañana tengo visita con el notario para cerrar las negociaciones de otro proyecto. Sin duda va a ser un cambio de año… Read More →

  • Evita, con PHP, ataques XSS y SQL injection

    ·

    Una de las cosas que normalmente no revisamos cuando creamos un sitio web es la vulnerabilidad que se tiene a ataques por URL por cosas como XSS e incluso a ataques a la base de datos por una mala configuración. Para esto normalmente se usa una revisión y se ejecuta, con PHP, la función htmlentities() que, gracias a eliminar el código HTML puede filtrar cosas como los <script>. Para solventar esto existe una cosa llamada Genius Open Source Libraries que, con unas simples funciones, permiten hacer una megalimpieza contra ataques de todo tipo. require_once ‘Core/sgConfig.inc.php’; // Output an unsafe string,… Read More →

  • Cada vez buscamos de forma más concreta

    ·

    Cada día que pasa hay más usuarios en la red de redes, y según pasa el tiempo los usuarios aprenden de forma significativa cómo se ha de buscar. Lo de utilizar una única palabra genérica ya ha pasado de moda (sobre todo en plataformas que han madurado) y, por eso, me he decidido a escribir un poco sobre ello. Y es que existen varios tipos de búsqueda: informacionales, navegacionales, transaccionales, comerciales o geolocalizadas. Quizá las más frecuentas e interesantes en el caso que nos toca son las primeras. Informacional: Son aquellas en las que el usuario quiere aprender algo (sobre… Read More →