wordpress anti-spam plugins, captchas and more

My blog (wordpress) is registering a lot of spam comments recently. Therefore I made a small comparision between several wordpress plugins to avoid spam.

The test included all of the Top 10 wordpress anti spam plugins and I ended up installing Math Comment Spam Protection. It seems to deal fine with this annoying spam comments 🙂

IMHO the image-based anti spam systems (also known as captchas) are not very useful since several projects (like PWNtcha) have no difficulties in extracting the text from that images.

So, let’s go a step further and hope this captcha-generatos will not be able to resolve simple math questions… for a long time 😎

Aumentar el tráfico a tu sitio web: AddThis

Muchos usuarios me preguntan cómo aumentar el tráfico a su sitio web. Para ello, además de tener una página bien construida (DTD’s validados), usar url’s SEF, etc, debemos realizar labores de promoción y fidelización del lector. (Te recomiendo la lectura de mi anterior artículo de mejora de posicionamiento)

Una buen forma de promoción para tu sitio web pasa por ofrecer a tus lectores la posibilidad de añadir tu página a favoritos, o compartir las noticias (digg, twitter, etc). Existe un servicio, llamado addthis.com, que es idóneo para ello.

Cuando colocas el botón de AddThis en tu sitio web, automáticamente determina la URL de tu página. Cuando los visitantes hacen click en este botón, éste les lleva a una página que permite elegir qué servicio de favoritos prefieren utilizar.

Como veréis, utilizo el botón de AddThis a lo largo de toda mi página. Si ofreces contenidos interesantes, existe un enorme mercado de lectores que querrán añadirte a favoritos, y esto generará miles de enlaces a tu sitio web y aumentará de forma considerable tu ranking.

Añadiendo este botón a tu blog WordPress

Puedes añadir AddThis como plugin o como widget.

Como plugin: entra en la sección de plugins – Add new y busca AddThis. Instálalo y actívalo. Fácil, sencillo y para toda la familia 😉

Como widget: entra a AddThis y rellena el formulario para darte de alta. Éste te proporcionará un código fuente, que debes copiar (Control+V). Después accede al panel de administración de WordPress, más en concreto a la sección de Apariencia (Appearance) y pulsa sobre Widgets. Crea un nuevo Widget de texto e inserta el código AddThis, que debería ser algo asi:

<!-- AddThis Button BEGIN -->
<div><a href="http://www.addthis.com/bookmark.php?v=250" title="Bookmark and Share" target="_blank"><img src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" width="125" height="16" alt="Bookmark and Share" style="border:0"/></a></div>
<!-- AddThis Button END -->

¿Te ha parecido interesante el artículo? Añádenos como favorito!

Bookmark and Share

Añadir meta-información a wordpress

Cuando un motor de búsqueda indexa tu sitio web recopila información del título, cabecera, contenido y meta-etiquetas (como descripción y palabras clave). Gracias a esta información tu página será mostrada en una determinada posición de los resultados de búsqueda ofrecidos por un motor. A esta posición se la conoce como ranking.

WordPress, en su instalación por defecto, no incluye meta información, por lo que nos veremos obligados a añadir esta información manualmente, cambiando el código fuente del theme que tengamos instalado. También podemos añadir esta meta información instalando plugins específicos.

¿Qué son los meta-tags?

La palabra meta significa información acerca de. Las meta-etiquetas se concibieron inicialmente para proporcionar información detallada acerca de un sitio web. La información en meta-etiquetas incluye el autor de la página web, las palabras clave, la descripción del sitio web, el tipo de documento, copyright, etc

Un ejemplo de meta-información de descripción es:

Algunas de las meta-etiquetas más comunes son:

Y algunas de las etiquetas de meta información más comunes son:

<meta http-equiv="author" content="Miguel Martin" />
<meta http-equiv="contact" content="admin@leccionespracticas.com" />
<meta name="copyright" content="Copyright (c)2009-2013 Miguel Martin. All Rights Reserved." />
<meta name="description" content="lecciones practicas - aprende informatica" />
<meta name="keywords" content="lecciones practicas, leccionespracticas, cds invenio, repositorios, seo, sef, posicionamiento, google, wordpress, joomla, php, python, preservacion" />

El significado de cada una de estas etiquetas es fácilmente deducible, por lo que no me extenderé en este punto 😉

¿Son los meta-tags necesarios todavía?

Es una buena pregunta. Hace algunos años rellenar de forma correcta esta información era fundamental. A día de hoy algunos motores de búsqueda no utilizan esta información debido a que, históricamente, se ha abusado en la utilización de esta información a cargo de algunos webmasters. De hecho, las meta-etiquetas pueden NO reflejar el contenido de tu sitio web…

De todos modos, sigue siendo una buena práctica utilizar estos pequeños fragmentos de información, siempre que sean utilizados de forma correcta, para completar información de tu sitio web. Algunos motores de búsqueda utilizan la meta-etiqueta keywords (palabras clave) para categorizar y asignar ranking a tu sitio web. Estos motores comparan tus palabras clave con el contenido de tu página y premian a aquéllos sitios en los que las palabras clave coinciden con el tipo de contenido mostrado. Por tanto, sí es importante añadir, al menos, la etiqueta de meta-keywords.

Aunque no te engañes, a día de hoy el elemento diferenciador de cara al posicionamiento es el contenido de tu sitio, es decir, la información en sí misma.

¿Cómo añado meta-tags a mi blog en WordPress

Para añadir meta información a tu sitio web, simplemente edita el archivo header.php del theme que estés utilizando.

A modo de ejemplo puedes ver parte de mi archivo header.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<title><?php if (is_home () ) { bloginfo('name'); } elseif ( is_category() ) { single_cat_title(); echo ' - ' ; bloginfo('name'); }
 elseif (is_single() ) { single_post_title(); }
 elseif (is_page() ) { bloginfo('name'); echo ': '; single_post_title(); }
 else { wp_title('',true); } ?></title>
 
<meta http-equiv="author" content="Miguel Martin" />
<meta http-equiv="contact" content="admin@leccionespracticas.com" />
<meta name="copyright" content="Copyright (c)2009-2013 Miguel Martin. All Rights Reserved." />
<meta name="description" content="lecciones practicas - aprende informatica" />
<meta name="keywords" content="lecciones practicas, leccionespracticas, cds invenio, repositorios, seo, sef, posicionamiento, google, wordpress, joomla, php, python, preservacion" />
 
 
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/script.js"></script>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />

A estas alturas te estarás preguntando ¿y la meta-información dinámica? Con las líneas que hemos añadido anteriormente, ésta información se mostrará en todas las páginas de tu sitio web. Al colocalas en header.php la información no cambiará, será estática.

De cara a añadir información dinámica, una solución simple pasa por utilizar editar header.php y añadir las siguientes líneas:

<meta name="description" content="<?php if ( is_single() ) {
        single_post_title('', true); 
    } else {
        bloginfo('name'); echo " - "; bloginfo('description');
    }
    ?>" />

Estas líneas hacen que, si estamos ante un único post se muestre el título del mismo, mientras que si estamos ante un conjunto de posts, se muestre el nombre del blog y su descripción.

Otra solución es utilizar alguno de los múltiples plugins de WordPress.

Por ejemplo, puedes usar head space 2, un plugin que sugiere qué meta-keywords añadir a cada post, qué descripción darle, etc.

¿Te interesa el tema? Puede seguir informándote en los siguientes links:
[1] W3 Organization’s Global Structure of an HTML Document and Meta Tags
[2] header.php code y tutoriales: robots, googlebot, and msnbot. metadatos en páginas, post simples, página principal…
[3] UC Berkeley’s Guide to Search Engines
[4] SearchengineWatch.com: how to use metadata
[5]webdeveloper’s metatag information

WordPress in a subdirectory, urls like it was in root directory

There are many reasons to install wordpress in a subdirectory and not in the root directory (for instance because it is easier to update wordpress, the files are better organized …). However, for SEO purposes, it is recommended to mask that subdirectory name in url and make wordpress look like it is installed in the root directory

So, lets suppose you install wordpress in a subdir called wordpress. Then all of your urls will look like:
http://www.yoursitename.com/wordpress/...

And we want to remove that trailing /wordpress so our urls look like:
http://www.yoursitename.com/...

Note: If you want to have permalinks active and still don’t have done this, please activate your permalinks first!!. I have set a Custom Structure (/%category%/%postname%/).

Ok, ready to go. Let's continue with the process.

You will have to change two files:

First, edit wp-config.php and add these following two lines (change the word 'wordpress for your subdirectory name):

1
2
3
// ** Hostname settings ** //
define('WP_SITEURL', "http://${_SERVER['HTTP_HOST']}/wordpress");
define('WP_HOME',    "http://${_SERVER['HTTP_HOST']}");

Then copy your /wordpress/index.php to your root directory and modify it. Change the line that says:

1
2
/** Loads the WordPress Environment and Template */
require('./wp-blog-header.php');

for

1
2
/** Loads the WordPress Environment and Template */
require('./wordpress/wp-blog-header.php');

If you had permalinks activated (this is, not default behaviour) copy the existing /wordpress/.htaccess file to root directory!. If you don't, when you try to access category links, they won't work.

That's all folks! 😉

WordPress: remove /category

If you are aware of what SEO links mean, and you have a wordpress blog configured by default, you might want to make some little changes to how urls are built.

  • Remove /category/categoryname
  • Having good Permalink Structure is very important for your Blog with respect to SEO. WordPress does nice by providing a Permalinks Section from the Settings Page in the Admin Panel.

    wordpress-no-category-base-permalinks

    But sometimes some bloggers do not want to have any category base in their Permalinks structure. WordPress does not allows you to do it. Here is how you can get it done.

    Wordpress-permalinks-no-category-base

    WP No Category Base Plug-in

    If you are using WordPress 2.7, Go to Plug-ins –> Add New –> Search for “WP No Category Base”, install it and activate it.

    If you are using previous version of WordPress, Upload the “no-category-base.php” to the “/wp-content/plugins/”, and Activate it from the Plug-ins Menu

    This plug-in does not have any Settings Page. Just activate it to use and de-activate when you don’t need it.

    Precautions

    Remember to have no Post Slug equal to your Category Slug. In case you have same slug for both then the page will get the priority and the category page will never show up.

    Links