<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2283711251481343960</id><updated>2024-10-24T02:57:02.040-03:00</updated><category term="SEO"/><category term="google"/><category term="Directorios"/><category term="Optimizacion Web"/><category term="imagenes"/><category term="php5"/><title type='text'>SEO - Posicionamiento Web</title><subtitle type='html'>Información para lograr posicionar los sitios en los buscadores mas importantes&#xa;&lt;br /&gt;&#xa;&lt;a href=&quot;http://www.publifacil.com/6106771&quot;&gt;&#xa;&lt;img src=&quot;http://www.publifacil.com/images/banner3es.gif&quot; /&gt;&#xa;&lt;/a&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thrimentis.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2283711251481343960/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://thrimentis.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Franco Massaccesi</name><uri>http://www.blogger.com/profile/07701434240821047381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwptycLoD-tasBmBWFSYSU9AFN9y6EeOunGqPRdg6TKmdTzLGeYfjxT-7QAbebrWvq7qZJJIwFU2qxC3opDu9v2n44u9XZ631nARFc0v8HSHbwCGtH2zVfh_fGCmE3dA/s220/18.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2283711251481343960.post-3815671047034739252</id><published>2008-03-27T16:57:00.005-03:00</published><updated>2008-03-27T17:30:20.465-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="php5"/><title type='text'>1 - PHP 5 - Programación Orientada a Objetos</title><content type='html'>&lt;span style=&quot;font-weight: bold;&quot;&gt;Porque Objetos?&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;________________________________________&lt;/span&gt;&lt;br /&gt;A medida que las secuencias de comandos se hacen cada vez mas complejas, la dificultad de mantenerlas aumenta extraordinariamente, especialmente si estamos programando con estilos de procedimientos. El concepto de programación orientada a objetos OOP, sirve para proporcionar una estructura organizativa real a nuestras secuencias de comandos a través del encapsulado.&lt;br /&gt;Aunque PHP 4 introdujo la noción de OOP en PHP, no se puede considerar realmente una verdadera implantación orientada a objetos. Debido a las significativas limitaciones en PHP 4 a este respecto, el modelo de objetos de PHP 5 se ha rediseñado completamente para reflejar con precisión la definición académica de OOP.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Creación de clases básicas&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;________________________________________&lt;/span&gt;&lt;br /&gt;Aunque denominemos programación orientada a objetos a este estilo de programación, la gran mayoría de la programación se realiza desarrollando clases. Una clase puede definirse como el diseño de un objeto y define todas las acciones que el objeto puede realzar. Por tanto, las definiciones de clase contienen variables, funciones (denominadas métodos) e incluso constantes que son especificadas solo para dicha clase o sus instancias.&lt;br /&gt;Ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;class myEjemplo&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;&lt;br /&gt;  public $Myvar&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;&lt;br /&gt;  public function MiMetodo($parametro)&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;&lt;br /&gt;      $this-&gt;Myvar = $parametro;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;echo $this-&gt;Myvar;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cuando se ha definido una clase se puede crear una instancia de dicha clase, una instancia de una clase es un objeto y representa una copia de la clase definida previamente. Para crear una instancia de myEjemplo utilizamos la sentencia new:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;incluye_once(‘MiArchivo.php’);&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;$miInstancia = new myEjemplo();&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;$otraInstancia = new myEjemplo();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;En este caso las dos variables representan objetos del tipo myEjemplo. Aunque se han creado de la misma definición de clase, son completamente diferentes entre si.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;incluye_once(‘MiArchivo.php’);&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;$miInstancia = new myEjemplo();&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;$miInstancia -&gt; MiMetodo(“Hola soy un parámetro recibido”);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Cuando se ejecute este comando en la pantalla se vera impreso lo que le pasamos por parámetros.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Métodos private, protected y public&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;________________________________________&lt;/span&gt;&lt;br /&gt;En PHP 5 la definición y el uso de clases no ha cambiado mucho. De hecho, en PHP si definiéramos una clase al estilo PHP 4 trabajaría igual, pero en sintaxis 5, nos ofrece las diferencias arriba mencionadas.&lt;br /&gt;Esta diferencia nos ofrece una nueva e importante opción en el modelo de orientación a objetos de PHP 5: los controles de acceso. En PHP 4 no había ningún concepto de control de acceso dentro de los objetos. Como desarrollador externo que utiliza la clase myEjemplo, no hay nada que me impida cambiar el valor de la variable $Myvar. Sin embargo en PHP 5 el modelo de objetos proporciona ahora tres niveles de acceso para los miembros de clase, que restringen los datos a los que se puede acceder y desde donde se pueden acceder a ellos en nuestras secuencias de comandos. Estos tres modelos de acceso son public(publico), private(privado) y protected(protegido) y se pueden aplicar tanto a métodos como a propiedades de la clase.&lt;br /&gt;A los miembros de la clase declarados como públicos se puede acceder desde cualquier parte de una secuencia de comandos. Pueden modificarse o llamarse internamente por el objeto o desde fuera del objeto, algo que no se aplica a los miembros de clase solo desde dentro de una instancia de dicha clase a través de la variable $this.&lt;br /&gt;El tercer y último nivel de acceso que proporciona PHP es el nivel protected. Este nivel es similar a la private, ya que evita el acceso a miembros de clase externamente. Sin embargo, al contrario de private que restringe el acceso solo a la clase especifica donde se ha definido, protected permite el acceso desde la misma clase o desde cualquier clase hija.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Indicaciones de tipo.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;________________________________________&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Otra mejora en PHP 5 para el modelo de objetos es el concepto de indicaciones de tipo. PHP es, por diseño, un lenguaje sin tipos, es decir, las variables no se restringen al tipo de datos que contienen. De hecho, algunas variables pueden tratarse en un momento como enteros y en otro como cadenas. Sin embargo, como los métodos dentro de los objetos normalmente aceptan parámetros que son instancias de otros objetos, PHP 5 nos permite restringir los tipos de datos de los parámetros de método.&lt;br /&gt;Por ejemplo consideremos el siguiente ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;class entero&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;private $numero&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;public function getInt()&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;return (int) $this-&gt;numero;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;public function setInt($num)&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;$this-&gt;numero = (int) $num;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;class flotante&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;private $numero;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;public function getFloat()&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;return (float) $this-&gt;numero;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;public function setFloat($num)&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;$this-&gt;numero = (float) $num;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Estas clases definen entero y flotante, que aplican un envolvente simple para los tipos de datos enteros y de punto flotante dentro de php. Y que hay si necesitamos aplicar una clase de forma que se añadan solo los puntos flotantes? Con los conocimientos que ustedes tienen podríamos resolverlos de esta manera:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;class math&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;public function add($op1, $op2)&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;return $op1-&gt;getFloar() + $op2-&gt;getFloat();&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Sin embargo, debido a la naturaleza de PHP, no hay seguridad de que los parámetros $op1 y $op2 serán instancias de la clase flotante. Incluso aunque estuviésemos seguros de que fuesen objetos, no habría ningún método conveniente para saber si son del tipo correcto. Una posible solución es utilizar el nuevo operador instanceof en PHP 5, que devuelve un valor booleano que indica si una variable es una instancia de una determinada clase:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;class math&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;public function add($op1, $op2)&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;if(($op1 instanceof flotante) &amp;amp;&amp;amp; ($op2 intanceof flotante))&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;return $op1-&gt;getFloat() + $op2-&gt;getFloat();&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;else&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;echo ‘Deben pasar dos flotantes como instancias en los parámetros’;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Nuestra clase math tiene un método para asegurarse de que los parámetros que se pasan son objetos del tipo correcto. Sin embargo dicha técnica puede conseguir que nuestro código sea propenso a error y confuso en su lectura. Una mejor solución que consigue el mismo objetivo es especificar el tipo exacto que necesitamos en el prototipo de la función.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;class math&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;public function add(flotante $op1, flotante $op2)&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;return $op1-&gt;getFloat() + $op2-&gt;getFloat();&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;De este modo podemos indicar claramente el tipo especifico requerido por el método add() y podemos suponer con seguridad de que va a existir el método getFloat().&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Constructores y Destructores&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;________________________________________&lt;/span&gt;&lt;br /&gt;Los constructores y destructores son funciones a las que llamamos cuando creamos una nueva instancia de un objeto(contructores), y/o la destruimos(destructores). Su proposito principal es permitir inicializar y limpiar después un objeto, por ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;class BaseClass&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;function __construct()&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;print ‘contructor en clase base\n’;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;class SubClass extendí BaseClass&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;function __construct()&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;parent::__construct();&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;print ‘Constructor en subclase\n’;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;$obj = new BaseClass();&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;$obj = new SubClass();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Los constructores padres no son llamados implícitamente si la clase hijo define un constructor. Para poder ejecutar el constructor de la clase padre, se debe hacer una llamada a parent::__construct() dentro del constructor de la clase hijo.&lt;br /&gt;Este es un ejemplo de destructor:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;class MyDestructableClass&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;function __construct()&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;print ‘In constructor\n’;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;$this-&gt;name = ‘MyDestructableClass’;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;function __destruct()&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;print ‘Destroying ‘ . $this-&gt;name – “\n”;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;$obj = new MyDestructableClass();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Aunque los constructores son útiles para inicializar propiedades de clase, la combinación de constructores y destructores es igualmente útil de otras formas. Un ejemplo clásico es una clase para acceder a la conexión de una base de datos, donde un constructor crea la conexión y el destructor la cierra.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Constantes de Clase.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;________________________________________&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Las constantes de clase son una nueva caracteristica de PHP 5 que proporcionan, como su nombre implica, una opcion para definir valores constantes dentro de una definición de clase. Por ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;class MyClass&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;const constant = ‘Valor Constante’;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;function showConstant()&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;echo self::constant . “\n”;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;echo MyClass::constant . “\n”;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;$class = new MyClass();&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;$class -&gt; showConstant();&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic;font-family:verdana;&quot; &gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;// echo $class::constant; NO ESTA PERMITIDO&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El ejemplo ilustra el usa de las constantes de clase tanto en la propia clase como fuera de ella. Para acceder desde fuera de la clase tendríamos que usar el operador de resolución (también llamado Paamayim Nekudotayim) o en términos simples, dobles dos puntos (::), es un símbolo que permite acceso a los miembros o métodos estáticos, constantes y eliminados de una clase.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Métodos Estáticos&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;________________________________________&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Los metodos estaticos son metodos que forman parte de una clase, pero que se han diseñado para llamarse desde fuera del contexto de la instancia de un objeto. Se comprotan de forma identica a los metodos normales en una clase desde todos los puntos de vista excepto en un detalle importante: los metodos estaticos no pueden utilizar la varibles $this para hacer referencia a la instancia actual del objeto.&lt;br /&gt;Ejemplo de un metodo estatico:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;class Foo&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;public static $my_Static = ‘foo’;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;public function staticValue()&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;return self::$my_static;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;class Bar extends Foo&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;public function fooStatic()&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;return parent::$my_static;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;print Foo::$my_static . “\n”;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;$foo = new Foo();&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;print $foo -&gt; staticValue() . “\n”;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;print $foo -&gt; my_static . “\n”;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic; color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;// Propiedad indefinida my_static&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic; color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;//$foo::my_static no es possible&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;print Bar::$my_static . “\n”;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;$bar = new Bar();&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;print $bar -&gt; fooStatic() . “\n”;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Herencia de Clases&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;________________________________________&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;La herencia es por definición, la capacidad de una definición de clase extender otra funcionalidad de definición de clase.&lt;br /&gt;Cuando se hereda una clase de otra, todos los métodos, propiedades y constantes de la clase padre se encuentra n disponibles también desde la clase hija. Así mismo, las clases hijas también pueden volver a implantar algunos o todos los métodos, propiedades y constantes de una clase padre para proporcionar una funcionalidad adicional o diferente. Las clases se heredan de otra utilizando la palabra clave extends en la definición de clase.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Clases y Métodos abstractos&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;________________________________________&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Como su nombre implica, las clases abstractas se utilizan en OOP para definir objetos abstractos. Para entender lo que define a un objeto abstracto consideremos el concepto de la comida. Todos sabemos lo que es la comida, pero, lo hemos visto?. Hemos visto varios tipos de comida, carne, pollo, verdura, etc, pero el concepto de comida es en si un concepto abstracto. Ese concepto también se aplica a las clases abstractas. En OOP, las clases abstractas se diseñan para proporcionar una súper clase que define las características abstractas de las clases heredadas. Las clases abstractas pueden o no tener código en ellas, y nunca pueden crear instancias de ellas directamente.&lt;br /&gt;&lt;br /&gt;Ejemplo de una clase abstracta y su herencia correspondiente:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;abstract class AbstractClass&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;//Forza a las clases extendidas a implementar estos metodos&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;abstract protected function getValue();&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;abstract protected function prefixValue($prefix);&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic; color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;//metodo comun&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;public function printOut()&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;print $this -&gt; getValue() . “\n”;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;class ConcreteClass1 extends AbstractClass&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;protected function getValue()&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;return ‘concreteClass1’;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;public function prefixValue($prefix)&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;return ‘{prefix]}ConcreteClass1’;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;class ConcreteClass2 extends AbstractClass&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;protected function getValue()&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;return ‘concreteClass2’;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;public function prefixValue($prefix)&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;return ‘{prefix]}ConcreteClass2’;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;$class1 = new ConcreteClass1();&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;$class1 -&gt; printout();&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;echo $class1 -&gt; prefixValue(‘FOO_’) . “\n”&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;$class2 = new ConcreteClass2();&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 255, 255);font-family:verdana;&quot; &gt;$class2 -&gt; printout();&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;span style=&quot;color: rgb(255, 255, 255);&quot;&gt;echo $class2 -&gt; prefixValue(‘FOO_’) . “\n”&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; font-style: italic;&quot;&gt;El resultado del ejemplo seria:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ConcreteClass1&lt;br /&gt;FOO_ConcreteClass1&lt;br /&gt;ConcreteClass2&lt;br /&gt;FOO_ConcreteClass2</content><link rel='replies' type='application/atom+xml' href='http://thrimentis.blogspot.com/feeds/3815671047034739252/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2283711251481343960/3815671047034739252' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2283711251481343960/posts/default/3815671047034739252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2283711251481343960/posts/default/3815671047034739252'/><link rel='alternate' type='text/html' href='http://thrimentis.blogspot.com/2008/03/1-php-5-programacin-orientada-objetos.html' title='1 - PHP 5 - Programación Orientada a Objetos'/><author><name>Franco Massaccesi</name><uri>http://www.blogger.com/profile/07701434240821047381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwptycLoD-tasBmBWFSYSU9AFN9y6EeOunGqPRdg6TKmdTzLGeYfjxT-7QAbebrWvq7qZJJIwFU2qxC3opDu9v2n44u9XZ631nARFc0v8HSHbwCGtH2zVfh_fGCmE3dA/s220/18.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2283711251481343960.post-1923781179763115898</id><published>2008-03-19T14:13:00.005-03:00</published><updated>2008-03-19T14:43:32.781-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Optimizacion Web"/><category scheme="http://www.blogger.com/atom/ns#" term="SEO"/><title type='text'>Como optimizar tu sitio</title><content type='html'>&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;i style=&quot;font-family: arial;&quot;&gt;Este articulo es a modo de introducción, luego voy a ir hilando mas fino sobre los temas planteados, y otros de los cuales todavía no se hablaron.&lt;/i&gt;&lt;br /&gt;&lt;/span&gt;&lt;p class=&quot;MsoNormal&quot;  style=&quot;font-family:arial;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;Para optimizar nuestro sitio, necesitaremos como primera instancia, seguir con las directrices que ya publique en el articulo &lt;a href=&quot;http://thrimentis.blogspot.com/2008/03/principios-para-empezar-posicionar-tu.html&quot;&gt;Principios para posicionar tu sitio&lt;/a&gt;. Ahora para hilar un poco mas fino, vamos a ver algunos factores que debemos tener en cuenta para que nuestro sitio sea optimo.&lt;br /&gt;Uno de los principales factores a tener en cuenta son las Meta-etiquetas que utilizamos, las principales son la de description (que describe el contenido de la pagina) y la de keywords (que son las palabras por las que pueden encontrar tu sitio en los motores de búsqueda)&lt;br /&gt;También es importante que la etiqueta “title” sea lo mas descriptiva posible, pero a la ves no muy extensa, ya que esto ya no seria optimo.&lt;br /&gt;Estas son las principales, ya que los motores de búsqueda toman la etiqueta title para mostrar en el buscador como link a tu pagina, la Meta-etiqueta description que es la descripción que aparece a continuación, y la Meta-etiqueta keywords que le dice al buscador que cuando un usuario ponga por ejemplo la palabra “Posicionamiento Web” y en tus keywords se encuentra esta palabra clave, entonces debe aparecer en el buscador como se ve en la imagen debajo. Esto no quiere decir que si nosotros ponemos una palabra clave en nuestro sitio, y luego ponemos esa palabra clave en el buscador, nuestro sitio aparecerá en primera posición, pero justamente de eso se trata la optimización, de llegar a un nivel tan optimo como se pueda como para que en el futuro aparezca en la primera posición.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVr3zLoL-QE9SnuZK5mzn2AN9mbJNCggPWtJDvxbQla3PnJct1fJBBUZQVKwnBHis9GWKL-bB7K5elB5SvsK1pN0AMeFV4nEvMB4FEGmnWPNHVfChOElyk5175VUK2JEZlT8FfOuHck1kJ/s1600-h/buscador.gif&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVr3zLoL-QE9SnuZK5mzn2AN9mbJNCggPWtJDvxbQla3PnJct1fJBBUZQVKwnBHis9GWKL-bB7K5elB5SvsK1pN0AMeFV4nEvMB4FEGmnWPNHVfChOElyk5175VUK2JEZlT8FfOuHck1kJ/s400/buscador.gif&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5179503781502073794&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;MsoNormal&quot;  style=&quot;font-family:arial;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;Por otro lado, no sirve de nada, tener el title, las keywords y descriptions mas optimas del mundo para nuestro sitio, si este no tiene buen contenido, por este motivo hay que tratar de ser lo mas original posible, crear tu propio contenido, que concuerde con lo que según las etiquetas ofreces.&lt;br /&gt;Otro punto importante es la optimización de las URLs, a los motores de búsqueda no les gusta las URLs que reciben parámetros, como por ejemplo:&lt;br /&gt;&lt;br /&gt;tudominio.com/pagina.html?var1=variable1&amp;amp;var2=variable2&lt;br /&gt;&lt;br /&gt;Este es difícil de entender para los motores de búsqueda y la idea es facilitarle las cosas lo mas que se pueda, y de esa manera el nos mejorar nuestra posición, es un simple ida y vuelta, volviendo a las URLs es bueno que estas también contengan palabras claves, y en vez de tener la URL con parámetros que no se entienden, la podríamos reemplazar por la siguiente:&lt;br /&gt;&lt;br /&gt;tudominio.com/variable1/variable2&lt;br /&gt;&lt;br /&gt;donde variable1 y variable2 seria palabras claves. Esto se suele optimizar con el conocido archivo .htaccess del cual hablaremos mas adelante.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://thrimentis.blogspot.com/feeds/1923781179763115898/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2283711251481343960/1923781179763115898' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2283711251481343960/posts/default/1923781179763115898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2283711251481343960/posts/default/1923781179763115898'/><link rel='alternate' type='text/html' href='http://thrimentis.blogspot.com/2008/03/como-optimizar-tu-sitio.html' title='Como optimizar tu sitio'/><author><name>Franco Massaccesi</name><uri>http://www.blogger.com/profile/07701434240821047381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwptycLoD-tasBmBWFSYSU9AFN9y6EeOunGqPRdg6TKmdTzLGeYfjxT-7QAbebrWvq7qZJJIwFU2qxC3opDu9v2n44u9XZ631nARFc0v8HSHbwCGtH2zVfh_fGCmE3dA/s220/18.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVr3zLoL-QE9SnuZK5mzn2AN9mbJNCggPWtJDvxbQla3PnJct1fJBBUZQVKwnBHis9GWKL-bB7K5elB5SvsK1pN0AMeFV4nEvMB4FEGmnWPNHVfChOElyk5175VUK2JEZlT8FfOuHck1kJ/s72-c/buscador.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2283711251481343960.post-2821039751469939410</id><published>2008-03-19T00:49:00.004-03:00</published><updated>2008-03-19T17:32:52.657-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Directorios"/><title type='text'>Directorios de enlaces</title><content type='html'>&lt;div class=&quot;post-body entry-content&quot;&gt;&lt;p&gt;Una de las principales formas para empezar a posicionar tu sitio web, es que otros sitios tengan tu enlace en su pagina, para conseguir esto existen multiples directorios web en los cuales a cambio de un link reciproco en tu pagina, ellos te agregan a su directorio, verifica siempre que sean directorios con buenas fuentes, ya que si son spammer o cualquier otro fin que no sigue con las politicas de los motores de busqueda, puedes salir perjudicado, &lt;span style=&quot;font-weight: bold;&quot;&gt;aca les dejo un listado de algunos&lt;/span&gt;. Si quieren sugerir algun otro directorio, bienvenido sea...&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://enlaces.thrimentis.com.ar/&quot; target=&quot;_blank&quot;&gt;Thrimentis - Diseño, Desarrollo y Edicion de Contenido Web&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.desarrollodeweb.com.ar/&quot; target=&quot;_blank&quot;&gt;Diseño Web&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.onb.org/&quot; target=&quot;_blank&quot;&gt;Directorio&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.directoriocompras.es/&quot; target=&quot;_blank&quot;&gt;Directorio Compras&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.deltiron.com/directorio/&quot; target=&quot;_blank&quot;&gt;Deltiron.com - Directorio web&lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.juegosdegatitos.com/&quot; target=&quot;_blank&quot;&gt;PerrosGatos&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.oho.es/&quot; target=&quot;_blank&quot;&gt;OHO.es&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.topenlaces.net/&quot; target=&quot;_blank&quot;&gt;Directorio SEO TopEnlaces&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.linkalo.es/&quot; target=&quot;_blank&quot;&gt;Directorio LinKaLo&lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.blogsdofollow.com/&quot; target=&quot;_blank&quot;&gt;Directorio de Blogs dofollow&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.alnavirtual.es/&quot; target=&quot;_blank&quot;&gt;AlnaVirtual&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://dir.yahoo.com/&quot; target=&quot;_blank&quot;&gt;Yahoo directory&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.dmoz.org/&quot; target=&quot;_blank&quot;&gt;DMoz&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thrimentis.blogspot.com/feeds/2821039751469939410/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2283711251481343960/2821039751469939410' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2283711251481343960/posts/default/2821039751469939410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2283711251481343960/posts/default/2821039751469939410'/><link rel='alternate' type='text/html' href='http://thrimentis.blogspot.com/2008/03/directorios-de-enlaces.html' title='Directorios de enlaces'/><author><name>Franco Massaccesi</name><uri>http://www.blogger.com/profile/07701434240821047381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwptycLoD-tasBmBWFSYSU9AFN9y6EeOunGqPRdg6TKmdTzLGeYfjxT-7QAbebrWvq7qZJJIwFU2qxC3opDu9v2n44u9XZ631nARFc0v8HSHbwCGtH2zVfh_fGCmE3dA/s220/18.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2283711251481343960.post-8428963618534116661</id><published>2008-03-18T10:43:00.004-03:00</published><updated>2008-03-18T10:53:44.828-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google"/><title type='text'>Siestita mientras trabajo?</title><content type='html'>Desde hace unos meses, se están poniendo muy de moda en algunas empresas de EEUU una especie de cabinas para echar la siesta (en inglés, &#39;nap pods&#39;) dentro de las cuales los empleados se encuentran con un ambiente completamente aislado de luz y de sonido en el cual poder echar una cabezadita de varios minutos y poder así desconectar de la tensión de sus trabajos.&lt;br /&gt;&lt;p&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzfYy3AFBq9LxKHS5EUgdnAo4jfPOK0PLkIqFVC48oMsjT4m9fmeI8-n65rPgzMYM8a6Iy8jQnQRXkJuHnlwOt5zVPpB0l1whLuikWCRIXE2ppmb61S2V4ggK8oJ_mKxm-XPhyuD6IMJB1/s1600-h/04_mdf1420733.JPG&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 214px; height: 144px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzfYy3AFBq9LxKHS5EUgdnAo4jfPOK0PLkIqFVC48oMsjT4m9fmeI8-n65rPgzMYM8a6Iy8jQnQRXkJuHnlwOt5zVPpB0l1whLuikWCRIXE2ppmb61S2V4ggK8oJ_mKxm-XPhyuD6IMJB1/s320/04_mdf1420733.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5179079404373490594&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;En la foto, se puede ver una de estas cabinas en las oficinas de la sede central de Google en California (EEUU), y en la que se puede ver cómo se trata de un modelo de la firma &#39;&lt;a href=&quot;http://www.metronaps.com/&quot; title=&quot;http://www.metronaps.com/&quot;&gt;MetroNaps&lt;/a&gt;, la cual está vendiendo estos dispositivos a unos 8000 dólares la unidad. Además, en ciudades como Nueva York esta misma empresa está ofreciendo siestas de 20 minutos en sus cabinas por 14 dólares.&lt;br /&gt;&lt;br /&gt;De esta manera, los trabajadores pueden desconectar durante unos minutos de las tareas que están realizando, para posteriormente volver a ellas con mayores energías, aumentando así la productividad. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p&gt;Apoyo la moción para que sea obligatorio que las empresas dispongan de este dispositivo para sus empleados&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:times new roman;&quot;&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p  style=&quot;font-family:times new roman;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-size:12;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;;font-family:Times New Roman;font-size:100%;&quot;  &gt;&lt;span style=&quot;font-size:12;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://thrimentis.blogspot.com/feeds/8428963618534116661/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2283711251481343960/8428963618534116661' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2283711251481343960/posts/default/8428963618534116661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2283711251481343960/posts/default/8428963618534116661'/><link rel='alternate' type='text/html' href='http://thrimentis.blogspot.com/2008/03/siestita-mientras-trabajo.html' title='Siestita mientras trabajo?'/><author><name>Franco Massaccesi</name><uri>http://www.blogger.com/profile/07701434240821047381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwptycLoD-tasBmBWFSYSU9AFN9y6EeOunGqPRdg6TKmdTzLGeYfjxT-7QAbebrWvq7qZJJIwFU2qxC3opDu9v2n44u9XZ631nARFc0v8HSHbwCGtH2zVfh_fGCmE3dA/s220/18.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzfYy3AFBq9LxKHS5EUgdnAo4jfPOK0PLkIqFVC48oMsjT4m9fmeI8-n65rPgzMYM8a6Iy8jQnQRXkJuHnlwOt5zVPpB0l1whLuikWCRIXE2ppmb61S2V4ggK8oJ_mKxm-XPhyuD6IMJB1/s72-c/04_mdf1420733.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2283711251481343960.post-121206757333432262</id><published>2008-03-18T10:06:00.004-03:00</published><updated>2008-03-18T10:12:43.980-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="imagenes"/><title type='text'>Nace un buscador con fotos para elegir como fondo de página</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzgEOKWaGdYrUeGY2spSBjBiaYAHa1Y6r5JA2oUdXEcUlADZFiZxdqlouV4MSd3RXWuanuKoOWbhk-waTJoTZiH8VI8OT5DzOj6vE3vDRXDllM3ihB86VzK8hf_8BZyal2DGD9hjX-Awky/s1600-h/buscador4.gif&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 260px; height: 184px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzgEOKWaGdYrUeGY2spSBjBiaYAHa1Y6r5JA2oUdXEcUlADZFiZxdqlouV4MSd3RXWuanuKoOWbhk-waTJoTZiH8VI8OT5DzOj6vE3vDRXDllM3ihB86VzK8hf_8BZyal2DGD9hjX-Awky/s320/buscador4.gif&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5179068104314534786&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Casi todo el mundo tiene como página de inicio la muy útil, pero aburrida página en blanco de un buscador. &lt;a href=&quot;http://www.searchecoweb.com/&quot;&gt;Searchecoweb&lt;/a&gt; nace con la idea de tratar de cambiar esa monótona página de fondo blanco por otra que nos alegre la vista cada vez que accedamos a internet. Para ello ha creado un buscador en el que se puede elegir la imagen que se quiere tener de fondo en él, pudiendo seleccionarla entre las cientos de las que dispone.&lt;br /&gt;&lt;p&gt;Una de las características destacadas de esté buscador es la facilidad con la que se puede cambiar de imagen y elegir una nueva de las que se encuentran entre su banco de fotos que ya cuenta con un número importante de imágenes de calidad que van a seguir ampliando.&lt;/p&gt; &lt;p&gt; Otra característica no menos importante es que como su propio nombre indica searchecoweb se presenta como una página web ecológica y nos enseña un &lt;a href=&quot;http://www.searchecoweb.com/estudios-ahorro-energia.html&quot;&gt;estudio&lt;/a&gt; en el que demuestra que las páginas web con fondos de imágenes consumen menos energía que los tradicionales buscadores de fondo blanco ya que los monitores consumen más cuando tienen que mostrar colores claros y brillantes. Dado que los buscadores son las páginas más utilizadas y las más habituales como página de inicio, la idea de que se podría ahorrar una parte del consumo de energía de los monitores con solo cambiar esta página de inicio de fondo blanco lleva tiempo extendiéndose, y fruto de ello han salido una serie de buscadores con fondo negro, pero searchecoweb en su estudio sobre ahorro de energía demuestra que los fondos con imágenes producen prácticamente el mismo ahorro que los fondos negros planos. El estudio de Searchecoweb indica que ahorra hasta un 22% de energía en los monitores con respecto a las páginas de fondo blanco.&lt;/p&gt; &lt;p&gt;La tercera característica destacada de este buscador es que para evitar las reticencias a su utilización como página de inicio por el miedo a perder calidad en las búsquedas los resultados de searchecoweb son proporcionados por google por lo que utilizándolo como página de inicio se mantienen las garantías del buscador número uno. &lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://thrimentis.blogspot.com/feeds/121206757333432262/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2283711251481343960/121206757333432262' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2283711251481343960/posts/default/121206757333432262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2283711251481343960/posts/default/121206757333432262'/><link rel='alternate' type='text/html' href='http://thrimentis.blogspot.com/2008/03/nace-un-buscador-con-fotos-para-elegir.html' title='Nace un buscador con fotos para elegir como fondo de página'/><author><name>Franco Massaccesi</name><uri>http://www.blogger.com/profile/07701434240821047381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwptycLoD-tasBmBWFSYSU9AFN9y6EeOunGqPRdg6TKmdTzLGeYfjxT-7QAbebrWvq7qZJJIwFU2qxC3opDu9v2n44u9XZ631nARFc0v8HSHbwCGtH2zVfh_fGCmE3dA/s220/18.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzgEOKWaGdYrUeGY2spSBjBiaYAHa1Y6r5JA2oUdXEcUlADZFiZxdqlouV4MSd3RXWuanuKoOWbhk-waTJoTZiH8VI8OT5DzOj6vE3vDRXDllM3ihB86VzK8hf_8BZyal2DGD9hjX-Awky/s72-c/buscador4.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2283711251481343960.post-7562623919073820533</id><published>2008-03-17T16:44:00.004-03:00</published><updated>2008-03-17T18:21:04.914-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google"/><title type='text'>Logo de Google por San Patricio</title><content type='html'>&lt;span style=&quot;text-decoration: underline;&quot;&gt;&lt;/span&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCL-3mZ0pULWKOh5xomJeTIIIKoic_9jzMgV4aB9GL9XA29A9lJEN1xRTws4-faL7go4ZApqu9eRbzc2wrCKyMGVaAe-vjXdKpMIeaANpT77rT72MvOCwceqOZRg83X8Wqd6LvCZk6BHb0/s1600-h/stpatricks_08.gif&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCL-3mZ0pULWKOh5xomJeTIIIKoic_9jzMgV4aB9GL9XA29A9lJEN1xRTws4-faL7go4ZApqu9eRbzc2wrCKyMGVaAe-vjXdKpMIeaANpT77rT72MvOCwceqOZRg83X8Wqd6LvCZk6BHb0/s320/stpatricks_08.gif&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5178798981663767410&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Por lo visto argentina no debe festejar este día según Google, aunque las calles de Buenos Aires esten repletas de gente vestida de verde tomando cerveza, pero bueno nos discriminan y tenemos el mismo logo feito de siempre...seguramente para semana santa tendremos 2 huevos de pascuas en ves de dos O. Aunque a nadie en Argentina le importa las pascuas si no los dias feriados, sin ofender a los religiosos, pero si hacen un encuesta, van a comprabar que es asi, lamento desepcionarlos...</content><link rel='replies' type='application/atom+xml' href='http://thrimentis.blogspot.com/feeds/7562623919073820533/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2283711251481343960/7562623919073820533' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2283711251481343960/posts/default/7562623919073820533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2283711251481343960/posts/default/7562623919073820533'/><link rel='alternate' type='text/html' href='http://thrimentis.blogspot.com/2008/03/logo-de-google-por-san-patricio.html' title='Logo de Google por San Patricio'/><author><name>Franco Massaccesi</name><uri>http://www.blogger.com/profile/07701434240821047381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwptycLoD-tasBmBWFSYSU9AFN9y6EeOunGqPRdg6TKmdTzLGeYfjxT-7QAbebrWvq7qZJJIwFU2qxC3opDu9v2n44u9XZ631nARFc0v8HSHbwCGtH2zVfh_fGCmE3dA/s220/18.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCL-3mZ0pULWKOh5xomJeTIIIKoic_9jzMgV4aB9GL9XA29A9lJEN1xRTws4-faL7go4ZApqu9eRbzc2wrCKyMGVaAe-vjXdKpMIeaANpT77rT72MvOCwceqOZRg83X8Wqd6LvCZk6BHb0/s72-c/stpatricks_08.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2283711251481343960.post-4363524961378885599</id><published>2008-03-17T10:40:00.006-03:00</published><updated>2008-03-17T17:23:20.888-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SEO"/><title type='text'>Principios para posicionar tu sitio</title><content type='html'>&lt;b&gt;Para poder posicionar tu sitio en los buscadores hay una serie de directrices a seguir&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjePew9bwlXIVLEeNuqtLSU59Uuip860jjkyfiScFuGGZnTcVj-t79R8TxfcMBF-_pVIWhiWjT52ZiWonrzsnCYR1Nfjy-Deicf-Y3VVP5L4YL7roS3iqWQWK_55n_INaQvosWxURUN6MML/s1600-h/posicionamiento.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 201px; height: 187px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjePew9bwlXIVLEeNuqtLSU59Uuip860jjkyfiScFuGGZnTcVj-t79R8TxfcMBF-_pVIWhiWjT52ZiWonrzsnCYR1Nfjy-Deicf-Y3VVP5L4YL7roS3iqWQWK_55n_INaQvosWxURUN6MML/s320/posicionamiento.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5178729089660959554&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Siguiendo estas directrices ayudarás a los buscadores a buscar, a indexar y a clasificar su sitio en el ranking de resultados. El posicionamiento web es una practica que lleva meses y hasta años, no pretenda que su sitio aparezca en la primera posición luego de un mes, puede que le lleve 6 o 7 meses posicionarlo, y esto con un constante trabajo para lograrlo, así que si piensas posicionar tu sitio web, plantéate primero si tienes paciencia…&lt;o:p&gt;&lt;/o:p&gt;  &lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Cuando su sitio este terminado:&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;ul type=&quot;disc&quot;&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Conseguir que otros sitios      relevantes, con buenos contenidos, que estén bien posicionados en los      buscadores, con un Page Rank alto, enlacen tu sitio. Algunos directorios      importantes son por ejemplo &lt;a href=&quot;http://www.dmoz.org/&quot;&gt;Open Directory      Project&lt;/a&gt; y Yahoo!.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Dar de alta su sitio en los      buscadores, por ejemplo en Google desde &lt;a href=&quot;http://www.google.es/addurl.html&quot;&gt;aquí&lt;/a&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Google ofrece una      herramienta para monitorear su sitio, en el cual puede subir su Sitemap,      ver las paginas que tiene indexadas, ver si tiene errores como paginas no      encontradas(404 page not found), entre otras cosas. Puede acceder desde la      siguiente url:&lt;a href=&quot;http://www.google.com/webmasters/tools?hl=es/&quot;&gt;http://www.google.com/webmasters/tools?hl=es/&lt;/a&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;&lt;a name=&quot;design&quot;&gt;&lt;/a&gt;&lt;b&gt;Directrices a seguir para el diseño y contenido de su sitio&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;ul type=&quot;disc&quot;&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Su sitio debe tener una      jerarquía y vínculos de texto claros. La idea es que se pueda acceder a      todas las paginas desde al menos un vinculo estático&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Ofrecer a los usuarios un      mapa del sitio con vínculos que apunten a las secciones importantes del      mismo. Si el mapa tiene más de cien vínculos, se puede paginarlo para que      no se haga tan extenso. &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Su sitio debe ser útil, con      mucha información y redacte páginas que describan el contenido con      claridad y exactitud. &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Determine las palabras claves      (keywords) que los usuarios utilizarían para encontrar sus páginas y      asegúrese de que su sitio las incluye. &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Intente utilizar texto en      lugar de imágenes para mostrar nombres, contenido o vínculos importantes.      Los buscadores no reconocen texto incorporado en las imágenes.&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt; &lt;/span&gt;Asegúrese de que los atributos ALT y las      etiquetas TITLE sean descriptivos y precisos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Compruebe que no haya      vínculos dañados o código HTML incorrecto. Este ítem es fundamental, ya      que si un vinculo esta dañado es probable que los buscadores no indexen      ese vinculo, puede comprobar si usted no tiene errores en el código desde el      &lt;a href=&quot;http://validator.w3.org/&quot;&gt;Validador W3C&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Si decide utilizar páginas      dinámicas (es decir, una URL que contenga el carácter &quot;?&quot;), sepa      que no todas las arañas de los motores de búsqueda rastrean páginas      dinámicas, además de páginas estáticas. Se recomienda que los parámetros      sean cortos y escasos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Una página no debería      contener más de cien vínculos. &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;&lt;b&gt;Directrices técnicas que se aconsejan seguir&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;ul type=&quot;disc&quot;&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Es aconsejable utilizar un      navegador de texto como &lt;a href=&quot;http://www.blogger.com/lynx.browser.org&quot;&gt;Lynx&lt;/a&gt; para examinar      su sitio, ya que la mayoría de las arañas lo analizan como lo haría esta      aplicación. Si las funciones avanzadas como JavaScript, cookies, ID de      sesión, marcos, DHTML o Flash impiden la visualización de todo su sitio en      un navegador de texto, es posible que las arañas de los motores de      búsqueda tengan problemas para rastrearlo. &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Es recomendable que los      robots de búsqueda rastreen sus sitios sin ID de sesión o argumentos que      efectúan un seguimiento de su ruta por el sitio. Estas técnicas son de      gran utilidad para supervisar el comportamiento de un determinado usuario,      pero el patrón de acceso de los robots es completamente distinto. El uso      de estos métodos puede llevar a una indexación incompleta de su sitio, ya      que es posible que los robots no puedan eliminar las URL que tengan un      aspecto distinto pero que en realidad apuntan a la misma página. &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Asegúrese de que su      servidor web admita la cabecera HTTP &quot;If-Modified-Since&quot;. Esta      función permite que su servidor Web avise a los motores de búsqueda si      usted realizo alguna actualización sobre su sitio. La compatibilidad con      esta función le ahorra ancho de banda y gastos generales. &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Utilizar el archivo      robots.txt en su servidor web. Este archivo comunica a los rastreadores      qué directorios pueden o no rastrearse. &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Si estas utilizando algún      sistema de administración de contenido, asegúrese de que pueda exportar el      contenido de modo que las arañas de los motores de búsqueda logren      rastrear su sitio.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Utilice robots.txt para      evitar el rastreo de páginas de resultados de búsqueda u otras páginas      generadas automáticamente que carecen de valor para los usuarios      procedentes de motores de búsqueda.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;&lt;a name=&quot;quality&quot;&gt;&lt;/a&gt;&lt;b&gt;&lt;u1:p&gt;Directrices de calidad fundamentales para lograr una buena posición en los buscadores&lt;o:p&gt;&lt;/o:p&gt;&lt;/u1:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=&quot;&quot;&gt;Estas cubren las formas mas comunes de comportamiento engañoso o manipulador, es posible que los buscadores no aprueben practicas engañosas, como por ejemplo &lt;/span&gt;engañar a los usuarios con el registro de palabras escritas incorrectamente de sitios web conocidos, aunque muchos buscadores no especifican que estas practicas están prohibidas, si las realizas puedes ser sancionado y tal vez tu sitio nunca mas pueda estar en ese motor de búsqueda.&lt;span style=&quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;Si cree que algún sitio está vulnerando las directrices de calidad de los buscadores, y no estas de acuerdo en que un sitio diga tener algún contenido que en realidad no pueden ofrecer puede denunciarlo en los buscadores&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Directrices de calidad: principios básicos&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;ul type=&quot;disc&quot;&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;La idea es no perder de      vista el objetivo, que seria crear paginas web para mostrar al mundo lo      que usted quiera, con esto quiero decir que intente crear páginas para      usuarios y no para motores de búsqueda. No engañe a sus usuarios ni      presente a los motores de búsqueda contenido distinto al que les muestra a      ellos; esta práctica se conoce como &quot;encubrimiento&quot;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Evite trucos destinados a      mejorar los rankings en los motores de búsqueda. Una buena regla general      es preguntarse si se sentiría cómodo al tener que explicar a un sitio web      de la competencia lo que ha hecho. Otra prueba de gran utilidad es      preguntarse: &quot;¿Ayuda esto a mis usuarios?; ¿haría esto si no      existiesen los motores de búsqueda?&quot;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;No participe en esquemas de      vínculos diseñados para incrementar el ranking o el valor de PageRank de      su sitio. En concreto, evite vínculos que enlazan con los creadores de      sitios fraudulentos o &quot;vecindarios indeseables&quot; de la web, ya      que su propio ranking podría verse afectado negativamente por ellos.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;No utilice programas      informáticos no autorizados para enviar páginas, comprobar rankings, etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://thrimentis.blogspot.com/feeds/4363524961378885599/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2283711251481343960/4363524961378885599' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2283711251481343960/posts/default/4363524961378885599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2283711251481343960/posts/default/4363524961378885599'/><link rel='alternate' type='text/html' href='http://thrimentis.blogspot.com/2008/03/principios-para-empezar-posicionar-tu.html' title='Principios para posicionar tu sitio'/><author><name>Franco Massaccesi</name><uri>http://www.blogger.com/profile/07701434240821047381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwptycLoD-tasBmBWFSYSU9AFN9y6EeOunGqPRdg6TKmdTzLGeYfjxT-7QAbebrWvq7qZJJIwFU2qxC3opDu9v2n44u9XZ631nARFc0v8HSHbwCGtH2zVfh_fGCmE3dA/s220/18.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjePew9bwlXIVLEeNuqtLSU59Uuip860jjkyfiScFuGGZnTcVj-t79R8TxfcMBF-_pVIWhiWjT52ZiWonrzsnCYR1Nfjy-Deicf-Y3VVP5L4YL7roS3iqWQWK_55n_INaQvosWxURUN6MML/s72-c/posicionamiento.jpg" height="72" width="72"/><thr:total>0</thr:total></entry></feed>