trucos para agilizar la carga de tu web (parte 2)
separar CSS del codigo HTML
usar menos las etiquetas <style>, si pones los estilos en un fichero .css, el navegador los podra guardar en la cache y te permitira cargar mas rapidamente cada una de las paginas.
por lo contrario, si tienes en cada pagina una etiqueta <style> con los estilos obligaras al usuario a cargar una y otra vez los estilos
caso practico:
si utilizas plugins para wordpress, podras ver que algunos de estos te añaden una etiqueta <style> con los estilos necesarios para el funcionamiento del plugin
solucion:
- mira el codigo fuente de tu pagina principal
- busca alguna si hay alguna etiqueta <style>
- normalmente se muestra el nombre del plugin, apunta el nombre
- copia los estilos que hay dentro de <style> y los pegas en tu plantilla css principal
- ahora dirigete a la carpeta:
/wp-content/plugins - busca el fichero correspondiente al plugin, normalmente el nombre del fichero es el mismo que el del plugin
- abre el fichero y busca la etiqueta <style>, encontraras algo parecido a esto:
PHP:
-
function wpv_actualizacion_css()
-
{
-
//estilo para el plugin
-
echo ' <style type="text/css" media="screen"> /* estilo plugin ultima modificacion */ .lbl_actualizacion {font-weight:bold;color:green;} </style>';}
-
- seguramente estara dentro de una funcion, copia el nombre de la funcion en el ejemplo de arriba wpv_actualizacion_css y buscas el nombre en el mismo fichero, seguramente te saldra algo asi:
PHP:
-
add_filter('wp_head', 'wpv_actualizacion_css');
-
- para desactivarlo solo tienes que poner dos barras // que en PHP significa que es un comentario, quedando asi:
PHP:
-
//add_filter('wp_head', 'wpv_actualizacion_css');
-
trucos para agilizar la carga de tu web (parte 1)
sé que de momento viciao2k3 tarda bastante en cargar, pero eso se puede mejorar y segun vaya optimizando el sitio voy a publicar una serie de consejos para que tu sitio se cargue fluidamente
¿porque es importante?
ahora mas a menos casi todo el mundo tiene ADSL, pero eso no significa que todos esten preparados
si tu web tarda mucho en cargar, el usuario impaciente puede cerrar la pagina y seguramente no volvera
agilizar carga de javascripts
normalmente en las paginas web, todo el javascript se pone en la cabecera, exactamente entre las etiquetas <HEAD> y </HEAD>
pienso que esta mal, ya que obligas al usuario a cargar funciones que posiblemente luego no se utilicen.
si tienes muchos javascripts en un fichero, deberías dividir las funciones en 2 grupos:
- primarias: funciones que se ejecutan en el evento onload
- secundarias: las que no necesitan cargarse al principio.
Por ejemplo, una funcion que muestra un mensaje al hacer clic a un boton
las funciones primarias puedes hacer que se carguen en la cabecera de la pagina y las secundarias antes de la etiqueta </body>
caso practico:
el codigo javascript de Google Analytics, yo recomiendo ponerlo antes de cerrar la etiqueta </body>, ya que si lo pones despues de <body>, estas obligando al usuario a esperar a que se carguen 6,09 KB (6.232 bytes) para luego cargar con el resto del documento
diferencias entre include, require, include_once y require_once
en general las 4 funciones hacen lo mismo, importar en un documento php, funciones o variables de otros documentos escritos en php o html
esto resulta muy util y practico a la hora de dividir y organizar nuestro codigo
pongo un caso, imaginen una funcion que se ejecuta en 4 ficheros php, para poder utilizar la misma funcion esta tendria que estar escrita en cada uno de los ficheros
¿inconvenientes?
- si queremos modificar la funcion, tenemos que cambiar cada una de los ficheros donde este escrita
- tenemos mas trabajo y necesitamos mas tiempo a la hora de modificar cada uno de los ficheros
- mas dificil de mantener
- mas codigo
- mas espacio ocupado
solucion:
creamos un fichero llamado por ejemplo general.php con las funciones que necesitamos y añadimos un include a cada uno de los ficheros
luego para modificar la funcion solo tenemos que editar el fichero general.php
ejemplo de include:
fichero1.php
-
include 'fichero2.php';//$variable es igual a 10
fichero2.php
-
$variable = 10;
si ejecutamos el fichero1.php, mostrara por pantalla el valor de la variable $variable, 10
la diferencia entre require e include, es que si el fichero no existe:
- include mostrara un warning y continuara con la ejecucion
- require mostrara un fatal error y parara la ejecucion
ejemplo de include_once:
fichero1.php
-
include_once("fichero2.php"); //$variable es igual a 10
-
$variable = 20; //$variable es igual a 20
-
include_once("fichero2.php"); //$variable es igual a 20
fichero2.php
-
$variable = 10
si ejecutamos fichero1.php, mostrara por pantalla 20
¿porque 20 y no 10?
tanto include_once como require_once solo se pueden ejecutar una vez
la segunda vez que se llama a include_once, esta es como si no existiera.
si en vez de utilizar include_once, utilizamos include o require el valor final de $variable seria 10
include se comporta igual que include_once, a la hora de importar el fichero, si este no existe mostrara warning y continuara la ejecucion
lo mismo passa con require y require_once, si el fichero no existe muestra un fatal error y para la ejecucion
algunas anotaciones:
- vigila a la hora de hacer mas de un include con ficheros que contengan funciones
si importas un fichero que ya ha sido incluido antes o que contenga alguna funcion declarada anteriormente, aparacera un Fatal error y la ejecucion terminara, ya que no se puede declarar la misma funcion 2 veces - si quieres importar ficheros con solo variables, no tendras problemas para llamarlo mas de una vez (solo con include y require)
- utiliza require o require_once, para cargar archivos de configuracion, que contengan constantes
- puedes hacer un fichero php que contenga una plantilla html de un mensaje de foro y hacer un include a este fichero dentro de un while o for, ojo con include_once no lo puedes hacer
- si el fichero que quieres incluir esta escrito en php, este debe tener encima del codigo <?php y al final ?>, si es codigo html no hace falta
Sí, me pasé por tu flickr y vi algunas fotos increibles. Me encantó el video de tu perro !