Publicado el Sábado 11 de Octubre del 2008 @ 23:35 por Armonth.
En AskApache han publicado una entrada titulada Optimize a Website for Speed, Security, and Easy Management que recomiendo leer.
Como bien indican y siempre argumento, tener un sitio web con los ficheros metidos en cualquier sitio, imágenes mezcladas con ficheros de código, varias plantillas (index.html, index1.html, index-old.html ¿os suena?), etcétera, a la larga lo único que trae es inconsistencias y dolor de cabeza a la hora de meter mano.
Para empezar la entrada propone la siguiente estructura:
/home/askapache.com
|-- /home/askapache.com/backups/
|-- /home/askapache.com/htdocs/
|-- /home/askapache.com/inc/
|-- /home/askapache.com/logs/
|-- /home/askapache.com/static/
|-- /home/askapache.com/tmp/
|-- /home/askapache.com/.htpasswd-basic
|-- /home/askapache.com/.htpasswd-digest
Es decir, en el $HOME (sí: se asume servidores Unix-like. Como la mayoría de servidores serios) un directorio por cada dominio y dentro una estructura fácil de mantener:
include() o requiere()) aparte del sistema o CMS usado para la web.El artículo se desarrolla mucho más (optimizaciones, reducción de cabeceras HTTP 403, consejos, sistemas de cache y muchos enlaces) pero sólo para empezar ya es un gran consejo.
Sobretodo el uso del static (el cual puede ser un subdominio tipo http://static.tusitio.com o un subdirectorio), el ejemplo que da sirve para imaginar cómo ordenarlo:
/home/askapache.com/static/
| |-- /home/askapache.com/static/css/
| |-- /home/askapache.com/static/flv/
| |-- /home/askapache.com/static/img/
| |-- /home/askapache.com/static/js/
| |-- /home/askapache.com/static/mp3/
| |-- /home/askapache.com/static/pdf/
| |-- /home/askapache.com/static/swf/
| |-- /home/askapache.com/static/.htaccess
| |-- /home/askapache.com/static/index.html
| |-- /home/askapache.com/static/robots.txt
Y si bien en casa de herrero, cuchara de madera (a mí me hubiera gustado seguir algo así, pero por no liarme mucho en su día con WordPress, su “/wp-content/uploads” y sobretodo para no dar muchos dolores de cabeza a los colaboradores no lo hice) las posibilidades de tener separado contenido de presentación y “media” en general permite muchas posibilidades que de otra manera requerirían código extra y/o crearían posibles conflictos:
Por no hablar de aumentar la capacidad de servir contenidos separando static en un servidor distinto de la web en sí o de la base de datos…
A lo mismo que apuntan los Frameworks MVC que ultimamente se hacen cada vez más conocidos a la hora de programar aplicaciones web, y la verdad es que al llevar un orden con los directorios y filas, ayuda mucho a la producción y futuras actualizaciones del código.
También entra el tema para los que tienen un hosting que no tiene SSH, simplemente no puedes guardar tus archivos a incluir, ni de configuracón, fuera de www/htdocs (que además de optimizado, sería un sitio seguro) porque el servicio no te lo permite, eso si que jode.