Sei sulla pagina 1di 153

Instalacin, configuracin y desarrollo de aplicacin Web estudiando diversas alternativas de alojamiento

Ingeniera Tcnica en Informtica de Sistemas Marzo 2012

Alumno: Jorge Moli Latorre Director: ngel Rodas Jord

Resumen
El presente documento recoge la Memoria del Proyecto Fin de Carrera que hemos realizado. Los captulos que en l se encontrarn son descritos brevemente a continuacin: Introduccin En este primer captulo el lector encontrar una descripcin detallada del proyecto en la que se incluyen los objetivos del mismo, la motivacin que nos ha llevado a realizar el presente PFC y la exposicin de los materiales y mtodos utilizados. Alojamiento web En este segundo captulo haremos hincapi en la importancia de un buen nombre de dominio y elaboraremos un estudio sobre las empresas registradoras de dominios. Tambin describiremos como instalar y configurar nuestro propio servidor Web, y tambin, por el contrario expondremos las distintas posibilidades donde hospedar un sitio Web. Creacin del entorno web En este tercer captulo nos hemos centrado en el descubrimiento y descripcin de los requisitos funcionales de la aplicacin. Donde explicaremos detalladamente los Casos de Uso. Describiremos todas las tareas que se han realizado para lograr la elaboracin del Modelo Conceptual de Datos. Explicaremos los componentes que interactan entre s en cada uno de los tres niveles de diseo. Y haremos una breve descripcin de las tecnologas que se han utilizado en el desarrollo de la aplicacin, las herramientas con las que hemos trabajado y las pruebas que se han realizado sobre el producto realizado. Promocin y posicionamiento Web En este cuarto captulo analizaremos las tcnicas de posicionamiento web SEO y las utilizaremos para posicionar mejor nuestro sitio web. Tambin realizaremos un estudio sobre portales especializados en turismo rural y presentaremos un anlisis de las caractersticas de los tres mejores portales. Conclusiones Ya para finalizar se listan una serie de conclusiones a las que hemos llegado durante la elaboracin de este Proyecto Fin de Carrera.

ndice de contenidos

1.- Introduccin. 5 1.1.- Motivacin.... 5 1.2.- Objetivos... 6 1.3.- Definiciones, acrnimos y abreviaturas. 6 1.4.- Materiales y mtodos.. 8 2.- Alojamiento Web. 12 2.1.- Nombre de dominio 12 2.2.- Alojamiento propio. 15 2.2.1.- Instalacin Turnkey Lamp.. 16 2.2.2.- Configuracin del servidor.... 17 2.2.2.1.- Configuracin de la interfaz de red........ 17 2.2.2.2.- Actualizacin de los repositorios. 19 2.2.2.3.- Configuracin de los servidores virtuales.. 20 2.2.2.4.- Instalacin y configuracin servidor vsftp.... 22 2.2.2.5.- Uso de MySQL e iptables. 26 2.2.3.- Redireccionar hacia nuestro servidor... 29 2.3.- Alojamiento en la red... 32 2.3.1.- Estudio de las empresas de hosting. 33 2.3.2.- Eleccin de 1and1.. 36 2.3.3.- Asociar nombre a nuestra cuenta.. 36 3.- Creacin del entorno web.. 39 3.1.- Especificacin de los requisitos.. 39 3.1.1.- Propsito y mbito.... 39 3.1.2.- Descripcin general 40 3.1.3.- Requisitos funcionales.. 43 3.2.- Anlisis.. 51 3.2.1.- Diagramas de casos de uso.. 52 3.2.2.- Diagrama de clases 54 3.3.- Diseo 56 3.3.1.- Nivel de presentacin 58 3.3.2.- Nivel de aplicacin....... 63 3.3.3.- Nivel de persistencia. 64 3.4.- Implementacin Web... 65 3.4.1.- Tecnologas utilizadas.. 65 3.4.2.- Implementacin de la interfaz. 72 3.4.3.- Implementacin de la funcionalidad.... 75 3.4.4.- Implementacin de la gestin de datos.. 78 3.4.5.- Pruebas... 80

4.- Promocin de una pgina Web 81 4.1.- Tcnicas de posicionamiento Web SEO.. 82 4.1.1.- Etiqueta <TITLE>.. 84 4.1.2.- Metatag... 85 4.1.3.- Contenidos en etiquetas <H1>,<p>... 88 4.1.4.- Contenidos en imgenes y su tamao. 89 4.1.5.- Dominios y URL amigables. 90 4.1.6.- Geolocalizacin. Webs con idiomas.. 93 4.1.7.- Tcnicas fraudulentas. Penalizaciones. 95 4.2.- Ficheros complementarios. 99 4.2.1.- Sitemap... 99 4.2.2.- Robots.txt.... 100 4.2.3.- htaccess. 101 4.2.4.- Estilos y javascript... 102 4.3.- Promocin externa.. 103 4.3.1.- Directorios... 104 4.3.2.- Enlaces desde otras pginas.. 105 4.3.3.- Posicionamiento con pago por click... 106 4.3.4.- Redes sociales 108 4.4.- Publicacin en portales especializados. 108 5.- Conclusiones.. 119 5.1.- Conclusin 119 5.2.- Trabajos futuros... 119 6.- Bibliografa.. 121

CAPITULO I

Introduccin
En este primer captulo el lector encontrar una descripcin detallada del proyecto en la que se incluyen los objetivos del mismo, la motivacin que nos ha llevado a realizar el presente PFC y la exposicin de los materiales y mtodos utilizados.

1.1.- Motivacin
El presente proyecto tiene sus orgenes en el negocio familiar de la Casa Rural Sansofi. Lo principal fue crear una pgina Web como cualquier otra pequea y mediana empresa, con el tiempo fue necesaria la utilizacin de la aplicacin Web para el control y gestin de los huspedes. Todo ello llev su tiempo de trabajo en la primavera de 2010. Ms tarde, durante el verano de 2011 realic un periodo de prcticas en empresa de 3 meses de duracin como instalador y administrador de servidores Web, DNS y SMTP basados en Unix. Todo ello me llev a finales de Septiembre a solicitar un PFC al profesor ngel Rodas, presentndole el trabajo realizado durante el periodo de prcticas y la pgina web anteriormente realizada. A partir de ese momento surgi la idea de nuestro proyecto final de carrera de tipo B: Instalacin, configuracin y desarrollo de aplicacin Web estudiando diversas alternativas de alojamiento. Lo verdaderamente importante del proyecto es la gran variedad de temas que abarca todos ellos relacionados entre si. La primera parte la podramos englobar en el apartado de Sistemas y Redes, correspondiente con la intensificacin de tercero con el mismo nombre. La segunda parte enfocada a los servicios de la Red y tambin a la programacin de pginas y aplicaciones Web. Correspondiente con la intensificacin de Ingeniera del Software y algunas asignaturas optativas como APW y SPW, Aplicaciones Web y Servicios para la Web. El proyecto Instalacin, configuracin y desarrollo de aplicacin Web estudiando diversas alternativas de alojamiento me ha permitido desarrollar amplios conocimientos en el campo de los sistemas operativos y sobretodo en las tecnologas de red, as como en la promocin de un negocio familiar a travs de la red siendo nosotros mismos administradores no solo de nuestra Web sino tambin de el sistema

que da soporte para ello, tema demandado por las empresas y cada vez ms importante.

1.2.- Objetivos
El presente PFC tendr por objetivo cumplir con los siguientes tres puntos: Instalacin, configuracin del servidor web y estudio de alternativas de alojamiento y dominio. Aprender a instalar y configurar un servidor Web (donde estar alojada nuestra Web), comprando para ello un hosting a un proveedor y teniendo alojada all nuestra Web. Como alternativa veremos como comprar un nombre de dominio y asociarlo a nuestro servidor. Utilizacin de herramientas avanzadas para mejora de pginas Web. Utilizar HTML, CSS, JavaScript y diversos applets para mejorar la pgina Web. Realizar una aplicacin en la misma Web utilizando PHP y MySQL para controlar y gestionar los clientes y que estos puedan realizar consultar a un calendario, rellenar encuestas y diversas funcionalidades para ofrecen un mejor servicio a los huspedes. Estudio del posicionamiento Web. Promocionar la Web a travs de la red para que llegue a un determinado mercado. Para ello publicaremos la Web en portales especializados y aprenderemos a posicionar nuestra Web en buen lugar en los principales motores de bsqueda.

1.3.- Definiciones, acrnimos y abreviaturas


Autenticarse: accin de introducir el identificador de usuario (Username) y la contrasea (Password) asociada al mismo, de forma que el sistema pueda verificar si los valores almacenados en la Base de Datos son los mismos, en cuyo caso, los dar por validos e iniciara una serie de acciones, programadas previamente por el diseador web. Base de Datos o BD: conjunto de datos pertenecientes a un mismo contexto y almacenados sistemticamente para su posterior uso. En el contexto en que nos encontramos, su almacenamiento se produce de forma digital (electrnica). En lo sucesivo en este documento, nos referimos a la Base de Datos como BD.

E-mails: servicio de red que permite a los usuarios enviar y recibir mensajes rpidamente (tambin denominados mensajes electrnicos o emails) mediante sistemas de comunicacin electrnicos. FTP (File Transfer Protocol): protocolo para intercambiar archivos en Internet. Se utiliza principalmente para descargar un archivo de un servidor o para subir un archivo a un servidor a travs de Internet. Hipertexto: cualquier texto disponible en el WWW que contenga enlaces con otros documentos. HTTP (Hypertext Transfer Protocol): protocolo usado en cada transaccin de la World Wide Web. Esta orientado a transacciones y sigue el esquema peticinrespuesta entre un cliente y un servidor. HTTPS (Hypertext Transfer Protocol Secure): Protocolo de red basado en el protocolo HTTP, destinado a la transferencia segura de datos de hipertexto. Garantiza un nivel de seguridad mayor que el de HTTP. IEEE (The Institute of Electrical and Electronics Engineers): asociacin tecnicoprofesional mundial dedicada a la redaccin y aprobacin de normas que se establecen para garantizar el acoplamiento de elementos construidos independientemente. Interface de usuario: representa la forma y disposicin visual de los elementos en pantalla (texto, imgenes, objetos grficos) que posibilitan la interaccin de un usuario en un programa o aplicacin. Javascript: lenguaje interpretado (no requiere compilacin) utilizado en paginas Web, con una sintaxis parecida a Java. Permite el desarrollo de interfaces de usuario mejoradas y paginas web dinmicas. MySQL: sistema de gestin de base de datos, desarrollado bajo la filosofa del software libre. Navegador web: programa que permite visualizar la informacin que contiene una pagina web. Pgina web: documento creado en formato HTML que es parte de un grupo de documentos hipertexto o recursos disponibles en el World Wide Web. Una serie de pginas web componen lo que se llama un sitio web.

Password o contrasea: serie secreta de caracteres que permite a un usuario, junto a su Username, identificarse en el portal, "conociendo" este los servicios e informacin personalizada que debe mostrar al mismo. Servidor: ordenador remoto que provee los datos solicitados por parte de los navegadores de otras computadoras. Tambin se entiende como el software que configura un PC como servidor para facilitar el acceso a la red y sus recursos. Sesin: secuencia de pginas web que un usuario visita en un sitio web, desde que entra en nuestro sitio, hasta que lo abandona. Tramitaciones o gestiones: estn asociadas a alguno de los posibles trmites y deben haber sido previamente iniciadas por un Usuario Residencial. Sus posibles estados son: Iniciado, En Revisin, Aprobado o Denegado. Username o nombre de usuario: palabra con la que un usuario es reconocido el portal. Usuario Administrador: usuario que adems de estar registrado, tiene el mximo nivel de control sobre la administracin de los contenidos del portal. Usuario Interno: usuario que adems de estar registrado, tiene control sobre la administracin de parte de los contenidos del portal. Usuario Annimo: cualquier usuario que acceda a nuestro portal Web y no se haya autenticado. Usuario Registrado: usuario que tras introducir su Username y Password, ha sido validado por la base de datos y autenticado por tanto correctamente. Web, WWW o World Wide Web: sistema de documentos de hipertexto enlazados y accesibles a travs de Internet. Website: serie de Pginas web que generalmente conforman un concepto nico o temtica.

1.4.- Materiales y mtodos


En esta seccin presentaremos la distribucin de red utilizada para dicho proyecto, las tecnologas utilizadas, junto con las herramientas software. En el punto 2.2 alojamiento propio veremos como instalar un servidor web donde ms adelante veremos como instalar nuestro sitio web y que funcione. En la Figura 1,

observamos una posible distrubicin de red (es la de nuestro caso en concreto). El dispositvo con IP 192.168.1.1 es un router encargado de dirigir el trfico en nuestra intranet, el dispositivo 192.168.1.5 se trata de nuestro servidor, el dispositivo con IP 192.168.1.10 se trata de nuestro laptop, disponible para conectarnos a nuestra intranet al servidor, esto lo veremos con mayor detalle en el punto 2.2.2.4 cuando nos conectemos a travs de FTP haciendo uso del programa FileZilla

Figura 1.- Distribucin de la red

Tecnologas utilizadas Para la elaboracin del Proyecto hemos hecho uso de las siguientes tecnologas: HTML (Hypertext Markup Language): es el lenguaje de programacin que permite la elaboracin de pginas web, permitiendo definir su estructura y el contenido. CSS (Cascade Style Sheet): es un lenguaje utilizado para definir la presentacin de un documento estructurado escrito en el lenguaje HTML o XML. La idea que se encuentra detrs del desarrollo de CSS es separar la estructura de un documento de su presentacin. PHP: es un lenguaje de programacin interpretado, diseado originalmente para la creacin de pginas web dinmicas. Se usa principalmente para la interpretacin del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de lnea de comandos o en la creacin de otros tipos de programas.

SQL: El lenguaje de consulta estructurado o SQL (por sus siglas en ingls structured query language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en estas. Una de sus caractersticas es el manejo del lgebra y el clculo relacional permitiendo efectuar consultas con el fin de recuperar -de una forma sencilla- informacin de inters de una base de datos, as como tambin hacer cambios sobre ella. JavaScript: es un lenguaje de programacin interpretado, definido como orientado a objetos, basado en prototipos, imperativo, dbilmente tipado y dinmico. Se utiliza principalmente en su forma del lado del cliente, implementado como parte de un navegador web permitiendo realizar mejoras en la interfaz del usuario y la creacin de pginas web dinmicas. Fue diseado con una sintaxis similar al C, aunque adoptando nombres y convenciones de programacin de Java. jQuery: es una biblioteca o framework del lenguaje JavaScript, creado inicialmente por John Resig que permite simplificar la manera de interactuar con los documentos HTML, manipular el rbol DOM, manejar eventos, desarrollar animaciones y agregar interaccin con la tecnologa AJAX a las pginas web. Se trata de un software libre y de cdigo abierto.

Herramientas utilizadas Al igual que hemos hechos con las tecnologas que se han utilizado vamos a hacer una breve descripcin de las herramientas para el desarrollo con las que hemos trabajado: MagicDraw UML: es una herramienta CASE desarrollada por la compaa No Magic, Inc. La herramienta es compatible con el estndar UML 2.3, desarrollo de cdigo para diversos lenguajes de programacin (Java, C++ y C#, entre otros) as como para modelas datos. La herramienta cuenta con capacidades para trabajar en equipo y es compatible con la gran mayora de IDEs (Integrated Developmet Environment, Entorno de desarrollo informtico) del mercado. FileZilla: es un cliente FTP multiplataforma de cdigo abierto y software libre, licenciado bajo la Licencia Pblica General de GNU. Soporta los protocolos FTP, SFTP y FTP sobre SSL/TLS (FTPS). Inicialmente fue diseado para funcionar en Microsoft Windows, pero desde la versin 3.0.0, gracias al uso de wxWidgets, es multiplataforma, estando disponible adems para otros sistemas operativos, entre ellos GNU/Linux, FreeBSD y Mac OS X. El cdigo fuente de FileZilla y las descargas estaban2 hospedadas en SourceForge, el cual present a FileZilla como el Proyecto del Mes en noviembre de 2003.3 Actualmente hospeda el cdigo fuente en su propio sitio web y las descargas en Ohloh. yEd: es un programa de diagramas libre de propsito general con una interfaz multiplataforma. Su plataforma esta escrita en Java y puede ejecutarse bajo Windows,

10

Linux, Mac OS y otras plataformas que soporten la JVM. yEd puede utilizarse para dibujar diferentes tipos de diagramas, incluyendo diagramas de flujo, diagramas de redes, diagramas UML, mapas mundi, diagramas entidad-relacin y organigramas. yEd adems permite el uso de vectores personalizados y grficos de trama como diagramas de elementos. Dreamweaver: es una aplicacin en forma de suite que est destinada a la construccin, diseo y edicin de sitios y aplicaciones Web basados en estndares. Es el programa ms utilizado en el sector del diseo y la programacin web, por sus funcionalidades, su integracin con otras herramientas como Adobe Flash y, recientemente, por su soporte de los estndares del World Wide Web Consortium. MySQL: es un sistema de gestin de bases de datos relacionales, multihilo y multiusuario. Desde enero de 2008 es una subsidiaria de Sun Microsystems y sta a su vez de Oracle Corporation desde abril de 2009. MySQL ha sido desarrollo como software libre ofreciendo dos tipos de licencias una libre para cualquier usuario del producto y una privativa que deber ser adquirida en el momento de que MySQL sea incluida dentro de otro producto. Tomcat (Jakarta Tomcat o Apache Tomcat): funciona como un contenedor de servlets desarrollado por el proyecto Jakarta en la Apache Software Foundation, el cual implementa las especificaciones de los servlets y de las Java Servlet Pages (JSP) de Sun Mycrosystems.

11

CAPITULO II

Alojamiento web
Es el servicio que provee a los usuarios de Internet un sistema para poder almacenar informacin, imgenes, vdeo, o cualquier contenido accesible va web. Es una analoga de "hospedaje o alojamiento en hoteles o habitaciones" donde uno ocupa un lugar especfico, en este caso la analoga alojamiento web o alojamiento de pginas web, se refiere al lugar que ocupa una pgina web, sitio web, sistema, correo electrnico, archivos etc. en internet o ms especficamente en un servidor que por lo general hospeda varias aplicaciones o pginas web. Un alojamiento web se puede diferenciar de otro por el tipo de sistema operativo, uso de bases de datos y motor de generacin de sitios web exista en l. La combinacin ms conocida y extendida es la del tipo LAMP (Linux, Apache, MySQL y PHP). Algunos de los servicios ms comunes que se pueden entregar son lo de FTP, manejo por sitio web y mltiples clientes en las bases de datos. Instalacin, configuracin y desarrollo de aplicacin Web estudiando diversas alternativas de alojamiento

2.1.- Nombre de dominio


Los dominios de Internet son los nombres que permiten identificar a empresas, personas, organizaciones... en Internet. Un dominio permite visitar pginas Web o disponer de cuentas de correo electrnico entre otras funciones. Y es que tcnicamente un dominio sirve para localizar una maquina en Internet que es la que se encarga de gestionar estos servicios. stas maquinas se identifican mediante un nmero, llamado IP, como por ejemplo 214.62.30.21. Evidentemente un nombre de dominio es mucho ms fcil de recordar que una secuencia de nmeros. Para tratar ms a fondo este tema puedes dirigirte a la seccin DNS. Si una empresa, un particular o una organizacin desean ofrecer cualquier tipo de servicio o informacin en Internet es prcticamente indispensable contar con un nombre de dominio. Las ventajas son muy numerosas: En primer lugar se potencia la imagen de marca. No es lo mismo contar con una direccin Web del estilo http://hostinggratuito.com/usuarios/miempresa que con http://www.miempresa.com. Sucede exactamente lo mismo con las direcciones de correo electrnico. Es mucho mejor disponer de cuentas del tipo info@miempresa.com que de una cuenta de correo proporcionada gratuitamente como empresa@hotmail.com.

12

Por otro lado todos los servicios asociados al dominio, (hosting, correos...) permanecen independientes de la mquina que los presta. Por ejemplo si decide cambiar de proveedor de alojamiento el traspaso se realiza de forma totalmente transparente al exterior manteniendo el mismo nombre de dominio. Un nombre de dominio es nico y exclusivo. Es imposible que existan en Internet y por ende en todo el mundo dos dominios iguales. Solo hay un dominios-internet.com En definitiva contar con un nombre de dominio a la hora de comenzar cualquier tipo de proyecto en Internet es indispensable. Desde el punto de vista tcnico, a la vez que identifican los equipos conectados a la red ya que resuelven las direcciones IP, permiten su fcil localizacin y hacen amigable el uso de Internet. Precisamente esta amigabilidad ha potenciado el crecimiento de Internet en todo el mundo y por tanto, ha contribuido a que Internet se haya constituido en una herramienta para el desarrollo econmico, social y cultural de los pueblos. Desde el punto de vista comercial, los nombres de dominio, como marca, sirven para identificar todo tipo de entidades como Organismos, Empresas, personas fsicas... junto con los servicios que prestan. Registro de un dominio Ahora pasamos a esquematizar el proceso de registro de un dominio: 1. Primero: 1. Elegir un dominio. 2. Verificar la disponibilidad del nombre de dominio deseado en algn registrador. 3. Ingresar los datos personales. 4. Elegir la cantidad de tiempo que el dominio permanecer registrado. 5. Pagar el dominio, normalmente con tarjeta de crdito

2. Una vez comprado, el ahora dueo del dominio (registrante) debe configurarlo con la URL a la cual redireccionar, IP del servidor al que encontrar mediante la DNS, servidor DNS usada por este.

3. El dueo del dominio debe esperar un tiempo para que el dominio sea reconocido en todos los servidores de Internet. Para los dominios .com y .net la demora es entre 4 y 8 horas, y para otros es generalmente entre 24 y 48 horas. En ese perodo:

13

1. El registrador contacta con ICANN y realiza el proceso de forma transparente para el registrante. 2. Se avisa al registrante que el dominio fue registrado.

4. El nuevo dominio funciona, y resuelve a la IP apropiada en el servidor DNS usado, pero no en el resto de servidores DNS del mundo. Poco a poco se va propagando el cambio al resto de servidores (propagacin DNS). Como cada uno tiene distintos tiempos de actualizacin y parmetros de cach distintos, pasan varias horas hasta que todos los servidores DNS del mundo conocen cmo hacer la resolucin del dominio.

5. La pgina ya es accesible mediante un nombre de dominio desde cualquier computadora

Figura 2.- Proceso de registro

14

2.2.- Alojamiento propio


En este punto vamos a explicar detalladamente la opcin de tener instalado nuestro propio servidor en casa. Para ello abordaremos los puntos 2.2.1 Instalacin del servidor y 2.2.2 Configuracin del servidor Son muchas las desventajas de tener en nuestro hogar un servidor web en ejecucin y ms con los precios tan bajos que compaas de hosting ofrecen hoy en da ,entre muchas otras desventajas, entre las que podemos citar: Intervalos sin servicio. Poco ancho de banda de subida. Poca capacidad de respuesta ante picos inesperados de trfico. Disponibilidad reducida del ordenador que usemos como servidor para otras tareas. Preocupacin por si el servicio se est dando correctamente, etc Pero tiene una ventaja que supera con creces las anteriores desventajas, y es la de aprender, muy importante para el desarrollo del presente PFC. Con ella podremos ver cmo configurar Apache, cmo reparar nuestras bases de datos MySQL, cmo mantener nuestro sistema estable para tener que hacer el mnimo nmero de paradas posible, cmo crearnos scripts para tener los aspectos nuestro servidor monitorizado

Figura 3.- Diagrama de flujo, servidor propio

15

Siguiendo el diagrama de flujo de la figura 3 nos damos cuenta que tras tener instalado y configurado nuestro servidor web necesitamos comprar un nombre de dominio a un agente registrador (ver punto 2.1 Nombre de dominio) a travs de una empresa de servicios de Internet, en nuestro caso elegiremos 1and1. Posteriormente explicaremos como redireccionar todo el trfico que llegue a nuestro nombre cannico en 1and1 hacia nuestro host, servidor web instalado en el hogar.

2.2.1.- Instalacin del servidor


Se puede descargar en la direccin http://www.turnkeylinux.org/lampstack siendo la versin 11.2 la ltima versin estable en el momento de la realizacin de este manual. Al tratarse de software libre no es necesario estar registrado en la pgina web.

Figura A.1 Portal de Turnkey Linux (lampstack)

Consiste en un Ubuntu reducido, con los elementos necesarios para realizar la tarea de servidor Web. Su versin es la 10.04 LTS, nombre en clave Lucid, y ofrece soporte hasta Marzo de 2015, incluye el Kernel 2.6.32 y no lleva instalada la interfaz grfica. Todo se realiza desde la consola, para optimizar recursos. Los requisitos del sistema son muy bsicos 256MB de memoria RAM, 2GB de espacio en disco duro, adaptador Ethernet, tarjeta grfica de 64MB, monitor, teclado y unidad de CD-ROM para instalar el sistema. A partir de aqu consultar en el Anexo A

16

2.2.2.- Configuracin del servidor


Para dejar nuestro servidor operativo y en condiciones ptimas para ser usado debemos configurarlo segn la utilidad que queramos hacer de l. En nuestro caso ofrecer servicio web, al haber instalado la distribucin Turnkey Lamp Stack, ya tenemos configuradas de manera predeterminada muchas de sus caractersticas. Primero abordaremos el punto de la configuracin de la interfaz de red, nos conectaremos al router mediante ethernet y configuraremos los valores de direccin de re y similares, veremos como hacerlo en esta distribucin, al igual que como resolver los nombres de los servidores de Internet. Es muy importante tener bien configurada la red, es el paso esencial para garantizar un buen servicio de Internet. En el segundo punto detallaremos como actualizar el sistema y tambin como actualizar los repositorios, para poder encontrar con facilidad cualquier programa que queramos instalar haciendo uso de apt-get. En el punto 3 describiremos como configurar Apache2 para ejecutar servidores virtuales y poner ofrecer diferentes sitios web en una nica mquina fsica, este punto es muy importante. En el cuarto punto instalaremos y configuraremos un servidor de FTP en nuestro servidor web, para poder conectarnos a travs de FTP o SSH a nuestro servidor desde cualquier punto del planeta haciendo uso de Internet. Y por ltimo en el quinto punto veremos como configurar el sistema de gestin de base de datos MySQL, como crear una base de datos a travs de su interfaz phpMyAdmin y como configurar el cortafuegos de Linux iptables. Con todo esto configurado ya seramos capaces de subir archivos html, php, etc a nuestro sitio en el servidor web y conectndonos a l a travs de su direccin ip externa para poder consultar la pgina web albergada en l.

2.2.2.1.- Configuracin de la interfaz de red


Primero vamos a configurar la interfaz de red, lo podemos hacer una vez terminada la instalacin del sistema (ver punto 2.1 Instalacin del servidor) mediante la Turnkey Linux Configuration Console, o tambin siendo el usuario root modificando el archivo del sistema /etc/network/interfaces

# cd /etc/network/interfaces

17

Para modificar el archivo podemos usar el editor nano

# nano interfaces
auto eth0 iface eth0 inet static address 192.168.1.5 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 192.168.1.1 iface eth0 inet static: Seleccionamos la interfaz de red eth0 y la declaramos como esttica address: direccin ip de nuestra propia intranet, en este caso 192.168.1.5 netmask: mascara de subred, como es una direccin de clase C, la mscara es /24 gateway: puerta de acceso, direccin ip de nuestra puerta de acceso a Internet, en este caso es la direccin ip del router dns-name-severs: lista de servidores de nombres, en este caso es el propio router el encargado de resolver las solicitudes/peticiones DNS, en su propio configuracin tendr una lista de servidores DNS Archivo resolv.conf Debemos configurar tambin el archivo /etc/resolv.conf. El resolvconf es un conjunto de rutinas en la libreria C que provee acceso a los dominios de internet (DNS). La configuracin del archivo resolv.conf contiene informacin que es leda por las rutinas del resolvconf la primera vez que son invocadas por un proceso. El archivo est diseado para ser ledo por humanos y contiene una lista de palabras claves con valores que provee varios tipos de informacin sobre resolvconf. En esta distribucin de Linux no podemos modificar directamente el archivo /etc/resolv.conf, este es creado por el programa resolvconf que captura la informacin de la configuracin de la interfaz de red, anteriormente configurada Una muestra con el programa cat del archivo resolv.conf en nuestro servidor es la siguiente:

# cat /etc/resolv.conf

Figura 5.-Archivo resolv.conf

18

2.2.2.2.- Actualizacin de los repositorios


En la distribucin Debian y en nuestro caso la Ubuntu Turnkey (derivado de Debian) existe lo que se denominan repositorios. Estos repositorios consisten en sitios web donde se encuentran almacenados los paquetes, que una vez descargados, instalan el software en el ordenador. Inicialmente Ubuntu posee una serie de repositorios oficiales, que estn mantenidos por el equipo de Ubuntu. Si usamos exclusivamente estos repositorios se nos garantiza un alto nivel de estabilidad. Sin embargo agregar repositorios externos es til para instalar software no soportado oficialmente por Ubuntu, normalmente porque se trata de programas que no son libres ni de cdigo abierto, o porque estn en una versin no estable pero totalmente funcional para nuestros intereses. El sistema de instalacin de paquetes que usemos, en nuestro caso apt-get, internamente usa un fichero donde se encuentran los repositorios, este fichero lo podemos encontrar en:

# cd /etc/apt/sources.list.d
Es preferible modificar los repositorios, quedando como en la Figura 6, para ello modificamos el fichero sources.list con el programa nano

# nano /etc/apt/sources.list.d/sources.list

Figura 6.- Lista de repositorios

Una vez modificado el fichero de repositorios tenemos que actualizar la lista de paquetes, esto es importante para poder actualizar el sistema e instalar ms adelante con apt-get cualquier programa que necesitemos , para eso basta con ejecutar el siguiente comando en un terminal:

# apt-get update

19

2.2.2.3.- Configuracin de servidores virtuales. VirtualHosts


El trmino Hosting Virtual se refiere a hacer funcionar ms de un sitio web (tales como www.company1.com y www.company2.com) en una sola mquina. Los sitios web virtuales pueden estar "basados en direcciones IP", lo que significa que cada sitio web tiene una direccin IP diferente, o "basados en nombres diferentes", lo que significa que con una sola direccin IP estn funcionando sitios web con diferentes nombres (de dominio). El hecho de que estn funcionando en la misma mquina fsica pasa completamente desapercibido para el usuario que visita esos sitios web. Apache fue uno de los primeros servidores web en soportar hosting virtual basado en direcciones IP. Las versiones 1.1 y posteriores de Apache soportan hosting virtual (vhost) basado tanto en direcciones IP como basado en nombres. sta ltima variante de hosting virtual se llama algunas veces basada en host o hosting virtual no basado en IP. Toda la configuracin de Apache est en el archivo /etc/apache2/ Mirando el contenido de este directorio, observamos distintos archivos y directorios, entre los cuales estn: sites-available y sites-enabled. En ambos directorios debe existir un archivo default, el cual tomaremos como base para editar la configuracin de nuestros Hosts Virtuales. En sites-available tendremos los VirtualHosts disponibles (pero no activados) para ser usados y en sites-enabled, tendremos los VirtualHosts que tenemos funcionando. La forma de trabajar entre estos directorios es a travs de un enlace simblico; as el default de sites-enabled ser un enlace simblico del default de sites-available. Debian incluye sus propias herramientas para activar y desactivar tanto sitios web como mdulos: a2ensite-> Activa un sitio web. a2dissite-> Desactiva un sitio web a2enmod-> Activa un mdulo de apache disponible en mods-available. a2dismod->Desactiva un mdulo. Vamos a comenzar a preparar los VirtualHosts. Para ello nos dirigimos a /etc/apache2/available-sites/ y utilizaremos el archivo default como base para preparar la configuracin de estos, para ello hacemos una copia:

# cp default casarural-sansofi.com

20

El contenido de este sitio web lo podemos volcar en /var/www2/ Para ello, creamos el siguiente directorio donde volcar el contenido de nuestra web:

# mkdir /var/www2/
Ahora slo queda editar los archivos de configuracin de los hosts virtuales. Abrimos con un editor de texto el siguiente archivo

# nano /etc/apache2/sites-available/casarural-sansofi.com
<VirtualHost *:80> ServerName www.casarural-sansofi.com ServerAlias casarural-sansofi.com SSLEngine on SSLCertificateFile /etc/ssl/certs/cert.pem DocumentRoot /var/www2/ </VirtualHost> <Directory /var/www2/> Options Indexes FollowSymLinks MultiViews Order allow,deny allow from all <IfModule mod_php5.c> AddType application/x-httpd-php .php php_flag magic_quotes_gpc Off php_flag track_vars On php_flag register_globals Off php_value include_path . </IfModule> </Directory> Ahora solamente nos queda activar el sitio:

#a2ensite casarural-sansofi.com
Esto crear el enlace simbolico de estos archivos entre sites-available y sites-enabled. Ahora slo tendremos que recargar la configuracin para que apache coja los cambios.

# /etc/init.d/apache2 reload
Con esto mantenemos la interfaz web de la distribucin Turnkey ver Figura 7 y tenemos nuestra pgina web albergada en nuestro servidor. Ya tenemos nuestro sitio disponible. Otro tema a tratar ser la base de datos, la distribucin LAMP Snack de Turnkey nos proporciona un phpMyAdmin, habr que

21

configurar los ficheros fuente para que se conecten a nuestra base de datos. Eso lo trataremos en el punto de programacin.

Figura 7.- Interfaz web del sistema

2.2.2.4.- Instalacin servidor vsftp y uso de FileZilla


FTP (File Transfer Protocol) o Protocolo de Transferencia de Archivos (o ficheros informticos) es uno de los protocolos estndar ms utilizados en Internet siendo el ms idneo para la transferencia de grandes bloques de datos a travs de redes que soporten TCP/IP. El servicio utiliza los puertos 20 y 21, exclusivamente sobre TCP. El puerto 20 es utilizado para el flujo de datos entre cliente y servidor. El puerto 21 es utilizando para el envo de rdenes del cliente hacia el servidor. Prcticamente todos los sistemas operativos y plataformas incluyen soporte para FTP, lo que permite que cualquier computadora conectada a una red basada sobre TCP/IP pueda hacer uso de este servicio a travs de un cliente FTP. VSFTPD (Very Secure FTP Daemon) es un sustento lgico utilizado para implementar servidores de archivos a travs del protocolo FTP. Se distingue principalmente porque sus valores por defecto son muy seguros y por su sencillez en la configuracin, comparado con otras alternativas como Wu-ftpd. Actualmente se presume que VSFTPD es quiz el servidor FTP ms seguro del mundo. En nuestro caso instalaremos el servidor VSFTPD, utilizar el puerto 22 de FTP para subir desde nuestra mquina local los archivos de la pgina web al sitio en nuestro servidor, en este caso se trata del directorio /var/www2

22

Instalaremos el servidor FTP mediante el programa apt-get

# apt-get install vsftpd


Una vez instalado procedemos a configurarlo Configuracin del servidor FTP Fichero de configuracin. /etc/vsftpd.user_list Procedimientos. Utilice un editor de texto y modifique el fichero /etc/vsftpd/vsftpd.conf. A continuacin analizaremos los parmetros a modificar o aadir, segn se requiera para necesidades particulares. Parmetro anonymous_enable. Se utiliza para definir si se permitirn los accesos annimos al servidor. Establezca como valor YES o NO de acuerdo a lo que se requiera. anonymous_enable=YES Parmetro local_enable. Es particularmente interesante si se combina con la funcin de jaula (chroot). Establece si se van a permitir los accesos autenticados de los usuarios locales del sistema. Establezca como valor YES o NO de acuerdo a lo que se requiera. local_enable=YES Parmetro write_enable. Establece si se permite el mandato write (escritura) en el servidor. Establezca como valor YES o NO de acuerdo a lo que se requiera. write_enable=YES Parmetro ftpd_banner.

23

Este parmetro sirve para establecer el bandern de bienvenida que ser mostrado cada vez que un usuario acceda al servidor. Puede establecerse cualquier frase breve que considere conveniente. ftpd_banner=Bienvenido al servidor FTP de Moli. Parmetro anon_max_rate. Se utiliza para limitar la tasa de transferencia en bytes por segundo para los usuarios annimos, algo sumamente til en servidores FTP de acceso pblico. En el siguiente ejemplo se limita la tasa de transferencia a 5 Kb por segundo para los usuarios annimos: anon_max_rate=5120 Parmetro local_max_rate. Hace lo mismo que anon_max_rate, pero aplica para usuarios locales del servidor. En el siguiente ejemplo se limita la tasa de transferencia a 5 Kb por segundo para los usuarios locales: local_max_rate=5120 Parmetro max_clients. Establece el nmero mximo de clientes que podrn acceder simultneamente hacia el servidor FTP. En el siguiente ejemplo se limitar el acceso a 5 clientes simultneos. max_clients=5 Parmetro max_per_ip. Establece el nmero mximo de conexiones que se pueden realizar desde una misma direccin IP. Tome en cuenta que algunas redes acceden a travs de un servidor proxy o puerta de enlace y debido a esto podran quedar bloqueados innecesariamente algunos accesos. En el siguiente ejemplo se limita el nmero de conexiones por IP simultneas a 5. max_per_ip=5 Para ejecutar por primera vez el servicio, utilice:

# service vsftpd start

24

Para hacer que los cambios hechos a la configuracin surtan efecto, utilice:

# service vsftpd restart


Para detener el servicio, utilice:

# service vsftpd stop


Para aadir VSFTPD al arranque del sistema en todos los niveles de corrida, utilice:

# chkconfig vsftpd on
Uso de FileZilla Una vez instalado el servidor FTP en el servidor web necesitamos un cliente FTP para conectarnos al servidor remotamente. En este caso se trata de Filezilla, un cliente FTP multiplataforma de cdigo abierto y software libre, licenciado bajo la Licencia Pblica General de GNU. Soporta los protocolos FTP, SFTP y FTP sobre SSL/TLS (FTPS). En nuestro caso utilizaremos el protocolo SFTP, tambin conocido como SSH. Nos conectaremos desde un cliente en Windows (ver Figura 1.- Distribucin de la red) que se halla en el host 192.168.1.10 al servidor FTP hallado en 192.168.1.5. Se puede descargar de la pgina oficial http://filezilla-project.org/download.php , una vez descargado e instalado vamos a configurarlo.

Figura 8.- FileZilla

25

En la Figura 8 podemos observar la simple interfaz del cliente FTP FileZilla, para conectarnos debemos introducir la ip donde se encuentre el servidor FTP, el nombre de usuario, su contrasea y el puerto por el que queramos conectarnos. En nuestro caso: Servidor: 192.168.1.5 Usuario: root Contrasea: contrasea de root Puerto: 22 En el men de la izquierda esta el rbol de directorios de la mquina local, en el de la derecha el rbol de directorios del servidor remoto, para subir archivos al sitio web debemos dirigirnos a /var/www2 en el servidor remoto, todo ello con una simple interfaz grfica, haciendo clic con el botn derecho del ratn sobre un directorio podremos empezar la transferencia, de subida si seleccionamos un archivo local o de bajada si seleccionamos un archivo remoto.

2.2.2.5.- Uso de MySQL e iptables


La distribucin Turnkey Lamp Stack ofrece el sistema de gestin de base de datos administrable a travs de la red, conocido como phpMyAdmin, herramienta escrita en PHP con la intencin de manejar la administracin de MySQL a travs de pginas web, utilizando Internet. Actualmente puede crear y eliminar Bases de Datos, crear, eliminar y alterar tablas, borrar, editar y aadir campos, ejecutar cualquier sentencia SQL, administrar claves en campos, administrar privilegios, exportar datos en varios formatos y est disponible en 62 idiomas.

Figura 9.- phpMyAdmin

26

Es posible acceder a ella a travs de nuestra intranet, haciendo uso de un navegador Web, accediendo a travs de la url http://192.168.1.5, nos aparece disponible la interfaz Web del sistema, ya descrita anteriormente en la Figura 7, seleccionamos la herramienta phpMyAdmin. Para loguearnos hacemos uso del usuario root de MySQL y su contrasea, seleccionado con anterioridad en la instalacin de sistema, ojo! No es la misma que la del usuario root del sistema. Una vez nos logueamos podemos encontrar las bases de datos de la interfaz web del sistema y tambin podemos crear las nuestras, eso lo veremos con detalle en el punto de programacin de la aplicacin web. Uso de iptables Netfilter es un framework disponible en el ncleo Linux que permite interceptar y manipular paquetes de red. Dicho framework permite realizar el manejo de paquetes en diferentes estados del procesamiento. Netfilter es tambin el nombre que recibe el proyecto que se encarga de ofrecer herramientas libres para cortafuegos basados en Linux. Iptables es el nombre de la herramienta de espacio de usuario mediante la cual el administrador puede definir polticas de filtrado del trfico que circula por la red. El nombre iptables se utiliza frecuentemente de forma errnea para referirse a toda la infraestructura ofrecida por el proyecto Netfilter. No vamos a detenernos en detalles del iptables, puesto que es un tema muy correoso, solo describiremos la configuracin necesaria para que funcione nuestro servidor web y poder acceder a los recursos que ofrece el sistema como tambin la posibilidad de conectarnos mediante SSH al servidor. Para acceder al control del men Linux Firewall accedemos mediante un navegador web a nuestro servidor http://192.168.1.5 desde nuestra intranet, tal y como aparece en la Figura 7, seleccionamos la opcin webmin, nos logueamos haciendo uso del usuario root y en el men de arriba seleccionamos la opcin Networking, tal y como lo muestra la Figura 9.

Figura 10.- Linux Firewall

27

Accedemos asi a la configuracin del Firewall de nuestro sistema, en este caso es el ya mencionado iptables.

Figura 11.- Configuracin de iptables

If input interface is lo: Aceptar siempre el trfico cuando la peticin sea de la interfaz lo. If protocol is ICMP and ICMP type is echo-request: Para el protocolo ICMP tambin aceptar trfico, siempre que sea del tipo peticin, cualquier ping que hagamos a nuestro host ser aceptado. If state of connection is ESTABLISHED,RELATED: Este tipo de configuracin viene predeterminada para cualquier tipo de Firewall. If protocol is TCP and destination port is 22: Aceptar el trfico para el protocolo SSH, para poder conectarnos remotamente, subir y descargar archivos. If protocol is TCP and destination port is 80: Evidentemente aceptar el trfico del protocolo HTTP, la idea es tener instalado un servidor web y que esto sea possible. If protocol is TCP and destination port is 443: Aceptar el trfico para la conexin segura del protocolo HTTPS, con cifrado SSL If protocol is TCP and destination port is 12320: Aceptar el trfico del web shell If protocol is TCP and destination port is 12321: Aceptar el trfico del webMin If protocol is TCP and destination port is 12322: Aceptar el trfico del web phpMyAdmin

28

2.2.3.- Redireccionar hacia nuestro servidor


Primero debemos comprar el nombre de dominio que necesitemos, para ello consultamos el Anexo C y asi sabremos como hacerlo. Una vez ya tenemos el nombre de dominio comprado a 1and1 y siendo clientes de dicha empresa vamos a explicar como redireccionar todas las peticiones DNS hacia nuestro servidor.

DNS
Domain Name System o DNS (en espaol: sistema de nombres de dominio) es un sistema de nomenclatura jerrquica para computadoras, servicios o cualquier recurso conectado a Internet o a una red privada. Este sistema asocia informacin variada con nombres de dominios asignados a cada uno de los participantes. Su funcin ms importante, es traducir (resolver) nombres inteligibles para los humanos en identificadores binarios asociados con los equipos conectados a la red, esto con el propsito de poder localizar y direccionar estos equipos mundialmente. Tipos de registros DNS Registro NS: (siglas de Name Server), contiene los servidores de nombre de ese dominio, lo que permite que otros servidores de nombres vean los nombres de su dominio. Registro MX: es el registro de Intercambio de correo (Mail eXchange). Indica que host se encarga del procesamiento del correo electrnico de ese dominio. Registro A: (Adress) asocian nombres de host a direcciones IP dentro de una zona. Son los ms numerosos dentro del archivo. Registro CNAME: son llamados tambin alias, si bien son conocidos como entradas de nombre cannico (CNAME, Canonical Name). Su uso ms comn es utilizar para apuntar a un nico host ms de un nombre, asi se simplifican procesos como albergar simultaneamente un servidor web y otro FTP en un mismo equipo.

Configuracin en 1and1
Por tanto, el servidor en el cual tenemos registrado el dominio casarural-sansofi.com realizar la funcin de DNS, devolviendo el valor de la consulta a la peticin como la ip de nuestro propio servidor donde tenemos albergada la pgina web, para ello a continuacin explicaremos como configurar en el panel de control de 1and1 los parmetros necesarios.

29

Figura 12.- Dominios y espacio web. 1and1

Entramos en el panel de control de 1and1, logueandonos previamente con nuestro usuario y contrasea, seleccionamos la ventanda de Dominios se encuentra la primera, arriba a la izquierda, tal y como vemos en la Figura 11. Nos aparecer la lista de nombres de dominio que tengamos, en este caso solo tenemos un nico dominio, el casarural-sansofi.com

Figura 13.- Seleccin de dominio

Seleccionamos el dominio en concreto, arriba en la pestaa DNS, seleccionamos la opcin de modificar la configuracin DNS, tal y como vemos en la Figura 12. En la nueva venta, ver Figura 13, nos desplazamos al final en la seccin Configuracin DNS avanzada, en la opcin Direccin IP (registro A), seleccionamos el valor Otras direcciones IP e introducimos la direccin ip externa de nuestra red, en este caso es la siguiente: 87.203.87.36. Luego ya se encargar el router mediante NAT de dirigir el trfico que llegue por el puerto 80 a nuestro servidor en 192.168.1.5.

30

Figura 14.- Configuracin DNS de 1and1

Ahora solo hay que esperar unos 30 minutos aproximadamente para que 1and1 refresque los registros DNS de sus servidores con el nuevo valor. Una vez llegados a este punto y con los servidores DNS de 1and1 actualizados ya somos capaces de acceder desde cualquier punto del planeta conectado a Internet con un navegador a interpretar los ficheros que tengamos en el sitio de nuestro servidor, en /var/www2 consultando la pgina web http://www.casarural-sansofi.com. Y por otro lado desde nuestra intranet introduciendo en el navegador la direccin ip del servidor 192.168.1.5 interpretar la interfaz web para administrar el servidor albergada en el sitio de nuestro servidor /var/www .

31

2.3.- Alojamiento en la red


En este punto vamos a explicar detalladamente la opcin de tener albergada nuestra pgina web en una compaa de web hosting. Para ello abordaremos los puntos 2.3.2 Eleccin de 1and1 y 2.3.3 Asociar el nombre de dominio a nuestra cuenta. Existen diversas modalidades de hosting, en nuestro caso trataremos la de hosting compartido de pago. Es indiscutiblemente la modalidad ms popular y extendida. Consiste en un conjunto de cuentas que tienen asociadas un conjunto de recursos, todo ello controlado por el panel de control del Hosting, existen dos paneles de control: uno de superadmin, que crea las cuentas manual o automticamente y nuestro panel de control de usuario con menos funcionalidad y sin capacidad de crear cuentas fuera de la nuestra. Cuando contratamos un servicio de este estilo, no significa que la informacin se encuentre dentro del mismo servidor fsico, pudiendo estar la informacin repartida en distintos servidores (de esto se encarga el software del panel de control).

Figura 15.- Diagrama de flujo, alquiler de Hosting

32

Una cuenta no es ms que un directorio dentro de la jerarqua interna del servidor; nosotros gestionaremos a alto nivel mediante nuestro panel de control todos los recursos como pudiesen ser crear una base de datos. Un gran inconveniente est en la velocidad tanto de procesamiento como de ancho de banda, dado que un servidor est recibiendo peticiones de diferentes websites y ejecutando por ejemplo directivas en PHP de diferentes cuentas alojadas. Aun considerando el inconveniente anterior, resulta una solucin eficaz para un negocio pequeo o mediano. La optimizacin de velocidad consistira en un Hosting dedicado o el antes mencionado housing.

2.3.1.- Estudio de las empresas de Hosting


Vamos a realizar un estudio de las empresas de Hosting, para elegir aquella que ms se acople a nuestros intereses. Como vemos en la tabla a nivel nacional existe una gran diferencia en cuanto a cuota de mercado, ambas compaas 1and1.es y arsys.es estn disputndose la primera posicin.

Ranking de los 10 proveedores de Hosting ms importantes de Espaa

Ranking 1 2 3 4 5 6 7 8 9 10

Compaa de Hosting 1AND1.ES ARSYS.ES DINAHOSTING.COM CDMON.NET TERRA.ES ABANSYS.COM NOMINALIA.COM HOSTALIA.COM ACENS.NET REDCORUNA.COM

Cuota de mercado 19.9985 % 17.8442 % 4.7956 % 4.2985 % 3.7153 % 2.9593 % 2.9275 % 2.8979 % 1.6657 % 1.6344 %

Dominios totales 320,969 286,394 76,967 68,989 59,630 47,496 46,985 46,511 26,734 26,231

Tabla 1.- Proveedores de Hosting en Espaa

33

Tras ver la Tabla 1 y la Figura 15, llegamos a la misma conclusin, existe una gran diferencia en cuanto a cuota de mercado entre las empresas 1and1.es y arsys.es con respecto al resto.

Figura 16.- Empresas de Hosting en Espaa

Tabla del ranking mundial de compaas de Hosting, vemos como 1and1.es aparece en el puesto n47, siendo la compaa Espaola con mayor cuota de mercado.

Ranking 1 2 3 4 5 6 7 8 47

Compaa de Hosting WILDWESTDOMAINS.COM ENOM.COM NETWORKSOLUTIONS.COM ONEANDONE.COM HOSTGATOR.COM SEDOPARKING.COM YAHOO.COM BLUEHOST.COM 1AND1.ES

Pas

Cuota de mercado 25.0729 % 2.7028 % 2.3291 % 2.2362 % 1.5603 % 1.4014 % 1.2821 % 1.2293 %

Dominios totales 32,565,524 3,510,553 3,025,175 2,904,497 2,026,519 1,820,177 1,665,290 1,596,697 320,969


Tabla 2.- Proveedores de Hosting en el mundo

0.2471 %

34

A continuacin mostramos una tabla comparativa con los planes de hosting que ofrecen unos de los cinco proveedores de Hosting ms importantes en Espaa, incluyendo a 1and1.es y arsys.es, con los cuales nos quedaremos definitivamente con uno de ellos.

Proveedor Nombre Producto/ Caractersticas Precio mensual Plataforma Nmero de dominios incluidos Espacio en disco

1&1 Pack Dual Basic

Arsys Profesional

Abansys Dinahosting Plan Inicial Plan Personal

Piensa solutions Plan Entry

1,99
Linux 1 1 GB

4
Linux 300 MB 3 GB

2,99
Linux 250 MB Ilimitado 10 (250 MBs el buzn) No 5 No S S S S

4,5
Linux 1000 MB 10 GB 20 No 1 No No No No No

1,95
Linux 200 MB 4 GB 1 No No S S Antispam

Transferencia Ilimitada mensual Cuentas correo MySQL FTP SSL PHP CGI Perl Antivirus y Antispam Estadsticas web Aplicaciones includas

10 (2 GB 40 (3 GB por por buzn) buzn) S Ilimitados Opcional S S S S Opcional Ilimitadas No S S S Antispam, Antivirus adicional 2/mes S

S Editor Web, Blog y Foto Albm

No

Editor Web

Chat

No

No

Tabla 3.- Comparativa de caractersticas empresas de Hosting

35

2.3.2.- Eleccin de 1and1


Nos vamos a centrar especficamente en el plan Basic de 1and1.es, por 1,99/mes, y el profesional de arsys.es, esta compaa ofrece el plan profesional por 4al mes y antes lo hacia por 8, esto lo hace para enfrentarse a su rival competidora 1and1.es que en los ltimos meses gracias a la publicidad en TV ha incrementado la distancia en cuanto a cuota de mercado con arsys. Principal inconveniente de arsys, la base de datos, solo ofrece base de datos MySQL de 20MB con el plan empresarial, por 8/mes, mientras que 1and.es ofrece en el plan Basic un espacio de gestin de base de datos de 1GB. La nica ventaja significativa que ofrece arsys.es son las cuentas de correo, esta empresa ofrece 40 cuentas con un buzn de 3GB, mientras que 1and1.es solo ofrece 10 con un buzn de 1GB, pero en nuestro caso es algo insignificativo. Ambas empresas ofrecen una cuenta FTP, necesaria para subir los archivos al servidor, pero tampoco es algo importante, con una cuenta tenemos suficiente para las tareas que vamos a realizar. En cuanto a programacin ambas soportan flash, javascript, html 5, php y perl, suficiente para ofrecer una pgina web moderna y decente. Por tanto ambos packs ofrecen prcticamente lo mismo, lo nico que los diferencia es la base de datos, mejor en 1and1.es y las cuentas de correo, mejor en arsys.es, pero como necesitaremos una base de datos de mejores prestaciones para ejecutar la aplicacin web, nos decantamos por la eleccin de 1and1.es, eso y la diferencia de 3 menos al mes hace que en definitiva 1and1.es sea nuestra eleccin final.

2.3.3.- Asociar el nombre de dominio a nuestra cuenta


Una vez seleccionado 1and1.es como la empresa ideal en Espaa para albergar nuestra pgina web, pasamos a comprar el nombre de dominio, para ello consultamos el Anexo C y asi sabremos como hacerlo. Una vez comprado el nombre de dominio a 1and1.es, vamos a asociar el nombre de dominio al directorio de trabajo de nuestro sitio en el hosting que hemos comprado. Entramos en el panel de control de 1and1, logueandonos previamente con nuestro usuario y contrasea, seleccionamos la ventana de 1&1 Gestin de archivos se encuentra la tercera, arriba a la izquierda en la seccin de Acceso, tal y como vemos en la Figura 16.

36

Figura 17.- Gestin de archivos, 1and1

Esto nos lleva a una nueva ventana, donde crearemos nuestro directorio de trabajo, en la pestaa Datos seleccionamos Nueva carpeta y elegimos el nombre que queramos, por ejemplo sansofin, tal y como vemos en la Figura 17.

Figura 18.- Creacin de un directorio en 1and1

Una vez creado el directorio de trabajo, conocido como sitio, pasamos a asociar el nombre de dominio que hemos comprado con dicho directorio de trabajo. Volvemos al men de inicio de la interfaz y ahora seleccionamos el apartado de Dominios, tal y como vemos en la Figura 16. Seleccionamos nuestro dominio casarural-sansofi.com y aparecer la configuracin de destino del dominio, en destino, pulsamos la opcin de Modificar. Una vez hecho esto el programa nos llevar configurar el destino del dominio, tal y como vemos en la Figura 18.

37

Figura 19.- Destino del dominio

Ahora nos encontramos en la pgina de destino del domino, solo hay que seleccionar el directorio para la pgina web, desplegaremos el men desplegable de la opcin Directorio existente y seleccionaremos el directorio /sansofin, le damos a enviar y este ser nuestro directorio de trabajo al cual nos conectaremos mediante FTP con el programa dreamweaver para subir los archivos de la pgina web.

38

CAPITULO III

Creacin del entorno Web


En este punto describiremos la evolucin software de nuestra pgina web, desde la fase inicial hasta la fase final. El propsito de este punto es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicacin, es decir, para garantizar que el software cumpla los requisitos para la aplicacin y verificacin de los procedimientos de desarrollo: se asegura que los mtodos utilizados son apropiados. Para ello pasaremos por la fase de especificacin de requisitos, donde describiremos las funciones, caractersticas e interacciones de nuestro programa con los distintos tipos de usuarios, seguidamente abordaremos la fase del anlisis, donde definiremos los casos de uso y el diagrama de clases, a continuacin trataremos el diseo, definiendo cmo estos requisitos se cumplirn, y para finalizar describiremos la fase de implementacin llevando a cabo a cdigo fuente todo lo diseado en la fase anterior.

3.1.- Especificacin de los requisitos


La especificacin de requisitos debe recoger todas aquellas caractersticas a cumplir por nuestra aplicacin para satisfacer las expectativas o exigencias del cliente, en el caso que nos ocupa, as como de los usuarios finales. La descripcin de los requisitos debe realizarse tratando de conservar una perspectiva cercana al usuario final, evitando trminos o tecnicismos que habitualmente empleara un desarrollador. Con este fin, se emplea habitualmente un documento que rene de forma ordenada estos requisitos y que se conoce como Especificacin de Requisitos Software (ERS), el cual puede tener diferentes formatos.

3.1.1.- Propsito y mbito


En el proyecto que nos ocupa, se ha optado por organizar los requisitos capturados empleando una ERS en base al estndar IEEE 830-1998, el cual puede ser utilizado como referencia en la especificacin de proyectos Web, dadas las analogas existentes con la metodologa de proyectos software. Esta decisin esta orientada en favor no solo de estructurar los requisitos definidos previamente, sino tambin en pro de obtener una especificacin consistente y no ambigua.

39

Esta especificacin de requisitos representa una parte vital dentro de la memoria, pues el desarrollo de apartados posteriores debern cumplir y satisfacer las exigencias de cada uno de estos requerimientos de partida. El portal debe denotar un marcado carcter interactivo y amigable, apto para abarcar la mayor tipologa de pblico objetivo posible. Deber prevalecer durante todo el desarrollo del mismo, la importancia de que sus elementos principales deben estudiar y adaptarse al comportamiento de cada usuario, invitando de este modo a permanecer el mayor tiempo posible en el. De obligado cumplimiento ser cumplir con un aspecto grfico amigable, denotando tranquilidad y comodidad en cada uno de los apartados de la pgina web, los ms relevantes sern: una galera de imgenes de la casa donde resaltar los aspectos ms importantes, como piscina, terrazas, jardines, barbacoa, saln-comedor y habitaciones confortables; otro aspecto a tener en cuenta es la ubicacin de la casa, debe permanecer clara, para que los futuros visitantes conozcan los aledaos; las tarifas y la ocupacin son aspectos muy importantes, para conocer precios y disponibilidad; como ltimo aspecto importante el contacto, ya sea por telfono o a travs de la misma web. Por ultimo, la aplicacin deber contemplar un apartado para la administracin de sus contenidos, donde los administradores de la pgina web tendrn la posibilidad de moderar los comentarios que los clientes hacen en la pgina, aadir, eliminar o modificar reservas para el alojamiento o revisar si existen nuevas solicitudes de prereserva. En este sentido, el portal presentar una interfaz intuitiva y segura, que confine la coherencia de la informacin almacenada en la base de datos.

3.1.2.- Descripcin general


El objetivo de este apartado pretende ofrecer una visin lo mas generalizada posible de la pgina web, evitando incurrir en descripciones pormenorizadas o mas especificas, evitando as innecesarias modificaciones en futuras versiones del documento. El producto a desarrollar no se integrar en un sistema ms amplio. De este modo, funcionar de forma autnoma sobre cualquier plataforma, valindose para ello de cualquier navegador web de actualidad y obviamente, de una conexin a Internet. Las tecnologas principales empleadas en su implementacin han sido: - Lenguaje HTML para disear los aspectos grficos. - Lenguaje PHP para la funcionalidad dinmica. - Plantillas CSS para optimizar la legibilidad de la informacin mostrada, as como para propiciar un diseo actual, acorde a las ltimas tendencias.

40

- JavaScript de forma puntual, para mostrar el calendario en el apartado de contacto. - Applets de Facebook para fomentar la interaccin en las redes sociales. - MYSQL como sistema de gestin de base de datos, usando phpMyAdmin para manejar la administracin de MySQL.

Funciones de la pgina web Las funciones ofrecidas por la pgina web en funcin de la topologa de usuario y que pueden ser distinguidas son las siguientes: Operaciones sobre imgenes Visualizacin de lista de miniaturas. Seleccin de imagen en concreto. Cambio y cierre de imagen. Operaciones sobre enlaces Acceso a otras webs (links). Operaciones sobre solicitudes de reservas Seleccin de fecha en calendario. Envo de solicitud de reserva. Visualizacin de envi de solicitud correcta. Operaciones sobre comentarios Visualizacin de comentarios. Creacin, eliminacin y modificacin de comentarios propios. Operaciones sobre el calendario Visualizacin de fechas libres. Consulta de disponibilidad para una determinada fecha. Operaciones sobre gestin de reservas Visualizacin de reservas. Creacin, edicin y eliminacin de reservas. Consulta de reservas. Operaciones sobre usuarios Visualizacin de usuarios y toda la informacin asociada en su registro. Registro y autenticacin de usuarios. Modificacin de la informacin del registro. Creacin, edicin y eliminacin de usuarios. Cierre de sesin de usuario.

41

Las dems operaciones de la pgina web consisten en listar informacin de texto o similar, disponible para cualquier tipo de usuario.

Caractersticas de los usuarios Usuario Annimo Cualquier visitante espordico o no, el cual no se haya autenticado. Tendr acceso total al apartado de La casa, Imgenes, Ubicacin, Entorno y Enlaces. En el apartado de Contacto podr enviar una solicitud de reserva, pero en el apartado de Tarifas no podr realizar una pre-reserva interactuando con el calendario. En el apartado de Opiniones, podr leer las opiniones pero no podr escribir ninguna nueva. No tendr acceso al apartado de administracin Lugar del propietario. Tendr acceso a toda la informacin de la parte ms esttica de la pgina, pero solo en modo lectura. Usuario Registrado Se trata de cualquier usuario que haya completado el proceso de registro y se haya logueado en el portal. Tendr el mismo acceso y funcionalidad que el usuario annimo y adems podr realizar las siguientes opciones, realizar una pre-reserva interactuando con el calendario e insertar un comentario en el apartado de Opiniones, adems podr modificar y borrar sus propios comentarios una vez los haya insertado. No tendr acceso al apartado de administracin Lugar del propietario. Usuario Interno Este tipo de usuario solo puede ser creado por el usuario administrador. Podr realizar las mismas funciones que un usuario annimo. Acceder al Lugar del propietario siendo capaz de listar todo el contenido que se encuentre en l, reservas realizadas mediante calendario, histrico de reservas. Pero no podr realizar la funcin de modificar y eliminar ningn contenido. Usuario Administrador Solo existe un nico usuario administrador creado junto con la aplicacin. Realiza la misma funcin que un usuario interno y adems: Ser el encargado de realizar cualquier modificacin (y eliminacin) sobre la gestin de reservas. Podr crear nuevos usuarios internos, como tambin usuarios registrados, adems de tener acceso a la informacin del registro de usuario. Podr modificar y eliminar comentarios creados por usuarios registrados.

42

3.1.3.- Requisitos funcionales


Siguiendo una clasificacin basada en la tipologa de usuario, a continuacin vamos a mostrar una descripcin detallada de los casos de uso distintos en funcin del usuario, definiremos cada caso de uso mediante el acrnimo CU, distinguindolo con el nmero en concreto y siendo titulados: Usuario annimo Recordamos que este tipo de usuario puede ser cualquier futuro cliente, tendr acceso a la mayora de apartados estticos de la pgina web. CU-01 Registrarse en la pgina web El usuario annimo decide formar parte de la pgina web como futuro usuario registrado, para poder acceder a nuevas funcionalidades, seguramente ser un husped que ya haya estado en la casa. Cada uno de los campos del formulario de registro. El sistema muestra el formulario de alta de nuevo usuario. Si el usuario confirma su envo, el sistema verifica que hayan sido cumplimentados los campos obligatorios. El nuevo usuario ser insertado en la BD asegurndose de que el em@il no exista. Texto informando de que el proceso fue exitoso.

Introduccin Entradas

Proceso

Salidas

CU-02 Visualizar galera de imgenes Introduccin Entradas Proceso Salidas El usuario podr visualizar todas las imgenes en una galera esttica, para ello deber pulsar la pestaa de imgenes. Pestaa imgenes seleccionada por el usuario en el men de seleccin. El sistema recibe como entrada el cdigo de la pestaa seleccionada, carga los estilos y las imgenes para representar la galera. Pgina con las imgenes en miniatura.

CU-03 Visualizar en detalle una imagen El usuario podr aumentar el tamao de las imgenes una vez seleccionada la galera, tambin podr avanzar a la imagen siguiente y retroceder Imagen seleccionada por el usuario.

Introduccin Entradas

43

Proceso Salidas

El sistema recibe como entrada el cdigo de la pestaa seleccionada, carga los estilos y el cdigo javascript para representar la galera. Ventana con la imagen seleccionada, a una mayor resolucin.

CU-04 Visualizar la descripcin de la casa Introduccin Entradas Proceso Salidas El usuario en esta pestaa dispondr de una descripcin breve pero concisa de la casa, junto con 3 imgenes. Pestaa la casa seleccionada por el usuario. El sistema recibe como entrada el cdigo de la pestaa seleccionada, carga el texto, las imgenes y los estilos para representar dicha pgina. Pgina con la descripcin de la casa.

CU-05 Visualizar la ubicacin en el mapa El usuario en esta pestaa dispondr de breve descripcin para que sea capaz de acceder a la casa rural, junto con un mapa dinmico de la zona elaborado por gmaps. Pestaa ubicacin seleccionada por el usuario en el men de seleccin. El sistema recibe como entrada el cdigo de la pestaa seleccionada, carga el texto, las imgenes y los estilos para representar dicha pgina. Pgina con la informacin sobre ubicacin y el mapa.

Introduccin Entradas Proceso Salidas

CU-06 Visualizar las tarifas El usuario en esta pestaa dispondr de una tabla con las tarifas correspondientes por temporada, para que conozca los precios dependiendo de cuando decida venir a la casa. Pestaa tarifas seleccionada por el usuario en el men de seleccin. El sistema recibe como entrada el cdigo de la pestaa seleccionada, carga el texto, los estilos y el calendario para representar dicha pgina. Pgina con las tarifas en funcin de la temporada y el calendario de disponibilidad.

Introduccin Entradas Proceso Salidas

CU-07 Visualizar el calendario de ocupacin Introduccin El usuario en esta dispondr de la visualizacin del calendario

44

Entradas Proceso Salidas

de ocupacin, en gris estarn las fechas libres, mientras que en rojo los das ocupados, se abrir una nueva ventana con solo el calendario, con el mes en concreto y dos adyacentes, con el selector podr cambiar de mes hacia delante o atrs en el tiempo. Seleccin de la imagen del calendario. El sistema carga los estilos del calendario a crear, busca en la BD la ocupacin confirmada para marcar en rojo las fechas no disponibles y crea el calendario de ocupacin. Ventana emergente con la disponibilidad del calendario.

CU-08 Enviar una solicitud de reserva El usuario decide formar realizar una reserva para pasar unos das en la casa rural, cumplimenta los campos del formulario y espera a recibir un m@il con la disponibilidad y precios sobre sus fechas seleccionadas. Todos los campos obligatorios del formulario. El sistema crea un correo electrnico con los campos que han sido rellenados en el formulario y es enviado a la direccin de correo del administrador de la pgina. Texto informando sobre el correcto envo de la informacin.

Introduccin Entradas Proceso Salidas

CU-09 Acceder a un enlace Introduccin Entradas Proceso Salidas El usuario puede acceder a otras pginas de sitios relacionados o de inters comn. Click en la imagen del sitio al que acceder El usuario es redirigido al website en concreto abriendo una nueva pestaa en el navegador. Website en concreto, el que hemos seleccionado.

CU-10 Visualizar opiniones ajenas Introduccin Entradas Proceso Salidas El usuario podr visualizar las opiniones de otros huspedes que han estado alojados en la casa rural anteriormente. Pestaa opiniones seleccionada por el usuario en el men de seleccin. El sistema busca en la BD y extrae toda la informacin necesaria para cada usuario, luego estos mismos campos los introduce en una tabla y es lo que el usuario visualiza. La informacin en modo texto referente a los comentarios realizados por otros usuarios.

45

Usuario registrado Recordamos que un usuario registrado dispone de la misma funcionalidad que un usuario annimo, adems de las descritas a continuacin. CU-11 Autenticarse en la pgina web Para identificarse en la pgina web e iniciar as una sesin, ser suficiente con que el usuario ingrese su Username y Password en el rea de Usuarios. Los datos de Username y Password ingresados por el usuario. El sistema contrasta la informacin recibida con la BD. En caso de encontrar una tupla que coincida, valida la operacin e inicia una sesin. As el usuario tendr acceso a otro tipo de contenidos. Mensaje de fallo en caso de una mala autenticacin o de bienvenida en caso contrario.

Introduccin Entradas Proceso

Salidas

CU-12 Modificar perfil y preferencias de usuario Introduccin Entradas El usuario puede editar los datos de registro as como alterar sus preferencias. Formulario cumplimentado con los campos modificados a conveniencia del usuario. El sistema muestra el sistema de modificacin al usuario. Si ste confirma su envo, el sistema verifica que los campos modificados presentan el formato adecuado. A continuacin modifica las tuplas con los nuevos valores en la BD. Se informa al usuario que la modificacin concluy con xito o que el proceso fue cancelado.

Proceso

Salidas

CU-13 Realizar una pre-reserva mediante el calendario El usuario puede reservar unas fechas modificando directamente el calendario de ocupacin, siempre y cuando sea un usuario registrado, (aceptado por el sistema) Todos los campos obligatorios del formulario. El sistema verifica que hayan fechas libres para esa reserva, consultando la BD, entonces modifica los valores de ambas tablas, de reserva y del calendario, para confirmar que dicha reserva ha sido realizada. Calendario con los das seleccionados en rojo, junto con un mensaje al usuario de operacin realizada con xito.

Introduccin Entradas Proceso

Salidas

46

CU-14 Insertar una opinin Introduccin Entradas Proceso Salidas El usuario registrado puede insetar una opinin en el rea de opiniones. Formulario con el texto del mensaje y otros campos introducidos por el usuario. El sistema comprueba que los campos obligatorios han sido rellenados y que el texto de la opinin no contiene lenguaje ofensivo, en cuyo caso insertamos una nueva tupla en la BD. Se informa al usuario de que el mensaje fue insertado correctamente o error en caso contrario.

CU-15 Modificar una opinin El usuario puede modificar una opinin, siempre y cuando sea propietario de la misma. El sistema no dar la opcin de modificado sino se cumple esta condicin. Enlace modificar opinin junto con los datos a modificar. El sistema comprueba que los campos obligatorios han sido rellenados y que el texto de la opinin no contiene lenguaje ofensivo, en cuyo caso modificamos la tupla en la BD Se informa al usuario de que el mensaje fue modificado correctamente o error en caso contrario.

Introduccin Entradas Proceso Salidas

CU-16 Eliminar una opinin El usuario puede eliminar una opinin, siempre y cuando sea propietario de la misma. El sistema no dar la opcin de borrado sino se cumple esta condicin. Enlace eliminar opinin seleccionado por el usuario, el cual lleva asociado el identificador del mensaje a eliminar. El sistema borra de la BD la tupla asociada al identificador del mensaje. Se informa al usuario de que el mensaje fue eliminado correctamente.

Introduccin Entradas Proceso Salidas CU-17 Cerrar sesin Introduccin Entradas Proceso

El usuario puede cerrar la sesin activa en cualquier momento. Enlace cerrar sesin seleccionado por el usuario, el cual enva una variable de logout. Es destruido el identificador de sesin as como las variables de sesin.

47

Salidas

Se muestra la pgina desde donde hemos realizado logout con las opciones propias de un usuario annimo.

Usuario interno Recordamos que este usuario es el responsable de gestionar las reservas que sucedan en tiempo real en la aplicacin. CU-18 Visualizar histrico de reservas El usuario puede obtener un listado de reservas realizadas, utilizando un formulario de bsqueda en base al ao de la estancia de la reserva. Seleccin del ao a buscar. El sistema realizar una bsqueda de la reservas totales mediante consulta a la BD, mediante sentencias SQL es capaz de listar tan solo las estancias del ao introducido. Listado de todas las reservas en una tabla, con todos sus atributos que aportan informacin adicional.

Introduccin Entradas Proceso Salidas

CU-19 Visualizar pre-reservas mediante calendario El usuario puede visualizar las pre-reservas realizadas por los usuarios registrados, para atender su peticin y comenzar las gestiones. Seleccin de pestaa de pre-reservas. El sistema busca la pre-reserva en la BD y extrae toda la informacin necesaria de la tupla encontrada. Se informa al usuario interno de las nuevas pre-reservas mediante una tabla.

Introduccin Entradas Proceso Salidas

CU-20 Eliminar pre-reservas mediante calendario El usuario puede, en caso de no tener inters de llenar esos das la casa, anular la pre-reserva y ponerse en contacto con el cliente para confirmrselo. Seleccin de pre-reserva a eliminar en la tabla de pre-reservas. El sistema consulta la BD directamente, accede a la tupla en concreto y la borra. Se muestra un mensaje informando de la eliminacin de la tupla, siempre tendr xito esta accin.

Introduccin Entradas Proceso Salidas

48

CU-21 Crear una reserva Introduccin Entradas El usuario puede dar de alta nuevas reservas, cumplimentando cada uno de los campos del formulario. Formulario cumplimentado y enviado por el usuario. El sistema muestra el formulario de apertura de una nueva reserva. Al cumplimentar el envo el sistema verifica que estn cumplimentados los campos obligatorios. Si se cumplen las condiciones anteriores en sistema introducir una nueva reserva en la BD. Se informa al usuario de que la reserva fue introducida exitosamente.

Proceso

Salidas

Adems el usuario interno es capaz de autenticarse y cerrar sesin en la pgina web, comportamientos ya descritos anteriormente en los casos de uso CU-11 y CU-17.

Usuario administrador Por ltimo recordamos que este tipo de usuario dispone de las posibilidades de un usuario interno, adems de las funcionalidades que se describen a continuacin. CU-22 Visualizar usuario registrados en la pgina web El administrador puede obtener un listado de todos los usuarios registrados en la pgina. El listado resultado estar ordenado en rden alfabtico de primer apellido, mostrar sus datos y opciones como eliminacin y visualizacin en detalle. Seleccionar la seccin usuarios, dentro del panel del administrador. El sistema obtiene de la BD la informacin necesaria de cada usuario registrado en la misma. Listado ordenado alfabticamente por apellido de todos los usuarios junto con algunas opciones.

Introduccin

Entradas Proceso Salidas

CU-23 Visualizar los detalles de los usuarios Introduccin Entradas Proceso Salidas El administrador puede visualizar todos los detalles de un usuario determinado a excepcin de su contrasea. Username seleccionado por el administrador. El sistema busca el usuario en la BD y extrae toda la informacin necesaria de la tupla encontrada. Ventana emergente mostrando toda la informacin disponible

49

sobre el usuario a excepcin de su contrasea. CU-24 Crear un usuario Introduccin Entradas El administrador puede dar de alta nuevos usuarios, ya sea con privilegios de interno o de registrado. Formulario cumplimentado por el administrador. El sistema muestra el formulario de nuevo usuario. Si el administrador confirma su envo, el sistema verifica que hayan sido marcados los campos obligatorios. De ser as el nuevo usuario es insertado en la BD, siempre que no exista duplicidad en los campos username y em@il. Se informa al administrador que el evento fue introducido con xito o que el proceso fue cancelado.

Proceso

Salidas

CU-25 Eliminar un usuario Introduccin Entradas Proceso Salidas El administrador puede eliminar usuarios de la BD a conveniencia. Formulario de confirmacin de borrado de usuario, enviado por el administrador. El sistema muestra un formulario de confirmacin de borrado. Si ste es confirmado, se elimina de la BD la tupla asociada al usuario. Se muestra un mensaje informando que la eliminacin concluy con xito o bien que el proceso fue cancelado.

CU-26 Modificar una reserva Introduccin Entradas Proceso Salidas El administrador puede modificar una reserva de la BD. Formulario de confirmacin de modificacin de reserva enviado por el administrador. El sistema muestra un formulario de confirmacin de modificacin. Si ste es confirmado, se modifica de la BD la tupla asociada a la reserva. Se muestra un mensaje informando que el modificado concluy con xito.

CU-27 Eliminar una reserva Introduccin Entradas El administrador puede eliminar una reserva de la BD. Formulario de confirmacin de borrado de reserva enviado por el administrador.

50

Proceso Salidas

El sistema muestra un formulario de confirmacin de borrado. Si ste es confirmado, se elimina de la BD la tupla asociada a la reserva. Se muestra un mensaje informando que la eliminacin concluy con xito.

CU-28 Eliminar una opinin El administrador puede eliminar cualquier opinin a conveniencia, con el fin de retirar comentarios ofensivos o simplemente si se diera el caso de que el mensaje no guarde relacin con el contenido. Enlace de eliminar opinin seleccionado por el administrador. Se elimina de la BD la tupla correspondiente a la opinin seleccionada. Se muestra un mensaje informando que la eliminacin concluy con xito.

Introduccin Entradas Proceso Salidas

3.2.- Anlisis
Una vez han sido descritos los requisitos capturados, en el capitulo anterior, es preciso profundizar en alguna metodologa que propicie la deteccin de aquellos apartados generales que guardan una relacin directa con esos requisitos. Esta metodologa debe tener la virtud de ser lo suficientemente abstracta como para conseguir mantener la independencia con los diversos recursos tecnolgicos disponibles para su implementacin, los cuales sern abordados en captulos posteriores. En la actualidad, existe una metodologa ya consolidada y denominada RUP (Rational Unified Process), que cubre ampliamente las expectativas expresadas en el prrafo anterior. Esta metodologa se apoya en modelos UML (Unified Modeling Language) que ayudan a describir la funcin, la arquitectura o el diseo del software. UML es el lenguaje de modelado de sistemas software mas utilizado actualmente, respaldado por el OMG (Object Management Group), que sirve eficazmente para describir procesos hacindose valor para ello de elementos grficos. Permite visualizar, especificar, construir y documentar un sistema. Ofrece por tanto de un estndar que podemos hacer servir ptimamente en nuestra aplicacin web. UML dispone de diversos diagramas para identificar las diversas entidades del sistema a modelar. De entre todos ellos, nos basaremos en el Diagrama de Casos de Uso as como en el Diagrama de Clases para continuar con el desarrollo del proyecto que nos ocupa.

51

3.2.1.- Diagrama de casos de uso


Un Diagrama de Casos de Uso muestra como debera reaccionar el sistema con el usuario, o bien con otro sistema, para conseguir un objetivo. Se trata por tanto de una representacin de la secuencia de acciones entre un sistema y sus actores, respondiendo a un evento que inicia uno de los actores principales. El uso de este tipo de diagramas esta ampliamente extendido debido a la notacin relajada de la que hace uso, resultando por tanto muy cercano para el usuario final. En la Figura 20 se muestran los diversos actores identificados cuyas peculiaridades ya fueron descritas en apartados anteriores. El diagrama pone de manifiesto la especializacin de algunos de los usuarios. El usuario registrado hereda atributos del usuario annimo, por otro lado el usuario interno tambin hereda atributos del usuario annimo pero no del usuario registrado. Y definitivamente el usuario administrador hereda atributos del usuario interno.

Figura 20.- Actores principales del sistema

En los diagramas de casos de uso debemos tener en cuenta que han sido consideramos en las Figuras 23 y 24 tan solo los casos de uso propios de determinados usuarios, entendemos que los casos de uso del usuario administrador son heredados del usuario interno y este del usuario annimo. Como sigue, el usuario registrado heredar los casos de uso del usuario annimo, pero estos han sido obviados en los diagramos en concreto para facilitar su lectura. Expondremos a continuacin los diferentes casos de uso para cada uno de los actores identificados.

52

Figura 21.- Casos de uso para el usuario annimo

Figura 22.- Casos de uso para el usuario registrado

53

Figura 23.- Casos de uso para el usuario interno

Figura 24.- Casos de uso para el usuario administrador

3.2.2.- Diagrama de clases


Los Diagramas de Clases muestran las diversas entidades que componen un sistema y como se relacionan unas con otras. Podramos decir que son diagramas estticos en tanto en cuanto describen la estructura del sistema. Una clase define los atributos y los mtodos de una serie de objetos, de forma que todos los objetos de una clase determinada tienen el mismo comportamiento y el mismo conjunto de atributos. Para el caso que nos ocupa, un objeto podra ser un usuario, un contacto o una opinin. A continuacin se muestra el Diagrama de Clases (Figura 25) que representa el sistema objeto de estudio. Asimismo se incluye la cardinalidad y nombre de algunas de las relaciones, con el objetivo de facilitar la comprensin de aquellos escenarios que podran suscitar cierto grado de ambiguedad.

54

Figura 25.- Diagrama de clases del proyecto

55

3.3.- Diseo
En este capitulo, la aplicacin ser descrita con un nivel de detalle todava mas elevado si cabe que el conseguido en el capitulo de Anlisis. Para conseguir el objetivo anterior, nos haremos servir de una arquitectura Web basada en el modelo de tres niveles. Arquitectura basada en tres niveles De entre todos los estilos arquitectnicos que podemos elegir para realizar el diseo de la aplicacin (arquitecturas de flujos de datos, de componentes independientes, centradas en datos repositorios, de mquina virtual o arquitecturas heterogneas) la que mejor se amolda los objetivos que se pretenden lograr con el desarrollo de la aplicacin es la arquitectura de componentes independientes debido a que este esquema favorece tanto la distribucin de los datos como el procesamiento que se va a realizar sobre ellos, en una serie de unidades independientes (los denominados componentes) que interactuarn entre s para lograr un objetivo. Normalmente no se podr acceder de forma directa al estado que almacena un componente sino que se deber hacer invocando a sus operaciones. De hecho el adoptar este esquema arquitectnico va a permitir que nos podamos centrar ms en los procesos que se llevarn a cabo sobre los datos, es decir, nos centraremos ms en la funcionalidad que se est pidiendo para el sistema y en su organizacin en unidades independientes. Adems, el hecho de seguir esta arquitectura nos va a reportar una ventaja adicional: al desarrollar cada una de las partes del sistema como una serie de unidades independientes va a favorecer al reutilizacin de las mismas (posteriormente las podremos utilizar en otras aplicaciones) adems de que favorecer el hecho de que cada componente pueda ser instalado en mquinas diferentes (lo que nos permitir, por ejemplo, conseguir un mayor balanceo en las cargas de los servidores web ya que las mquinas en las que se instale la parte web pueden ser independientes de las mquinas donde estn almacenados los datos fsicamente). Una vez que nos hemos decantado por este estilo arquitectnico dentro de l podemos englobar a varios estilos: sistemas basadas en niveles, sistemas cliente-servidor, sistemas orientados a objetos distribuidos, sistemas basados en eventos, sistemas orientados a servicios, sistemas de procesos paralelos y sistemas peer-to-peer. De entre todos ellos nos vamos a decantar por el estilo arquitectnico basado en niveles en el cual el sistema se representar de una forma jerrquica entre todos los elementos que los forman, de manera que cada una de las capas proporciona servicios a la capa que est inmediatamente por encima (o delante) de ella y se sirve los elementos de la capa que est inmediatamente por debajo (o detrs) de ella.

56

En el caso de la aplicacin que estamos diseando se ha realizado una divisin del sistema en las siguientes tres capas:

Figura 26.- Arquitectura de tres niveles

A continuacin describiremos en detalle cada uno de los niveles: Nivel de Interfaz o Presentacin: formado por aquellos elementos que permiten al usuario interactuar con el sistema (formularios, imgenes, consulta de disponibilidad). Tambin utilizada por el sistema para informar al usuario (mensajes de error, informacin demandada,). Asimismo, se refiere tambin al diseo y al formato en que es mostrada la informacin. Debe tener la virtud de resultar intuitiva y amigable para el usuario, esto es, comprender su funcionamiento en el menor tiempo posible, en pocas palabras: ponerle las cosas fciles al usuario. El nivel de interfaz es el que se comunica con el nivel de aplicacin. Nivel de Aplicacin o Lgico: formado por las funciones que implementan el comportamiento de las diferentes clases, ya especificado en el apartado de anlisis. Es el apartado encargado por tanto de pilotar las operaciones, de aplicar la lgica de control, de procesar y gestionar la informacin. Este nivel representa el enlace que comunica los otros 2 niveles. Nivel de Almacenamiento o Persistencia: integra la Base de Datos y el Sistema de Gestin de la Base de Datos (MySQL y phpMyAdmin respectivamente, en el caso que nos ocupa). No solo es el encargado de almacenar la informacin, sino tambin el responsable de la seguridad e integridad de la misma. A continuacin se detalla como han sido abordados cada uno de los niveles para el caso en estudio.

57

3.3.1.- Nivel de presentacin


Esta capa ser la encargada de generar la interfaz de usuario en funcin de las acciones que ste lleve a cabo en la aplicacin, es decir, que deber contener todos los componentes necesarios que permitan realizar la interaccin de los usuarios con la aplicacin. De hecho, en el estudio de los requisitos del sistema hemos visto que tenemos un total de cuatro usuarios diferentes: administradores, internos, registrados y annimos, por lo que la capa de presentacin deber ofrecer las funcionalidades que permitan a todos ellos la realizacin de los casos de uso que cada uno ellos inicia. En la Figura 27, podemos observar la estrategia llevada a cabo para disear la pgina principal, todas las dems pginas tienen el mismo formato. Una cabecera que en todas las pginas es la misma, contiene una imagen del entorno y los rtulos de Casa rural Sansof, un men para acceder a las secciones de la pgina web y bajo de el men un recuadro con el fondo en blanco con los contenidos de cada seccin, de cara a los usuarios annimos (posibles futuros huspedes) tiene un aspecto, claro y conciso de la informacin, en la pgina principal se ha optado por mostrar una foto de la casa vista en perspectiva caballera, con las montaas de la Sierra de Corbera de fondo, dando el toque de calidez ideal que invitan al usuario a continuar visitando las dems secciones de la pgina web.

Figura 27.- Pgina principal

58

Figura 28.- Descripcin de la casa

Figura 29.- Imgenes de la casa

59

En las secciones de las Figuras 28, 29, 30, 31 y 32 conservamos la misma misma plantilla, junto con la imagen de cabecera y el logo de la empresa, el men con enlaces a contenidos, el cuerpo de la pgina (que incluir la informacin propia de cada seccin) y un pie de pgina para todas las secciones igual que incluye. En la Figura 28 realizamos una breve descripcin de la casa, en el primer prrafo definimos su ubicacin y el entorno, junto con una imagen acorde con el texto, esta estratgia ser la misma para los otros dos prrafos. En el segundo explicamos el equipamiento del hogar y el tercero es un texto de puro marketing que intenta convencer a los futuros huspedes de lo idnea que es la casa para su estancia. En la Figura 29 nos encontramos con la seccin de imgenes, su contenido es muy caracterstico, primero aparecen los exteriores, dando una mayor importancia a la piscna y barbacoa; luego aparecen las terrazas, comoder y cocina; para terminar los dormitorios. En la Figura 30 encontramos un applet de google maps ideal para situar la casa rural en un punto del mapa y poder acceder a los alrededores de forma dinmica. Junto al mapa se encuentra una breve descripcin de la ubicacin del lugar, ofreciendo dos posibilidades para llegar a la casa rural, bien por la autopista o por la carretera nacional. Y tambin se ofrecen las coordenadas GPS para que nos lleve dicho aparato.

Figura 30.- Ubicacin de la casa

60

Figura 31.- Formulario de contacto

Figura 32.- Opiniones de huspedes

61

La seccin de la Figura 31 nos ofrece la posibilidad de ponerse en contacto con el administrador de la casa rural, para ello disponemos de un formulario de contacto visible y claro, en un fondo de color blanco, los campos a cumplimentar sern los necesarios para procesar una pre-reserva. Tambin aparece la direccin de la casa, junto con el telfono y nombre de la persona de contacto, pudiendo contactar por telfono o por correo electrnico. En la Figura 32 observamos un diseo muy sencillo (en todas las secciones predomina el diseo sencillo) ofreciendo la informacin de manera muy clara y directa, obviando cualquier parafernalia que pueda entretener la mente del futuro cliente en detalles sin importancia. Los campos que aparecen a cumplimentar en esta seccin son los necesarios, siendo el comentario el ms importante, que transmitir confianza a los lectores que tengan pensado pasar una estancia en la casa rural. La seccin de la Figura 33 ofrece enlaces a otros sitios web, siendo el primero la cuenta de usuario de Facebook de la casa rural, importante tener all una pgina (esto ser comentado en el captulo IV). El segundo un negocio de venta de naranjas del huerto de la casa rural y por ltimo, un enlace a un portal especializado en turismo vacacional, donde se encuentra el anuncio en mltiples idiomas. Las secciones de tarifas y entorno no han sido comentadas en dicho PFC por motivos de privacidad.

Figura 33.- Enlaces a otros sitios

62

3.3.2.- Nivel de aplicacin


Este nivel contiene la lgica que modela los procesos de aplicacin y ser donde se realizar todo el procesamiento necesario para poder atender las peticiones de los usuarios (actores) que nos llegarn desde el nivel de presentacin. Adems este nivel es el responsable de interactuar con el nivel de acceso de acceso a datos para poder ejecutar su lgica. Es precisamente el papel de enlace descrito anteriormente, el que le confiere su carcter de independencia y que por tanto permite efectuar modificaciones en los otros 2 niveles, sin que ello suponga una revisin en profundidad en el resto de niveles.

Figura 34.- Diagrama de tareas

En la Figura 34 puede observarse una muestra de diagrama de procesos o tareas donde son representados los procesos externos como puntos de entrada de la informacin a la aplicacin de la pgina objeto de estudio, as como tambin quedan representados los conjuntos de procesos internos que se desencadenaran respondiendo al estimulo de los primeros. Estos procesos internos pueden descomponerse en otros a su vez ms especficos, en coherencia con las definiciones dadas en los casos de uso. Segn puede extraerse de la figura anterior, el diagrama representa los procesos externos como aquellos que son accedidos por elementos actor, as como los conjuntos de tareas relacionadas con otras subtareas, relacin manifiesta mediante el uso de flechas indicando relaciones de dependencia.

63

3.3.3.- Nivel de persistencia


Esta capa, tambin denominada a veces capa de integracin, ser la encargada de implementar el acceso a los datos de los cuales se nutre la aplicacin, habitualmente recurriendo a un gestor de base de datos relacional. A continuacin analizaremos nuestro diseo lgico, esto es, la estructura de la base de datos representada en un lenguaje comprensible por cualquier sistema de gestin de bases de datos relacionales.

USUARIO (dni:varchar(9), nombre:varchar(20), apellidos:varchar(60), nacimiento:date, email:varchar(50), username: varchar(25), password: varchar(50), tipo:varchar(3)) CP:{id} VNN:{nombre, email, username, password, tipo}

RESERVAS (id:int(9), nombre:varchar(50), origen:varchar(50), observaciones:text, precio:int(4), email:varchar(45) ) CP:{id} VNN:{nombre, estancia, precio}

estancia:date,

PREFERENCIAS_USUARIOS (username: varchar(40), casa: varchar(8), ubicacion:int(4), tarifas: int(4), enlaces: int(4), contacto: int(4), opiniones: int(4), ) CP: {username} VNN: {casa, ubicacion, tarifas, enlaces, contacto, opiniones} CAj: {username} -> USUARIO

OPINIONES (id:int(3), username:varchar(25), nomb:varchar(50), ciudad:varchar(40), encontr:varchar(80), fecha:date, texto:text ) CP:{id} VNN:{id, username, nomb, ciudad, encontr, fecha, texto} CAj:{username} -> USUARIO

CALENDARIO (id, nombre, llegada, salida) CP:{id} VNN:{id, nombre, llegada, salida} CAj:{nombre} -> RESERVAS

64

3.4.- Implementacin
En el capitulo anterior, la aplicacin objeto de este estudio fue estructurada en diversos niveles y fueron descritos todos ellos de la forma mas abstracta posible, evitando entrar en detalles sobre tecnologas o recursos de implementacin. En el capitulo que nos ocupa, sern revisadas las tecnologas Web recurridas para implementar la aplicacin, progresando de forma ordenada a travs de la estructura de niveles que fue especificada.

3.4.1.- Tecnologas utilizadas


A continuacin sern descritas con mayor nivel de profundidad, las tecnologas utilizadas ms importantes en este proyecto que ya fueron presentadas en el punto 1.4.- Materiales y mtodos. HTML HTML, siglas de HyperText Markup Language (Lenguaje de Marcado de Hipertexto), es le lenguaje que predomina en el desarrollo de paginas web. Gracias a el, es posible no solo describir el contenido de texto de una pagina web sino tambien su forma o estructura, permitiendo incrustar imagenes y otros objetos en la misma. La historia del estandar se remonta a principio de 1990, cuando Tim Berners-Lee define el HTML como un subconjunto de un conocido lenguaje de etiquetas denominado SGML y ademas crea algo ms valioso aun, el World Wide Web.

Figura 35.- Etiquetas empleadas por el lenguaje HTML

65

Este lenguaje se escribe a base de etiquetas delimitadas por corchetes angulares (< , > ). Cuando se utiliza una etiqueta, habitualmente debe utilizarse otra de cierre, la cual antepondra el simbolo de barra ( / ). Sirva un ejemplo: <p>Esto esta escrito con una fuente normal mientras que <strong>esto esta escrito con una fuente mas gruesa o negrita</strong></p> El parrafo anterior sera mostrado como: Esto esta escrito con una fuente normal mientras que sto est escrito con una fuente ms gruesa o negrita El lenguaje HTML puede ser escrito y editado con cualquier editor de textos sencillo, aunque habitualmente se emplean editores potentes que permiten visualizar el resultado de lo que se esta haciendo asi como identificar errores de programacin. Una pgina web HTML debe contener una estructura mnima de etiquetas como sigue: <html> <head> <title>Aqu ira el ttulo de la pgina</title> </head> <body>

Aqu debe ir el contenido de la pgina


</body> </html> El diseo en HTML debe respetar unos criterios de accesibilidad web, siguiendo unas pautas o normativas. Se encuentra disponible y desarrollado por el W3C a traves de las Pautas de Accesibilidad al Contenido Web 1.0 WCAG CSS El lenguaje HTML est algo limitado si queremos emplearlo para definir la documento, ya que no fue concebido precisamente para este fin. Aun mucho tiempo los disenadores han debido recurrir a trucos para dificultad, causando a menudo problemas en las paginas a la hora de su en distintas plataformas. forma de un asi, durante salvar esta visualizacion

CSS u hojas de estilo en cascada (Cascading Style Sheets), es un lenguaje usado para definir la presentacion de un documento estructurado escrito en HTML. Lo que se pretende con esta tecnologia es separar la estructura de una pgina web de su

66

presentacin, esto es, el contenido en si a mostrar de la forma con que se desea que aparezca. CSS puede incorporarse en el mismo documento HTML o bien adjuntarse como un documento por separado (obviamente el documento HTML debera entonces referenciarle). Enumeraremos algunas de las ventajas de CSS: Podemos definir la forma de presentacin de un website entero, de solo una pgina o una porcin de la misma. Se agilizan por tanto enormemente, las tareas de modificacin: por ejemplo, bastara con editar una hoja de estilo CSS para que tuviera una repercusin inmediata en todas las pginas del website. El documento HTML es mas fcil de entender, pues conseguimos con CSS separar la forma del contenido (el cdigo que hace referencia a la forma, ya no estar entremezclado con el cdigo restante). Una misma pagina Web puede ser mostrada de forma correcta en diversos dispositivos de salida: un mvil, una impresora, una PDA. Para ello bastara con sustituir la hoja de estilo empleada. Aumento considerable de la accesibilidad, ya que un navegador web permite a un usuario especificar su propia hoja de estilo local. Idneo por tanto para usuarios con deficiencias visuales (hojas que aumentan el tamao de letra o la combinacin de colores). Otro de los recursos ampliamente buscados por diseadores web y que estn basados en CSS son los denominado Framewoks CSS. Estos no son mas que declaraciones de estilos escritas en CSS que preparan y agilizan la maquetacin de una pagina web, principalmente porque resetean y normalizan los estilos, con el fin de homogeneizar los resultados (conseguimos que nuestras paginas sean mostradas del mismo modo en cualquier navegador web). Modelo de caja en CSS CSS pone a disposicin del diseador otro recurso muy extendido que es el Modelo de Caja. Este modelo permite estructurar los diferentes contenidos de la pagina como si de cajas rectangulares de tratara. Cada caja puede pertenecer a un servicio (por ejemplo, el buscador), una seccin (por ejemplo el apartado de noticias) o a su vez una parte de una seccin (por ejemplo la fotografa de la noticia).

67

Las cajas a su vez estn compuestas por partes o capas, presentando en conjunto una estructura tridimensional. De esta forma, toda caja tiene una parte que es el borde, otra que es el relleno, un margen, un color y una imagen de fondo, un relleno y finalmente un contenido. Cada una de estas partes podramos representarlas como una estructura de capas superpuestas, como puede verse en la Figura 36.

Figura 36.- Modelo de caja en CSS

Las cajas se implementan en HTML, delimitndolas con un par de etiquetas <div> </div>. Posteriormente se asigna a cada caja una serie de estilos CSS a travs de un identificador o una clase. Sirva como ejemplo el siguiente extracto de cdigo HTML que describe una de las diversas cajas empleadas en nuestro portal objeto de estudio: PHP PHP (PHP Hypertext Pre-processor) es un lenguaje de programacin interpretado, diseado originalmente para la creacin de pginas web dinmicas. Fue creado en 1994 por el programador danes-canadiense Rasmus Lerdorf (Personal Home Page Tools por aquel entonces) para mostrar su curriculum vitae y conocer el trfico que su web reciba.

68

PHP es un lenguaje poderoso y esta ampliamente extendido, se utiliza en mas de 20 millones de sitios web adems de en un milln de servidores. Uno de los motivos es un gran perecido con otros populares lenguajes de programacin estructurada, lo que facilita su dominio en el menor tiempo. Otra de las razones es que es libre (licencia GNU) y por tanto, fcilmente accesible a todos. Y por aadir alguna razn ms, indicaremos que PHP permite ser ejecutado en la mayora de los sistemas operativos e interactuar con los servidores web y motores de base de datos ms populares. El cdigo fuente escrito en PHP es invisible al navegador y al cliente. El servidor es el encargado de ejecutar el cdigo y enviar su resultado HTML al navegador (vase Figura 37). Esto hace que la programacin en PHP sea segura y confiable.

Fig. 37. - Esquema funcionamiento PHP

Nuestro caso de estudio esta fundamentado principalmente en PHP, integrado entre el cdigo HTML. El esquema de funcionamiento para un potencial usuario que visualizara alguna de sus paginas web es muy similar al descrito en la Figura 37, y ayuda a entender 2 conceptos con los que abramos la introduccin de este apartado: PHP como lenguaje interpretado y orientado al desarrollo de paginas web dinmicas. A continuacin describiremos brevemente un posible escenario de nuestro portal web que se ajusta a la figura anterior. Un usuario pretende visualizar alguna de las paginas de nuestro, posiblemente enviando alguna informacin adicional a travs de un formulario. El navegador web realizara esta solicitud. La peticin ser recibida por el servidor web donde estar alojada la pagina web, analizara la misma y all donde encuentre instrucciones PHP, las interpretara y las cambiara por un resultado ya escrito en HTML. Si fuera necesario, podra consultar a la Base de Datos para incorporar alguna informacin sustrada de la misma. Finalmente devolver el resultado final al cliente (navegador web) que inicio la solicitud o peticin.

69

Como es posible comprobar en la descripcin del escenario anterior, la pgina web ser interpretada por el servidor previo a ser devuelta al cliente y adems, su contenido se generara a partir de algn dato introducido por el usuario, probablemente a travs de un formulario, es decir, este contenido no estaba inicialmente en el archivo HTML original, lo que responde al concepto de pgina web dinmica (el resultado no siempre es el mismo como sucedera en una pagina web esttica). Javascript JavaScript es un lenguaje de scripting, esto es, un archivo de ordenes, generalmente almacenado en formato de texto plano, que representa a un programa habitualmente de complejidad sencilla que puede efectuar diversas tareas como combinar componentes o bien interactuar con el sistema operativo o con el usuario, motivo por el que es frecuentemente recurrido para disear interfaces de usuario. JavaScript es interpretado por la amplia totalidad de navegadores web modernos. Puede incluirse en cualquier documento y es compatible con HTML en el navegador del cliente. La W3C define que el mtodo ptimo para utilizar JavaScript es incluirlo en un archivo externo, por razones de accesibilidad y rendimiento. Fue desarrollado por Brendan Eich de Netscape con el nombre de Mocha, el cual fue renombrado posteriormente a LiveScript, para finalmente quedar como JavaScript coincidiendo con el anuncio de que Netscape soportara oficialmente Java en su, por aquel tiempo, popular navegador web, estrategia que no estuvo exenta de algunas polmicas. En nuestro caso utilizamos Javascript para generar un calendario dinmico donde los clientes pueden seleccionar las fechas de entrada y salida de sus estancias, vase la Figura 38.

Figura 38.- Calendario dinmico en Javascript

70

MySQL MySQL es un sistema de gestion de base de datos, relacional, multihilo y multiusuario. Relacional porque se sustenta en un modelo de datos (modelo relacional) basado en la logica de precicados y en la teoria de conjuntos. Multihilo porque permite el acceso concurrente a la informacion, de forma ordenada y segura. Finalmente es multiusuario porque permite proveer servicio a multiples usuarios simultaneamente. MySQL se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, lo que implica comprar una version comercial licenciada si el usuario no se ajusta al GPL o requiere introducir codigo MySQL en aplicaciones comerciales. Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pblica y los derechos de autor del cdigo estn en poder del autor individual, MySQL es patrocinado por una empresa privada, que posee el copyright de la mayor parte del cdigo. El uso de MySQL esta muy extendido en aplicaciones web, en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python). Su popularidad como aplicacin web esta muy ligada a PHP, que a menudo aparece en combinacion con MySQL. Su origen se remonta al ano 1995 cuando la empresa MySQL AB busca adaptar el lenguaje SQL (que ya existia desde 1981) de forma que continue cumpliendo su estandar pero sin sacrificar velocidad, fiabilidad o usabilidad.

Figura 39.- Tabla de la utilidad phpMyAdmin para la gestin de base de datos

Para el caso que nos ocupa, se opto por MySQL por su extremada sencillez de manejo, gracias en parte a la interface PHPMyAdmin. Esta inferface organiza la informacion en base a tablas y permite manipular a informacion, tanto de contenido como de estructura, de forma rapida y confiable.

71

3.4.2.- Implementacin de la interfaz


Presentamos a continuacin los elementos CSS que han sido necesarios para la implementacin de la pgina web junto con sus configuraciones. La pgina consta de cuatro elementos bsicos que aparecen en todos los archivos .php y .html, el top, sirve para separar la cabecera del men, el men, el content, donde aparecera el contenido de cada seccin, el bottom, un pequeo marco que realiza la funcin de recuadro y el footer, ms abajo del bottom.

Figura 40.- Conjunto de elementos CSS

En la Figura 40, vemos los elementos CSS utilizados por separado sin ninguna configuracin. A continuacin vamos a detallar cada elemento con su configuracin. Cabecera

Figura 41.- Cabecera

La cabecera consiste en una imagen esttica justamente acoplada al ancho de los dems elementos, enmarcada el el <div> principal #wrap Top

Figura 42.- Top

72

El top es utilizado como marco separador entre la cabecera y el men, a continuacin detallamos su configuracin:

#top { background: #555 url(imagenes/top.jpg) no-repeat; padding: 5px 0; }


Menu

Figura 43,- Menu

El menu es utilizado para definir el nombre de las secciones, a continuacin detallamos su configuracin:

#menu { height: 30px; line-height: 30px; background: #2B9B0B url(imagenes/menu.jpg) no-repeat; } #menu ul { padding-left: 10px; list-style-type: none; } #menu ul li { display: block; float: left; } #menu ul li a { color: #eee; padding: 0 13px; text-decoration: none; font-weight: 600; } #menu ul li a:hover { color: #fff; text-decoration: underline; }

73

Content

Figura 44.- Content

El content es utilizado para almacenar toda la informacin de cada seccin de la pgina web, a continuacin detallamos su configuracin:

#content { padding-top: 10px; padding-right: 20px; padding-bottom: 10px; padding-left: 20px; background-color: #525252; background-image: url(imagenes/content.jpg); background-repeat: repeat-y; }
Bottom

Figura 45.- Bottom

El bottom es utilizado como marco final entre el content y el footer, a continuacin detallamos su configuracin:

#bottom { background: #555 url(imagenes/bottom.jpg) no-repeat; padding: 6px 0; }


Footer

Figura 46.- Footer

El footer es utilizado como pie de pgina, donde encontramos la informacin de contacto, ubicacin de applet de facebook, a continuacin detallamos su configuracin:

#footer { text-align: center;

74

color: #eee; font-size: 11px; padding: 0px 20px 5px 0px; }


Nos encontramos en la hoja de estilos CSS (style.css) el elemento body, que define las caractersticas generales de la pgina web, el tipo de letra predominante ha sido el verdana y el color de fondo el #FF6600, naranja caracterstico que cubre el fondo de la pantalla del navegador web. A continuacin detallamos su configuracin del body:

body { background: #FF6600; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 15px; line-height: 18px; color: #333333;; }

3.4.3.- Implementacin de la funcionalidad


En este apartado, se expondrn algunas secciones de cdigo que implementan las funciones o procesos que forman parte del nivel de Aplicacin. Por cuestiones de privacidad y por evitar adentrarnos en exceso en el tema del software (no es objetivo del presente PFC) tan solo comentaremos una nica clase, mostrando para ello el cdigo necesario en HTML y PHP. Formulario de contacto Este mtodo es recursivo sobre si mismo, sino se ha invocado al mtodo HTTP_POST_VARS, el flujo de ejecucin espera a su invocacin:

<?php if (!$HTTP_POST_VARS){ ?>


A continuacin observamos el cdigo HTML necesario para crear una tabla, donde cada casilla contendr un campo a rellenar y este ms adelante ser recogido por el mtodo POST:

<form action="contacto.php" id="form1">

method="post"

enctype="multipart/form-data"

75

<table width="586" height="199" border="0" bgcolor="#FFFFFF"> <tr> <td width="218"><span class="Estilo14"> <label>Persona de contacto: </label> </span></td> <td width="358"><input name="nombre" type="text" size="30" maxlength="25" /></td> </tr> <tr> <td><span class="Estilo14"> <label>Telfono:</label> </span></td> <td><input name="telefono" type="text" tabindex="30" value="+34" size="30" maxlength="16"/></td> </tr> <tr> <td><span class="Estilo14">E-m@il: <label></label> </span></td> <td><input name="mail" type="text" tabindex="30" size="30" maxlength="35" /></td> </tr> <tr> <td><span class="Estilo14">Fecha de entrada:</span></td> <td><input name="fecha_ent" type="text" id="inputField" size="12" maxlength="12" /></td> </tr> <tr> <td><span class="Estilo14">Fecha de salida:</span></td> <td><input name="fecha_sal" type="text" id="inputField2" size="12" maxlength="12" /></td> </tr> <tr> <td><span class="Estilo14">Nmero de ocupantes: </span></td> <td><input name="ocupantes" type="text" size="3" maxlength="1" /> <span class="Estilo14">(mximo 6) </span></td> </tr> <tr> <td><span class="Estilo14">Comentarios:</span></td> <td><span class="Estilo11"> <textarea name="comentarios" cols="50"></textarea> </span></td> </tr>

76

<tr> <td><input name="submit" type="submit" value="Enviar" /></td> <td><input name="Submit2" type="reset" value="Borrar" /></td> </tr> </table> </form> <p class="Estilo12">
Una vez rellenado el formulario pasamos a crear el mensaje cogiendo cada campo del formulario con el mtodo HTTP_POST_VARS, sern aadidos a la variable $cuerpo, si se han completado todos los campos enviamos un mail a casarural.sansofi@gmail.com con el asunto Reserva CASA RURAL SANSOFI y el cuerpo el contenido de la variable $cuerpo.

<?php }else{ //Estoy recibiendo el formulario, compongo el cuerpo $cuerpo = "Formulario enviado\n"; $cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n"; $cuerpo .= "Telefono: " . $HTTP_POST_VARS["telefono"] . "\n"; $cuerpo .= "Email: " . $HTTP_POST_VARS["mail"] . "\n"; $cuerpo .= "Fechas de entrada: " . $HTTP_POST_VARS["fecha_ent"] . "\n"; $cuerpo .= "Fechas de salida: " . $HTTP_POST_VARS["fecha_sal"] . "\n"; $cuerpo .= "Ocupantes: " . $HTTP_POST_VARS["ocupantes"] . "\n"; $cuerpo .= "Comentarios: " . $HTTP_POST_VARS["comentarios"] . "\n"; $flag=true; //mando el correo... if( flag ) mail("casarural.sansofi@gmail.com","Reserva SANSOFI",$cuerpo); //doy las gracias por el envo print "Gracias por rellenar el formulario. Se ha enviado correctamente.\n"; print '<p>&nbsp;</p>'; print "En breve nos pondremos en contacto con usted\n"; print '<p>&nbsp;</p>'; print '<a href=contacto.php>Regresar</a>'; print '<p>&nbsp;</p>'; } ?>

CASA

RURAL

77

3.4.4.- Implementacin de la gestin de datos


En este apartado, se expondrn algunas secciones de cdigo que implementan las funciones o procesos que forman parte del nivel de Persistencia. Por cuestiones de privacidad y por evitar adentrarnos en exceso en el tema del software (no es objetivo del presente PFC) tan solo comentaremos una nica clase, mostrando para ello el cdigo necesario en PHP y MySQL. Operaciones de consulta En el mdulo de funciones.php tenemos las funciones encargadas de realizar la conexin a la base de datos, seleccionando en concreto la base de datos con la que vamos a trabajar, estas funciones han sido estraidas en un ndulo a parte, puesto que sern necesarias cada vez que queramos realizar una nueva transaccin con la base de datos. En la funcin mysql_connect definimos como primer argumento el sitio en la red donde tenemos instalado nuestro servidor MySQL, el segundo campo es el nombre de usuario y el tercero la contrasea, en este caso no la ofrecemos por obvios motivos de seguridad. Mdulo funciones.php

<?php mysql_connect("db157.1and1.es","dbo279164252","contrasea_secreta") or die ("No se ha podido conectar a la base de datos"); mysql_select_db("db279164252") or die("Error al tratar de selecccionar esta base de datos"); ?>
En el mdulo operaciones tenemos todo el cdigo necesario para realizar las operaciones de consulta, insertado, eliminacin y modificacin de las reservas en la base de datos. Mdulo operaciones.php

<?php include 'funciones.php'; if ($_SESSION["autentificado"] != "SI") { print "<script>window.location='/lugar_del_propietario.php';</script>"; exit(); } ?>

78

Aqu ir el cdigo HTML encargado de implementer la tabla donde se mostrar la opcin a elegir, nosotros en este punto nos encargaremos de tratar la consulta de reservas.

<?php $opcion = $HTTP_POST_VARS['opcion']; if($opcion=="consultar"){ $consulta = "SELECT * FROM Reservas"; $resultado = mysql_query($consulta); print "<br><br>"; print "<table>"; print
Primero seleccionamos todas las tuplas de la tabla reservas y guardamos el resultado de mysql_query en la variable $resultado. A continuacin recorremos el resultado con mysql_fetch_row, en cada iteracin del bucle estamos nos desplazamos una tupla y por cada tupla nos desplazamos un elemento, mediante $array[indice], a su vez estamos creando la tabla que aparecer con los campos correspondientes a cada campo de la tabla Reservas. Asi estamos observando cada todas las reservas confirmadas.

"<tr><th>Nombre</th><th>Origen</th><th>Estancia</th><th>Observaciones</th ><th>e-m@il</th><th>Precio</th></tr>"; while( $array=mysql_fetch_row($resultado) ){ print print print print print print "<tr><td>".htmlentities($array[1])."</td>"; "<td>".htmlentities($array[2])."</td>"; "<td>".$array[3]."</td>"; "<td>".htmlentities($array[4])."</td>"; "<td>".htmlentities($array[6])."</td>"; "<td>".$array[5]."</td></tr>";

}//del while print "</table>"; }else if( $opcion=="insertar" ){ }else if( $opcion=="eliminar" ){ }else if( $opcion=="modificar" ){ } ?> // Estas opciones de inserter, eliminar // y modificar no sern objeto de estudio // en el presente PFC

79

3.4.5.- Pruebas
Durante el desarrollo del software y una vez hemos finalizado la implementacin del mismo se han ido desarrollando una serie de pruebas que nos ayuden a medir y mejorar la calidad del mismo. En este apartado de la Memoria vamos a mencionar los diferentes tipos de pruebas que hemos realizado, con qu fin y cundo las hemos llevado a cabo. Pruebas Unitarias: este tipo de pruebas las hemos utilizado para comprobar el correcto funcionamiento de un mdulo de cdigo que se ha desarrollado, permitindonos de esta manera asegurar que cada uno de ellos funcionar correctamente por separado. Para la realizacin de estas pruebas nos hemos basado en la escritura de una serie de casos de prueba en los cuales se definen una serie de datos de entrada y de datos de salida esperados; una vez ejecutado el caso de prueba hemos cotejado los datos obtenidos con los datos esperado de tal manera que si existiese algn tipo de error o desviacin en los mismos (o en los resultados esperados) actuar para corregirlo. Con el fin de no alargar ms de lo necesario este documento de la Memoria no hemos incluido todos los casos de prueba que se han realizado. Pruebas de Integracin: una vez se han ido realizando las diferentes pruebas funcionales relacionadas con los distintos mdulos de la aplicacin, y se comprueba que estos funcionan correctamente, hemos pasado a realizar estas pruebas en las cuales se han visto cmo interaccionan cada uno de los mdulos entre s (por ejemplo, hemos tenido que ver cmo interaccionan los diferentes componentes de las capas de la arquitectura para realizar una operacin concreta). Una vez sabemos que todos los mdulos funcionan correctamente podremos pasar a realizar las pruebas funcionales sobre los mismos. Pruebas Funcionales: al realizar estas pruebas lo que perseguimos es ver, con la ejecucin de una transaccin, que el sistema desarrollado ofrece lo que realmente se le est demando y, en el caso de que no fuese as, corregirlo para que lo ofrezca con el fin de ofrecer a los usuarios una aplicacin de calidad. Al igual que ocurra con las pruebas unitarias estas pruebas funcionales se han realizado en el momento en que el que se daba por finalizadas las pruebas unitarias relacionadas con una transaccin y justo antes de poder dar por finalizado el desarrollo de la misma. Pruebas de Validacin: estas son los ltimos tipos de pruebas que hemos llevado a cabo sobre la aplicacin. Simplemente consisten en comprobar que el sistema que se ha desarrollado cumple con todas las especificaciones que se han definido sobre el mismo y adems que realiza lo que se esperaba de l.

80

CAPITULO IV

Promocin de una pgina Web


Una vez que hemos lanzado una web no es suficiente, hay que promocionarla dndola a conocer a la audiencia de Internet, porque un site no puede venderse por s slo (salvo en casos de sites muy solicitados por la gente); el promocionar una web tiene como objetivo conseguir trfico, pues sern los visitantes quienes generen beneficios para nosotros. Posicionamiento Web SEO Hace unos aos, con el nacimiento de Google, los webmasters se dieron realmente cuenta cmo de importante era tener un site "bien posicionado", estos es, que tras hacer bsquedas con ciertos trminos (keywords) en Google apareciese, o bien el site en los primeros resultados, o bien muchos links a su site, lo cual asegurara visitas. SEO significa (Search Engine Optimization). Actualmente existen un nuevo tipo de usuarios que se ganan la vida como SEO's, dicho sea de paso con sueldos bastante elevados. Su labor consiste en mantener un site perfectamente promocionado y posicionado, tal como dice la definicin optimizando los motores de bsqueda (no slo Google). La tarea de optimizar la estructura de una web y el contenido de la misma, as como la utilizacin de diversas tcnicas de linkbuilding, linkbaiting o contenidos virales con el objetivo de aparecer en las primeras posiciones de los resultados de los buscadores (cuando un usuario busca por una determinada palabra clave o keyword), es conocida como SEO. La aplicacin de tcnicas SEO suele ser ms intensa en sitios web con mucha competencia y lo que se pretende con su aplicacin es el posicionarse por encima de los competidores por determinadas palabras clave. Tradicionalmente, los sitios web, cuando los motores de bsqueda solamente mostraban resultados de los algoritmos de bsquedas orgnicas, eran ms fciles de optimizar. Las tcnicas para posicionarse en los motores de bsqueda eran las ya conocidas y enumeradas anteriormente. Sin embargo, ltimamente estn apareciendo en los buscadores diversas nuevas tecnologas que han insertado muchas nuevas variables que es necesario tomar en cuenta para la optimizacin de un sitio web. Podemos decir a ciencia cierta, que hacer la labor SEO es la ms importante a la hora de vender servicios de Internet en nuestro website.

81

4.1.- Tcnicas de posicionamiento Web SEO


Cuando hablamos de tcnicas de posicionamiento de pginas Web podemos concretar una serie de pasos a seguir que de alguna manera siempre son comunes. Obviamente el objetivo es conseguir la mejor posicin para una serie de trminos. Y es ste el punto de partida para el posicionamiento. Pero no hay que olvidar que quien contrata este servicio no busca el solo el hecho de estar ah sino que para esas bsquedas se genere un negocio. En el posicionamiento tenemos la limitacin de los idiomas por lo que en muchos de los pasos que vamos a ir explicando nos centraremos en buscadores .es pero el funcionamiento es igual para cualquier pas en el que nos encontremos. Realmente hablamos de tcnicas de optimizacin como si fuese algo complementario a aadir a las pginas pero la gran mayora de estos cambios no son ms que la forma ms correcta de tener una pgina para que muestre lo que realmente queremos, decir que van a encontrar las personas que visitan esa Web, y por tanto esto mismo es lo que van buscando los motores de bsqueda pues todos los algoritmos por muy automticos que sean estn pensados para dar el resultado ms prximo a lo que una persona este buscando. Hay que aclarar que muchas de las tcnicas realmente son suposiciones basadas en la experiencia de meses/aos trabajando sobre las bsquedas y viendo el comportamiento que estas tienen sobre los resultados con lo que todo lo que se explica no es la verdad absoluta. Estudio de los trminos Hay que destacar que Google.es se lleva aproximadamente un 98% de las bsquedas realizadas en Espaa, por lo que tendremos ejemplos y explicaciones basndonos principalmente en bsquedas sobre el motor de Google. El estudio de trminos es el primer paso a la hora del posicionamiento y por tanto los pilares de un buen resultado en este trabajo. Para este desempeo y muchos otros Google dispone de herramientas que nos ayudan en nuestro desempeo. En concreto para hacer un estudio de trminos nos ayudaremos de una herramienta llamada Google Keywords Tool (https://adwords.google.com/select/KeywordToolExternal). Esta es una herramienta creada para la parte de pago por click y que Google llama Google Adwords. Los resultados que nos proporcionan son sobre las bsquedas que genera esta seccin pero es bastante obvio que lo que funciona en la parte de pago funcionar de igual forma en las bsquedas normales salvo algunas excepciones con las que habr que tener cuidado por la fecha en la que se realice. No vamos a tener ni muchsimo menos resultados parecidos tanto en cantidad de bsquedas como en

82

competencia si por ejemplo estamos estudiando el trmino cestas de Navidad en Diciembre como en Agosto. Esta herramienta nos proporciona una serie de trminos con alternativas, sinnimos, etc, con el volumen de bsquedas y la competencia que tiene ese trmino. Por ejemplo supongamos que tenemos una Web de un negocio que es una clnica de odontologa. Para comenzar pondremos una serie de trminos que nos puedan parecer interesantes como: rural casa, casas rurales, casa rurales, casas rural, hotel en casa, alojamientos

rurales, turismo rural, hotel rural, casas rurales, casa turismo, casas turismo, turismo casas
Un detalle es el hecho de incluir palabras de enlace como para, en, de Se dice que los algoritmos de los principales buscadores eliminan estas palabras antes de ponerse en marcha con el algoritmo de bsqueda en si. Nuestro trabajo en ambos casos es jugar con las dos posibilidades en dependencia de la parte del cdigo que se este optimizando y si este texto va a ser ms o menos visible ya que tampoco queremos dar una mala imagen como puede ser no poniendo acentos. En esta primera tormenta de trminos debemos jugar con palabras que indiquen el sector, la ubicacin, algn detalle especfico que nos caracteriza, jugar con sinnimos y con los singulares y plurales.

Figura 47.- Coleccin de trminos

83

Para poder manipular mejor los resultados podemos exportarlos a un fichero .csv, donde podemos ordenar los resultados por nmero de visitas globales mensuales y comprobar su competencia. De esta forma buscaremos trminos con una relacin bsquedas competencia que nos parezca aceptable. Debemos recordar que estos datos son solo orientativos para la eleccin de unos buenos trminos ya que varan mes a mes y son referentes a la parte de pago por click. Para hilar ms fino lo interesante es que partiendo de estos resultados hagamos bsquedas con trminos que nos parezcan interesantes tras este primer estudio, observemos que trminos pueden estar utilizando pginas que aparecen en las primeras posiciones de esas bsquedas y realizando nuevamente otro estudio con la herramienta de Google. Con estas ideas, para el ejemplo dado podamos elegir como trmino: alojamiento valencia, turismo rural, casa rural, casas rurales, turismo casas Hemos de saber que aunque nuestra idea sea posicionarnos con exactamente estos trminos de alguna forma tambin estamos yendo por trminos ms genricos como casa rurales, alojamiento rural.

4.1.1.- La etiqueta <TITLE>


La etiqueta title es sin duda la etiqueta ms valorada por Google y los principales buscadores, para entender la importancia de esta etiqueta solo hay que realizar una bsqueda cualquiera en Google, comprobaremos que la mayora de las pginas bien posicionadas por el trmino que busquen contiene esta palabra en los textos resaltados en azul de los resultados de Google. Estos textos azules son los title de las pginas. Para entender y optimizar esta etiqueta debemos tener en cuenta varios factores: - La etiqueta title tiene un valor, este valor se reparte entre todas las palabras que contenga, por lo que cuantas ms palabras contenga el title menos valor tendr cada una de las palabras que lo componen. - La importancia de las palabras decrece de izquierda a derecha con lo que daremos ms importancia a los trminos colocados en primera posicin. Veamos un ejemplo: Para la bsqueda casa rural sansofi la pgina que aparece en primer lugar contiene este title.

84

Figura 48.- Etiqueta title

Como podemos observar el trmino esta contenido en la etiqueta, no es un title largo y adems coge mayor fuerza pues sus otras partes tambin hablan de clnica dental. Esta etiqueta no tiene que ser nica para todas las pginas que componen la Web sino que debern de ir cambiando dependiendo de la seccin en la que nos encontremos. Los principales motores dan mayor importancia a la home (pagina principal) y van disminuyendo sta en funcin de si son paginas secundarias que cuelgan de la home, terciarias Esto podemos optimizarlo para ganar mayor puntuacin poniendo en ocasiones un men inferior en la home para que los buscadores vean ms pginas de segundo nivel. La tcnica de meter un men inferior tambin nos sirve para indexar las pginas, que por problemas con mens complejos, no han sido bien indexadas y seguidas. En definitiva este title de la home ha de dar a entender de forma global que se trata en toda la Web y algn servicio o dato de inters que pueda caracterizarnos de forma importante.

4.1.2.- Las etiquetas <META>, METATAG.


Las etiquetas meta no son valoradas de igual forma por todos los buscadores. Como ya vimos en la introduccin, antiguamente eran una de las pocas cosas que almacenaban los motores de bsqueda y los resultados dependan en gran medida del contenido de stas. En la actualidad el hecho de poder indexar pginas completas hace que los buscadores busquen informacin en otras partes. No obstante es la suma de estas pequeas cosas lo que diferencia una Web completamente optimizada de otra no tanto. La etiqueta meta keyword nos permite introducir trminos de bsqueda y por tanto indica a los buscadores por que trminos la gente va a encontrar informacin til en nuestra Web.

85

Figura 49.- Metaetiqueta Keywords

Esto no siempre es as pues se meten muchos trminos y no siempre se habla de ellos en la pgina. Este es el motivo por el que algunos buscadores bajaron la importancia que se le daban a esta etiqueta. Funciona de la misma manera que el title en lo que a peso se refiere con lo que no hay que recargarla en exceso de trminos, lo idneo es que en cada pagina se personalicen los trminos de los que se est hablando en ella s en este caso se juegue un poco con los trminos con acento y sin l al igual que palabras en singular y plural. La etiqueta meta descrption nos permite introducir una breve descripcin del sitio.

Figura 50.- Metaetiqueta description

Al igual que explicbamos en el paso anterior esta meta no es tenida tan en cuenta como antiguamente pero en este caso si nos puede ayudar en mayor medida si la trabajamos bien. El primer punto es que muchos buscadores usan el contenido de esta descripcin para mostrarlo como descripcin de la bsqueda mostrada. El otro factor es el humano si esa descripcin llama la atencin del consumidor es ms probable que clicke para entra en la Web. De esta forma el texto contendr los trminos clave concretos del contenido de cada pgina y adems usar maysculas para intensificarlas junto con palabras como

86

OFERTA, AL MEJOR PRECIO, PRECIO DE LANZAMIENTO o PRIMERA VISITA GRATIS


de ser este el caso, hay que tener en cuenta que de nada vale atraer la atencin del consumidor si tras entrar en nuestra Web no encuentra lo que estaba esperando pues su visita no solo ser corta sino que adems se llevara mala imagen de nuestro servicio. La etiqueta meta robots, dentro de las posibles etiquetas con Metainformaciones acerca de un documento web, sirve para llevar un control exhaustivo de lo que puede o no puede hacer un robot de indexacin cuando visita nuestro sitio web. Los comportamientos ms tpicos que podemos definir son permitir o no indexar una pgina y seguir o no sus enlaces. En el atributo de la etiqueta meta debemos colocar las directrices que deseemos para buscadores, tantas como deseemos, separadas por comas. Las distintas directrices a aplicar son las siguientes: INDEX / NOINDEX: Sirve para indicar si se desea o no permitir la indexacin de la pgina por los motores de bsqueda. FOLLOW / NOFOLLOW: Con esta directriz se indica si se debe o no permitir a los motores de bsqueda recorrer o seguir recorriendo la web a travs de los enlaces que encuentre en el cuerpo del documento. ARCHIVE / NOARCHIVE: Esto permite decir si deseamos o no que el motor de bsqueda archive el contenido del sitio web en su cach interna. Como habremos podido ver, buscadores como Google tienen una cach y podemos ver las pginas web tal como las tiene cacheadas el buscador. Para ello, en los resultados de las bsquedas aparece un enlace que pone cach. Si decimos que no archive la pgina, no debera mostrar ese enlace de cach. Esto en realidad, segn Google, no evita que se guarde en cach la pgina, sino que no permite verla a los usuarios del buscador y por lo tanto no muestra el enlace. SNIPPET / NOSNIPPET: Esta directriz en principio no resulta muy til, al menos a primera vista. Sirve para que el motor de bsqueda no muestre ninguna descripcin de un sitio, slo su ttulo. Si utilizas NOSNIPPET automticamente defines un NOARCHIVE, por lo que la pgina tampoco se mostrar en cach. ODP / NOODP: Sirve para decirle al buscador que debe, o no, mostrar el ttulo y descripcin de la pgina iguales a los que se encuentra en el Open Directory Project. En algunos casos, algunos buscadores muestran como ttulo y descripcin de una web los que se han publicado en el ODP (ENLACE A http://www.dmoz.org/). YDIR / NOYDIR: Es bsicamente lo mismo que ODP / NOODP, con la diferencia que es para que no se pueda, o si, mostrar la descripcin y ttulo que aparece en el directorio de Yahoo.

87

Cuando no existe esta etiqueta los buscadores interpretan las condiciones ms favorables para ellos, es decir, que pueden hacer todo lo que suelen hacer con otras pginas a la nuestra, como indexarla, seguir sus enlaces, archivarla, etc. Gracias a esta etiqueta ms que mejorar, lo que nos ayuda es a no ser penalizados ya que si nuestra Web tiene contenidos blicos, sexuales o puede dar alguna interpretacin de problemas de salud como la anorexia, interpretaciones xenfobas es mejor evitar que esa pgina sea indexada por el robot o que enlaces salientes a ciertos contenidos no sean seguidos para evitar ser penalizados. El ltimo metatag es el del ttulo, influye en alguna medida en la valoracin de cada pgina: <META NAME="Title" CONTENT=" ">. En el ttulo se deben poner palabras que describan los contenidos de la pgina, e incluso, palabras clave que describan los productos y servicios que se ofrecen y por los que queremos ser encontrados de la misma forma que explicaba para la etiqueta <title>.

4.1.3.- Los contenidos de las etiquetas <H1>,<H2>


Tanto Google como los principales buscadores dan gran importancia sobretodo a una pgina bien estructurada limpia y con sentido. Prueba de ello es la propia pgina de Google, limpia, facil de manejar, nada recargada y da la idea global de lo que contiene y para que esta construida. Las etiquetas H1, H2 le dan al robot una idea de estructuracin. Estas etiquetas toman ms valor cuanto ms arriba y a la izquierda se encuentren de la misma manera que las personas que realizan bsquedas, estos tienden a llevar sus miradas y clicks a esa parte como muestra este grafica:

Figura 51.- Mirada humana en una pgina web

88

Pues la estructura que debera tener nuestras pginas ha de ser algo similar a esto: - El ttulo en un <h1> incluyendo ah las palabras clave. - El subttulo/s en un <h2>/<h3> incluyendo ms conceptos clave sin entrar en la repeticin con el h1. - El texto en un <p> incluyendo en este las palabras clave preferiblemente dentro de <a>, <strong> o <em> ya que de alguna manera enfatiza la importancia por ser un ancla o enlace a lago, o estar resaltado para el usuario. Una vez hecho todo esto hay que asegurarse de que el texto est bien escrito, tiene sentido y se lee perfectamente. Todo esto es respecto al texto ya que Google y cualquier otro buscador, para tomar las decisiones de la importancia del contenido de nuestra Web, solo puede basarse en el texto. Tanto en el contenido como el cualquier otro mbito de la optimizacin hay que saber que no podemos abusar de en la repeticin de los trminos buscando mayor valor ya que existen partes del algoritmo que categoriza ese contenido de SPAM, de forma que no solo pierde importancia sino que puede pasa a ser penalizado. De esta forma es bueno que en cada prrafo (<p>) no se repita ms de una vez el trmino pudiendo usar sinnimos que tambin sern valorados ya que los algoritmos usan semntica como ya vimos anteriormente.

4.1.4.- Contenido en imgenes y tamao


Una forma discreta de dar una mayor presencia a las palabras clave es empleando etiquetas alt y title en las imgenes. De esta forma podremos poner un texto acorde a la imagen en la etiqueta title que se mostrar al pasar el ratn por encima o dejarla vaca si no queremos que muestre nada, y una palabra clave interesante para los buscadores en la etiqueta alt, este texto nunca ser visible para el usuario, solo se mostrara si por algn motivo la imagen no se pudiera cargar. Por ejemplo:
<img border="0" src="imagenes/piscina.jpg" alt="" width="195" height="146" />

Cambiar por:
<img border="0" src="imagenes/piscina.jpg " alt="casa rural piscina" title="piscina" width="195" height="146" />

En este ejemplo vemos tambin que se ajusta el tamao de la imagen a un tamao determinado posiblemente porque la imagen fuese de mucho mayor tamao. Con respecto a esto es recomendable transformar la imagen a un tamao y formato que se

89

ajuste directamente al que queramos y as reducimos el tamao de estas y tanto para el usuario como para el robot la carga de dicha imagen es ms rpida. Por ejemplo una pequea imagen para un enlace digamos a la pgina del Real Madrid no debe de tener una imagen de 500 x 500 px en formato .bmp, para que luego lo transformemos en mediante las etiquetas weight y height de <img> en una imagen de 25 x 25 px. En este caso es mejor usar un formato .jpg o .png de tamao 25 x 25 px de mucho menor tamao en disco.

4.1.5.- Dominios y URLs amigables


Para entender qu es una URL amigable o friendly URL, lo ms sencillo es entender primero qu es una URL sucia o compleja o una dirty URL. Hoy en da existen una gran cantidad de sitios Web con contenido dinmico y que usan bases de datos, con lo cual es necesario de alguna manera enviar informacin de una pgina a otra para poder construir correctamente las pginas. Esta informacin es enviada al final de la URL como parmetros (despus de un signo de interrogacin mtodo GET). Este mtodo es muy til para la programacin ya que una sola pgina dinmica puede mostrar diferente informacin segn los parmetros enviados por la URL. Por ejemplo, cuando en Google realizamos una consulta para buscar casa rural Valencia la URL que pone Google es la siguiente: http://www.google.es/#hl=es&sugexp=frgbld&gs_nf=1&cp=13&gs_id=2n&xhr=t&q=c asa+rural+Valencia&pf=p&safe=off&output=search&sclient=psyab&oq=casa+rural+Va&aq=0&aqi=g4&aql=&gs_sm=&gs_upl=&gs_l=&pbx=1&bav=o n.2,or.r_gc.r_pw.r_qf.,cf.osb&fp=a2e4743a97ab33d2&biw=1280&bih=661 A veces no hace falta ni siquiera que haya contenido dinmico para que las URLs no sean amigables, sino que el programador, o por desconocimiento del concepto de URL amigable o por dejadez en la programacin utiliza URLs que no dicen absolutamente nada: http://www.mi-sitio.es/bagn/ptk_7.html Entonces llegamos a la conclusin de que una URL sucia es una URL difcil de escribir, de recordar y de conservar. Las URLs amigables son URLs descriptivas del contenido de la pgina, es decir, son URL que dicen algo sobre el contenido que se est visualizando en el navegador entre otras caractersticas. Caractersticas de las URLs amigables - Son fciles de adivinar y son descriptivas del contenido. http://www.misitio.com/contactar

90

- Muestran la estructura del sitio. http://www.misitio.com/contactar/administrador http://www.misitio.com/contactar/comercial - Son fciles de comunicar verbalmente en persona o por telfono. - Son suficientemente cortas para copiar en un correo electrnico o documento sin que haya que realizar un cambio de lnea (60 caracteres o menos). - Son estticas para poner en catlogos, folletos y otros documentos. - Son fciles de recordar. - Son fciles de escribir. - Promueven la usabilidad evitando ser largas y complejas. - Evitan los espacios en blanco en los nombres de archivos y carpetas. Por ejemplo, un nombre de archivo como especificaciones de producto.html, provocara una URL como especificaciones%20de%20producto.html. - Evitan los signos de puntuacin en nombres de archivo y carpetas, como por ejemplo el signo &, la arroba (@), el porcentaje (%) o el guin bajo (_): especificaciones_de_producto.html. El guin bajo normalmente es difcil de comunicar y de escribir y este tipo de nombres normalmente denotan estructuras de Web mal diseadas. En caso de ser requeridos nombres de este tipo recomendamos usar el guin, por ejemplo especificaciones-producto.html, ya que Google lo entender como un cambio de palabra. - Todas las letras que las componen son minsculas. Puedes pensar que la mejor opcin del caso anterior es la de poner EspecificacionesDeProducto.html, pero esto es un gran error ya que muchos servidores son sensibles a las maysculas y a las minsculas y si un usuario pone especificacionesdeproducto.html cuando el nombre del fichero es EspecificacionesDeProducto.html el servidor retornar un error. - Evitan, siempre y cuando sea posible, introducir variables al final de la URL ya que en algunas ocasiones URLs del tipo www.misitio.com/noticias.php?id=5 son resultado de un uso de las pginas dinmicas inapropiado. - Los dominios son accesibles incluso cuando existe algn error de escritura por parte del usuario. Son muy comunes los errores a la hora de escribir, como por ejemplo al ir deprisa en vez de escribir video.google.es, escribir vido.google.es. Personalizar la pgina de error 404 ayudar al usuario a saber que ha llegado a la Web solo que se ha equivocado al escribir la URL. Un buscador en la pgina de error 404 le

91

ayudar a encontrar la pgina que buscaba. Adems, si los usuarios se equivocan frecuentemente al escribir su dominio, puede ser conveniente comprar los dominios que coinciden con los errores ms comunes (E.j.gogle.com). - Los dominios son accesibles en diferentes TLD (dominio de nivel superior). Es muy comn en Espaa no acordarse si un dominio acaba en .com o en .es, as que es muy recomendable pagar por el dominio en .com y por el dominio en .es, http://www.misitio.com http://www.misitio.es http://www.misitio.net - Son persistentes en el tiempo, no deben desaparecer. No obstante en algunas ocasiones viene bien usar URLs sucias, son porttiles ya que generalmente contienen informacin necesaria para reconstruir una pgina dinmica. En algunos casos tambin puede ser til usar una URL sucia cuando las desventajas de una URL sucia se convierten en una ventaja y es que existen casos en los que no es conveniente que el usuario pueda memorizar o escribir una URL. Esto se produce sobretodo en casos donde existe un control de acceso, si tienes una cuenta de gmail o hotmail podrs ver que es muy difcil memorizar las URLs que van apareciendo mientras consultas tu correo. Eso resulta ser una gran ventaja para la aplicacin. Pero gran desventaja para el posicionamiento pero realmente esto es lo que se busca en estos casos. Con las URLs amigables conseguimos visitas gracias a un contenido claro y una fcil e intuitiva forma de navegar. Pero este tipo de URLs tambin es muy importante para el posicionamiento en buscadores. Anteriormente muchos motores de bsqueda ni siquiera indexaban pginas con variables incluidas al final de la URL con un interrogante (GET). Actualmente ya son indexadas, pero hay que tener en cuenta que los motores de bsqueda valoran mucho las palabras que hay en la URL. Aunque no se sabe a ciencia cierta, algunas teoras apuntan a que Google da ms importancia a las palabras que hay en la URL que a las palabras que hay en el texto. Pero esto s es seguro, Google valora mucho las palabras que hay en la URL y por tanto hay que procurar que las entienda. Por tanto, si tu URL es amigable y por tanto descriptiva, est claro que es muy probable que contenga palabras clave para las cuales quieras posicionar la pgina en concreto. Adems, si las palabras estn separadas con un guin (-) o una barra (/) google sabr perfectamente qu palabras componen tus URLs. Una cuestin muy importante que hemos mencionado en las caractersticas de una URL amigable es que sta debe ser permanente. Por qu es importante este punto? Muy sencillo. Tu pgina Web va creciendo en importancia a medida que tus pginas son enlazadas por otras webs. Es ms, pongamos que en tu Web hay un artculo muy

92

interesante y este ha sido enlazado desde muchas webs de terceros por la relevancia y el inters de su contenido. De repente lees este artculo y te das cuenta de que la URL de tu artculo es pobre y deseas cambiarla. Esto sera un gran error, ya que todos losenlaces que has conseguido se perdern en una pgina que retorna un error 404 (Page not found).. Si por lo que fuere es totalmente imprescindible cambiar la URL porque por ejemplo realizas un cambio de lenguaje de programacin en el servidor (pasas de tecnologa asp a php, por ejemplo) puedes realizar una redireccin 301 Moved Permanently, ya que cuando la araa de google visite tu web toda la relevancia que haba ganado tu pgina en *.asp se traspasar a tu pgina *.php. Cuando se realiza una Web desde cero estos puntos son muy importantes y tener una buena estructura con sentido ayuda y mucho en el posicionamiento. Por ltimo y por cercana a todo lo comentado en este punto esta la compra de dominios. Es bastante obvio que el nombre de nuestro dominio tiene que ser tambin descriptivo y que eso ayuda al posicionamiento ya que si tenemos una clnica dental estas dos palabras deberan estar en nuestro nombre de dominio. Otra tcnica es la de compra de los nombres de dominio diferentes y redireccionarlos. En este caso Google y otros buscadores, en el mejor de los casos, si esta bien redireccionado, solo ven el dominio al que este redireccionado con lo que no ganaramos nada.

4.1.6.- La geolocalizacin. Webs con idiomas


En temas de posicionamiento nunca se est con la verdad absoluta, pero estudios realizados nos indican cuales son algunas tcnicas como las descritas hasta ahora que son claramente mejor para usar. Una tcnica que cada vez esta se va aclarando ms es la forma de posicionar Webs Multilenguaje. Para esto primero explicaremos que es la geolocalizacin. Este trmino hace referencia a la importancia que dan los buscadores al mbito territorial de cada pgina y de la persona que est realizando una bsqueda. Y s, tanto Google como otros buscadores dan mucha importancia a este hecho y prueba de ello es el propio Google. Se puede comprobar que si escribimos www.google.com este nos redirigir en la gran mayora de los casos a www.google.es . Pero no solo esto es en lo que nos basamos. Estudios realizados a con diferentes praxis de diferentes localizaciones dan resultados totalmente diferentes. En ellos adems Google tambin te redirecciona a Google.uk (Reino Unido), google.fr (Francia), etc. Y no solo haciendo bsquedas en los Google de cada pas sino tambin en bsquedas de Google.com con cada proxis nos da resultados distintos. Hay que recordar que para todos estos estudios se ah tenido en cuenta que los robtos usan informacin de nuestro sistema para identificarnos como informacin en cach, historial., etc, que fue borrado previamente.

93

Hay que tener en cuenta los factores a los que los buscadores dan ms importancia: el TLD, la ubicacin del servidor, el idioma y dialecto del texto de la pgina, ubicacin de los enlaces entrantes, En definitiva, si tu mercado es Espaa, lo ideal en cuanto a posicionamiento Web se refiere es coger un dominio .es, ubicar la Web en un servidor en Espaa, obtener enlaces desde otros sitios Web en Espaa, y utilizar el espaol de Espaa y elegir las palabras clave con cuidado teniendo en cuenta el dialecto es algo muy importante. Con todo lo dicho al posicionar una Web multilenguaje hay que realizarlo de una manera concreta si queremos tener ms fuerza. Est claro lo que hay que hacer si mi Web es en espaol pero qu hacer con los otros idiomas. En muchas ocasiones vemos colocar el cambio de idioma en la sesin de usuario y/o basado en cookies, de forma que al usuario entrar al sitio pueda escoger el idioma y el sitio sea capaz de recordar esa configuracin para mostrarle el idioma correspondiente en la prxima visita. Esta opcin podra funcionar bien para los usuarios, pero es psima para los robots de bsqueda y registro en directorios. Bsicamente se mostraran el contenido de una misma pgina en varios idiomas en el mismo URL y cul indexaran los robots? Adems que debemos tener en cuenta que los robots de bsqueda no soportan el manejo de sesiones, por lo que probablemente nunca lleguen a todos los idiomas, y aun as, en que idioma guardaran la pagina en sus listados? Adems de esto, habra solo un punto de entrada para el sitio, y por defecto el idioma inicial seria siempre uno solo, esto por un lado nos puede llevar a perder usuarios que no alcancen a ver la opcin de cambio de idioma, y en cuanto al registro en directorios de los idiomas diferentes al por defecto puede que tampoco sea aceptable. Parecido es la opcin de poner los distintos idiomas en distintas URLs. Adems la pgina de inicio (la ms valorada por los buscadores) solo seria una. La solucin que tiene ms adeptos es la de contratar distintos dominios, con las mismas caractersticas vistas anteriormente para cada pas y enlazar unos con otros. Veamos que porque. La opcin de dominios totalmente diferentes es mejor en este aspecto, aunque pudiera llegar a ser tcnicamente ms difcil lograrlo sin duplicar los cdigos. Adems, tiene un costo implicado (aunque pequeo), el de comprar los nombres de dominio, hosting (en dependencia del que se disponga), y encontrar los que deseemos. Esta opcin dara la ventaja tambin que el compartir enlaces entre estos sitios otorga algo de PageRank y posicionamiento, no ubicndolos bajo la mismo IP y por tanto bajo el mismo servidor para cubrir todas las ganancias explicadas con anterioridad.

94

Una ultima opcin es la de un subdominio por cada idioma parece ms aplicable en general y se mantienen casi todas las ventajas. Muy en especial que los robots de bsqueda podrn indexar fcilmente cada subdominio como un sitio diferente, con cada versin de las pginas en los distintos idiomas, tambin ventajoso que para cada directorio donde se registre el sitio se le puede dar la direccin exacta del idioma que le corresponda, tambin en el caso de los subdominios generalmente no implica costo adicional.

4.1.7.- Tcnicas fraudulentas. Penalizaciones


Una vez que se entiende el funcionamiento y la importancia que le dan los buscadores a distintas partes de nuestra pgina empieza a funcionar las formas en como puedo convertir mi sitio en un sitio valorado por Google. Pero ests tcnicas no siempre gustan a los buscadores ya que por unos motivos u otros los resultados o la informacin que Google u otros buscadores pueden llegar a mostrar no siempre es la que se espera y esto resta credibilidad a las bsquedas y por tanto al buscador. Como ya hemos dicho las una Web bien construida con contenidos interesantes y bien estructurada, se posiciona bien sola. Pero esto no suele ser siempre as, y en ocasiones en lugar de orientar las tcnicas a este fin, el de dar counidos interesante y con sentido, se usan tcnicas que se encuentran penalizadas por los buscadores, al tratar de manipular sus resultados en forma agresiva. Las principales tcnicas de posicionamiento no permitidas son: Spamming El abuso de palabras clave, spam o 'keyword stuffing' consiste en situar palabras clave en un montn de elementos de una pgina Web y a la repeticin de texto clave para de esta forma tratar de aumentar la densidad de palabra clave. Cada vez son ms los webmasters que conocen los trucos para un buen posicionamiento Web, y quieren llevarlos hasta extremos. Si bien es preciso que la palabra clave a posicionar figure en alguna parte del texto, el excesivo uso de la misma puede traer como consecuencia una penalizacin. Doorway Pages Son pginas diseadas con el especfico propsito de generar trfico de los buscadores. Muchos webmasters disean una pgina optimizada para los buscadores, repitiendo las palabras claves en el TITLE, en los H1, etc. De esta manera, crean una pgina casi ininteligible para los visitantes (debido al gran nmero de palabras clave por toda la pgina), pero altamente optimizada para determinadas bsquedas. Son pginas con contenido rico en palabras clave, contenido generalmente duplicado, mnima navegacin o ninguna y suelen generarse automticamente. Son pginas mal

95

armadas, y que al navegarlas, rpidamente el visitante toma conocimiento de que est hecha para los buscadores. Generarn trfico natural que se trata de redireccionar hacia otras pginas del sitio, ya sea mediante click, mediante un <meta> refresh.o, via JavaScript, generalmente. Los robots no reconocen el JavaScritp, as que almacena simplemente la pgina diseada para ellos. El caso de las pginas 'doorway' es un caso particular del 'Cloaking'. En el 'Cloaking' se identifica al robot de Google y, mediante lenguajes 'Server Side', se genera unos contenidos diferentes. En las pginas 'doorway' simplemente se redirecciona a los navegadores web de los visitantes. Cloaking en sitios web Muchos webmasters programan sus pginas Web para devolver contenidos distintos cuando pasa el bot y cuando un usuario normal visita el sitio Web. Un script del servidor le entrega una versin del sitio Web distinta, que contiene informacin que no se muestra en la pgina visible. De esta manera, por ejemplo, generan un mayor nmero de palabras claves cuando son visitados por este robot. Si hiciesen lo mismo cuando son visitados por el resto de usuarios, nos encontraramos con una pgina Web casi ilegible, llena de palabras claves sin sentido. Esta tcnica no es nueva, y es conocida como 'Cloaking' (a veces tambin se le denomina 'encubrimiento'). Si visitamos la cache de un sitio Web que practica el 'Cloaking', nos encontraramos con una pgina diferente de la que veramos nosotros. Texto oculto Se entiende fcilmente el porque nos puede penalizar un buscador. No hay que confundir texto oculto con ocultar texto, expliquemos esto. La manera de entender el porque nos pueden penalizar es muy simple, texto oculto es todo aquel que no es accesible para el usuario. Una tcnica que es muy usada es la de escribir trminos clave del mismo color de fondo de la pgina con lo que no podremos verlo pero si lo recoger el robot. Otra es la de ocultacin de capas. Mediante un contenedor <div> se oculta la capa mediante la propiedad visibility:hidden de forma que el usuario no pueda verlo. Por si los bots detectan esta propiedad y les salta una alerta se invent la idea de mandarlo al infinito. Se pone texto rico en palabras clave en un contenedor y se le dan unas coordenadas de posicin muy lejanas. Con la propiedad overflow:hidden evitamos que salgan los Scholl de los navegadores para no hacer feo. Estas y otras como la de poner texto diminuto o poner capa sobre capa, son algunas de las tcnicas de ocultacin de cdigo.

96

Pero en ocasiones podemos introducir texto con sentido ricos en trminos que nos interesan perorando acceso a ellos mediante algn botn o enlace de manera que sea visible por el usuario. Pginas duplicadas Muchos webmasters generan el mismo contenido en dos o ms pginas web. Por ejemplo, con un acceso a una base de datos, consiguen que el contenido de 'www.misitio.com/pagina1.php' sea el mismo que www.misitio.com/contenidos/pagina2.php'. De esta manera, pueden desde estas dos pginas enlazar a otra tercera, que es la que realmente quieren promocionar. Han creado dos pginas Web (se pueden crear incluso ms), pero solamente han hecho el trabajo de una. Enlaces ocultos Los enlaces ocultos son una variante del texto oculto. Esta tcnica es realizada por muchos webmasters que quieren promocionar otros sitios web y, al no ser capaces de conseguir enlaces externos, utilizan sus propias pginas. Para crear estos enlaces (algunas veces suelen ser decenas de ellos), los insertan del mismo color que el fondo de las pginas, con el objetivo de que no sean vistos por los visitantes, pero s por el robot de Google. Spam en weblogs y libros de firmas Muchos webmasters, al ser incapaces de conseguir enlaces externos desde otros sitios Web, recurren a una tcnica que no necesita de la aprobacin de los webmasters de estos sitios Web: el spam.

Figura 52.- Incremento del spam en los libros de firmas

97

La mayora de los weblogs incluyen la posibilidad de que los visitantes puedan dejar sus opiniones acerca de las noticias publicadas en estos weblogs. Los libros de firmas ('guestbooks') son espacios de algunas pginas web donde la gente puede dejar sus saludos y comentarios. Tanto en los weblogs como en los libros de visitas se suele dar la opcin de incluir el nombre y un enlace al sitio Web de la persona que opina o saluda. De esta manera, el enlace queda: <A href=http://www.sitio-web-del-visitante.com>Nombre del visitante</A> Muchos 'spammers' insertan como su nombre las palabras clave, y como enlace el de la pgina Web que quieren promocionar. De esta manera, consiguen un enlace realmente ptimo, ya que muchos de estos weblogs y libros de firmas tienen un PageRank realmente apetecible. El comentario es lo menos importante en estos casos. Estos 'spammers' dejan mensajes tan simples como 'Felicidades por tu web' o 'Yo opino como t'. Hay ocasiones en que ni siquiera es importante las palabras clave. Simplemente se busca aumentar el PageRank de las pginas, para poder vender enlaces en un futuro. Para los creadores de los weblogs y en los libros de firmas la solucin es realizar los enlaces mediante JavaScript o dicindole no_index, no_follow para que no lo indexe ni siga. Debido a que el robot de Google no los tiene en cuenta, los visitantes podrn acceder a estos sitios Web, pero no sern tenidos en cuenta para la trasmisin del PageRank. De todas maneras, se sospecha que Google, entre otros est comenzando a no tener en cuenta los enlaces provenientes de los libros de firmas. Aunque esta tcnica est englobada como fraudulenta en ocasiones puede que nos interesa teniendo en cuenta las consecuencias, pero esto queda en manos del Webmaster.

98

4.2.- Ficheros complementarios


Una de los puntos que tienen muy en cuenta los crawlers (robots de bsqueda) es la velocidad de carga de de las pginas y la velocidad de comprobacin de un sitio Web. En este sentido podemos ayudarnos con ficheros externos al propio cdigo de las pginas que nos ayudarn en este sentido.

4.2.1.- Sitemap
Crear un mapa del sitio es importante tanto para el usuario como para los robots. Es por tanto que en este aspecto no hablemos de un solo fichero sino de varios. La creacin de un fichero sitemap.html que nos informe del esquema que tiene la Web ayuda al usuario a la hora de moverse por la web pero de igual manera puede ayudar a los bots a indexar las pginas de nuestra web. De la misma manera podemos ayudar a los crawler con los ficheros sitemap.txt y sitemap.xml, este ltimo es el ms tenido en cuenta. Un sitemap.xml le da la idea mediante un lenguaje de marcado (como lo es HTML) de las pginas que componen nuestra Web. Se le puede introducir una serie de premisas: <loc>: es la nica de las nombradas que es obligatoria. Indica la URL de la pgina. Esta URL debe comenzar con el protocolo (por ej., http) y acabar con una barra diagonal, si su servidor Web as lo requiere. Este valor debe contener menos de 2.048 caracteres. <lastmod>: Fecha de la ltima modificacin del archivo. Esta fecha debe encontrarse en formato Fecha y hora de W3C. <changefreq>:Frecuencia con la que puede cambiar esta pgina. Este valor proporciona informacin general a los motores de bsqueda y es posible que no se corresponda exactamente con la frecuencia de rastreo de la pgina. Valores aceptados: Always, hourly, daily, weekly, monthly, yearly,,never El valor "always" (siempre) debe utilizarse para describir documentos que cambian cada vez que se obtiene acceso a ellos. El valor "never" (nunca) debe utilizarse para describir direcciones URL archivadas. Jay que tener en cuenta que el valor de esta etiqueta se considera una sugerencia y no una orden. <priority> La prioridad de esta direccin URL es relativa con respecto a las dems URL de su sitio. Los valores vlidos abarcan desde 0,0 a 1,0. Este valor no afecta a la comparacin de sus pginas con respecto a las de otros sitios; nicamente permite

99

informar a los motores de bsqueda de las pginas que considera ms importantes para los rastreadores. La prioridad predeterminada de una pgina es 0,5. Finalmente hay que saber que aunque la mayora de los robots recogen este fichero siempre que se encuentre en la raz de mi alojamiento, existen herramientas para Webmaster como las de Google donde podemos indicar la ruta de nuestro fichero para mayor seguridad o simplemente porque no podemos colgarlo en la ubicacin que indicbamos.

4.2.2.-Robots.txt
Este fichero va ms all de la ya nombrada metatag robots. El fichero robots.txt es un archivo de texto que dicta unas recomendaciones para que todos los crawlers y robots de buscadores cumplan (ojo! recomendaciones, no obligaciones). Estas son: - Impedir acceso a robots determinados: Puede parecer contradictorio, pero algunos crawlers no nos proporcionarn sino problemas. Algunos robots no son de buscadores, e incluso algunos robots no son ni amigos. - Reducir la sobrecarga del servidor: Podrs controlar el flujo de algunos robots. Algunos de ellos son un verdadero descontrol de peticiones que pueden llegar a saturar nuestro servidor. - Prohibir zonas: Nos puede interesar tener disponible una zona en nuestra Web, que sea accesible para algunos, pero que no aparezca en buscadores. - Eliminar contenido duplicado: Uno de los casos ms importantes, que casi siempre es olvidado por los webmasters. Si eliminamos la duplicidad de contenido, los buscadores nos puntuaran muy alto, aumentando el flujo de visitas. - Fijar mapas del sitio: Tambin es posible acoplar un sitemap para indicar el buen camino a los robots. Slo tenemos que crear un fichero de texto robots.txt y comenzar a escribir en el. En User-agent debemos introducir el nombre del robot, y a continuacin las rutas donde queremos prohibir que acceda. Algunos ejemplos: - Disallow: / prohibe la entrada a todo el sitio. - Disallow: /admin/ prohbe la entrada a los documentos del directorio admin. - Disallow: permite la entrada a todo el sitio. En algunos casos suele utilizarse en lugar de Disallow, la palabra Allow. Aunque por definicin es correcta, es conveniente no utilizarla, puesto que las rutas omitidas se asumen que estn permitidas por defecto, y algunos robots no entienden la palabra Allow.

100

Carpetas y ficheros que podemos introducir en estas lneas son carpetas que contengan imgenes, ficheros de estilos .css y javasciprt .js, tambin los ficheros flash .swf, aunque algunos bots empiezan a indexarlos pero no les da informacin, y carpetas de configuracin de nuestro hosting. Es posible ir acumulando reglas para distintos crawlers, formando un robots.txt ms largo y completo. Cada vez que escribamos un User-agent deberemos dejar una lnea en blanco de separacin. Adems, existe una ligera adaptacin que permiten usar comodines ($ y *) en las rutas en algunos crawlers (slo Googlebot y Slurp). Si revisamos estadsticas y dems, tambin puedes observar que a veces algunos crawlers se exceden revisando nuestro sitio, y saturan de peticiones a nuestro servidor. Existe una manera de tranquilizar a los robots con Crawl-delay: 30 (el numero son segundos hasta el prximo acceso) Por ltimo con Sitemap: http://www.casarural-sansofi.com/sitemap.xml le indicamos al robot un mapa del sitio.

4.2.3.- .htaccess
.htaccess es un fichero de configuracin oculto en la raz de nuestro servidor (hosting) y que nos permite una serie de acciones para que Google u otros buscadores con consideren sitios de calidad y amigos con tcnicas que ya hemos descrito anteriormente como las urls amigables o evitando contenido duplicado por distintos accesos. Obligar el uso del www: El contenido duplicado puede llevarnos a penalizaciones por parte de los buscadores. No hay una regla escrita de si se debe obligar al sitio a entrar son www o con l pero es muy recomendable decantarse por uno solo ya que el tener los dos accesos puede llevar a error a los buscadores pensando que el contenido est duplicado. Mi modo de pensar se inclina por el www ya que Internet esta ligado para muchas personas con este trmino. Se realiza mediante un redireccionamiento permanente 301. # Quitar el www del nombre de dominio 1. RewriteCond %{HTTP_HOST} ^www\.casarural-sansofi\.com$ [NC] 2. RewriteRule ^(.*)$ http:// casarural-sansofi.com/$1 [R=301,QSA,L] # Redirigir el dominio sin www a www 1. RewriteCond %{HTTP_HOST} ^ casarural-sansofi \.com$ [NC] 2. RewriteRule ^(.*)$ http://www. casarural-sansofi.com/$1 [R=301,QSA,L]

101

Lectura de URLs amigables por sus respectivas rutas dinmicas: Para esto ya tendras que haber logrado la creacin adecuada de las URLs amigables. Asumiendo eso ahora nos corresponde ejecutar en htaccess la segunda parte del proceso: lograr que esas URLs amigables sean ledas a travs de sus respectivas URLs dinmicas. Redireccionar las antiguas URLs dinmicas a las nuevas amigables de forma permanente: Si antes utilizabas nicamente URLs dinmicas y has decidido cambiar a URLs amigables, es necesario hacrselo saber a los buscadores. Tendrs pues que establecer en el htaccess que TODAS las antiguas URLs dinmicas te las redirecciones permanentemente a sus respectivas amigables. Existe multitud de informacin ms que se puede dar a travs de este fichero como el bloquear el acceso a ciertos ficheros, pero estas dos son las importantes por haber hablado de ellas como tcnicas de optimizacin de sitios Web.

4.2.4.- Estilos y javascript


Ya hemos hablado de la descarga de tamao de imgenes para aumentar la velocidad de carga de una pgina pero tambin los buscadores ven con muy buenos ojos que los ficheros tengan un tamao al menos no muy grande. Una tcnica que nos puede ayudar doblemente es la de sacar todos los cdigos que sean posibles a ficheros externos y adems bloquear estos con el fichero robots.txt y .htaccess. De esta manera quitamos ms peso a las pginas pero, qu ms ganamos. Con esta tcnica podemos modificar los estilos de por ejemplo los <h1> evitando que tengan un tamao muy grande y poderlo disimular ms a vista del usuario pero no a vista de los robots de los buscadores. Veremos como hacerlo ms adelante en el desarrollo de las optimizaciones.

102

4.3.- Promocin externa


Primero hay que saber que se entiende por promocin externa. Como ya hemos visto los buscadores se basaban solo en los datos que recogen de las propias pginas para ordenar en sus buscadores los resultados de bsqueda. Pero Google revolucion esta idea con su algoritmo de posicionamiento llamado PageRank. No fue el nico pero si el primero y actualmente la idea se mantiene para el resto de buscadores. La idea de este algoritmo es valorar, y en gran medida, la presencia de una Web en Internet de forma externa a ella misma. La manera como haran esto es observando y valorando los enlaces a nuestro sitio desde otras pginas. En trminos generales, cuando cualquier usuario ingresa una consulta en el motor de bsqueda, el motor de bsqueda necesita determinar cul es el mejor resultado que debe retornar. Uno de los pasos claves, es evaluar que pgina relacionada con la consulta es la ms importante, o que pgina tiene ms autoridad de acuerdo a la bsqueda. Uno de los factores ms importantes para decidir esto es el perfil del enlace del sitio que contiene la pgina web que se est evaluando. En principio, cada enlace a una pgina web se considera un voto para esa pgina Web. En trminos simples, si hay dos pginas que son igualmente relevantes para una consulta en particular, la pgina con mejor nmero de perfiles de enlaces entrantes ser posicionada mejor que las otras pginas. Lo motores de bsqueda no premian aquellos que se sientan a esperar que los enlaces lleguen a ellos. Promocionar el sitio corresponde al editor, quien debe decirle al mundo acerca de su sitio Web y conseguir personas que enlacen este. Los editores que no dedican tiempo al Link Building tienen un alto riesgo de perder su trfico desde los motores de bsqueda o aquellos que nunca incrementan el nmero de sitios que apuntan hacia su sitio Web pueden no cumplir sus objetivos de trfico. Cuando hacemos Link Building debemos pensar si un determinado enlace ayudara o no a posicionar una pgina en el largo plazo. Para ilustrar esto, hay varios tipos de enlaces que los editores pueden obtener pero que los motores de bsqueda penalizan. Por ejemplo, Google ha adoptado una postura fuerte contra la prctica de comprar enlaces con el propsito de influenciar la clasificacin del ndice en el motor. Sin embargo, mucha gente todava compra enlaces y es posible que esta prctica funcione para muchos de ellos, al menos en el corto plazo. No obstante, Google invierte activamente recursos en encontrar enlaces pagados y otros esquemas que desvirtan el servicio de bsqueda. Aunque estos enlaces trabajen en el corto plazo para los editores, no hay garanta que trabajara a largo plazo. Esto nos lleva a una eleccin que todo editor debe hacer: Si llevar a cabo estrategias a corto plazo, como la compra de enlaces, que pueden traer resultados ms rpidos con menos esfuerzo, o aplicar estrategias a largo plazo que tienen un riesgo mucho menor.

103

Por todas las anteriores razones, nosotros no recomendamos comprar enlaces pagados como estrategia para mejorar la posicin en los resultados de Google u otro motor bsqueda. Desde el punto de vista del posicionamiento la forma de conseguir esto es fcil pero muy complicada a la vez. Fcil porque la idea est clara, enlazar nuestra pgina desde otros sitios, pero cmo conseguir esos enlaces es lo complicado. Existen diferentes maneras de conseguirlo, no todas al alcance de cualquiera, y no todas con el mismo resultado como explicamos a continuacin.

4.3.1.- Directorios
Ya hablamos de los buscadores en la introduccin. Cunado hablamos de estos nos referimos siempre a directorios de gran tamao como el antiguo Yahoo o el actual DMOZ, aunque existen muchos ms. Google y los principales buscadores buscan en estos directorios nuevas pginas que indexar y datos relativos a presencia de una Web por medio de los enlaces existentes en los diferentes directorios. Directorios Pblicos: En la Red se encuentran una gran cantidad de directorios pblicos donde podemos dar de alta nuestras Web. Al introducir los datos referentes a esta nos piden un titulo, descripcin y unos trminos que sern nuestros trminos de bsqueda, de manera que muchos de estos enlaces al menos estn bien construidos. Estos enlaces que conseguimos hacia nuestra pgina nos ayudan a dar presencia pero han de ser bastantes para que nos ayuden en gran medida a posicionamiento en buscadores. El motivo es que normalmente los enlaces vendrn de pginas muy internas de los directorios con una valoracin de PageRank(en el caso de Google) muy bajo o nulo. Algo que si se tiene ms encuentra son los directorios sectoriales que hablen del mismo sector del que es tu Web. Deberas intentarlo en DMOZ. Se trata de un directorio de carcter pblico y abierto, y est gestionado por editores voluntarios. Aparte de conseguir enlaces en dmoz.org, uno de los directorios con mayor PageRank es el de Yahoo!. A diferencia del primero, ste se trata de una compaa privada, pero tambin sus editores valoran la calidad de los sitios Web antes de aceptarlos. Directorios Privados: Si nos dedicamos al posicionamiento en buscadores nosotros mismos podemos crearnos nuestro mini directorio con pginas que no superen lo 60 link. Organizando por algn sector genrico y con pginas que con el tiempo vayan cogiendo PageRank gracias a promocin de estos directorios. Otra ventaja es que los gestionamos nosotros con lo que cremaos enlaces de la forma que ms nos interese. Un enlace completo seria el compuesto por: nombre empresa-sitio

104

+ etiqueta <a> con etiquetas de titulo y alternativas en la que ponemos trminos clave + trminos clave que sern los enlaces a nuestro sitio + descripcin en la que nuevamente se habla de los trminos pero sin abusar <Ahref=http://www.sitio.com/pagina.html>Palabra(s) clave(s)</A> Adems hay que aadir que Google y otros buscadores consideran enlaces de ms calidad los que vienen de pginas externas a nuestro sitio pero que no tienen respuesta por nuestra parte, es decir que no son recprocos. El motivo es que Google considera que se est linkando porque el sitio externo considera que nuestro contenido es de calidad. Existe una amplia lista de directorios en la red. El alta en estos se recomienda hacerla de forma manual con descripciones diferentes y rellenando en cada caso los datos que nos pidan de la forma ms completa. No obstante existen herramientas para automatizar estatarea agilizando este trabajo pero perdiendo en calidad.

4.3.2.- Enlaces desde otras pginas


Hasta este punto toda persona puede servirse de sus conocimientos o de los recursos que le da la Internet. Pero si lo que queremos es hacer aun ms fuerza tendremos conseguir una promocin de nuestra Web desde ms pginas. El mtodo ms fcil para las empresas es la de linkar a sus clientes entre si, creando una pgina en cada cliente con no ms de 60 link (evitar ser un 'link farms') que cuelgue de la Home para que tenga ms peso, o incluso de la Home, en pocos enlaces. De la misma manera que antes podemos hacer enlaces de calidad tanto sobre cdigo como por el hecho de que estos no son recprocos. Solo hay un problema. Google penaliza las redes de enlaces con lo que nuestro trabajo, dentro de la organizacin, ha de ser catico para no llegar a ser descubiertos y que pase por enlaces corrientes. En este sentido hay que ser cautos a la hora de enlazar un sitio pues una de las maneras en que Google puede darse cuenta es que no se va a creer que un sitio nuevo o sin serlo, sea enlazado de la noche a la maana por multitud de pginas. Esto es conocido por el efecto Sandbox de Google el cual te restringe la entrada a los primeros puestos durante los primeros periodos de vida de tu dominio para comprobar que posteriormente sigues recibiendo nuevos enlaces y de ser as permitir su acceso. Dentro de estas penalizaciones est la posibilidad de ser enlazados por pginas de contenido blico, sexual, temas de salud en los que estn implicados problemas de anorexia, contenido xenfoboDesde mi punto de vista no seremos penalizados, ya

105

que cualquiera que nos quiera hacer dao lo hara por este medio, pero sern enlaces con muy poca fuerza o ninguna. Como hemos dicho conseguir este tipo de enlaces es ms fcil para una empresa que para un particular. Pero no hay que rendirse. La Red es enorme y siempre hay gente dispuesta a recibir informacin para la creacin de sitios nuevos. La mejor manera de empezar a pedir enlaces es estudiando a tu competencia. link:http://www.casarural-competencia.com (muestra los llamados 'backlinks', los sitios Web que lo enlazan con un PR mayor que 3 4). As sabrs en qu sitios ha conseguido tu competencia sus links. Nosotros podemos hacer lo mismo. Otra de las acciones es la de compra de enlaces. Por supuesto, Google no va a tolerar que nadie cobre dinero por insertar enlaces desde sus pginas gracias al PageRank conseguido, y lo que est haciendo en algunas ocasiones es penalizar a estos sitios web que insertan los links. En estos casos la compra de enlaces puede ser una opcin pero peligrosa ya que podemos ser penalizados aunque normalmente Google no elimina de los resultados, y quiz tampoco reduzca su PageRank, ya que Google considera que la informacin que contiene puede resultar valiosa para algunas bsquedas. Lo que hace sencillamente es impedir la posibilidad de que estas pginas Web 'transmitan' el PageRank. Simplemente, no sigue los enlaces desde ellas. El link Building es una prctica en SEO que tiene como objetivo que otros sitios Web creen vnculos hacia un sitio Web en particular.

4.3.3.- Posicionamiento con pago por click


Los sistemas de pago por click (PPC) consisten bsicamente en pagar por poner publicidad de tu sitio en otras pginas Web y buscadores. Es un modelo de publicidad en el que el anunciante paga una cantidad especfica de dinero cada vez que un usuario pincha en un enlace (anuncio) que le lleva a su sitio Web. Los ms populares (Google Adwords, Overture, etc.) representan una buena manera de aumentar nuestras visitas rpidamente, aunque no todo el mundo tiene el presupuesto para hacerlo. Su funcionamiento es sencillo. Los anuncios se muestran en la pgina ordenados segn la cantidad de dinero que paga el anunciante por click, de forma que los que ms pagan son que aparecen primero.

106

Figura 53.- Anuncios adwords de google

Adwords de Google Adwords es seguramente el sistema de pago por click ms conocido y usado. Es una buena forma de conseguir trfico hacia tu Web. Con este servicio de Google puedes anunciar tu Web en el buscador apareciendo en las primeras pginas de los resultados de bsqueda (en los enlaces patrocinados) para las palabras que ms te interesen. Los anuncios tambin aparecen en pginas Web relacionadas con el contenido de lo que anuncias, estas pginas provienen de la base de datos del programa de Adsense, que paga a los webmasters por mostrar publicidad en sus pginas. En el caso de Adwords, los resultados y la posicin en la que salga tu anuncio depende del dinero que ests dispuesto a pagar y la temtica de la Web, entre otras cosas (hay temas con ms anunciantes y por tanto ms caros). Pero no te asustes, no hay que invertir grandes cantidades de dinero para anunciarse en Google (la cantidad mnima al mes son 30 euros). Hacemos los anuncios como creamos conveniente, indicamos las palabras clave para las que quieres que tu anuncio compita por los primeros puestos en los enlaces patrocinados de las bsquedas y estableces la cantidad mxima a pagar por click. Por supuesto, esto slo es un mnimo resumen acerca de lo que AdWords es, para obtener una referencia ms amplia puedes visitar: Blog de AdWords, Centro de aprendizaje de AdWords. Este sistema resulta muy til para aquellas webs que empiezan y necesitan comenzar a tener visitas rpidamente, para publicitar un producto especfico, para conseguir trfico segmentado hacia tu Web (altamente interesado en lo que ofreces), para dar a conocer tu empresa y para salir en las primeras pginas de los resultados de bsqueda para las palabras clave que trabajas cuando el posicionamiento an no ha dado sus frutos.

107

4.3.4.- Redes sociales


El auge en los ltimos aos de las redes sociales ha llevado a la idea de crear campaas similares a las ofrecidas por buscadores pero en este mbito. Facebook y Twiter son los principales precursores como redes sociales en implantar este servicio. Pgina de la casa rural en facebook: http://www.facebook.com/profile.php?id=100001400339239 Para muchos negocios desarrollar una estrategia de marketing basada en redes sociales es esencial y es la ms rentable de las promociones posibles. En principio, una estrategia de redes sociales es imprescindible para aquellas empresas que cumplan uno o ms de los siguientes requisitos: - Que sus productos o servicios sean de consumo repetitivo. - Que sus productos o servicios sean contratados basados principalmente en la recomendacin de amigos o familiares. - Que sus productos se comercialicen en base a modas o comportamientos sociales de aceptacin de marca.

4.4.- Publicacin en portales especializados


Ya sea va online o va medios fsicos, la realizacin de campaas de publicidad de nuestra empresa nos va a generar nuevamente trfico a nuestra pgina y por tanto mejorar la valoracin por los buscadores. Nos vamos a centrar en la publicidad online, concretamente en la publicacin en portales especializados del sector, puesto que la mayora del mercado no llegar a nuestra pgina web directamente, sino que lo har por medio de un portal web donde nos pueda encontrar junto con otros alojamientos rurales, para as comparar precios, situacin, disponibilidades, etc Para ello de nuevo utilizamos el buscador google del dominio .es e introducimos los trminos de bsqueta ms genricos casa rural tal y como hemos visto en el punto 4.2.- Tcnicas de posicionamiento, concretamente en el apartado estudio de los trminos Tras realizar la bsqueda en google.es, estos son el nombre de los 8 primeros portales que aparecen al introducir los trminos casa rural: www.toprural.com

108

www.casarural.es www.escapadarural.es www.todaslascasarurales.com www.todocasarural.com www.rinconesdelmundo.com www.tuscasasrurales.com www.e rural.com Que aparezcan bien posicionados en el dominio google.es no es sinnimo recibir ms visitas que otro portal que este peor posicionado, para asegurarnos de ello haremos uso de la herramienta Alexa, provee informacin acerca de la cantidad de visitas que recibe un sitio web y los clasifica en un ranking. Alexa recoge informacin de los usuarios que tienen instalado Alexa Toolbar, lo cual le permite generar estadsticas acerca de la cantidad de visitas y de los enlaces relacionados. Tambin proporciona una grfica donde se puede apreciar perfectamente el crecimiento/decrecimiento de las visitas a una pgina web, adems de la informacin diaria (solo las 100.000 primeras pginas de la clasificacin), media semanal y media de los ltimos tres meses. Analizando en la web de alexa.com cada portal de alojamientos rurales obtenemos la siguiente informacin:

Informacin de sitio para toprural.com Trfico en el ranking de Alexa: 17,349 Enlaces al sitio: 3,475 Informacin de sitio para casarural.es Trfico en el ranking de Alexa: 4,028,336 No hay informacin regional Enlaces al sitio: 26 Informacin de sitio para escapadarural.com Trfico en el ranking de Alexa: 43,347 Enlaces al sitio: 691 Trfico en el ranking ES: 897 Trfico en el ranking ES: 419

Informacin de sitio para todaslascasarurales.com Trfico en el ranking de Alexa: 272,104 Enlaces al sitio: 628 Trfico en el ranking ES: 13,210

109

Informacin de sitio para todocasarural.com Trfico en el ranking de Alexa: 323,205 Enlaces al sitio: 458 Trfico en el ranking ES: 14,064

Informacin de sitio para rinconesdelmundo.com Trfico en el ranking de Alexa: 163,723 Enlaces al sitio: 550 Trfico en el ranking ES: 4,310

Informacin de sitio para tuscasasrurales.com Trfico en el ranking de Alexa: 480,254 Enlaces al sitio: 772 Informacin de sitio para erural.com Trfico en el ranking de Alexa: 649,897 Enlaces al sitio: 1,049 Trfico en el ranking ES: 47,738 Trfico en el ranking ES: 21,195

Como informacin complementaria aadiremos un portal extranjero www.iha.com, puesto que tiene difusin a nivel mundial, aunque nos centraremos en analizar y comparar su dominio francs iha.fr, los alojamientos rurales de la costa Mediterranea son muy demandados por los franceses

Informacin de sitio para iha.fr Trfico en el ranking de Alexa: 90,563 Enlaces al sitio: 2,747 A parte despreciaremos el dominio casarural.es, puesto que en el ranking Alexa estaba muy desplazado de los dems, se podra considerar un dato anmalo, aunque tuviera buen posicionamiento en google se ha demostrado que es un portal que no interesa. Trfico en el ranking FR: 3,942

110

700000 600000 500000 400000 300000 200000 100000 0 1 toprural.com iha.fr escapadarural.com todaslascasasrurales.com todocasarural.com rinconesdelmundo.com tuscasarurales.com erural.com

Figura 54.- Grfico del trfico en el ranking Alexa

En la figura 54 podemos observar como a nivel del ranking Alexa tenemos tres dominios destacados, fijmonos que estamos hablando de posicionamiento y que por tanto un mejor posicionamiento pertenece a un nmero menor, en este caso los tres mejores posicionados son toprural.com, iha.fr y escapadarural.com, en cuarto lugar estara rinconesdelmundo.com, pero a una distancia el doble de alejada que iha.fr, por tanto en este grfico nos quedamos con los tres dominios anteriormente mencionados.

60000 50000 40000 30000 20000 10000 0 1 toprural.com iha.fr escapadarural.com todaslascasasrurales.com todocasarural.com rinconesdelmundo.com tuscasarurales.com erural.com

Figura 55.- Grfico del trfico en el ranking nacional

En la anterior figura obtenemos un resultado muy similar al obtenido en la Figura 54, aunque aqu la diferencia entre rinconesdelmundo.com e iha.fr es mucho menor, de

111

todos modos elegimos escapadarural.com e iha.fr

como

los

tres

mejor

posicionados

toprural.com,

4000 3500 3000 2500 2000 1500 1000 500 0 1 toprural.com iha.fr escapadarural.com todaslascasasrurales.com todocasarural.com rinconesdelmundo.com tuscasarurales.com erural.com

Figura 56.- Grfico de los sitios que enlacen con dichos portales

En cuanto a sitios que enlazan con el portal web observamos como toprural.com e iha.fr estn en cabeza destacados, perseguidos por erural.com a casi el triple de diferencia de estos dos en cabeza, luego vienen los dems portales rurales. Por tanto, tras realizar el siguiente estudio de mercado en cuanto a portales rurales, nos decantamos por analizar ahora los portales escapadarural.com, iha.fr y toprural.com Escapada rural Podemos decir que es el segundo portal detrs de toprural.com mejor posicionado y que ms visitantes recibe a nivel nacional. En la Figura 57 podemos observar el aspecto grfico del anuncio en el portal escapada rural, aportando la informacin necesaria a los futuros huspedes: Ubicacin Capacidad Precio medio Tipo de alquiler Telfono Pgina web

112

Figura 57.- Aspecto del anuncio en escapada rural

Figura 58.- Aspecto de la descripcin del anuncio en escapada rural

113

Y las secciones son muy similares a las elegidas en nuestro proyecto en el punto 3.3.1 Nivel de presentacin, esto se puede apreciar en la Figura 58, las secciones en este portal en concreto son: Alojamiento, Precios, Fotos, Como llegar y Contactar. En la siguiente tabla mostramos un smil de las secciones de escapada rural con las de nuestro sitio web Escapada rural Pgina web Alojamiento La Casa Precios Tarifas Fotos Como llegar Imgenes Ubicacin Contactar Contacto

Tabla 4.- Secciones escapada rural

Para modelar el anuncio hemos usado las mismas imgenes y texto que para nuestra pgina web, aunque este tipo de portales por su diseo nos ofrece una mayor capacidad para describir el lugar y una galera dinmica de hasta 50 imgenes. En este portal podemos registrar nuestro alojamiento rural de gratuita, aunque nuestro anuncio se encontrar en los ltimos resultados de bsqueda, tendremos galera limitada y el anuncio no dispondr de foto principal. La siguiente opcin es la ficha completa, disponible por 180/ao, por delante en los resultados de bsqueda que estando gratuitamente y por ltimo nos encontramos con la ficha completa plus, se ofrece por 320/ao y nos sita por delante de la ficha completa. IHA

Figura 59.- Aspecto del anuncio en IHA

114

La interfaz grfica del anuncio en iha es un poco diferente al anterior diseo de escapada rural, que a su vez este diseo era muy similar al elegido nosotros al realizar el sitio web del presente proyecto. En la Figura 60 observamos como la galera de imgenes se trata de un video de las fotos que aparecen en la seccin de imgenes en la pgina web de la casa rural y tras intervalos de 5 segundos van cambiando. Nos ofrece tambin este portal una gran variedad de especificaciones tcnicas de la casa y su entorno, tal y como vemos en las Figuras 60 y 61.

Figura 60.- Aspecto de la descripcin en IHA

La estructura de la pgina es algo compleja, pero toda la informacin se encuentra en el mismo archivo principal, solo hay que ir arrastrando el scroll para desplazarse hacia abajo y encontrar ms informacin. En este portal la estrategia a seguir en cuanto a packs de pago es la misma que en escapada rural, podemos tener nuestro anuncio gratuitamente durante un periodo ilimitado o podemos decidir pagar y cuanto mayor sea la cuota anual que pagamos mejor posicionados estaremos y mayores sern las funcionalidades que nos ofrecer el portal para mejorar nuestro anuncio. Los packs llevan el nombre de piedras preciosas: diamante este ser el ms caro, por 135/ao, zafiro por 105/ao y esmeralda nos saldr por 75/ao.

115

Figura 61.- Aspecto de la continuacin de la descripcin en IHA

Top rural

Figura 62.- Aspecto del anuncio en top rural

116

El portal Top rural nos ofrece una interfaz con casi las mismas secciones que hemos elegido para nuestra pgina web, incluyendo por su parte una seccin de vdeos y otra de ofertas. Por otro lado observamos como su interfaz grfica es casi idntica a la de escapada rural, ambos portales compiten entre si por ser el nmero uno a nivel nacional, aunque top rural desde hace bastantes aos consigue los mejores resultados. En cuanto a novedades, si lo comparemos con escapada rural, este portal ofrece la seccin de opiniones, muy importante para generar confianza a los futuros huspedes y las secciones de vdeos y ofertas ya citadas anteriormente.

Figura 63.- Aspecto de la descripcin en top rural

Observamos como la pgina principal del anuncio, la seccin ficha concretamente es similar en cuanto a idea de diseo que los anuncios del portal iha, en l aparece toda la informacin a modo de resumen y el usuario solo debe desplazar el scroll hacia abajo para recorrer la informacin que en dicha seccin aparece. Esto lo podemos apreciar en las Figuras 63 y 64, siendo esta la continuacin de su predecesora.

117

Figura 64.- Aspecto de la continuacin de la descripcin en top rural

En este portal la estrategia a seguir en cuanto a packs de pago es la misma que en escapada rural e iha, a excepcin de incluir la posibilidad de registrarse gratuitamente en la pgina. Este portal est muy bien posicionado y puede permitirse el lujo de no ofrecer fichas gratuitamente. Como en los anteriores portales cuanto mayor sea la cuota anual que pagamos mejor posicionados estaremos y mayores sern las funcionalidades que nos ofrecer el portal para mejorar nuestro anuncio. Aunque en este caso lo ms cotizado es el buen posicionamiento. Existen 4 modalidades: exclusiva, por 5000/ao, prestigio por 1296/ao, oro por 432/ao y plata por 165/ao Cabe mencionar que las diferencias son notorias, por ello tanta diferencia de precio. Top rural domina el mercado y crea tendencia, de ah que el formato de los anuncios de escapada rural sea tan similar al ofrecido por Top rural.

118

CAPITULO V

Conclusiones
En este apartado enumeraremos las conclusiones a las que he llegado durante la elaboracin del Proyecto Fin de Carrera y adems citaremos una serie de trabajos futuros sobre este tema.

Conclusin
Principalmente me ha servido de ayuda la realizacin del presente PFC para ponerme al da en cuanto a tecnologas de la red, puesto que he abarcado una gran temtica en el presente trabajo. Tanto como instalador y configurador de sistemas; pasando por programador haciendo uso de los lenguajes y tecnologas ms comunes de la red; y por ltimo enfrontndome a la red para conseguir un mejor posicionamiento. Tambin me ha servido de ayuda para documentar algunas tareas que realic desde har un par de aos atrs hasta prcticamente hoy, puesto que el punto 3 de creacin del entorno web fue una tarea que empec hace un par de aos y no exista documentacin alguna sobre ello, para esto ha sido de relevante importancia la asignatura de ingeniera del software. No solamente eso, sino que he podido conocerme ms a mi mismo y descubrir una capacidad de organizacin y constancia que siempre haba tenido pero no he sido consciente de ella hasta ahora. Me he tenido que valer de la realizacin de un plan de trabajo para llevar el control del tiempo y las tareas que iba llevando a cabo en cada momento. Concluyendo y con total conviccin, puedo afirmar que todo lo aprendido hasta el da hoy, ha superado ampliamente mis expectativas iniciales y me siento afortunado de haber seleccionado esta temtica para mi Proyecto Final de Carrera.

Trabajos Futuros
En cuanto a trabajos hay que mencionar en concreto la implementacin de ciertos casos de uso para mejorar la funcionalidad de la pgina web que en su momento fueron citados en dicho proyecto, pero que no han podido ser llevados a cabo. Tambin cabe mencionar, una vez realizado el proyecto y viso desde fuera, que el ttulo ms coherente del proyecto hubiera sido: Instalacin, desarrollo y promocin de

119

aplicacin web estudiando diversas alternativas, pero es algo que decides antes de la realizacin del proyecto y en este momento no se puede cambiar. Otro trabajo futuro sera montar un servidor en casa, puesto que durante la realizacin se hizo pero de modo experimental, no fue contratada una ip esttica, ni se compr un SAI para alimentar el equipo en caso de cortes de corriente ni tampoco el hardware fue el ms indicado. A decir verdad me he quedado con ganas de experimentar ms con servidores. En cuanto a la parte software siempre se puede mejorar ms, pero ello el tiempo lo dir, como se trata de un proyecto sobre un negocio familiar no tendr ningn problema en mejorar la pgina web en futuras ocasiones.

120

CAPITULO VI

Bibliografa
lvarez, M.A. Desarrollo Web, Tu mejor ayuda para aprender a hacer webs. (http://www.desarrolloweb.com). Buenda, F. Una gua para la realizacin y supervisin de proyectos final de carrera (PFC) en el mbito de la web. Factora de Internet, S.L. WebTaller (http://www.webtaller.com). Sanger L., Wales J. Wikipedia, La enciclopedia libre. (http://es.wikipedia.org). Welling L., Thomson L. Programacin Desarrollo Web con PHP y MYSQL. Ed. Anaya Multimedia, S.A., 2009. - Jaime Sivorich, Cristian Darie Optimizacin del posicionamiento en buscadores con PHP. Profesional. Editorial ANAYA http://www.cinetube.es/documentales/google_fabrica_de_ideas.html http://www.promocionatuweb.com/articulos/tipos-buscadores.php http://www.ylos.com/spa/item/Clases-de-buscadores.html http://www.emezeta.com/articulos/robots-txt-todo-lo-que-deberia-saber http://posicionamientobuscadores.developers4web.com/posicionamiento-websitiosmulti-idioma http://seoteca.com/foro-seo/421-los-buscadores-miran-el-contenido-de-un-iframe.html http://www.turnkeylinux.org/screenshots/lamp-turnkey-control-panel

121

ANEXO A
Manual de instalacin del Servidor

Se puede descargar en la direccin http://www.turnkeylinux.org/lampstack siendo la versin 11.2 la ltima versin estable en el momento de la realizacin de este manual. Al tratarse de software libre no es necesario estar registrado en la pgina web.

Figura A.1 Portal de TurnkeyLinux (lampstack)

Consiste en un Ubuntu reducido, con los elementos necesarios para realizar la tarea de servidor Web. Su versin es la 10.04 LTS, nombre en clave Lucid, y ofrece soporte hasta Marzo de 2015, incluye el Kernel 2.6.32 y no lleva instalada la interfaz grfica. Todo se realiza desde la consola, para optimizar recursos. Los requisitos del sistema son muy bsicos 256MB de memoria RAM, 2GB de espacio en disco duro, adaptador Ethernet, tarjeta grfica de 64MB, monitor, teclado y unidad de CD-ROM para instalar el sistema. Ahora pasamos a comentar figura a figura, que en este caso corresponden a las capturas de pantalla realizadas durante la instalacin. En la pantalla de bienvenida (Figura A.2) seleccionamos Install to hard disk, para instalar el sistema en nuestro propio disco duro. El idioma de instalacin no lo modificamos, en esta distribucin solo esta disponible el ingls

122

Figura A.2 Pantalla de bienvenida

Seleccionamos el mtodo manual, para crear nosotros mismos nuestras particiones. Es recomendable realizar 4 particiones: /: directorio raz /var: para archivos log, archivos de servidores de correo, servidores web /boot: punto de arranque Swap: memoria virtual

Figura A.3 Mtodo de instalacin

123

Figura A.4 Seleccin de disco

Seleccionamos nuestro disco duro fsico donde instalar el sistema. NOTA: estas capturas de pantalla corresponden con un sistema virtual, por ello los tamaos de las particiones y del disco duro no son los ms ptimos.

Figura A.5 Seleccin de particin

124

Ahora escogemos el espacio disponible para crear la nueva particin.

Figura A.6 Creacin de particin

Creamos una nueva particin primaria, como solo vamos a crear 4 particiones las podemos crear todas primarias sin ningn tipo de restricciones del sistema.

Figura A.7 Tipo de particin

125

Figura A.8 Seleccin de directorio a instalar

Primero seleccionamos la particin a crear, como dijimos anteriormente crearemos 4 particiones, la primera ser la /, la segunda /var, la tercera /boot y por ltimo la swat, en las tres primeras utilizaremos el sistema de ficheros ext4 y la ltima la lleva su propio tipo de ficheros.

Figura A.9 Tipo de archivos

126

Figura A.10 Seleccin rea de intercambio

En este punto podemos observar como quedan las 4 particiones finalmente. NOTA: estas capturas de pantalla corresponden con un sistema virtual, por ello los tamaos de las particiones y del disco duro no son los ms ptimos.

Figura A.11 Particiones finalizadas

127

Figura A.12 Instalacin del arranque

Nos pregunta si queremos instalar el sistema de arranque (GRUB) en el MBR, no tendremos ningn inconveniente en decir que si, puesto que solo instalaremos un nico sistema operativo y no causar ningn conflicto. Tras instalar el sistema de arranque debemos reiniciar la mquina.

Figura A.13 Reinicio

128

Figura A.14 Contrasea de superusuario

Tras reiniciar la mquina nos pide la contrasea del usuario root del sistema y la del superusuario de MySQL, en nuestro caso para simplificar elegiremos la misma. Nos la pregunta un par de veces para asegurarse que introducimos los datos correctamente.

Figura A.15 Contrasea gestin base de datos

129

Figura A.16 Inicializacin de servicios

Saltamos el primer paso dndole a skip, a continuacin nos pregunta si queremos instalar las actualizaciones, paso muy importante. Decimos que si, dndole a install, esto tardar unos minutos, dependiendo de los rpido que sea nuestra conexin a internet.

Figura A.17 Instalacin de las actualizaciones

130

Figura A.18 Consola de configuracin

Aqu concluye la instalacin, a partir de aqu entraremos en el punto de configuracin del sistema.

131

ANEXO B
Archivos de configuracin del servidor

Archivo de la interfaz de red. /etc/network/interfaces


# UNCONFIGURED INTERFACES # remove the above line if you edit this file auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.5 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 192.168.1.1 auto eth1 iface eth1 inet dhcp

Archivo de configuracin de sitio. /etc/apache2/sitesavailabe/casarural-sansofi.com


<VirtualHost *:80> ServerName www.casarural-sansofi.com ServerAlias casarural-sansofi.com SSLEngine on SSLCertificateFile /etc/ssl/certs/cert.pem DocumentRoot /var/www2/ </VirtualHost> <Directory /var/www2/> Options Indexes FollowSymLinks MultiViews Order allow,deny allow from all

132

<IfModule mod_php5.c> AddType application/x-httpd-php .php php_flag magic_quotes_gpc Off php_flag track_vars On php_flag register_globals Off php_value include_path . </IfModule> </Directory>

Archivo de la configuracin de Apache2. /etc/apache2/apache2.conf


# # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

Based upon the NCSA server configuration files originally by Rob McCool. This is the main Apache server configuration file. It contains the configuration directives that give the server its instructions. See http://httpd.apache.org/docs/2.2/ for detailed information about the directives. Do NOT simply read the instructions in here without understanding what they do. They're here only as hints or reminders. If you are unsure consult the online docs. You have been warned. The configuration directives are grouped into three basic sections: 1. Directives that control the operation of the Apache server process as a whole (the 'global environment'). 2. Directives that define the parameters of the 'main' or 'default' server, which responds to requests that aren't handled by a virtual host. These directives also provide default values for the settings of all virtual hosts. 3. Settings for virtual hosts, which allow Web requests to be sent to different IP addresses or hostnames and have them handled by the same Apache server process. Configuration and logfile names: If the filenames you specify for many of the server's control files begin with "/" (or "drive:/" for Win32), the server will use that explicit path. If the filenames do *not* begin with "/", the value of ServerRoot is prepended -- so "/var/log/apache2/foo.log" with ServerRoot set to "" will be interpreted by the server as "//var/log/apache2/foo.log".

### Section 1: Global Environment

133

# # The directives in this section affect the overall operation of Apache, # such as the number of concurrent requests it can handle or where it # can find its configuration files. # # # ServerRoot: The top of the directory tree under which the server's # configuration, error, and log files are kept. # # NOTE! If you intend to place this on an NFS (or otherwise network) # mounted filesystem then please read the LockFile documentation (available # at <URL:http://httpd.apache.org/docs-2.1/mod/mpm_common.html#lockfile>); # you will save yourself a lot of trouble. # # Do NOT add a slash at the end of the directory path. # ServerRoot "/etc/apache2" # # The accept serialization lock file MUST BE STORED ON A LOCAL DISK. # #<IfModule !mpm_winnt.c> #<IfModule !mpm_netware.c> LockFile /var/lock/apache2/accept.lock #</IfModule> #</IfModule> # # PidFile: The file in which the server should record its process # identification number when it starts. # This needs to be set in /etc/apache2/envvars # PidFile ${APACHE_PID_FILE} # # Timeout: The number of seconds before receives and sends time out. # Timeout 300 # # KeepAlive: Whether or not to allow persistent connections (more than # one request per connection). Set to "Off" to deactivate. #

134

KeepAlive On # # MaxKeepAliveRequests: The maximum number of requests to allow # during a persistent connection. Set to 0 to allow an unlimited amount. # We recommend you leave this number high, for maximum performance. # MaxKeepAliveRequests 100 # # KeepAliveTimeout: Number of seconds to wait for the next request from the # same client on the same connection. # KeepAliveTimeout 15 ## ## Server-Pool Size Regulation (MPM specific) ## # prefork MPM # StartServers: number of server processes to start # MinSpareServers: minimum number of server processes which are kept spare # MaxSpareServers: maximum number of server processes which are kept spare # MaxClients: maximum number of server processes allowed to start # MaxRequestsPerChild: maximum number of requests a server process serves <IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 </IfModule> # worker MPM # StartServers: initial number of server processes to start # MaxClients: maximum number of simultaneous client connections # MinSpareThreads: minimum number of worker threads which are kept spare # MaxSpareThreads: maximum number of worker threads which are kept spare # ThreadsPerChild: constant number of worker threads in each server process # MaxRequestsPerChild: maximum number of requests a server process serves <IfModule mpm_worker_module> StartServers 2 MinSpareThreads 25 MaxSpareThreads 75

135

ThreadLimit 64 ThreadsPerChild 25 MaxClients 150 MaxRequestsPerChild 0 </IfModule> # event MPM # StartServers: initial number of server processes to start # MaxClients: maximum number of simultaneous client connections # MinSpareThreads: minimum number of worker threads which are kept spare # MaxSpareThreads: maximum number of worker threads which are kept spare # ThreadsPerChild: constant number of worker threads in each server process # MaxRequestsPerChild: maximum number of requests a server process serves <IfModule mpm_event_module> StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadLimit 64 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule> # These need to be set in /etc/apache2/envvars User ${APACHE_RUN_USER} Group ${APACHE_RUN_GROUP} # # AccessFileName: The name of the file to look for in each directory # for additional configuration directives. See also the AllowOverride # directive. # AccessFileName .htaccess # # The following lines prevent .htaccess and .htpasswd files from being # viewed by Web clients. # <Files ~ "^\.ht"> Order allow,deny Deny from all Satisfy all </Files>

136

# # DefaultType is the default MIME type the server will use for a document # if it cannot otherwise determine one, such as from filename extensions. # If your server contains mostly text or HTML documents, "text/plain" is # a good value. If most of your content is binary, such as applications # or images, you may want to use "application/octet-stream" instead to # keep browsers from trying to display binary files as though they are # text. # DefaultType text/plain

# # HostnameLookups: Log the names of clients or just their IP addresses # e.g., www.apache.org (on) or 204.62.129.132 (off). # The default is off because it'd be overall better for the net if people # had to knowingly turn this feature on, since enabling it means that # each client request will result in AT LEAST one lookup request to the # nameserver. # HostnameLookups Off # ErrorLog: The location of the error log file. # If you do not specify an ErrorLog directive within a <VirtualHost> # container, error messages relating to that virtual host will be # logged here. If you *do* define an error logfile for a <VirtualHost> # container, that host's errors will be logged there and not here. # ErrorLog /var/log/apache2/error.log # # LogLevel: Control the number of messages logged to the error_log. # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. # LogLevel warn # Include module configuration: Include /etc/apache2/mods-enabled/*.load Include /etc/apache2/mods-enabled/*.conf # Include all the user configurations: Include /etc/apache2/httpd.conf

137

# Include ports listing Include /etc/apache2/ports.conf # # The following directives define some format nicknames for use with # a CustomLog directive (see below). # If you are behind a reverse proxy, you might want to change %h into %{XForwarded-For}i # LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{UserAgent}i\"" vhost_combined LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %O" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent # # Define an access log for VirtualHosts that don't define their own logfile CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined

# Include of directories ignores editors' and dpkg's backup files, # see README.Debian for details. # Include generic snippets of statements Include /etc/apache2/conf.d/ # Include the virtual host configurations: Include /etc/apache2/sites-enabled/

Archivo de los repositorios. /etc/apt/sources.list.d


#deb http://archive.turnkeylinux.org/ubuntu lucid main #deb http://archive.turnkeylinux.org/ubuntu lucid universe deb http://es.archive.ubuntu.com/ubuntu lucid main restricted universe deb-src http://es.archive.ubuntu.com/ubuntu lucid main restricted universe deb http://es.archive.ubuntu.com/ubuntu lucid-security main restricted universe deb http://es.archive.ubuntu.com/ubuntu lucid-updates main restricted universe deb http://es.archive.ubuntu.com/ubuntu lucid-proposed main restricted universe

138

deb-src http://es.archive.ubuntu.com/ubuntu lucid-security main restricted universe deb-src http://es.archive.ubuntu.com/ubuntu lucid-updates main restricted universe deb-src http://es.archive.ubuntu.com/ubuntu lucid-proposed main restricted universe deb http://es.archive.ubuntu.com/ubuntu lucid partner deb-src http://es.archive.ubuntu.com/ubuntu lucid partner

Archivo de configuracin del programa VSFTP. /etc/vsftpd.conf


# Example config file /etc/vsftpd.conf # # The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to make the ftp daemon more usable. # Please see vsftpd.conf.5 for all compiled in defaults. # # READ THIS: This example file is NOT an exhaustive list of vsftpd options. # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's # capabilities. # # # Run standalone? vsftpd can run either from an inetd or as a standalone # daemon started from an initscript. listen=YES # # Run standalone with IPv6? # Like the listen parameter, except vsftpd will listen on an IPv6 socket # instead of an IPv4 one. This parameter and the listen parameter are mutually # exclusive. #listen_ipv6=YES # # Allow anonymous FTP? (Disabled by default) anonymous_enable=NO # # Uncomment this to allow local users to log in. local_enable=YES # # Uncomment this to enable any form of FTP write command. #write_enable=YES # # Default umask for local users is 077. You may wish to change this to 022, # if your users expect that (022 is used by most other ftpd's) local_umask=022 #

139

# Uncomment this to allow the anonymous FTP user to upload files. This only # has an effect if the above global write enable is activated. Also, you will # obviously need to create a directory writable by the FTP user. #anon_upload_enable=YES # # Uncomment this if you want the anonymous FTP user to be able to create # new directories. #anon_mkdir_write_enable=YES # # Activate directory messages - messages given to remote users when they # go into a certain directory. dirmessage_enable=YES # # If enabled, vsftpd will display directory listings with the time # in your local time zone. The default is to display GMT. The # times returned by the MDTM FTP command are also affected by this # option. use_localtime=YES # # Activate logging of uploads/downloads. xferlog_enable=YES # # Make sure PORT transfer connections originate from port 20 (ftp-data). connect_from_port_20=YES # # If you want, you can arrange for uploaded anonymous files to be owned by # a different user. Note! Using "root" for uploaded files is not # recommended! #chown_uploads=YES #chown_username=whoever # # You may override where the log file goes if you like. The default is shown # below. #xferlog_file=/var/log/vsftpd.log # # If you want, you can have your log file in standard ftpd xferlog format. # Note that the default log file location is /var/log/xferlog in this case. #xferlog_std_format=YES # # You may change the default value for timing out an idle session. #idle_session_timeout=600 # # You may change the default value for timing out a data connection. #data_connection_timeout=120

140

# # It is recommended that you define on your system a unique user which the # ftp server can use as a totally isolated and unprivileged user. #nopriv_user=ftpsecure # # Enable this and the server will recognise asynchronous ABOR requests. Not # recommended for security (the code is non-trivial). Not enabling it, # however, may confuse older FTP clients. #async_abor_enable=YES # # By default the server will pretend to allow ASCII mode but in fact ignore # the request. Turn on the below options to have the server actually do ASCII # mangling on files when in ASCII mode. # Beware that on some FTP servers, ASCII support allows a denial of service # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd # predicted this attack and has always been safe, reporting the size of the # raw file. # ASCII mangling is a horrible feature of the protocol. #ascii_upload_enable=YES #ascii_download_enable=YES # # You may fully customise the login banner string: ftpd_banner=Bienvenido al servidor Molio # # You may specify a file of disallowed anonymous e-mail addresses. Apparently # useful for combatting certain DoS attacks. #deny_email_enable=YES # (default follows) #banned_email_file=/etc/vsftpd.banned_emails # # You may restrict local users to their home directories. See the FAQ for # the possible risks in this before using chroot_local_user or # chroot_list_enable below. #chroot_local_user=YES # # You may specify an explicit list of local users to chroot() to their home # directory. If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot(). chroot_local_user=YES #chroot_list_enable=YES # (default follows) #chroot_list_file=/etc/vsftpd.chroot_list # # You may activate the "-R" option to the builtin ls. This is disabled by

141

# default to avoid remote users being able to cause excessive I/O on large # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it. #ls_recurse_enable=YES # # Debian customization # # Some of vsftpd's settings don't fit the Debian filesystem layout by # default. These settings are more Debian-friendly. # # This option should be the name of a directory which is empty. Also, the # directory should not be writable by the ftp user. This directory is used # as a secure chroot() jail at times vsftpd does not require filesystem # access. secure_chroot_dir=/var/run/vsftpd/empty # # This string is the name of the PAM service vsftpd will use. pam_service_name=vsftpd # # This option specifies the location of the RSA certificate to use for SSL # encrypted connections. rsa_cert_file=/etc/ssl/private/vsftpd.pem

142

ANEXO C
Comprar nombre de dominio en 1and1
Nos dirigimos a la pgina principal de 1and1, http://www.1and1.es

Figura C.1.- Pgina principal 1and1

Seleccionamos el apartado dominios en la Figura C.1, y en la Figura C.2 seleccionamos el nombre de dominio y la extensin, casarural-sansofi.com

Figura C.2.- Seleccin de nombre de dominio

143

Damos al botn de comprobar para verificar que ese nombre de dominio en concreto esta libre. Una vez aceptado el nombre de dominio como libre, damos al botn de siguiente y nos aparecern ofertas de 1and1, nosotros no las aceptamos.

Figura C.3.- Seleccin de pack

Hasta llegar a la ventana de la Figura C.3, donde elegir el pack a comprar. En nuestro caso compramos el 1&1 Dual Pack.

Figura C.4.- Condiciones de la compra

Aceptamos y en la siguiente ventana prodeceremos a completar los datos del cliente.

144

Figura C.5.- Datos del cliente

Aqu introducimos nuestros datos personales y en la siguiente ventana procederemos al ltimo punto, el pago mediante tarjeta de crdito o PayPal. Una vez realizado el pago ya tenemos nuestro nombre de dominio comprado con 1and1 y tambin un panel de control a travs de la web, ya somos cliente de 1and1.

145

ANEXO D
Minitutorial SEO
Punto 1: Elegir el objetivo
Para conseguir buenos resultados es bsico escoger un buen objetivo. Dedicaremos nuestros esfuerzos a un objetivo concreto. De su eleccin depender el xito o fracaso de la web en cuanto a posicionamiento se refiere. Se llama keyword (o palabra clave) a la palabra por la que intentaremos posicionar nuestra web. Un sitio web se puede posicionar para varias palabras a la vez. La mejor estrategia es que el sitio web entero trate una temtica concreta; por eso la estrategia fundamental debe de ser la de posicionar la pgina de inicio para una bsqueda importante y luego hacerlo con las pginas interiores para bsquedas ms especficas. Tal como veremos ms adelante, el posicionar la pgina principal del dominio nos atraer ms enlaces a nuestra pgina web, ya que la gente suele enlazar siempre a la pgina de inicio del dominio y no a pginas interiores. Por eso, tal como se ha dicho, posicionaremos para aparecer bien en la bsqueda por esa temtica, y luego posicionaremos las pginas interiores para bsquedas ms concretas sobre esa temtica y alguna que otra que no tenga que ver. Si realmente queremos conseguir todas las visitas que puedas, es muy importante escoger bien tus palabras clave. Por un lado, puedes intentar competir por una bsqueda tan difcil por la que jams conseguirs posicionar alto y no recibirs visitas. Por otro lado puedes escoger una keyword poco buscada y an siendo primero no conseguirs demasiadas visitas. Para saber la dificultad de posicionarse por una keyword no hay un mtodo exacto ni una escala exacta, pero se puede deducir la dificultad de diversas maneras. Despus de leer el tutorial entero, sabrs ms para poder determinar la dificultad de una keyword. Aqu van unas sugerencias: -Mira el PR de las pginas de esa bsqueda. EL PR no significa posicionarse mejor, es al revs; un buen posicionamiento suele implicar un buen PR. -Mira cuntos links entrantes tienen las primeras webs. Esto se hacebuscando en los buscadores de muchas maneras. Por ejemplo, en Yahoo! puedes buscarlo introduciendo en el cajn de bsqueda linkdomain:dominio.com; he aqu un ejemplo del resultado. En Msn tienes comandos linkdomain (para el dominio entero) y link (para una pgina concreta). En Google tambin existen esos comandos, pero Google

146

muestra muchos menos de los que conoce, por lo que no se suele usar para este motivo. Para saber lo buscada que es una palabra hay muchos mtodos y herramientas. Uno puede ser mirar las estadsticas del sitio web que ocupa la posicin que deseamos, si el sitio web las facilita. Sistemas de sugerencias de keywords: Overture: Uno de los ms usados, ofrece resultados para varios pases. Google AdWords: Google nos har una seleccin de palabras interesantes con esta herramienta originalmente pensada para AdWords, pero que ya es muy utilizada con este propsito. Google Suggest: No diseado para esto, puede servirnos. Google Zeitgeist: Lo ms buscado, apto para saber las tendencias. Ofrece las bsquedas ms frecuentadas.

Punto 2: Calidad
La calidad es uno de los pilares de un buen posicionamiento en buscadores. El contenido de calidad nos beneficia en muchos sentidos. Por un lado, la finalidad de los buscadores es llevar a los internautas a aquello que buscan, y lo que buscan es calidad y contenido til para ellos. Entonces, tarde o temprano los buscadores irn afinando su algoritmo hasta posicionar bien a las webs con contenido de calidad. Sobre todo, el contenido de calidad hace que otras webs citen, enlacen y hagan publicidad de tu web por su calidad, lo interesante que resulta o por ser, en general, de las mejores en su mbito. La calidad no es el nico factor. Por un lado hay webs puramente comerciales que no pueden generar un contenido lo suficientemente interesante, de forma que otros lo enlacen, por lo que el contenido de calidad es algo inaplicable en estos casos. Por el otro lado, un contenido de calidad que nadie conoce no genera estos links de la gente que valora nuestro trabajo, pues a la hora de la verdad, por desgracia, el contenido y la calidad no lo son todo.

Punto 3: Optimizar la web

147

Los buscadores se fijan en ciertos aspectos de una web y le dan importancia a ciertos factores. Por eso es muy importante saber qu valoran los buscadores en una pgina y optimizarlos. Para comenzar, mucha gente cree que los buscadores le dan mucha importancia a las "metas", especialmente la meta keywords y la meta description: <meta name="Keywords" content="Posicionamiento en 10 pasos, tutorial, manual, SEO" /> <meta name="Description" content="Posicionamiento en 10 pasos" /> Esto no es verdad. La meta keywords (los buscadores grandes) la ignoran hoy en da. Ni Google, Msn ni Yahoo! la valoran desde que se convirti en puro spam. En la actualidad se sigue usando bsicamente por costumbre y porque hay algunos pequeos buscadores que an las usan, pero esta meta carece de gran valor a la hora de la verdad. La meta description no cuenta para posicionar una web; no obstante es importante tenerla, ya que, por ejemplo, Google la usa a veces para realizar el "Snippet" de sus resultados (al buscar una web en Google, aparece su ttulo, que es a la vez un link, y luego aparece el snippet, que es una pequea descripcin o fragmento de texto de la web; luego aparece la URL y otros datos). Una meta description atractiva puede atraer visitantes si es usada como snippet. Para hacer una meta keywords, introduce unas 30 palabras clave relacionadas con tu pgina. Para la meta description usa una descripcin de la web que sea atractiva para quien la lea. Hay una tag muy importante en el posicionamiento web y buscadores: <title>Posicionamiento en 10 pasos</title> A esta tag los buscadores le asignan mucho valor. De hecho es el ttulo de la pgina, el que aparece por ejemplo en los navegadores, en las pestaas y en la barra. Procura hacer un ttulo muy breve y con algunas de las keywords de esa pgina. Mejor si no sobrepasa los 60 caracteres; as dars ms densidad a tus keywords. Tambin se dice mucho que cuanta ms densidad de las keywords tenga una web, ms alto estar posicionada. Esto no es del todo verdad. La densidad puede dar resultados en algunos buscadores (se ha dicho mucho que Yahoo! la valora bastante), y es recomendable que una web tenga un poco de densidad, pero que no sea excesiva. Una muy elevada densidad podra hacer pensar a los buscadores que eres un spammer. Consejo: hay herramientas online que calculan la densidad de keywords. Encuentra con el buscador la palabra que desees y haz la media aproximada de densidad de las keywords de las primeras webs para esa bsqueda. As tendrs una orientacin.

148

Hay otras tags que sirven para indicar importancia. Procura poner algunas de ellas con tus keywords: <h1> <h2> <h3> <h4> <h5> <h6> <b> <i><u> <strong> Las <hx> indican ttulos dentro de la pgina, siendo los de nmeros ms bajos los ms importantes <b> y <strong> negritas. Como siempre, salas con moderacin.

Punto 4: Conseguir links


Este es un punto crucial. Para posicionar una web se valoran ciertos factores. Pues bien, los enlaces que apuntan a una web es un factor muy importante para esta valoracin. Los links entrantes son interpretados por los buscadores como una especie de voto a esa web. Normalmente, a la hora de disear webs se enlaza a webs interesantes, de buena calidad... En definitiva, recomendamos al visitante una web, y eso es lo que ms valoran los buscadores. Los buscadores bsicamente valoran ms los enlaces que en su "anchor text" (es el texto del enlace; en las imgenes se considera el atributo ALT como su equivalente para los buscadores) tengan la keyword y que vengan de webs de temtica relacionada. Cmo deben de ser los enlaces? Los enlaces ms valiosos son los que vienen de webs relacionadas con nuestra temtica. Al contrario de lo que creen muchos, en esto el PR no vale para nada. Hay links que no siguen los buscadores (y por eso no cuentan). Existen enlaces que incluyen el atributo nofollow en la etiqueta <a>. Estos enlaces no son seguidos por los buscadores. Si tienes Firefox, hay un plugin muy til para detectarlos de forma fcil: http://www.mundogeek.net/archivos/2005/03/16/nofollowalert-01/ No todos los links son igualmente vlidos, y adems nos pueden llegar a perjudicar. Por un lado, debemos evitar una popularidad artificial, que est penalizada por los buscadores. Adems, debemos conservar una cierta naturalidad a la hora de conseguir enlaces para no ser sospechosos a la vista de los buscadores. Por un lado buscaremos una variacin en el anchor text de los links, utilizando nuestros anchors texts principales y consiguiendo otros enlaces con otros anchor texts distintos. Tambin es de resear que es bueno conseguir enlaces a un ritmo constante y tranquilo, ya que conseguir links de golpe y en gran cantidad puede hacer pensar a los buscadores que intentamos manipular sus resultados.

149

Hay muchas formas de conseguir enlaces. Existen sistemas de intercambios de enlaces gratuitos. Adems, buscando en la red encontrars multitud de webs deseosas de intercambiar enlaces contigo. Pero si tienes que dar un link a cambio, evita intercambiar con sites inapropiados. Por otro lado, es normal entre webmasters enviar emails a gente que no conocemos, para intercambiar enlaces. Directorios: en Internet hay multitud de directorios webs donde podremos conseguir links sugiriendo nuestras webs. Por ejemplo, www.DNVip.info

Punto 5: Indexacin
La indexacin es el proceso por el que el buscador va rastreando el sitio y va incorporando a su base de datos el contenido de esas URLs. Es muy importante, la indexacin es lo nico que puede hacer que tu web, tu trabajo pueda aparecer en Google, toda pgina que el robot no haya rastreado ni indexado no figurar en los resultados. Los buscadores poseen un robot que es una especie de programa que se dedica a rastrear las webs e incorporar lo que cree interesante a la base de datos de su buscador, tanto para indexar nuevas webs como para actualizar los contenidos de su base de datos. Facilitar la indexacin: lo bsico. Los buscadores no indexan todo lo que recorren; slo indexan lo que creen oportuno. Para mejorar nuestra indexacin hay que conseguir que los robots pasen a menudo por nuestras pginas, por lo que, a ms pasadas, ms probabilidades de que las acabe indexando. Para aumentar la frecuencia de paso de los robots por nuestra web, hay que conseguir links entrantes y actualizar a menudo nuestra web. Para facilitar la indexacin se puede empezar por evitar o arreglar las variables en las URLs (URLs dinmicas) que, por ejemplo, puede generar el PHP. Para servidores que corran sobre Apache existe un mod llamado mod_rewrite que sirve para reescribir URLs, mediante el cul y con un fichero.htaccess se puede convertir esa URL a ojos de los buscadores en esta:http://www.dominio.extension/foro/index.php/board,4.0.html en otra ms atractiva a los ojos de los buscadores.

Punto 6: Actualizarse

150

Los buscadores cambian y evolucionan constantemente, y hay webs, blogs y foros que te mantendrn informado de estos cambios. Encontrars muchos ms sitios donde informarte, tanto en espaol como en ingls. Es importante, no obstante, escoger fuentes fiables, ya que existen muchos en los que predominan leyendas urbanas y gente que realmente no sabe.

Punto 7: Penalizaciones
La penalizacin es un mtodo que tienen los buscadores para mejorar la calidad de los resultados. Si detectan una web que hace trampas para acceder a los primeros puestos, lo que hacen es penalizarla, que puede ser desde hacerla perder puestos hasta quitarla de sus resultados. a) Texto oculto El texto oculto es una tcnica que consiste en ocultar texto o links a los visitantes de forma que slo sea visible a los ojos de un robot buscador como Googlebot, Msnbot... Con esto el webmaster llena de palabras clave la web (bien para aumentar la densidad de palabras clave, bien para conseguir nuevas palabras claves) o pone links ocultos a otras webs (prctica muy comn, sobretodo entre empresas SEO). Las formas para ocultar texto son muchas, desde poner el texto con el mismo color que el fondo, hasta los ms sofisticados que lo ocultan en el cdigo, usando con malos fines etiquetas como noscript o noembed entre otras. b) Webs duplicadas Las webs o pginas duplicadas consisten en crear webs idnticas, con el mismo contenido. Con esto consiguen links para la web que realmente quieren posicionar. c) Popularidad artificial La popularidad artificial consiste en tcnicas para aumentar de forma postiza los links entrantes a una web. Hay diferentes modalidades: -Spam en weblogs y libros de firmas -Consiste en aprovecharse de blogs y libros de firmas para conseguir links. -Las FFA (Free For All) y granjas de enlaces son webs dedicadas a dar enlaces sin sentido de forma masiva. En unas puede ser gratis o pagando, pero la nica finalidad de estas webs es dar un enlace. d) Cloaking

151

El cloaking es una sofisticada tcnica mediante la cual se consigue hacer webs distintas en funcin de quin la visite. Es til para redireccionar a los visitantes a las pginas de su idioma, deducindolo segn su procedencia, por ejemplo. El problema est si la nica misin de este cloaking es presentar a los usuarios una web normal y a los robots de los buscadores una pgina radicalmente distinta y optimizada con fines de posicionar mejor. e) Doorways Las doorways son pginas web optimizadas para posicionar alto en los buscadores y, normalmente, con una redireccin que no ven los buscadores para que cuando llega un visitante sea redirigido a la pgina correcta.

Punto 8: Altas en buscadores


Una vez que tenemos hecha nuestra pgina, lo siguiente que queremos hacer es aparecer en los buscadores. Nos podemos dar de alta en buscadores, y casi todos los buscadores disponen de formularios para hacerlo de forma fcil y sencilla. No obstante, el alta en buscadores es una prctica poco provechosa y sin demasiados beneficios. Ser muy posible que navegando por la red topemos con webs que se dedican a esto, y que quieran incluso cobrarnos por ello, prometiendo altas en miles de buscadores. Realmente existen muchsimos buscadores, pero en la prctica slo una decena de buscadores aportan visitas alguna vez, ya que entre Google, Yahoo!, Msn y buscadores que usan los datos de estos primeros (como Terra, Ya.com o AOL, que tienen acuerdos con estos buscadores) acaparan casi la totalidad del mercado, con ms de un 95% de las bsquedas totales en la mayora de pases del mundo, destacando Amrica y Europa. Por ello el darse de alta en ms de 30 buscadores no es ninguna prioridad ni algo realmente que d demasiadas visitas, y mucho menos sera lgico pagar a alguien para ello. Recomendamos como mnimo: Google.com, Yahoo.com, MSN.com, Altavista.com...

Punto 9: Seguimiento
Para el posicionamiento es til tener controladas las posiciones de nuestra web. Con monitorizar nuestras posiciones conseguiremos actuar a tiempo en caso de prdida de posiciones, por si nos hubiesen penalizado u otros motivos. Para monitorizar resultados hay programas y webs online. Especialmente popular para controlar posiciones se ha convertido el programa Free Monitor for Google, un

152

programa gratuito por el que podremos controlar de forma cmoda nuestras posiciones. Pero hay que tener en cuenta a la hora de controlar posiciones, por ejemplo, los movimientos bruscos. Es habitual encontrarse sustos como prdidas de posiciones repentinamente o cualquier cambio impensado. En posicionamiento esto habitual y normal, especialmente para webs nuevas. Normalmente los buscadores pueden darnos estos sustos que muchas veces duran slo unos das como mximo. Antes de alarmarse es mejor esperar unos pocos das. En estos movimientos bruscos juegan un peso importante los datacenters de Google, por ejemplo. Controlar las visitas Es tambin muy importante ver como evolucionan las visitas y ver si se obtienen las visitas que esperamos, ver nuestros logros, ver dnde vamos bien y dnde vamos mal. Nos ser til tambin ver quin nos enlaza o descubrir nuevas keywords interesantes para posicionar pginas web. Hay muchas formas de controlar estas visitas. Existen muchos servicios online con los que copiando un pequeo cdigo en nuestras pginas conseguiremos tener unas estadsticas sobre nuestras visitas. Para usuarios ms avanzados existen tambin scripts que instalando en nuestro servidor tambin nos darn los datos que deseemos, por ejemplo phpMyVisites, PowerPhlogger..., entre muchos otros. Tambin nuestro Hosting de pago es posible que nos proporcione en nuestro panel de control estadsticas ms fiables (puesto que se basan en los logs) como Webalizer o los atractivos a la vista Urchin y AWStats.

153

Potrebbero piacerti anche