Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Pa531no5

#1
Zona Webmaster / [SEO][POPULARIDAD] Ley de Metcalfe.
Noviembre 27, 2011, 08:43:43 AM
Volviendo a recordar lo que era el Marketing viral, nos encontramos con la Ley de Metcalfe, que establece que el valor de una red de telecomunicaciones es proporcional al número de usuarios de la misma. Esto es, si inventamos un aparato para comunicarnos, como por ejemplo un móvil que permite la videoconferencia, el valor de esa funcionalidad se incrementará en proporción a los móviles con videoconferencia que haya en la red.

Aunque la Ley de Metcalfe fue creada para referirse a conexiones físicas entre aparatos electrónicos, podemos extrapolarla a las redes sociales o nichos de Internet, y de hecho, es la base sobre la que se asienta el marketing viral.

No obstante, la Ley de Metcalfe tiene muchos detractores, por un lado, Andrew Odlyzko y Benjamin Tilly concluyeron que la Ley sobreestimaba el valor de una red ya que no todo el mundo interactúa con todo el mundo, y además, hay quienes interactúan mas entre ellos que con otros o quienes hacen mayor uso de la red, colocando sobre la mesa dos conceptos: las subredes o subgrupos comunitarios y la calidad del nodo o usuario.

Por otro lado, Reed establecía en su Ley de Reed que Metcalfe minusvaloraba el valor de las redes, ya que si se tienen en cuenta los subconjuntos y la interacción entre ellos, cada subconjunto contaría como un nodo añadido a la red. Tratando de esta forma a los grupos de personas como entes propios.

Por mi parte, aunque considero que Reed tiene razón en que se debe tener en cuenta a los grupos de usuarios como entes en sí mismos, su fórmula matemática es exageradamente optimista y el artículo de Andrew y Benjamin me parece mas acertado, ya que en Internet ha quedado demostrado que ser el que tiene más tráfico no implica ser el más rentable o el que obtiene un mayor beneficio.

Por ello, la estrategia pasa por saber monetizar el tráfico, y si hablamos de marketing viral o marketing online, por buscar nichos de mercado potencial y no nichos de mucho tráfico. Si echamos un vistazo a Google, nos daremos cuenta de que su éxito se basa precisamente en esto, ya que alguien que busca la palabra "pizzeria" forma parte de tu mercado potencial mas directo... ¿estás dispuesto a anunciarte? Y aunque Google sea el que tiene más tráfico, ¿crees que sería útil anunciarse en una web de recetas de Pizza?
#2
Zona Webmaster / [SEO][POPULARIDAD] Marketing viral.
Noviembre 27, 2011, 08:43:09 AM
Podríamos definir el marketing viral como el "boca a boca" virtual, que pasa de ordenador en ordenador a través de emails, chats, foros, blogs o incluso sms expandiéndose a gran velocidad y a gran escala por toda la red en cuestión de horas.

El término marketing viral fue concebido como un paralelismo a los virus informáticos, ya que se propagaban virtualmente entre los ordenadores "infectando" a las personas que decidían propagarlo a otros de forma voluntaria.

Para conseguir este boca a boca hay muchas técnicas, pero la base siempre es la misma, hacer algo llamativo, curioso o interesante que la gente quiera o desee compartir y se lo envíen los unos a los otros. Este "algo" puede ser una web con una noticia impactante o un juego divertido, un email con una broma o chiste o incluso una cadena "Envía este mensaje a 10 personas y se cumplirá tu deseo...".

Para conseguir el efecto viral no existen límites a tu imaginación, pero recuerda siempre que debes hacer que su propagación sea sencilla y hasta motivar a la misma (colocar una opción para enviar a un amigo o directamente pedir que lo envíen a su lista de contactos), cuanto mejor sea la idea mas ganas tendrá la gente de compartirla y menos les importará "quién haya detrás", lo que te permite atraer tráfico o hacer marca.

No fuerces su propagación o conseguirás el efecto contrario (aunque existen técnicas de pago por colaborar en la propagación del mensaje), no envíes el primer email en formato SPAM a quien no te lo ha pedido, no coloques la semilla en donde está prohibido hacerlo, ni tampoco te hagas pasar por un usuario normal que no tiene nada que ver con el proyecto, puede quedar muy feo si te acaban pillando y provocar un marketing viral con efectos negativos (aunque como se suele decir, mejor que hablen mal a que no hablen).

Simplemente propón, anuncia, informa de ello o envíalo a tus contactos y amigos o conocidos para que te echen una mano publicándolo en sus blogs o enviándoselo a sus contactos (esta técnica funciona mucho mejor, ya que quienes reciben la semilla aunque no estén interesados no se enfadarán contigo y si la reenvían, los siguientes tampoco se tomarán a mal algo enviado por un conocido).
#3
Uno de los detalles a tener en cuenta de cara al SEO en tu site tiene que ver con el servidor en que se aloja el mismo, son muchos los que no prestan atención a éste, siendo uno de los factores mas determinantes y explico porqué:

Lugar de alojamiento: Una de las virtudes de Google es mostrar resultados priorizando aquellos que estén mas cerca de ti geográficamente, ya que considera que culturalmente, ya sea por idioma o contexto, el resultado se ajustará mas a tu búsqueda (y lo cierto es que aciertan bastante). Por tanto, a la hora de escoger un servidor en que alojar el site, y aunque los servidores estadounidenses sean potentes y baratos, vale la pena decantarse por uno situado en tu tierra, en mi caso, España.

Tiempo de respuesta del servidor: Afecta a la velocidad a la que te indexarán las arañas, pero no en el posicionamiento (aunque cuanto antes te indexen, antes saldrás en Google, y si hubiera problemas con el contenido duplicado tú tendrías el original).

Enlaces compartidos: No es una característica propia del servidor, pero si que es cierto que los sites que compartan IP pirden fuerza a la hora de compartir enlaces, ya que Google determina que esos sites podrían pertenecer a la misma persona y reduce el valor del enlace. Quizás pueda interesarte alojar 2 de tus dominios en servidores distintos.
#4
Quizás no haya nada más importante en SEO que el Page Rank y las múltiples formas de aumentar el mismo en tu página, muchas de ellas al límite de las recomendaciones Google e incluso fuera de él que han provocado más de un baneo y múltiples penalizaciones a SEOs de todo el mundo.

¿Qué es el Page Rank?

Lo primero que hay que decir sobre el Page Rank es que gracias a este sistema Google es hoy día lo que es, ya que gracias a él sus búsquedas fueron mucho más eficaces y supuso en su día una revolución. En su base, el Page Rank funciona como un sistema democrático con enlaces, de forma que cada enlace (hipervínculo) que enlaza a una página funciona como un voto a esa página, y por tanto, si 500 webs enlazan una página la idea es que esa página debe ofrecer mejor información que la que no recibe ningún enlace. Así, para una palabra clave determinada, una página será más relevante que otra en función de los enlaces que apunten a la misma.

Votos entre páginas
Dicho esto parece fácil hacer SEO, si colocamos 500 enlaces seguidos a una página desde otra conseguiremos que la misma se posicione mejor, y os aseguro que éste truco funcionaba y yo mismo llegué a utilizarlo años atrás, pero las granjas de enlaces pasaron a mejor vida hace años y ahora resulta bastante más difícil conseguir enlaces entrantes válidos que apunten a tu página.

¿Enlace entrante válido? Vale. Primero aclaremos lo que es un enlace entrante o sus múltiples sinónimos (backlink, backwardlink, inbound link, incoming link, ...), un enlace entrante se refiere a un enlace que desde una web externa se realiza a tu web. El enlace será válido o de mayor valor si cumple con las siguientes características:

    Distinto propietario de la web origen.

    Distinto servidor de la web origen.
    La web origen no recibe enlaces desde la web destino (lo que se conoce como cross-linking)
    La web origen tiene un contexto igual al de la web destino
    El enlace en la web origen parece natural (embebido en el texto, gramática correcta, etc.).
    El Page Rank de la web origen.
    Cualquier cosa futura que a Google se le ocurra tener en cuenta.

Por tanto, y en resumen, el Page Rank mide el valor de tu página, a mayor Page Rank mayor peso y por tanto más posibilidades de estar arriba en los resultados de Google. A causa de la existencia de los SEOs y de la manipulación del Page Rank por parte de los mismos consiguiendo enlaces fraudulentos Google lleva años batallando por desenmascarar dichas prácticas penalizándolas y mejorando su algoritmo, hasta el punto de que a día de hoy el Page Rank cuenta mucho menos que en el pasado a la hora de posicionar una página.
¿Cómo se calcula el Page Rank?

Aunque existe una fórmula tan secreta como la de la Coca Cola que se encarga de calcular esto (y si hablásemos de la que calcula el posicionamiento final, que encima es variable, ni os cuento), la idea es bastante sencilla:

Cada página que te enlace te da un voto, y por tanto ganas Page Rank salvo que Google considere que has hecho trampas y no cuente ese enlace. El Page Rank que ganas depende del Page Rank que tenía la página origen y de la cantidad de enlaces de la misma. Teniendo en cuenta que en la fórmula de cálculo del Page Rank se divide el PR de la página por el total de enlaces en la misma, a mayor cantidad de enlaces menos PR se entrega a cada uno, y por tanto, una página con PR10 y mil enlaces puede estar entregándote menos PR que otra con PR5 y un sólo enlace.

Por decirlo de alguna manera más clara, pongamos que cada página tiene un pastel y divide el pastel entre la cantidad de comensales (enlaces), a mayor cantidad de comensales menos pastel para cada uno, pero el tamaño del pastel depende de la página (PR1 a PR10).

Dicho esto, parece que todas nuestras páginas tienen un jugoso pastel, y podemos repartirlo generosamente o ser cuidadosos y alimentar primero a nuestros niños. ¿Lo que? Fácil. El pastel no sólo se reparte entre tus propias páginas sino que también se reparte entre los invitados (páginas externas), por tanto, si tienes una página con 5 enlaces a tus páginas internas y 5 enlaces a páginas externas, estás regalando la mitad de tu pastel.
¿Cómo mido mi Page Rank?

Existen muchos plugins o webs que miden el PR de tu página, pero quizás la forma más cómoda y segura es instalar la barra Google, ya que la misma incorpora un medidor de Page Rank que te va diciendo el PR de cada página que visitas, y al ser la barra de Google, ¡no hay nada más fiable que eso!
Utilizar tu PR de forma inteligente

Una vez que sabemos lo que es el PR, mas o menos cómo se calcula y que lo mejor es conservarlo, debemos aprender a utilizar el mismo con la máxima eficacia. Lo primero, diferenciar entre enlaces externos (backlinks) y enlaces internos:

Un enlace externo es un enlace que va de un dominio a otro, mientras que un enlace interno es un enlace que apunta dentro de un mismo dominio. Un dominio es el nombre de una web, por ejemplo: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, pero ojo, porque el dominio No tienes permitido ver los links. Registrarse o Entrar a mi cuenta cuenta como distinto a menos que exista una redirección al .com.

Page Rank GoogleDicho esto, imaginemos que la página principal de nuestra web -que suele ser la que tiene más PR- consigue PR5, bien, si en esta página principal el 40% de los enlaces son externos, estaremos perdiendo el 40% del mayor peso de nuestra web, que es la página principal, para regalarlo a páginas externas. Para evitarlo, podemos tener cuidado con a quien enlazamos en nuestras páginas con más peso o utilizar el nofollow del que os hablé en éste post.

Pero eso no es lo único que debemos tener en cuenta, ya que nuestra página tiene que competir con otras en posicionamiento, es posible que nos queramos posicionar para las palabras clave "viajes costa brava" y para "cristalería costa brava", como te puedes imaginar, la primera opción tiene más dificultades y requiere de más fuerza que la segunda, por ese motivo podríamos canalizar nuestro PR hacia la página que requiere de más fuerza y no tanto a la que requiere menos.

¿Cómo se hace esto? Pues básicamente reduciendo la cantidad de enlaces o colocando nofollows a todos los que no quieres darles un cachito del pastel. Ten en cuenta que cuanto más pastel entregues más peso tendrán tus páginas, por lo que debes alimentar mejor aquellas que quieres sean más relevantes o que necesitan más peso para posicionarse. Por otro lado, si en tus páginas colocas muchos enlaces internos la mayor cantidad del pastel irá a parar a tu web, mientras que si colocas pocos los enlaces externos que tengas se llevaran algo que podría interesarte.

Y para terminar, recuerda que para aumentar tu pastel necesitas que los demás te den parte del suyo, así que procura conseguirte enlaces entrantes válidos. Cuantas más páginas tenga tu web también tendrás más peso, pero lo que te hará engordar son los enlaces entrantes, los internos son sólo para repartir lo que te llega o para evitar que se escape.

Un ejemplo práctico de esto sería éste post de José Rodríguez (Administrador de la web de UGT Catalunya y a quien tengo el placer de conocer en persona), en el que enlaza a muchísimos bloggers al final del mismo pero no les entrega PR (ha puesto el nofollow) excepto al Secretario General de UGT Catalunya, Josep María Álvarez, y a su amigo Rubén Novoa con quien tiró adelante esa iniciativa. Lo mejor de todo es que los enlazados puede que le devuelvan el enlace desconociendo que ellos seguramente sí le estén entregando PR... y encima ha quedado como un señor :) Actualización: Parece que Jose no hizo eso intencionadamente, lo cual no quita que era un buen ejemplo, así que lo dejo.

Otro truco que puede serte útil es compartir enlaces con otras webs, Google ya tiene eso en cuenta y valora menos esos enlaces por Cross-linking, pero todavía los valora ;) Eso sí, si compartes enlaces sé ético y no pongas nofollow!
#5
Ahora que ya hemos decidido las palabras clave que queremos potenciar en nuestra web y sus distintas secciones, es el momento de colocarlas por la misma de forma que los buscadores entiendan dos cosas bien sencillas, la primera, de qué trata nuestra página, y la segunda, que se habla de ese tema dándole una buena relevancia. Lo que provocará que nos posicionen bien arriba.

A continuación paso un listado de los mejores sitios en que colocar las palabras clave y consejos sobre como hacerlo bien:

Etiqueta title
A día de hoy es seguramente el mejor lugar en que colocar palabras clave por la enorme relevancia que tiene y el valor que le otorgan los buscadores. No hay que olvidar tampoco que esta etiqueta es el título que se mostrara en los resultados de búsqueda al usuario, de forma que aunque es necesario colocar alguna palabra clave, también se debe intentar escribir algo llamativo o atrayente para el usuario. Los buscadores cortan los titles que superan los 60 caracteres, así que evita exceder eso.

Etiqueta H1
Suele utilizarse al principio de las páginas a modo de título y ha sido muy valorado por los buscadores ya que tenía gran fiabilidad. Sigue los mismos consejos que al crear la etiqueta Title con la diferencia de que este título no lo verán los usuarios en una búsqueda, pero si será lo primero que vean al entrar en tu página y debes dejarles claro que tu hablas sobre ese tema. Esta etiqueta ha perdido importancia en los últimos meses pero aun sigue siendo una de las mas importantes.

Etiquetas H2 y H3
Al igual que la etiqueta H1 también cuentan, sobretodo si están alineados adecuadamente cumpliendo los estándares. No obstante, ten cuidado de no hacerlo completamente perfecto sobreoptimizando la página (colocando siempre las mismas palabras clave) o los buscadores se darán cuenta y te penalizarán, además, piensa también en la usabilidad y el contenido, tus títulos y subtítulos deben servir al usuario para guiarse, si puedes incluye alguna palabra clave, pero en los H2 para abajo te recomiendo pensar mas en el usuario.

Contenido
Por supuesto, es necesario que las palabras clave aparezcan varias veces en el contenido de la página, esto es, dentro de la etiqueta body, en el texto. No obstante también hemos de evitar abusar de su uso o será considerado spam por los buscadores. La cantidad de veces que debe aparecer depende de la cantidad de contenido que tengamos en la página.

Análisis gramatical
Es importante que tenga sentido lo que escribes, ya que conforme los buscadores mejoran sus algoritmos (sobretodo Google) van determinando gramaticalmente quién es el sujeto de las oraciones y de qué trata exactamente una página o párrafo, por ello, mira de escribir de forma natural y dejando claro cuál es el tema principal del escrito.

Primer párrafo
Google da mas importancia a las primeras líneas escritas, ya que es lo que va a ver el usuario nada mas entrar en tu página, asegúrate de incluir en el primer párrafo las palabras clave (y que sean el sujeto de una oración con sentido). Por otro lado, en caso de fallar el meta description, las primeras líneas serán lo que muestre Google en la descripción de la página.

Dominio
El dominio es el nombre de tu web: (www.dominio.com) y resulta muy útil de cara a las búsquedas por dos motivos, el primero es obvio, tener las palabras clave en tu propio dominio te da mucha relevancia, pero el segundo tiene que ver con los anchor text, y es que cada vez que alguien haga un enlace a tu dominio, es probable que lo haga con el nombre del mismo y te de el anchor text que mejor te pega. No obstante, es bastante probable que a estas alturas ya no puedas cambiar el mismo, además de que por razones de marketing es posible que se utilice otro.

Por otro lado, la gente verá tu dominio como algo mucho mas linkable, por ejemplo, si alguien habla de pollos fritos será mas proclive a incluir un enlace a "pollos-fritos.com" que a "polleria-mari.com", y ayuda en el marketing viral.

URL de las páginas
Aunque no tiene tanta fuerza como el dominio, funciona igual. Por un lado te da relevancia por incluir las palabras clave, además, es una URL mas comprensible de cara al usuario y permite que mas usuarios decidan linkarte, en muchas ocasiones el link mismo hace de anchor text, y al igual que en el dominio te estarán regalando un anchor text con tus palabras clave con tan solo escribir la url de tu página.

Alt y Title
Las propiedades alt y title son útiles también para colocar palabras clave. En el caso de la propiedad Title de las imágenes tiene mucha relevancia de cara a la búsqueda de imágenes y sirve como anchor text si está dentro de un enlace. No cuentan tanto como las etiquetas anteriormente vistas, pero siempre suma algo.

Negrita
Poner las palabras clave en negrita dentro del código (usando las etiquetas b o strong y no un estilo de css) también suma aunque no tiene la importancia que tenía antes. De todas formas, las negritas ayudan al usuario a ver los puntos clave y por ello has de tener cuidado de no perjudicar en exceso la usabilidad, unas palabras en negrita son importantes dentro de una frase, pueden servir para remarcar quien es el sujeto o el tema del que se habla en un determinado párrafo.

Meta description
El meta description es muy importante ya que será lo que utilicen los buscadores para mostrar ese pequeño resumen de lo que trata la página en una búsqueda. Por supuesto viene bien poner palabras clave ya que además se remarcan en la búsqueda y ayudan al usuario a ver que hablas de ese tema, pero es importante que intentes atraer al usuario a hacer click sobre tu página en el listado de resultados para su búsqueda. Utiliza algún texto que atraiga a hacer click mostrando que realmente eres lo que él busca, pon un description distinto para cada página, te indexa mejor y permite al usuario diferenciar entre los distintos resultados y no superes los 160 caracteres.

Meta keywords
A causa del abuso que se hizo en su día de este meta, a día de hoy está muy poco valorado, aunque Yahoo lo tiene algo en cuenta Google no le da importancia. No obstante puede colocarse por si Google cambia de idea y por si otros buscadores lo tuvieran en cuenta. Por otro lado, teniendo en cuenta el mal uso que se hizo de este meta en el pasado, los buscadores le tienen mucho recelo, pon pocas palabras y úsalo con cuidado o te considerarán spamer.
#6
Las palabras clave son las palabras que la gente que puede estar interesada en tu web utiliza al realizar búsquedas, por ejemplo, si tienes una tienda de animales lo mas probable es que busquen "tienda de animales en X" donde X es tu ciudad o "comprar perro" si te dedicas a su venta.

Determinar las palabras clave de tu web es uno de los puntos mas importantes en el proceso de optimización, ya que un fallo en la elección de estas palabras puede suponer la pérdida de todo el trabajo posterior con la de tiempo y recursos que ello supone, por lo que vale la pena tomarse este punto con calma y asegurar bien el tiro.


Listado inicial

    Lo primero que tenemos que hacer es una lluvia de ideas, en este caso de palabras que nos permita formar una lista con los términos de búsqueda mas relevantes de cara a nuestra web.
    Una vez que tengamos eso, debemos pensar como si fuésemos el cliente, visitante, etc. potencial y fuésemos a buscar en Google. ¿Qué palabras usaríamos?
    Además de pensar en que palabras escribirían, piensa en realmente cómo las escribirían, faltas ortográficas incluidas. (En este punto hay que remarcar que Google corrige automáticamente los errores ortográficos y no tiene en cuenta los acentos, por ejemplo, busca -buelos baratos-, si, con "b").
    Tras tener una lista propia mas o menos formada, haremos un estudio de nuestra competencia, entrando en sus webs y observando las palabras clave que usan en sus METAS y contenido, para lo cual observamos el código fuente de sus páginas, sobretodo la home.
    Y por último, debemos pensar en sinónimos de los términos anteriores.

Herramientas de apoyo

Google Trends
Sirve para comparar la cantidad de búsquedas realizadas en dos términos distintos, por ejemplo, podríamos comparar si la gente busca mas alquilar o alquiler. Los datos, como es obvio, los recoge de Google, lo que resulta muy útil pues el mercado español está dominado por este gigante. Los resultados pueden (y deben) filtrarse por región (pais, autonomia, ciudad, ...), idioma (castellano, catalán, inglés, ...) o período temporal. Es recomendable filtrar para determinar que búsquedas hace tu mercado potencial, que aveces puede ser distinto al mercado global.

Overture Keyword Selector Tool
Esta herramienta gratuita, además de mostrarte el numero de búsquedas realizadas en el último mes para el término de búsqueda que introduzcas, te muestra otras búsquedas alternativas que incluyen dicho término, por ejemplo, podemos ver que para la búsqueda "posicionamiento", lo mas buscado es en realidad "posicionamiento en buscadores". Teniendo esto en cuenta, es lógico pensar que funcionará mejor introduciendo palabras de una en una.

Keyword selector obtiene sus datos a través de Yahoo, lo que puede restarle parte de su atractivo teniendo en cuenta que es Google quien posee el 95% del mercado español.

Wordtracker Freekeywords
Es una herramienta gratuita de No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, web que ofrece un servicio de pago para la selección de palabras clave. La herramienta gratuita es muy parecida a la de Overture ya que ofrece otras búsquedas que incluyen ese término, aunque solo muestra la cantidad de búsquedas del último día. Desgraciadamente, obtiene sus datos de los buscadores metacrawler y Dogpile, lo que significa que aun tiene menos relevancia que Yahoo y es poco fiable.

Spyfu
Quizás mas útil para hacer campañas de AdWords que para seleccionar palabras clave, lo cierto es que spyfu permite saber que campañas está realizando tu competencia, sus competidores en las mismas y los resultados naturales para los que están posicionados entre otros datos de interés. Si buscas en cambio un término te muestra los clicks diarios y a cuanto se puja por él, otros términos relacionados que también compraron los que pujan por él y términos relacionados en general.

Si quieres hacer un estudio de la competencia y de las palabras clave para las que se anuncian o intentan indexar resulta muy útil. Para buscar un término escribe la palabra o palabras, para saber datos sobre tu competencia escribe su url.

Refinación

Tras utilizar las herramientas anteriores es posible que hayas eliminado alguno de los términos de tu listado de palabras clave, pero seguro que has añadido muchos mas al mismo, es el momento de refinar y decidir que términos se ajustan mas a tus necesidades.

Relevancia. Asegúrate de que el término tiene algo que ver con tu sitio, lo representa, se ajusta a tu negocio o es algo que ofrece tu web.

Valor. Piensa ahora en el valor de esas palabras clave para tu web. Piensa en lo rentable que resultaría salir en los primeros puestos de esa búsqueda, y piensa sobretodo, si quien busca eso realmente busca lo que ofreces tú y realmente resulta rentable que te encuentre.

Conversión. Piensa en la cantidad de visitas que, entrando por esas palabras clave, terminarán comprando alguno de tus productos, participando activamente o recomendándote por tener contenido de interés (pensemos en el marketing viral).

Consejos finales

No es bueno que varias de tus páginas se peleen entre sí por las mismas palabras clave, tan solo reduces su potencial, en vez de eso, usa el Long Tail y aprovecha las páginas similares con menos relevancia para potenciar otras palabras clave.

Las herramientas de apoyo ofrecen datos aproximados, no te tomes los mismos como una ciencia empírica y usa varias de ellas para tener distintas opiniones. Ten en cuenta que algunas de ellas ofrecen datos mensuales y otras datos diarios o anuales.

Aunque los expertos en SEO pueden guiarte en una buena estrategia, este punto requiere de tu implicación al máximo, pues nadie mejor que tú conoce tu mercado y su lenguaje propio.

#7
Zona Webmaster / [SEO][INDEXACION] Validar CSS y HTML.
Noviembre 27, 2011, 08:37:36 AM
Estamos acostumbrados a que Internet Explorer se lo coma todo, incluso ahora que Firefox agarra fuerza y algunos de los mas comprometidos con el cumplimiento de estándares y la FSF intentamos facilitarle la vida a los exploradores menos extendidos, suele pasar que se nos olvide un alt en una imagen, pongamos un parche a modo de "<center>" por salir de un apuro o simplemente un fallo en el algoritmo provoca que el HTML dinámico no cierre correctamente algunas etiquetas.

Google valora el cumplimiento de estándares, pero por mi experiencia, no es ni mucho menos lo más valorado a día de hoy (aunque nunca se sabe cuando pueda cambiar su algoritmo) ya que Google busca páginas con contenido relevante y de calidad, y muchas páginas de buen contenido no siguen los estándares (tan sólo el estándar IE de Microsoft).

Pero precisamente porque el cumplimiento de estándares de usabilidad puede resultarle importante a un usuario que los necesite, Google le da un último empujoncito a quienes mejor cumplan dichos criterios. Por ello, y porque en un futuro bien seguro habrá muchas webs con contenido de calidad y que cumplan los mismos, es bueno acostumbrarse.

Como aprenderse de memoria los mismos y evaluar un código CSS o HTML resultaría muy costoso, una buena idea es pasar un validador automático por tu página y arreglar los puntos que te marca. Te paso un alguno de ellos:

    CSS Validator: Validador de CSS de la W3.
    XHTML-CSS Validator: Validador de XHTML y CSS muy potente y que te muestra con gran usabilidad dónde se encuentran los errores y en qué consisten los mismos.
    HTML-Validator: Plugin para Firefox que permite validar el HTML, existen muchos plugins orientados al análisis del código fuente de una página web, éste es uno de ellos.

Por mi parte, he de reconocer que soy bastante despreocupado en este tema, pero si tras pasar un validador viese errores muy importantes, aprovecharía para corregirlos. Por otro lado, siempre me queda la duda de si Google pueda interpretar que una web perfecta en el cumplimiento de estándares está demasiado sobreoptimizada y la penalice... (este Google, es 'mu cabroncete' y los SEOs le tienen hasta los ******).

Espero que os sea útil.
#8
Una de las principales formas de permitir a un buscador indexar tus páginas es colocando enlaces a las distintas secciones que permitan a los buscadores recorrerlos e indexar tu web.

Los enlaces son, además, un fuerte aliado en usabilidad si se saben utilizar bien, ya que los usuarios de internet están acostumbrados a su uso y les resulta muy sencillo reconocerlos y averiguar su función en la página. Son mas recomendables que las imágenes, pues éstas, no siempre son clickables y aveces una imagen como enlace puede pasar desapercibida y el usuario no darse cuenta de cómo acceder a dicha sección. Por supuesto, el enlace mas usable es el texto azul subrayado y en negrita, pero mientras no te alejes mucho del estándar los usuarios no tendrán problemas.

No obstante, si utilizas imágenes para colocar algún enlace no olvides colocar en el Title de la misma unas palabras clave y descriptivas, que al tiempo de servir para la accesibilidad de ciegos y en caso de emergencia si no se carga la imágen, el title de la imagen es considerado el anchor text de ese enlace.

En SEO, además de los enlaces externos a tu página, son muy valorados los enlaces internos, para empezar porque muchos enlaces internos dentro de un mismo sitio indican que esa página tiene relevancia dentro del dominio, y además, porque Google posiciona mejor a las páginas que tienen mas enlaces, y aunque siempre cuenta mas un enlace externo, los internos también suman.

No obstante, poner demasiados links puede ser contraproducente, Google recomienda no poner mas de 100 enlaces en cada página, pero he visto sitios muy bien indexados que no tienen en cuenta esta recomendación y tienen mas de 300 links, no obstante, Google puede cambiar su algoritmo en cualquier momento y tu posición caer considerablemente, es mejor no pasarse demasiado, ponte un tope de 150 links, si vas a poner mas que eso asegúrate de poder quitarlos rápido el día que Google cambie su algoritmo.

Por otro lado, en los enlaces internos nunca debes olvidar el anchor text, ya que éstos cuentan como palabra clave de cara a Google. (Mas sobre los anchor text y ejemplo de su efecto).

Otro punto a tener en cuenta sobre los enlaces es que cuanto mas tiempo llevan existiendo mejor valorados son por Google. De hecho, en seomoz comentan que Google le empieza a dar auténtica importancia a un enlace a partir de los 3 meses.
#9
Un sitemap es un archivo en xml que contiene un listado de todas las URLs de tu página que quieres que se indexen, lo que permite a los buscadores recorrer todas tus páginas sin que se les pase una. Además, el sitemap te permite establecer la importancia de una página frente a las demás, la fecha de última modificación y cada cuanto deberían pasar los buscadores para actualizarla.

Además del sitemap en XML, también existe la opción de crear un sitemap en formato HTML, que consiste en crear una sección en tu web a la que se accede a través de la portada y que contiene enlaces a las categorías principales, éstas a las subcategorías y así hasta llegar al contenido. Si la página no es muy grande todas las URLs estarán en el mismo archivo del mapa web, si no, seguramente se generarán páginas dinámicamente. El mapa web es útil para la indexación, pero no permite establecer prioridades (mas allá de los H1-H6) o frecuencia de actualización, aunque si permite meter distintos anchor text que hagan la función de palabra clave además de incrementar los inner links.
¿Cómo creo mi sitemap?

Si tu web es pequeña, quizás te animes a crearlo manualmente, para ello debes crear un archivo xml (comúnmente nombrado sitemap.xml y alojado en el directorio principal) con una serie de etiquetas que indican las distintas URLs y propiedades de las mismas:

    urlset: Necesaria. Etiqueta de apertura y cierre del xml.
    url: Necesaria. Etiqueta que sirve para hacer referencia a cada página, dentro de esta etiqueta se ponen las características de cada una.
    loc: Necesaria. Aquí es donde se pone la URL de la página.
    priority: Opcional. Establece la prioridad de la página en relación al resto de páginas de tu web de 0.0 a 1.0, siendo 1.0 la máxima prioridad.
    changefreq: Opcional. Establece la frecuencia con la que se hacen cambios en la página para ayudar a los buscadores, no obstante, estos pasaran con la frecuencia que consideren necesaria teniendo en cuenta lo aquí establecido.
    lastmod: Opcional. La fecha de última modificación en formato W3C Datetime (YYYY-MM-DD). No es necesario incluir la hora.

EJEMPLO:

Código: text
<?xml version='1.0' encoding='UTF-8'?>
<urlset>
  <url>
    <loc>http://www.entrecodigos.com</loc>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>http://www.entrecodigos.com/manual-seo</loc>
    <priority>0.9</priority>
  </url>
</urlset>


Generar el sitemap automáticamente

Si quieres generar el sitemap automáticamente tienes algunos programas a tu alcance. Comentaré estos programas en unos días, estad atentos a esta misma entrada y al Blog!

Si tienes un blog en wordpress también puedes utilizar el plugin Google Sitemaps Generator, muy útil y de fácil instalación que te lo generará automáticamente, es flexible y te permite configurarlo todo o dejarlo como viene por defecto (que no está mal).

Enviar el sitemap a Google y Yahoo

Una vez que ya hemos conseguido crear nuestro propio sitemap debemos comunicárselo a los principales buscadores.


En el caso de Google, tras crearnos una cuenta e iniciar sesión, nos dirigimos a las herramientas para webmaster y nos aparecerá un menú bastante sencillo para enviar nuestro Sitemap. No obstante, tenemos que validarnos como auténtico webmaster de la página ya que las "herramientas para webmasters" nos ofrecen mucha y muy buena información sobre nuestra web. Tras hacerlo usando el método que te venga mas cómodo esperamos unas horas hasta que Google haya revisado el archivo y lo haya indexado todo.
Limitaciones del sitemap

Un sitemap no puede tener mas de 50.000 URLs y no puede pesar mas de 10 megabytes. No obstante, es posible tener mas de un sitemap si tu web es muy grande (por ejemplo, Habitat24 tiene mas de 400mil inmuebles y 60mil localidades, lo que supone cientos de miles de posibles páginas), simplemente no repitas las URLs entre ellos y no pongas mas de 50.000 URLs en cada uno.
Consejos a tener en cuenta

Es importante establecer la prioridad en función de lo que quieres que los buscadores muestren ante una búsqueda, ya que para evitar contenido duplicado, Google sólo mostrará una (quizás 2) página del mismo dominio que coincida con los resultados (y si tienen el mismo contenido sólo una de ellas).

Imagínate que alguien busca sobre algo que has escrito y Google le lleva a la categoría en que se encuentra pero el articulo está unas líneas mas abajo, tras otros mas recientes. El usuario podría no encontrarlo e irse. Por ello, es bueno decirle a los buscadores qué página quieres que muestren con mayor prioridad, y en el caso de un Blog, el artículo tiene mas prioridad que la categoría.
#10
Una de las primeras cosas que debemos hacer para que los buscadores nos indexen es darnos de alta en los mismos. Es importante tener en cuenta que antes de pedirle a un motor de búsqueda que nos indexe deberíamos tener una primera fase de la web ya terminada para evitar penalizaciones y aprovechar el bonus de novedad.

¿Que es el bonus de novedad? Este bonus consiste en que durante las dos primeras semanas en que tu página es descubierta por Google, aproximadamente, este te da mas puntos y la posiciona mas arriba de lo que le tocaría para darle la oportunidad de ser encontrada y que los demás la posicionen, algunos te recomiendan no lanzar tu site hasta que esté terminado precisamente por este motivo, pero tampoco es bueno retrasarse mucho.

Otra característica a tener en cuenta es que cuanto mas tiempo lleve existiendo tu dominio o tu página de cara al motor de búsqueda mas puntos gana el mismo, por ello, no debemos obsesionarnos con el bonus de novedad, es factible retrasar un mes el alta en buscadores para tener una primera versión terminada, pero mas de eso pudiera ser contraproducente, lo mejor es preparar una home sencilla con palabras clave para irnos posicionando o una versión de la web prácticamente sin contenido pero bien hecha (sin errores que puedan penalizarnos o dar una mala imagen de cara al usuario).

Los buscadores pueden indexarnos a pesar de que no nos demos de alta, ya sea por backlinks o por la IP, ya que los mismos van haciendo búsquedas de nuevas páginas o dominios constantemente.

Con darnos de alta en los principales buscadores en principio debería ser suficiente, además de que el 95% de las búsquedas en España se realizan con Google y en el resto de países juntando MSN, Yahoo y Google tendríamos el 99% de las mismas, otros buscadores utilizan estos mismos motores de búsqueda para mostrarte resultados. Es, por ejemplo, el caso de No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, que utiliza el motor de búsqueda de Yahoo para mostrarte resultados, o AOL y Netscape, que utilizan el motor de Google.

Para darnos de alta en Google basta con ir a su página para agregar URLs de Google, escribir la URL en un cuadro de texto y enviarla.

Para darnos de alta en Yahoo, en cambio, necesitas estar registrado y enviarles tu URL a través de esta página (nuevamente Yahoo y sus ganas de hacerte la vida mas difícil).

Para darnos de alta en MSN Search también basta con entrar en su página para agregar URLs de MSN Search y enviársela.
#11
Ahora que ya sabemos que SEO significa hacer cambios en nuestro site para que el mismo esté mejor posicionado en Google y el resto de buscadores, es bueno organizar los mismos y darles prioridad. En este sentido, las modificaciones necesarias se pueden dividir en 3 bloques que son indexación, relevancia y popularidad.

La indexación consiste en permitir que los motores de búsqueda puedan indexar todas tus páginas. Si por ejemplo, para acceder a una página de nuestro site es necesario usar un formulario o ejecutar un algoritmo en JavaScript muy complejo, es posible que esa página nunca llegue a estar indexada y por tanto no se muestre en los resultados porque los buscadores no saben que existe. Ejemplos de cambios para la indexación son el mapa web, el sitemap, links internos o el robots.txt, además de darse de alta en los buscadores, claro.

La relevancia consiste en darle prioridad a las palabras clave y ponerlas en primer plano. Si por ejemplo tenemos una página que trata sobre un manual de SEO, y queremos que salga en Google para esas palabras, podemos colocarlas en el title, URL, description, H1, varias veces a lo largo del contenido y en negrita, etc. Con eso le estaremos diciendo a Google no solo de que trata nuestra página, sino que debe estar dándosele un buen trato porque esas palabras están en los sitios mas importantes.

Por último, la popularidad, que no por ser el último paso resulta menos importante, consiste en conseguir que tu site tenga enlaces externos (lo que se conoce como backlinks) a tu página web. Estos enlaces son interpretados como votos a tu página, y cuantos mas hay, mas interesante resulta la misma. Los backlinks no solo consiguen que Google interprete que tu página es importante, sino que además te consiguen tráfico (gente que ve los mismos y los sigue), por ello son la parte mas importante de cara a expandirse por la red, pero si no se siguen los pasos anteriores es posible que Google no nos indexe o nos considere poco relevantes, y nuestro tráfico puede aumentar en un 1000% si estamos bien posicionados en Google y compañía.

Dicho lo cual, si hacemos un análisis por encima de nuestro site ya podemos descubrir los primeros fallos, ya sea porque hemos usado Flash y no permitimos a Google que indexe nuestras páginas, que hemos olvidado dar relevancia a las distintas palabras clave o que debemos intentar darnos a conocer, paso este último que casi todos siguen habiendo olvidado los dos anteriores.
#12
Últimamente todos oímos hablar del SEO, al menos lo hacemos si nos dedicamos al desarrollo de páginas web, SEO significa literalmente "Search Engine Optimization", es decir, "Optimización para motores de búsqueda", y como su nombre indica consiste en realizar algunos cambios o ajustes en tu web para conseguir que tu sitio salga mejor posicionado en los motores de búsqueda como Google, Yahoo o MSN.

Salir arriba es importante, como usuarios que sois de Internet y de dichos buscadores, sabéis que la gente normalmente hace click entre los 3 primeros resultados, y sabéis que alguien que busca determinadas palabras es alguien a quien le puede interesar tu sitio y generarte tráfico o ventas.

Para conseguir esto hay varios trucos o acciones a realizar que bien llevadas a cabo siempre te ayudarán a posicionarte mejor, aunque estar el primero es algo bastante difícil y, puesto y que los buscadores cambian su algoritmo constantemente, ese primer puesto en búsquedas muy competidas podría no durar.

Lo mejor para asegurarte una buena posición es hacer la web siguiendo unas reglas estandard que te recomiendan los principales buscadores y no hacer caso de los trucos que te cuenten para engañar al buscador. Este tipo de trucos que engañan a los buscadores son considerados "Black Hat SEO" y, si te detectan, serás baneado; teniendo que rectificar dicha optimización, pedir que te reindexen y perdiendo todo el rank ganado.

Tampoco es buena una sobreoptimización, ya que suele restar la experiencia del usuario y los mismos no volverán, un usuario suele buscar en Google una página web determinada, pero cuando la encuentra, si le gusta, suele agregarla a favoritos para no perderla, lo que supone mucho mas tráfico o ventas y que dicho usuario posiblemente no vuelva a usar el buscador para esas mismas palabras.

Además, como dije antes, los algoritmos cambian, y una sobreoptimización podría perjudicarte haciendo que lo que antes sumaba ahora reste, lo mejor, hacer caso a los consejos de optimización sana y flexible, que se adapte a la mayoría y además sea bueno para el usuario.

Lo que si que debes tener en cuenta, es que Google es el principal motor de búsqueda utilizado tanto a nivel mundial como en España, en donde supera el 95% de las búsquedas, esto es, salir el primero en Yahoo y en la tercera página de Google no te sirve de mucho, mejor al revés.
#13
Zona Webmaster / Manual HTML5
Noviembre 27, 2011, 08:22:37 AM
El Autor de este manual de HTML5 es Alejandro Castillo y su web No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

Podeis descargarlo aquí. No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#14
Hola a todos, tengo un problema, y es que mi Firefox me consume muchisima ram.. He probado varias cosas pero sigue subiendo a más de 100 Mb y me parece excesivo.
He probado a crear un Lógico en No tienes permitido ver los links. Registrarse o Entrar a mi cuenta y nada. Tampoco me sirvió el desinstalar todos los complementos que tenía y no usaba.
Si me podeis exhar un cable me seriais de gran ayuda.

Un saludo.
#15
Redes y antenas / Fundamentos Redes
Mayo 20, 2010, 04:12:36 PM
FUNDAMENTOS DE REDES


1.- Introducción a las Redes


    * Concepto de Red
          o El concepto de Red
          o Introducción a las redes de equipos
          o ¿Porqué usar una red de equipos?
          o Los dos tipos principales de redes: LAN y WAN
    * Configuración de redes
          o Introducción
          o Redes Trabajo en Grupo
          o Redes basadas en servidor
    * Topología de Redes
          o Diseño de una topología de red
          o Topologías estándar
          o Hubs
          o Variaciones sobre las topologías estándar


2.- Dispositivos básicos de redes

    * Cableado de una red
          o Principales tipos de cables
          o Transmisión de la señal
          o Incremento del rendimiento del ancho de banda
          o El sistema de cableado de IBM
          o Selección del cableado
    * La tarjeta de Red
          o La función de la tarjeta de Red
          o Opciones y parámetros de  configuración
          o Compatibilidad de tarjetas, buses y cables
          o Rendimiento de la red
          o Tarjetas de Red especializadas
    * Redes sin hilos
          o El entorno sin hilos
          o Tipos de Redes sin hilos


3.- Descripción de la arquitectura de Redes


    * Métodos de acceso
          o La función de los métodos de acceso
          o Principales métodos de acceso
    * Envío de datos en una red
          o La función de los paquetes de comunicaciones en red
          o Estructura de un paquete
    * Ethernet
          o Orígenes de Ethernet
          o Especificaciones de Ethernet
          o Características de Ethernet
          o Los estándares IEEE a 10 Mbps
          o Los estándares IEEE a 100 Mbps
    * Token Ring
          o Introducción
          o Funcionamiento de una red Token Ring
          o Componentes Hardware
          o Futuro de las redes Token Ring
    * AppleTalk y ARCnet
          o El entorno AppleTalk
          o El entorno ARCnet


4.- Sistemas operativos de Red

    * Introducción a los sistemas operativos de Red
          o Introducción
          o Componentes Software
          o Selección de un sistema operativo de red
    * Sistemas operativos de Novell
          o Introducción
          o Servicios NetWare
          o Interoperatividad
    * Sistemas operativos de red de Microsoft
          o Introducción a Windows NT
          o Servicios de Windows NT
          o Interoperatividad
    * Otros sistemas operativos
          o Sistema operativo de red AppleTalk
          o Redes UNIX
          o Servicios virtuales de red Integrados Banyan (Vines)
          o Redes locales Trabajo en Grupo
    * Sistemas operativos de red en entornos multiplataforma
          o El entorno multiplataforma
          o Implementación de soluciones multiplataforma


5.- Introducción a los estándares de Redes

    * El modelo de referencia de Interconexión de sistemas abiertos (OSI, Open System Interconnection)
          o Comunicaciones en Red
          o El modelo de referencia OSI
          o Windows NT y el modelo OSI
    * El estándar IEEE 802.x
          o El modelo del proyecto 802
    * Controladores de dispositivos y OSI
          o Función de los controladores
          o El entorno de red
          o Especificación de interfaz de controlador de red (NDIS, Network Driver Interface Specification)
          o Interfaz abierta de enlace de datos (ODI, Open Data-Link Interface)
          o Conexión entre NDIS y ODI


6.- Definición de protocolos de Red

    * Introducción a los protocolos
          o La función de los protocolos
          o Protocolos en una arquitectura multinivel
    * TCP/IP
          o Estándares TCP/IP
          o TCP/IP y el modelo OSI
    * Protocolos NetWare
          o Protocolos de acceso al medio
          o IPX/SPX
          o RIP
          o SAP
          o Protocolo básico de NetWare
    * Otros protocolos habituales
          o NetBIOS
          o NetBEUI
          o Conmutación de paquetes X.25
          o XNS
          o APPC
          o AppleTalk
          o Conjunto de protocolos OSI
          o DECnet


7.- Elementos para la conectividad de redes

    * Dispositivos para conectividad
          o Tecnología de módems
          o Expansión de una red usando componentes
    * Servicios de conexión
          o Proveedores de servicios (Carriers)
          o Introducción a las WAN
          o Envío de datos a través de una WAN


8.- Diseño e instalación de una red

    * Selección de un diseño de red
          o ¿Trabajo en Grupo o basada en servidor?
          o Hacer inventario
          o Realización de un mapa
          o Selección del medio de la red
    * Establecimiento de un entorno cliente/servidor
          o Computación centralizada frente al modelo cliente/servidor
          o Introducción al modelo cliente/servidor
          o Ventajas del uso de un entorno cliente/servidor
    * Utilización de controladores de dispositivo y tarjetas de red
          o La función de los controladores
          o El entorno de red
          o Utilización de controladores
          o Instalación de tarjetas de red
    * Comprobación de la compatibilidad hardware
          o Problemas con el hardware
          o Hardware


9.- Configuración de recursos y cuentas en una Red

    * Creación de recursos compartidos en una red
          o Cómo compartir recursos en una red
          o Cómo compartir discos y archivos
          o Cómo compartir en un entorno Trabajo en Grupo
          o Cómo compartir en una red Cliente/Servidor
    * Definición y gestión de cuentas de red
          o Cuentas de red
          o Administración de cuentas en un entorno Windows NT
          o Administración de cuentas en un entorno Apple
          o Administración de cuentas en un entorno UNIX


10.- Seguridad en una Red

    * Implantación de la seguridad en redes
          o Planificación de la seguridad de la red
          o Modelos de seguridad habituales
          o Medidas de seguridad adicionales
          o Virus informáticos
    * Mantenimiento de un entorno de red operativo
          o Los equipos y el entorno
          o Creación de un entorno adecuado
    * Evitar la pérdida de datos
          o Protección de los datos
          o Copias de seguridad en cinta
          o Sistemas de alimentación ininterrumpida (SAI)
          o Sistemas tolerantes a fallos
          o Unidades y discos ópticos
          o Recuperación frente a catástrofes


11.- Impresión en Red

    * Impresión en red
    * Gestión de una impresora compartida
    * Compartir un módem fax


12.- Administración de cambios

    * Documentación de una red existente
          o Documentación
          o Definición de una línea base
          o Documentación del rendimiento de la Red
          o Otras herramientas de software
          o Cuellos de botella
          o Documentación del rendimiento del Servidor
          o Gestión integral del sistema
          o Mantenimiento de un historial de la red
    * Actualización de una red
          o Toma de la decisión de actualizar una red
          o El servidor
          o La estación
          o La tarjeta de red (NIC)
          o El Medio de la red
          o Actualización de routers, bridges y repetidores
    * Traslado de una red
          o Planificación del traslado
          o Realización del traslado
          o Verificación de la red tras el traslado


13.- Solución de problemas en una Red

    * Análisis del problema
          o Diagnóstico
          o División del problema
          o Aislamiento del problema
          o Definición de prioridades
    * Herramientas para diagnóstico
          o Herramientas hardware
          o Herramientas software
          o Herramientas para monitorización y diagnóstico
    * Dónde encontrar ayuda
          o Recursos de soporte para redes
          o Technet
          o Boletines electrónicos
          o Grupos de usuarios
          o Publicaciones
          o Internet
#16
Posiblemente el curso de cracking mas conocido e importante de la red hasta ahora publicado libremente,
51 temas y sigue ampliándose, lo puedes descargar directamente desde se su web personal.


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Nuevos tutoriales

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#17


Muchas veces cuando creamos un sitio web, blog o foro lo que nunca falta son los famosos formularios de contacto con el webmaster o administrador del site y el gran problema que nos lleva una aplicación de este tipo son los molestosos mensajes de spam que nos llegan al correo, en su mayoría enviados desde robots de spam valga la redundancia, una de las soluciones más efectivas a este incómodo hecho es utilizar un sistema denominado CAPTCHA.

Lo que explicaré a continuación es la creación de un script -usando PHP claro está- que cree un código aleatorio alfanumérico y lo escriba en una imagen para la cual usaremos la librería GD de PHP. Pero antes de empezar vamos a definir lo que es en sí el sistema CAPTCHA.

Código: php
Captcha es el acrónimo de Completely Automated Public Turing test to tell Computers and Humans Apart (Prueba de Turing pública y automática para diferenciar a máquinas y humanos).

La típica prueba consiste en que el usuario introduzca un conjunto de caracteres que se muestran en una imagen distorsionada que aparece en pantalla. Se supone que una máquina no es capaz de comprender e introducir la secuencia de forma correcta por lo que solamente el humano podría hacerlo (salvo error).


Definido lo que es el sistema CAPTCHA vamos al script en si y a su utilización, quiero dejar claro que este script no es propio, sólo lo he modificado para utilizarlo en este tipo de formularios(contacto al admin, libros de visita, comentarios, etc.).

Lo primero que haremos será crear el script que genere el código aleatorio y lo añada a una imagen que también crearemos usando como dije líneas arriba la librería gráfica GD de PHP.

A este archivo lo podemos llamar captcha.php.

Código: php
<?php
    session_start();
   
    // Genero el codigo y lo guardo en la sesión para consultarlo luego.
    $captchaCode = substr(sha1(microtime() * mktime()), 0, 6);
    $_SESSION['CAPTCHA_CODE'] = sha1($captchaCode);
   
    // Genero la imagen
    $img = imagecreatetruecolor(70, 25);
   
    // Colores
    $bgColor = imagecolorallocate($img, 230, 230, 230);
    $stringColor = imagecolorallocate($img, 90, 90, 90);
    $lineColor = imagecolorallocate($img, 245, 245, 245);
     
    // Fondo
    imagefill($img, 0, 0, $bgColor);
   
    imageline($img, 0, 5, 70, 5, $lineColor);
    imageline($img, 0, 10, 70, 10, $lineColor);
    imageline($img, 0, 15, 70, 15, $lineColor);
    imageline($img, 0, 20, 70, 20, $lineColor);
    imageline($img, 12, 0, 12, 25, $lineColor);
    imageline($img, 24, 0, 24, 25, $lineColor);
    imageline($img, 36, 0, 36, 25, $lineColor);
    imageline($img, 48, 0, 48, 25, $lineColor);
    imageline($img, 60, 0, 60, 25, $lineColor);
   
    // Escribo el código
    imageString($img, 5, 8, 5, $captchaCode, $stringColor);
   
    // Image output.
    header("Content-type: image/png");
    imagepng($img);
?>


Tal como lo ven estamos haciendo uso de las funciones para tratamiento de imágenes propias de PHP, las mismas que ustedes mismos pueden encontrar en el No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Ahora bien, ya tenemos creada la imagen con el código aleatorio, lo que sigue será crear nuestro formulario y en él insertaremos la imagen que hemos creado con su respectiva validación para que los datos sean enviados correctamente al email.

A este archivo podemos llamarlo contacto.php.

Código: php
<?php
    session_start();
    if(isset($_POST['enviar'])) {
        $Message = "";
        $Captcha = (string) $_POST["CAPTCHA_CODE"];
        if($_POST['nombre'] == '') {
            echo "<p style='color: #ff0000;'><strong>No has ingresado tu Nombre.</strong></p>";
        }elseif($_POST['email'] == '') {
            echo "<p style='color: #ff0000;'><strong>No has ingresado tu Email.</strong></p>";
        }elseif($_POST['asunto'] == '') {
            echo "<p style='color: #ff0000;'><strong>No has ingresado el Asunto del mensaje.</strong></p>";
        }elseif($_POST['mensaje'] == '') {
            echo "<p style='color: #ff0000;'><strong>No has ingresado el Mensaje.</strong></p>";
        }elseif(sha1($Captcha) != $_SESSION["CAPTCHA_CODE"]) {
            $Message = "<p style='color: #ff0000;'><strong>El c&oacute;digo de validaci&oacute;n no ha sido ingresado o es incorrecto.</strong></p>";
        }else {
            mail ("[email protected]", "$asunto", "$mensaje", "From: $nombre <$email>"); // coloque aqui su correo
            echo '<p style="color: #63A915;"><strong>El email ha sido enviado con éxito.</strong></p>';
        }
    }
    if(!empty($Message)) {
        // Muestro los posibles errores de validación previos.
        echo "$Message";
    }
// Si aún no se han enviado los datos, mostramos el formulario
?>
<form method="post" action="contacto.php">
    <label>Nombre / Nick:</label>
    <input type="text" name="nombre" />
    <label>Email:</label>
    <input name="email" type="text" size="45" />
    <label>Asunto:</label>
    <input name="asunto" type="text" size="60" />
    <label>Mensaje:</label>
    <textarea name="mensaje" cols="80" rows="10"></textarea>
    <label>Código de seguridad:</label>
    <img src="captcha.php" /><input type="text" name="CAPTCHA_CODE" style="width: 50px;" />
    <p style="padding-top: 5px;">
    <input type="submit" name="enviar" value="Enviar Mensaje" />
    <input type="reset" name="enviar" value="Borrar datos" />
    </p>
</form>


Como se darán cuenta este último script lo que hace es mostrar el formulario con los campos solicitados además de la imagen CAPTCHA generada en el primer script, la cual hemos insertado usando la etiqueta xhtml <img /> la que nos devolverá el contenido binario de la imagen generada.

Una vez que se hayan enviado los datos lo primero que se hará será validar uno a uno los datos ingresados incluido el código del CAPTCHA para definir si lo que ingresó el usuario es el mismo que el que aparece en la imagen generada.

Listo, ya tenemos el formulario de contacto con el código CAPTCHA, ahora todo aquel usuario que quiera contactar con el webmaster o administrador deberá ingresar correctamente los datos para poder enviar correctamente el correo.
#18
Aqui les dejo un script para que no se puedan copiar una imagen de nuestra Web!!! Espero que les sirva de ayuda.


"DESHABILITAR COPIAR UNA IMAGEN"

Código: html5
<img src="Burith_nc.gif" oncopy="alert('Opcion desabilitada');return false" oncontextmenu="alert('Opcion desabilitada');return false">

#19
Zona Webmaster / Templates Free
Marzo 17, 2010, 03:05:59 PM
Les dejo unas cuantas direcciones donde pueden descargar plantillas gratis ! 


Templantes Free:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#20
Con este programa podreis calcular la longitud o area de la circunferencia o volumen de la esfera,
según la opción que elijais previamente del menu.


Código: c
//FICHEROS DE CABECERA
#include "stdio.h"
#include "math.h"
#include "ctype.h"

//DEFINICION DE CONSTANTES
#define PI 3.1416

//DECLARACION DE FUNCIONES
unsigned int fmenu();
void fopcion_longitud();
void fopcion_area();
void fopcion_volumen();
unsigned int fpedir_radio();
double fcalcular_longitud(unsigned int radio);
double fcalcular_area(unsigned int area);
double fcalcular_volumen(unsigned int volumen);

//FUNCION PRINCIPAL
void main()
{
//DECLARACION DE VARIABLES
unsigned int opcion;

//OPERACIONES
do
{
  opcion = fmenu();
  switch(opcion)
  {
   case 1:fopcion_longitud();
         break;
   case 2:fopcion_area();
         break;
   case 3:fopcion_volumen();
         break;
   case 4:puts("\nFinal del P1440502");
         break;
   default: printf("\nOpcion: %u erronea",opcion);
  }
}while(opcion !=4);
}



//ENVIA UN MENU A LA CONSOLA
unsigned int fmenu()
{
  //DECLARACIONES
  unsigned int opcion;
 
  //OPERACIONES
  puts("\n     CON ESTE PROGRAMA PUEDE");
  puts("\n     -----------------------");
  puts("\n1.CALCULAR LA LONGITUD DE LA CIRCUNFERENCIA");
  puts("\n2.CALCULAR EL AREA DE LA CIRCUNFERENCIA");
  puts("\n3.CALCULAR EL VOLUMEN DE LA ESFERA");
  puts("\n\n TECLEEE LA OPCION DESEADA");
  scanf("%u",&opcion);
  return(opcion);
  }
 
  //TRATA LA OPCION DE PROCESO DE TRATAR LONGITUDES
  void fopcion_longitud()
  {
  //DECLARACIONES
   unsigned int radio;
   char res;
   double longitud;
   
   //OPERACIONES
   do
   {
    radio = fpedir_radio();
    longitud = fcalcular_longitud(radio);
    printf("\nRadio: %u Longitud: %8.2lf",radio,longitud);
    puts("\nDesea calcular otra longitud?");
    fflush(stdin);
    res = getchar();
    res = tolower(res);
   }while(res == 's');
  }
 
  //TOMA DE CONSOLA EL RADIO
  unsigned int fpedir_radio()
  {
   //DECLARACIONES
   unsigned int radio;
   
   //OPERACIONES
   puts("\nTeclee Radio");
   scanf("%u",&radio);
   return(radio);
   }
   
   //CALCULA LA LONGITUD DE UNA CIRCUNFERENCIA
   double fcalcular_longitud(unsigned int radio)
   {
    //DECLARACIONES
     double longitud;
     
     //OPERACIONES
     longitud = 2 * PI * radio;
     return(longitud);
     }
     
  //TRATA LA OPCION DE PROCESO DE CALCULAR AREAS
   void fopcion_area()
   {
    //DECLARACIONES
     unsigned int radio;
     char res;
     double area;
     
     //OPERACIONES
     do
     {
      radio=fpedir_radio();
      area=fcalcular_area(radio);
      printf("\nRadio: %u Area: %8.2lf",radio,area);
      puts("\n¿Desea calcular otro area");
      fflush(stdin);
      res = getchar();
      res = tolower(res);
      }while(res == 's');
     }
     
   //CALCULA EL AREA DE UNA CIRCUNFERENCIA
   double fcalcular_area(unsigned int radio)
   {
    //DECLARACIONES
     double area;
     
     //OPERACIONES
     area = PI*pow(radio,2);
     return(area);
     }
     
     //TRATA LA OPCION DE PROCESO DE CALCULAR VOLUMENES
     void fopcion_volumen()
     {
      //DECLARACIONES
      unsigned int radio;
      char res;
      double volumen;
     
      //OPERACIONES
      do
      {
       radio = fpedir_radio();
       volumen = fcalcular_volumen(radio);
       printf("\nRadio: %u Area: %8.2lf",radio,volumen);
       puts("\n¿Desea calcular otro volumen?");
       fflush(stdin);
       res = getchar();
       res = tolower(res);
       }while(res=='s');
      }
     
      //CALCULA EL VOLUMEN DE UNA ESFERA
      double fcalcular_volumen(unsigned int radio)
      {
      //DECLARACIONES
      double volumen;
     
      //OPERACIONES
      volumen = (4/3)*PI*pow(radio,3);
      return(volumen);
      }       
                         
#21
Códigos Fuentes / Catálogo de Libros
Marzo 16, 2010, 01:50:28 PM
Gestion de Catalogo de Libros, siendo 100 el número máximo de titulos.


CATALOGO DE LIBROS
------------------
1.-Añadir titulos al catalogo
2.-Consultar si existe un libro
3.-Consultar precios
4.-Modificar precios
5.-Visualizar el catalogo
6.-Finalizar el proceso
Teclee la opcion de proceso deseada

Código: c
#include "stdio.h"
#include "string.h"

#define ELEMENTOS 100

struct LIBRO
{
long int codigo;
char titulo[20];
char autor[20];
int precio;
};

int fopcion();

int finsertar_libros(int elementos, struct LIBRO *pvlibros);
void fconsultar_libros(int elementos, struct LIBRO *pvlibros);
void fconsultar_precios(int elementos, struct LIBRO *pvlibros);
void fmodificar_precios(int elementos, struct LIBRO *pvlibros);
void fvisualizar_libros(int elementos, struct LIBRO *pvlibros);

struct LIBRO fpedir_datos();
long int fpedir_codigo();
void fpedir_titulo(char*ptitulo);
void fpedir_autor(char*pautor);
int fpedir_precio();

void fvisualizar(int elementos,struct LIBRO*pvlibros);
int fbusqueda_lineal_t(int elementos,char*ptitulo,char*pautor,struct LIBRO*pvlibros);
int fbusqueda_lineal_c(int elementos,long int codigo,struct LIBRO*pvlibros);
void fordenar_baraja(int elementos, struct LIBRO*pvlibros);

void main()
{
int opcion;
int elementos=0;
struct LIBRO v_libros[ELEMENTOS];

do
{
  opcion=fopcion();
  switch(opcion)
  {
   case 1: elementos = finsertar_libros (elementos,v_libros);
     break;
   case 2:fconsultar_libros(elementos,v_libros);
     break;
   case 3:fconsultar_precios(elementos,v_libros); 
     break;
   case 4:fmodificar_precios(elementos,v_libros); 
     break;
   case 5:fvisualizar_libros(elementos,v_libros); 
     break;
   case 6:puts("\nFinal de p1450303");
     break;
   default : puts("\nOpcion erronea");
   }           
  }while(opcion!=6);
}

int fopcion()

{
  int opcion;
  puts("\n C A T A L O G O    D E    L I B R O S"
       "\n 1.-Añadir titulos al catalogo de libros"
       "\n 2.-Consultar si existe un libro"
       "\n 3.-Consultar precios"
       "\n 4.-Modificar precios"
       "\n 5.-Visualizar el catalogo"
       "\n 6.-Finalizar el proceso"
       "\n Teclee la opcion de proceso deseada");
     scanf("%d",&opcion);
     return(opcion);
     
   }
   
  int finsertar_libros(int elementos,struct LIBRO*pvlibros)
  {
   char res;
   
   do
   {
    if(elementos==ELEMENTOS)
     {
      puts("\nNo hay espacio para almacenar mas libros");
      goto fin;
      }
     pvlibros[elementos]=fpedir_datos();
     elementos++;
     puts("\n¿Quieres añadir otro titulo al catalogo?");
     fflush(stdin);
     res=getchar();
     }while(res=='s'||res=='S');
     fin:puts("\nFinal de la opcion de proceso 1");
     return(elementos);
     }
     
  struct LIBRO fpedir_datos()
  {
   struct LIBRO libro;
   
   libro.codigo=fpedir_codigo();
   fpedir_titulo(libro.titulo);
   fpedir_autor(libro.autor);
   libro.precio=fpedir_precio();
   return(libro);
   }
   
   long int fpedir_codigo()
   {
   long int codigo;
   puts("\nTeclea codigo del libro");
   scanf("%ld",&codigo);
   return(codigo);
   }
   
   void fpedir_titulo(char *ptitulo)
   {
    puts("\nTeclea titulo del libro");
    fflush(stdin);
    gets(ptitulo);
   }
   
   void fpedir_autor(char*pautor)
   {
    puts("\nTeclea autor del libro");
    fflush(stdin);
    gets(pautor);
   }
   
   int fpedir_precio()
   {
    int precio;
    puts("\nTeclea precio del libro");
    scanf("%d",&precio);
    return(precio);
   }
   
   void fconsultar_libros(int elementos,struct LIBRO * pvlibros)
   {
    int i;
    char titulo[20];
    char autor[30];
    char res;
   
   
    if(elementos==0)
    {
     puts("\nNo existen libros en el catalogo");
     goto fin;
    }
   
    do
    {
     fpedir_titulo(titulo);
     fpedir_autor(autor);
     
     i=fbusqueda_lineal_t(elementos,titulo,autor,pvlibros);
     
     if(i!=-1)
     printf("\nEl libro de titulo %s y autor %s tiene de codigo %ld y precio de %d pts",
      (pvlibros+i)->titulo,(pvlibros+i)->autor,(pvlibros+i)->codigo,(pvlibros+i)->precio);
      else
       printf("\nEl libro de titulo %s y autor %s no existe",titulo,autor);
       
       puts("\n¿Quiere buscar otro libro?");
       fflush(stdin);
       res=getchar();
     
       }while(res=='s'||res=='S');
        fin:puts("\nFinal de la opcion de proceso 2");
        }
       
     int fbusqueda_lineal_t(int elementos,char *ptitulo,char*pautor,struct LIBRO*pvlibros)
     {
      int i;
      i=0;
      while(i<(elementos-1)&&(strcmp(pvlibros->titulo,ptitulo)!=0
           ||strcmp(pvlibros->autor,pautor)!=0))
           
     {
      i++;
      pvlibros++;
     }
                   
     if(strcmp(pvlibros[i].titulo,ptitulo)==0&&
      strcmp(pvlibros[i].autor,pautor)==0)
      return(i);
      else
       return(-1);
      }
     
    void fconsultar_precios(int elementos,struct LIBRO*pvlibros)
    {
     int i;
     long int codigo;
     char res;
      if(elementos==0)
       {
        puts("\nNo existen libros en el catalogo");
        goto fin;
        }
       
        do
        {
        codigo=fpedir_codigo();
        i=fbusqueda_lineal_c(elementos,codigo,pvlibros);
       
        if(i!=-1)
         printf("\nEl codigo %ld correspondiente al titulo %s y autor %s y su precio es %d pts",
          (pvlibros+i)->codigo,(pvlibros+i)->titulo,(pvlibros+i)->autor,
          (pvlibros+i)->precio);
          else
         printf("\nEl libro de codigo%ld no existe",codigo);
         
         puts("\n¿Quieres consultar otro precio?");
         fflush(stdin);
         res=getchar();
         }while(res=='s'||res=='S');
         
         fin:puts("\nFinal de la opcion de proceso 3");
         }
         
         
         int fbusqueda_lineal_c(int elementos,long int codigo,struct LIBRO*pvlibros)
         {
          int i;
          i=0;
          while(i<(elementos-1)&& pvlibros->codigo!=codigo)
          {
          i++;
          pvlibros++;
          }
         
          if(pvlibros->codigo==codigo)
          return(i);
          else
          return(-1);
          }
         
          void fmodificar_precios(int elementos,struct LIBRO*pvlibros)
          {
          int i;
          long int codigo;
          int precio;
          char res;
         
          if(elementos==0)
          {
           puts("\nNo existen libros en el catalogo");
           goto fin;
           }
           
           do
           {
            codigo=fpedir_codigo();
            i=fbusqueda_lineal_c(elementos,codigo,pvlibros);
           
            if(i!=-1)
            {
             precio=fpedir_precio();
             printf("\nEl codigo %ld correspondiente al titulo %s y autor%s que tiene precio %d pts pasa a costar %s pots",
              (pvlibros+i)->codigo,(pvlibros+i)->titulo,(pvlibros+i)->autor,
              (pvlibros+i)->precio,precio);
              (pvlibros+i)->precio=precio;
              }
              else
              printf("\nEl libro de codigo %ld no existe",codigo);
             
              puts("\n¿Quieres modificar el precio de otro libro?");
              fflush(stdin);
              res=getchar();
             
             
            }while(res=='s'||res=='S');
           
            fin:puts("\nFinal de la opcion de proceso 3");
           
            }
           
           
            void fvisualizar_libros(int elementos,struct LIBRO*pvlibros)
            {
             int i;
             struct LIBRO wpvlibros[ELEMENTOS];
             
             if(elementos==0)
             {
              puts("\nNo existen libros en el catalogo");
              goto fin;
             } 
           
        for (i=0;i<elementos;i++)
         wpvlibros[i] = *(pvlibros+i);
         
         fordenar_baraja(elementos,wpvlibros);
         
         fvisualizar(elementos,wpvlibros);
         fin:puts("\nFinal de la opcion de proceso 5");
         
         }
         
      void fvisualizar(int elementos,struct LIBRO*pvlibros)
      {
       int i;
       
       puts("    CATALOGO DE LIBROS");
       puts("    ------------------");
       puts("  TITULO   AUTOR   PRECIO");
       puts("  ------   -----   ------");
       for (i=0;i<elementos;i++,pvlibros++)
         printf("\n %s  %s  %d",pvlibros->titulo,pvlibros->autor,pvlibros->precio);
           
        }
       
        void fordenar_baraja(int elementos,struct LIBRO*pvlibros)
        {
         int i;
         int j;
         struct LIBRO aux;
         struct LIBRO*pj;
         
         
         for (i=1,pvlibros++;i<elementos;i++,pvlibros++)
         {
          aux=(*pvlibros);
          j = i-1;
          pj=pvlibros-1;
          while(j > 0&& strcmp (pj -> titulo,aux.titulo)>0)
          {
           *(pj+1)=*(pj);
           j--;
           pj--;
          }
           if(strcmp(pj->titulo,aux.titulo)>0)
           {
            *(pj+1)=*(pj);
            *(pj) = aux;
           }
            else
            *(pj+1)=aux;
         }
      }