Evitar a los spambots

He encontrado en Profressor’s Coding Corner un interesante script que evita que los spambots (1) puedan recopilar los emails que publicas en tu web. La única pega que tiene es que si el visitante tiene JavaScript desactivado no se muestra el email. Es una pega pequeña dado que hoy en día casi todo el mundo lo tiene activado. De todas formas se recomienda disponer de otra forma de contacto, como por ejemplo un formulario.

Aquí va el enlace:

http://www.professorscodingcorner.com/snippets/stopspambots.shtml

También hay otra forma de ocultar el email usando CSS. Este método tiene varios problemas:

  • Necesita que el navegador sea compatible con CSS2.
  • Se muestra un email pero no se puede hacer click sobre él.
  • En Thunderbird ni siquiera se puede seleccionar el email (lo acabo de comprobar).

El enlace al artículo.

(1) Un spambot es un programa que se dedica a navegar por las webs recopilando emails para, después, bombardearlos con toda esa basura que tanto nos gusta recibir.

(2) Supongo que estos métodos no serán válidos si el spambot es capaz de analizar JavaScript y CSS2 pero seguramente usando estos métodos se reducirá notablemente la cantidad de spammers con acceso a nuestro email.

¿Atrapado en un frame?

Seguramente habrás visto alguna vez cómo otras webs enlazan con la tuya pero encerrándola dentro de un frame. De esta forma puede dar la impresión al visitante que tu web es parte de la otra.

Este es un tema ya un poco antiguo pero recientemente he descubierto que una de mis webs, El Rincón del C, estaba siendo enlazada desde emagister usando esta técnica. Incluso llegan a decir que El Rincón del C está alojado en su servidor.

¿Cómo librarse de un frame?

Es muy fácil, basta una línea de código Javascript que podremos colocar justo debajo de la etiqueta “body” encerrado entre un par de etiquetas “script”.

En este sencillo ejemplo vamos a comprobar si la página sin_frames.html está dentro de un frame y si es así vamos a sacarla de ahí:

if (top != self) top.location.href = ‘sin_frames.html’;

Cuando se evalúa la condición top!=self el miniscript comprueba si es la ventana principal. En caso de no ser así quiere decir que la página está atrapada en un frame y gracias a top.location.href podemos liberarla.

Nota: si no funcionara probar con top.location en lugar de top.location.href.

Redirecciones efectivas con el código HTTP 301

Cuando eliminamos, modificamos el nombre o movemos un fichero de nuestra web o incluso cuando cambiamos el nombre de dominio nos encontramos con el problema de redireccionar nuestra página a la nueva dirección. Existen varias posibilidades para solucionar este problema, por ejemplo:

1) Colocar un enlace con el aviso del cambio de dirección.

2) Redireccionar las páginas con el meta-tag “refresh”.

El problema de estos es que los buscadores no actualizan los enlaces e incluso pueden acabar borrándolos de sus listados cuando actualicen el contenido. En el caso de Google puede sucedernos que incluso perdamos el “Page Rank” de la web.

¿Cuál es la solución?

La mejor solución es usar redirecciones permanentes con la “redirección 301”. Este tipo de redirección avisa a los navegadores del cambio definitivo de dirección de tal forma que actualizarán sus bases de datosy conservaremos el posicionamiento.

¿Cómo se usan las redirecciones 301?

Las redirecciones se hacen a través del fichero .htaccess. Este es un fichero que, si existe en nuestro servidor, se encuentra normalmente en la carpeta donde se almacenan los documentos de nuestra web; por ejemplo: ‘httdocs’, ‘web’, ‘public_html’.

Aviso: antes de modificar este fichero haz una copia de seguridad. Es muy importante, tu sitio web podría dejar de funcionar. Asegúrate si el fichero ya existe o no en tu servidor, en algunos servidores no se muestra en el listado de ficheros cuando usamos un programa de FTP. Lo mejor es ponerse en contacto con la empresa que aloja tu web antes de hacer nada.

Si el fichero no existe podemos crearlo con un editor de texto plano. Por ejempo, en windows, abre el notepad o el wordpad y crea un fichero llamado .htaccess (con un punto al principio y si extensión).

Añade la siguiente línea:

redirect 301 /pagina_anterior.html http://www.nuevadireccion.com/index.html

donde:

página_anterior.html es la dirección de la página que estás moviendo y
http://www.nuevadireccion.com/index.html es la dirección a la que te trasladas.

Nota importante: el fichero .htaccess se coloca en el servidor “antiguo”.

redirect 301 /vieja.html http://www.miweb.com/nueva.html

Si el cambio que queremos hacer es desde una página en la carpeta “viejashistorias” a la carpeta “nuevashistorias” el código sería:

redirect 301 /viejashistorias/vieja.html http://www.miweb.com/nuevashistorias/nueva.html

Existen otras formas de hacer redirecciones que ya iremos viendo en otras entregas. En un próximo artículo explicaré también cómo hacer las redirecciones 301 en PHP.