Mostrando entradas con la etiqueta Desarrollo Web. Mostrar todas las entradas
Mostrando entradas con la etiqueta Desarrollo Web. Mostrar todas las entradas

15/8/20

Cache simple para posts en Wordpress


Una serie de problemas con los plugins de cache de Wordpress me llevaron a buscar una alternativa. Y encontré una bastante simple.

Dos archivos php extra dentro del theme. Una carpeta para guardar las páginas cacheadas. Y una edición al archivo single.php

Primero, dos archivos nuevos:

top-cache.php

<?php
$url = $_SERVER["SERVER_NAME"].str_replace("/", "-", strtok($_SERVER["REQUEST_URI"], '?'));
$cachefile = './wp-content/cache/cached-'.$url.'.html';
// lee del cache si el archivo es posterior a la última modificación del post
if (file_exists($cachefile) && get_post_modified_time( 'U', false, $post->ID, true ) < strtotime('-4 hours', filemtime($cachefile))) {
readfile($cachefile);
exit;
}
ob_start();

La variable $cachefile define la ruta de la carpeta donde se guardan las páginas cacheadas.

La variable $url construye el nombre del archivo que se guardará en el cache. Incluye el hostname y la ruta de la página sin las query (para prevenir que se guarden en cache páginas con variables UTM u otras).

La ruta para guardar los archivos del cache en este caso es /wp-content/cache/ . Si la carpeta /cache/ no está creada, tienes que crearla con el FTP. Con permisos chmod 0775.

Si la fecha de modificación del post es anterior a la fecha de creación del archivo en cache, lee el cache. En caso contrario, ejecuta el resto del código (el de la página single.php), incluido el segundo archivo nuevo:

bottom-cache.php

<?php
$url = $_SERVER["SERVER_NAME"].str_replace("/", "-", strtok($_SERVER["REQUEST_URI"], '?'));
$cachefile = './wp-content/cache/cached-'.$url.'.html';
$cached = fopen($cachefile, 'w');
fwrite($cached, ob_get_contents());
fclose($cached);
ob_end_flush(); // Send the output to the browser

Este documento repite las variables $url y $cachefile. Y crea el archivo dentro de la carpeta cache.

Cuando la página está en cache, este archivo no se ejecuta.

single.php

En la página single.php hay que hacer dos pequeñas modificaciones. 

Al comienzo del archivo:

<?php
if (!is_user_logged_in()) {
  include('top-cache.php');
}
get_header(); ?>

Y al final del archivo:

<?php
get_footer();
if (!is_user_logged_in()) {
  include('bottom-cache.php');
}

Si el visitante NO está logueado, entonces carga top-cache.php y bottom-cache.php. Esto previene que los editores y administradores de Wordpress vean páginas cacheadas.

Espero que les sirva. 

19/7/20

Hard Refresh de una página con problemas de cache



Todavía no sé por qué ocurre. Podría ser el theme, la configuración del htaccess o del wp-config. Pero mi sitio Web wordpress no actualiza las URL si no refresco la página. 

Navegaba por todas las URL del sitio y todas mostraban el mismo contenido, de la última URL. Solo al presionar F5 lograba ver el contenido correcto.

Probé con todo lo que sé. Busqué en todas partes y obtuve alguna información. Es el cache del sitio. Pero no sé más que eso. Y ante tanta frustración, prefería hacer un parche absurdo, que funciona.

Cuando el Path del post en la URL no coincide con el Path del post que se carga en la página, hace un Hard Refresh. 

<script type="text/javascript">
  if (window.location.pathname !== "<?php if (!is_singular()) {
    echo strtok($_SERVER["REQUEST_URI"], '?');
  } else {
    echo str_replace(home_url(), '', get_permalink($post->ID));
  } ?>"){
    location.reload(true);
  }
</script>

Esta solución de parche recarga la página si el Path del post en el código no coincide con el Path del post en la URL.

UPDATE


Luego de hacer pruebas por largas horas, agregando y quitando elementos del htaccess, legué a una extraña revelación: las reglas de caché y deflate para las páginas son las que fuerzan la carga de una página que no corresponde. Al menos éste fue mi caso.

Si te ocurre lo mismo, ve al htaccess y comenta las reglas de caché y deflate para estos tres tipos de documento:

  • text/html
  • text/xml
  • text/x-component

;)

13/11/14

Sitio Web HTML5 + Responsive + "Mobile first" + "Full SEO", para Wordpress

13/11/2014

Comienzo este artículo con el objetivo de editarlo en la medida que vaya trabajando el proyecto. Tengo experiencia desarrollando sitios Web desde 1997, y he actualizado mis conocimientos con cada nuevo avance de código abierto disponible. Es por esto que me siento confiado de llevar a cabo esta idea.

El theme para Wordpress debe cumplir con la siguiente lista de metas:

  1. debe ser HTML5
  2. diseñado Responsive
  3. con enfoque "Mobile first"
  4. y "Full SEO" sin plugins
Además debe ser liviano, pensando en visitantes móviles de conexiones limitadas, usando librerías JS y fuentes Web livianas.

Será gratuito sin soporte, y existirá la opción de una versión pagada, con soporte.

28/03/2015


El tiempo me dio la razón. Google va a incluir la usabilidad móvil como un factor de ránking para los sitios Web en resultados de búsqueda móviles. Así lo informó en su comunicado del 26 de febrero.

Mi theme para Wordpress va bien encaminado. Y esta noticia me entusiasma y acelera mi proyecto, con fecha para estar disponible en Wordpress.org el mismo 21 de abril de este año. ¿Lo lograré?

13/3/13

Como mostrar tweets específicos en tus post



Una forma sencilla es sacar un pantallazo, pegar en tu software de edición de imágenes favorito y subirlo. Esto te asegura que el tweet quede para la posteridad tal como se publicó.

Otra manera, es tomando el código para insertar el tweet que te entrega el mismísimo Tweeter. Por ejemplo:

Solo tienes que encontrar el tweet, pinchar los tres puntitos que se muestran abajo a la derecha del mismo, y elegir "insertar tweet". De inmediato mostrará un código que tienes que copiar. Ve y pégalo donde quieras que se vea.


12/8/12

El diseño de tu sitio Web sí importa



Cuando hablo de "diseño", me refiero a la manera en que tu sitio organiza sus contenidos para entregar una mejor experiencia al usuario.

El sitio no hace esto por cuenta propia, por supuesto. Antes hubo un ser humano programando esas líneas de código HTML, PHP y CSS, definiendo en qué lugar va el texto y en qué cantidad, dónde van las imágenes, su tamaño, etc.

Antes hubo un concepto gráfico, una idea visual.

La Web evoluciona y hoy el contenido es más importante que el diseño. Ésa es la principal razón por la que los sitios Web fabricados íntegramente con Flash ya no tienen cabida en la estrategia de diseño de los desarrolladores Web. Tal vez un logotipo animado, o algún detalle grafico que no incluya navegación. Pero no se hace mucho más.

Ahora, un diseño ordenado y limpio tiene más peso, con preferencia en los contenidos por sobre los efectos especiales, con multimedia bien catalogada, bien etiquetada, semánticamente relacionada con los contenidos. Eso es lo que se espera de nosotros ahora, cuando diseñamos un sitio Web.

Por ejemplo, una página sola, un artículo, que no muestre su título y parte de su contenido en al menos un tercio del primer pantallazo cuando se carga la página, es un sitio en problemas. Los algoritmos de los buscadores evolucionan, y Google puede reconocer cuándo ese primer pantallazo es principalmente navegación y publicidad.

A Google no le gustan los diseños que dejan en segundo lugar al contenido. Es algo que debes tener en cuenta a la hora de organizar tu sitio Web de noticias. ¿Qué es lo más importante en un diario o revista?

2/8/12

Animando tu sitio Web con jQuery



jQuery es una librería javascript que trae una serie de funciones prefabricadas, y que podemos usar en nuestro sitio Web para evitar, entre otras cosas, las animaciones Flash y los objetos embebidos en general.

Para usarlo, eso sí, hay que saber algo de javascript, en particular cómo se solucionan los problemas cuando nuestro código no funciona. Pero no es para alarmarse si no sabes nada de javascript, porque en jQuery por lo general los códigos para hacer cosas vienen listos, copiar y pegar.

Por ejemplo el siguiente código permite animar líneas de texto. Veamos:


  • Línea uno 1
  • Línea dos 2
  • Línea tres 3


EN EL HEADER


La primera línea llama a la librería de jQuery en el servidor de Google. Es la versión 1.7.1 y ésta puede mejorar con el tiempo, así que mantente actualizado.

El estilo CSS da forma al HTML que pegaremos en la página.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<style type="text/css">
#ticker { height: 40px; overflow: hidden; margin: 0; padding: 0; }
#ticker li { height: 40px; }
</style>



EN TU PÁGINA


Este es el código HTML que mostrará la animación. Puedes agregar cuantos bullet quieras, teniendo en cuenta que la animación de jQuery solo mostrará uno a la vez.


<ul id="ticker">
<li style="display: list-item; ">Línea uno 1</li>
<li style="display: list-item; ">Línea dos 2</li>
<li style="display: list-item; ">Línea tres 3</li>
</ul>

ANTES DE </BODY>


Éste es el javascript que hace la magia. Llamamos a la librería en el HEADER del sitio, así que ahora podemos decirle al HTML cómo queremos que se anime.

Funciona así: toma el primer LI que esté dentro del tag con ID "ticker", lo eleva y baja al final el LI que queda escondido. La función se repite cada 5.000 microsegundos.


<script type="text/javascript">function tick(){
$('#ticker li:first').slideUp( function () { $(this).appendTo($('#ticker')).slideDown(); });
}
setInterval(function(){ tick () }, 5000);
</script>



19/7/12

Indexando tu sitio Web en Google

Antes —digamos, en la época en que los sitios Web se construían con tablas—, era suficiente con inscribir un sitio en los directorios de buscadores, para que la gente te encontrara al buscar.

Pero Google llegó a cambiar el panorama. En su afán de optimizar los procesos publicitarios de adWords, se vieron en la necesidad de mejorar la Web. Primero, apoyando iniciativas de estandarización; luego, indicando nuevas maneras de hacer bien las cosas en Internet; y desde hace poco tiempo, limpiando su base de datos para eliminar sitios Web tramposos o spammers que solo buscan aparecer primero en los resultados de búsqueda y que, de paso, hacían más difícil la experiencia del usuario para encontrar.

El cambio es positivo y gracias a eso tengo trabajo haciendo SEO  ó_ó  ... pero no nos engañemos. Todo fluye de manera directa o indirecta hacia la fuente de ingresos que mueve a Google y mientras el negocio funcione y se siga perfeccionando, Internet será un "lugar" cada vez mejor.

Una de las mejoras que introdujo Google para hacernos la vida más simple, son los Sitemap. A través de las herramientas de Webmasters Tools de Google, podemos agregar nuestros sitemap y Google usará esa información para acceder a nuestro sitio y recaudar contenidos indexables, con mucha más rapidez (días, a veces horas) que si esperamos a que nos encuentre por sí solo.




Pero los sitemap no se hacen solos. Hay software spider con los que puedes recuperar todas las URL de tu sitio Web, filtrarlas si es necesario, y exportar un documento XML que puedes subir a la raíz del sitio, listo para indexar. También hay plugins de Wordpress que hacen el trabajo de manera automática o manual. Yo uso los dos métodos, el spider para los sitios Web complejos con muchas páginas (me permite filtrar las páginas que no quiero incluir en el buscador), y el plugin automático para sitios Web con pocas páginas pero muchos post o artículos.


Hay distintos tipos de Sitemap. Está el genérico (sitemap.xml), que reúne todas las páginas del sitio Web; el sitemap de imágenes (sitemap-image.xml), que indexa solo los monos (asociados a una página o artículo); el sitemap de noticias (sitemap-news.xml) para los sitios web informativos (éste requiere una aprobación extra por parte de Google, para ser listado en la sección de Noticias); y el sitemap de video (sitemap-video.xml), que funciona igual que el de imágenes.


También se puede incluir el Feed de noticias como fuente de contenidos.


En la imagen se ve que de 4.471 páginas en el sitemap, 4.239 están indexadas (94,5%), lo que es una excelente cifra. Esto tiene relación con la calidad de las páginas indexadas, el uso de estándares (HTML5 validado en la W3C) y con la calidad de sus contenidos, que a su vez está relacionada con lo que los usuarios usualmente buscan.


En el caso de las imágenes, hay 574 en el sitemap y de ésas apenas 128 (22,4%) están indexadas. No son más indexadas porque, probablemente, muchas de esas imágenes se usan en más de una oportunidad en diferentes páginas y se pueden considerar como contenido duplicado dentro del Sitio Web.


Los blog gratuitos de Blogger y Wordpress generan sus sitemap de manera automática, al igual que sus fuentes de Feed. Incluye las dos en Google Webmaster Tools y espera paciente.

4/6/12

Título de la ventana con mejor SEO en tu blog de Blogger



Ya me había conformado con tener el título del sitio primero y el título del post después... cuando encontré este cheat code para dar vuelta el title y lograr mejor SEO.
  1. Ve a Plantilla > edición de HTML en tu dashboard de Blogger.
  2. busca este código: <title><data:blog.pageTitle/></title>
  3. Reemplázalo con este otro:
    <b:if cond='data:blog.pageType == &quot;index&quot;'> <title><data:blog.title/></title> <b:else/> <title><data:blog.pageName/> | <data:blog.title/></title> </b:if>
  4. Guarda la plantilla y listo.
El resultado en el blog es inmediato, pero en los buscadores demora un poco más. Ten paciencia.

31/5/12

¿Puedo ganar dinero con mi sitio Web de noticias?

Sí.



Pero no es tan simple como instalar adSense en tu blog y esperar a que lleguen los cheques.

PRIMERO, tienes que tener un Blog o sitio Web enfocado en un tema específico, con contenidos de calidad, indexado en Google y Bing.

SEGUNDO, debes obtener visitas orgánicas, visitas desde otros sitios Web y visitas directas. Esto se logra con una política de publicación de contenidos nuevos constante y vigilancia de tendencias de búsqueda, dentro del tema de tu sitio Web; y también con una estrategia activa en redes sociales.

TERCERO, si no tienes una cuenta propia de adSense activa, debes solicitar una. Tu sitio Web será vigilado y testeado en busca de malware y black-hat. Y si pasa la prueba, pues ya tienes tu cuenta. Procura vigilar los filtros de anunciantes cada cierto tiempo, para que no se muestren avisos que estén contra tu línea editorial. ¡Y no olvides empalmar tu Analytics con adSense! Esto es primordial, pues te permitirá saber qué palabras clave producen mejores resultados, qué páginas obtienen más ingresos, y etc.

y CUARTO, debes instalar la publicidad en lugares estratégicos. Recomiendo los banner grandes, las torres y los cubos. Mira lo que hacen otros sitios Web de calidad y sigue su ejemplo. Pon mucho cuidado con no hacer trampas (lee las directivas de Google acerca de este punto, es muy importante) o te van a cerrar la cuenta.

Y a partir de ese día, tienes dos opciones: 1) olvidate de adSense y sigue con tu estrategia de publicación de contenidos frescos en torno al tema del sitio; y 2) vigila diariamente Analytics y aprovecha esa información para definir nuevos temas que produzcan más ingresos.

Llegará el día en que al fin acumules US $100 y te será enviado un cheque. Mi primer pago de Google demoró seis meses, y eso que se trataba de un sitio con muy bajas expectativas.


17/5/12

No temas al Pinguino - Google's Penguin

Hay muchos SEOs, miles, sufriendo las consecuencias de sus estrategias truculentas y llenas de spam para manipular el ranking de sus sitios Web en resultados de búsqueda. Y hay muchos más publicando páginas y más páginas de texto para explicar cómo sobrevivir al pingüino y seguir haciendo las cosas mal.

Mi recomendación es que no sigan tratando de manipular al sistema, porque el Google’s Penguin regresará a hacer un barrido nuevamente. Y seguirá filtrando sitios con ranking inflados artificialmente mientras haya SEOs que prefieran hacer spam en vez de crear contenido de calidad que se posicione por sí mismo.

Si estás a cargo del SEO y usaste alguna estrategia desafortunada, pues ve a esos blog que creaste con el único objetivo de saturar con link inútiles, y deshazte de ellos. Haz que dejen de existir. Y en aquellos sitios o blogs que no puedas borrar, haz un esfuerzo y pon NOFOLLOW + target="_blank" a esos link externos. ¡A todos!

Con esto no vas a mejorar la posición de tu sitio Web castigado por Google y es posible que la situación empeore. Pero míralo como una oportunidad para comenzar a hacer las cosas bien.

La única estrategia que sí funciona


El equipo anti-spam de Google ha sido majadero con esto. El único camino para lograr un posicionamiento competitivo es a través del contenido y de los link que otros sitios web hagan a ellos de manera natural. Y la mejor manera de llamar a atención de los editores y Webmaster es a través de la publicación constante de contenidos relacionados con el tema del sitio Web donde se los publica.

Lo repito de otra manera, porque sé que soy enredado y con alguna de las dos descripciones le apuntaré: publica una noticia o artículo al día dentro del tema general de tu sitio, y en el mediano plazo lograrás un long-tail que llamará la atención de las personas adecuadas, que a su vez linkearán esos contenidos.

Trabaja sin apuro, sin presiones. Solo dedícate a crear contenido y a mantener el código de tu sitio Web lo más limpio y actualizado posible. Así el pingüino se deslizará por tu lado y ni sentirás el frío.


25/4/12

Cómo crear un sitio Web posicionable y de calidad

wireframe


Pronto Google hará públicas sus nuevas directrices para el algoritmo de búsqueda Panda, que tiene por objetivo discriminar entre las páginas con contenidos de calidad de aquellas que hacen web-spam.

Algunos de los cambios que se avisarán ya están activos y otros están en periodo de pruebas. Como odio que me hagan esperar, pero también me molestan las suposiciones sin evidencias, paso a explicar aquellos ítems que ya se han clarificado en los blogs oficiales de Google.

El diseño del sitio sí influye en el SEO.


Tal como se publicó en enero de este año, aquellas páginas que no muestren sus contenidos dentro del primer pantallazo, serán penalizadas. Esto implica que un sitio con exceso de diseño gráfico y poco texto tiene peor ranking que otro sitio que dé prioridad al texto sobre la gráfica.

Más contenido y menos código. Haz un protector de pantalla con esa frase.


Fabrica tu sitio con HTML5 y Microformatos.


Un sitio Web bien construido con HTML5, validado en la W3C, tiene mejor posicionamiento que los sitios XHTML o HTML. De la misma manera, los microformatos ayudan a que los buscadores entiendan mejor el contenido de tus páginas. Por ende, los sitios que sean construidos usando los estándares 2012 de diseño Web se consideran de mejor calidad.

Lee mi artículo acerca del mejor SEO con HTML5 y Microformatos, para estar al tanto. Pronto publicaré un artículo complementando los microformatos.


La ortografía sí importa.


Se ha especulado mucho al respecto. En octubre de 2011 se anunció que los sitios con buena ortografía y buena gramática no tienen de qué preocuparse, mientras que los sitios con mala ortografía y/o mala gramática podrían considerarse como sitios de menor calidad, y, por lo tanto, ser penalizados.

O dicho de otra manera, las páginas más fiables están mejor escritas. En consecuencia, las que están mal escritas son menos fiables.

A mi entender la razón de esto radica en que los sitios y blogs que hacen web-spam son los que tienen peor gramática, con frases inconexas y colección de palabras clave que no están relacionadas entre sí. Por lo tanto, una buena manera de reconocer un sitio web spammer es revisando la sintaxis de sus contenidos.

Los enlaces de mala calidad afectan el posicionamiento.


Como expliqué en un artículo anterior acerca de la sobre-optimización, cuando tenemos muchos links de mala calidad apuntando a nuestro sitio, eso nos hace sospechosos. Por eso no hay que ir por la vida pidiendo intercambio de vínculos a todos los sitios y blogs de nuestros amigos.

Si la estrategia SEO para un sitio de noticias o blog o Web comercial es la obtención de una gran cantidad de enlaces desde otros sitios, con el objetivo de convencer a Google que el sitio es importante para mucha gente, es muy probable que logres tu objetivo… por un tiempo. Y más temprano que tarde tu sitio Web será penalizado.

Lo mismo te puede ocurrir si tu sitio tiene muchos links salientes hacia páginas externas. En un sitio de noticias online no solo es probable, sino que es seguro que habrá muchos links a sitios externos. En ese caso, todos tus links deben abrirse en una ventana nueva e incluir NOFOLLOW.

Analiza la información en Google Analytics en busca de oportunidades


Instala Google Analytics en tu sitio Web, mira las palabras clave y vigila sobre todo las palabras clave negativas. Las oportunidades se presentan sin necesidad de investigar muy a fondo.


Deja de optimizar y comienza a crear 

Si te la pasas todo el día analizando tu sitio y leyendo blogs acerca del SEO y bombardeando las redes sociales con tus contenidos, habrás perdido el día frente al computador sin haber creado ningún contenido de calidad.

Lo primero que debes hacer es confeccionar un calendario de contenidos para publicar en tu sitio y cumplirlo, diversificando los temas publicados sin escapar del nicho de tu sitio. Dedícate a escribir. Escribe y publica. Más contenido y menos código, ¿recuerdas?

A través de una política de creación de contenidos constante, ampliarás no solo la presencia de tus palabras clave en buscadores, sino también las palabras del long-tail que atraen mayor variedad de usuarios.


Y ahora… ¡A ESCRIBIR!

18/4/12

¿Quién dijo que el posicionamiento SEO es fácil?

Si alguien te dijo que hacer optimización de buscadores y escribir textos periodísticos con un enfoque SEO es fácil, pues te mintió. No es tan difícil tampoco, pero requiere de mucho orden y estructura. Por eso y para hacer más simple el proceso, listaré aquí mi proceso (ideal):

LUNES


  • Verifico las palabras clave negativas relevantes que ingresaron al sitio durante la semana anterior, incluido el fin de semana.
  • Reviso en prensa y blogs los temas que puedan interesar, dentro del contexto temático de mi sitio.
  • Decido cuáles temas voy a trabajar y los investigo (no solo googleo, también envío correos y llamo por teléfono o Skype, cuando se da la oportunidad). Si hay un tema "candente", lo marco como prioritario.
  • Publico al menos un artículo o noticia y dejo programado otro para el día siguiente.
Tiempo estimado: de 4 a 5 horas.

MARTES, MIÉRCOLES Y JUEVES

  • Me salto la revisión de palabras clave negativas.
  • Repito el proceso del día lunes.
Tiempo estimado (diario): de 2 a 4 horas.

VIERNES

  • Hoy no publico nada.
  • Solo me preocupo de producir un artículo denso, programado para el día lunes a primera hora.
Tiempo estimado: de 1 a 2 horas.

FIN DE MES

  • Verifico en Google Analytics la tendencia de navegación en mi sitio, los artículos más leídos, las fuentes de tráfico, comparaciones con el mes anterior, etc. En específico, busco cualquier señal de caída en mi estadística de visitas y la analizo, para detectar algún peligro o error en el sitio.
  • Hago un análisis de palabras clave orgánicas general, pongo especial atención a las palabras que representan el o los temas del sitio, las que generan más visitas, y también miro el long-tail. Busco aquellas señales que me indiquen qué temas serán interesantes para investigar y publicar durante el mes siguiente.
  • Aprovecho de hacer respaldo de todos los contenidos y mantenimiento en mis sitios.
Tiempo estimado: de 5 a 6 horas.

SÁBADO Y DOMINGO

  • Trato de disfrutar la vida, salir a la naturaleza.

¿Y si tengo más de un sitio Web?


En ese caso, el primer día de la semana para cada sitio sería un día distinto. Solo el viernes es fijo y obligatorio para todos tus sitios.

13/4/12

Mejor SEO con HTML5 y Microformatos



Sí, soy periodista. Pero también soy desarrollador Web. Y si tú, periodista, quieres trabajar en la línea del periodismo online o digital, ya es tiempo que aprendas también algunos estándares básicos de desarrollo y programación.

Porque un sitio Web que cumple los estándares de diseño, posiciona mejor.

Un poco de HTML


El lenguaje HTML surgió en los años 90 (finales del siglo XX) y es fácil, de verdad es muy fácil. Solo necesitas un abrir el Notepad, guardar tu documento con extensión .html y ya estás creando una página Web. La cantidad de códigos que es necesario conocer para armar una página básica, una noticia, con título, bajada, negritas y cursivas, imagen y link, no son más de 13.

Por ejemplo:

<html>
<head><title>El título de la ventana (que es el mismo título de la noticia)</title>
</head>
<body>
<p>13 de abril de 2012</p>
<h1>El título de la noticia</h1>
<ul>
  <li>Aquí va la bajada .</li>
</ul>
<p>Esto es un párrafo de texto. Y <strong>esta frase</strong> está en negrita.</p>
<p>Esto es otro párrafo de texto. Y <em>esta frase</em> está en cursiva.</p>
<p><img src="/ruta/a/la/imagen/" alt="descripción de la imagen" /><br/>
Inserté una imágen y un salto de línea, para agregar este trozo de texto debajo de ella.</p>
<p>Esto es un párrafo de texo. Y <a href="/ruta/del/enlace/">esta frase</a> es un enlace.</p>
</body>
</html>

Para hacer una página Web simple, eso es todo lo que necesitas saber.

Hacer SEO en el código HTML


Hay pocos códigos HTML que son realmente necesarios para que una página pueda posicionarse en buscadores. Lo que importa es tu contenido y que los códigos HTML básicos estén usados correctamente. Los buscadores indexarán esos contenidos y si no encuentran ninguna falla semántica (en los códigos), pues tu página tiene mejores probabilidades de ser indexada en los buscadores.

Pero hay algo que debes saber antes de continuar: si tus contenidos son originales y tu sitio Web está indexado en los buscadores, tu página puede aparecer en los resultados de búsqueda. No es seguro que aparezca en la primera página, porque para que eso ocurra tu sitio Web completo tiene que ser competitivo y tener buena autoridad. Ya hablaremos de eso en algún post futuro.

Ahora, no está de más ayudar un poco al buscador para que catalogue mejor tu sitio web. Con un par de códigos HTML extra dentro entre las etiquetas HEAD, justo debajo de TITLE, las probabilidades de posicionar mejoran:

<meta name="description" value="Aquí agregas una descripción relevante del contenido de tu página. Cuando es una noticia, lo usual es que escribas aquí la bajada ." />

Hay quienes aseguran que este código descriptivo es innecesario y que, en su ausencia, la descripción es todo el contenido de tu página. Lo dejo a tu criterio, porque no he visto que el posicionamiento mejore o empeore por tenerlo.

<meta name="robots" value="noodp" />

Este último le dice al buscador que no use la descripción de una base de datos abierta (DMOZ), que usualmente no coincide con el contenido de la página, sino que use tu propia descripción.

HTML evoluciona a HTML5


La principal diferencia entre HTML y HTML5, es que este último agrega una lista de etiquetas semánticas para organizar y catalogar el contenido de manera más clara. Con o sin estas etiquetas, el contenido se ve igual en los navegadores, no hay un gran cambio. Pero a la hora de indexar esos contenidos y optar por una mejor posición, HTML5 mejora las posibilidades.

Por ejemplo:

<!DOCTYPE html>
<html dir="ltr" lang="es-CL">
<head>

<meta charset="utf-8" />

<title>El título de la ventana (que es el mismo título de la noticia)</title>
</head>
<body>
<article>
<header>
<p><time>13 de abril de 2012</time></p>
<h1>El título de la noticia</h1>
<ul>
  <li>Aquí va la bajada.</li>
</ul>
</header>
<section>
<p>Esto es un párrafo de texto. Y <strong>esta frase</strong> está en negrita.</p>
<p>Esto es otro párrafo de texto. Y <em>esta frase</em> está en cursiva.</p>
<p><figure><img src="/ruta/a/la/imagen/" alt="descripción de la imagen" /></figure><br/>
Inserté una imagen y un salto de línea, para agregar este trozo de texto debajo de ella.</p>
<p>Esto es un párrafo de texto. Y <a href="/ruta/del/enlace/">esta frase</a> es un enlace.</p>
</section>
</article>
</body>
</html>

Otras etiquetas cumplen funciones específicas, como definir cuáles son los link de navegación (<nav> … </nav>) y cuáles son los contenidos que van a un costado y que son importantes, pero no son el principal foco de la página (<aside> … </aside>).

Los microformatos…


Son un conjunto de variables que se agregan a las etiquetas HTML existentes, y que entregan información detallada acerca de las características del contenido que contienen. Por ejemplo, diciendo a los buscadores y navegadores que esta página es un artículo de noticias, que el H1 es el título, que la bajada está en una viñeta y dónde está el contenido de la noticia.

En HTML (en general) las etiquetas expresan que lo que está dentro de ellas cumple con una característica específica (<aquí comienza> y </aquí termina>). Y los textos contenidos en las etiquetas microformateadas están sujetos a la misma regla.

Hay al menos dos tipos de microformatos: Schema.org y Microformats.org. Para este ejemplo usaré el Schema.org, porque el otro requiere el uso de palabras específicas en los estilos CSS y para los efectos de este blog, no me inmiscuiré en el ámbito de los diseñadores (todavía).

Por ejemplo:

<!DOCTYPE html>
<html dir="ltr" lang="es-CL">
<head>
<meta charset="utf-8" />
<title>El título de la ventana (que es el mismo título de la noticia)</title>
</head>
<body itemscope itemtype="http://schema.org/NewsArticle">
<article>
<header>
<p><time itemprop="datePublished" datetime="2012-04-13">13 de abril de 2012</time></p>
<h1 itemprop="headline name">El título de la noticia</h1>
<ul>
  <li itemprop="description about">Aquí va la bajada.</li>
</ul>
</header>
<section itemprop="articleBody">
<p>Esto es un párrafo de texto. Y <strong>esta frase</strong> está en negrita.</p>
<p>Esto es otro párrafo de texto. Y <em>esta frase</em> está en cursiva.</p>
<p><figure><img src="/ruta/a/la/imagen/" alt="descripción de la imagen" /></figure><br/>
Inserté una imagen y un salto de línea, para agregar este trozo de texto debajo de ella.</p>
<p>Esto es un párrafo de texto. Y <a href="/ruta/del/enlace/">esta frase</a> es un enlace.</p>
</section>
</article>
</body>
</html>

Para finalizar


En los sitios Web que utilizan CMS (como Wordpress), el HTML5 y los microformatos están embebidos en el código del tema o template del sitio, y no es necesario que el periodista se preocupe de manipularlos.

Pero de todas maneras es importante saber qué son y para qué sirven, y si nuestro sitio Web de noticias no cumple estos estándares y sigue usando tablas para organizar los contenidos, pues ya es tiempo de contratar a un nuevo desarrollador.