martes, 24 de junio de 2014

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Añadir imágenes a los menús de WordPress

Posted: 24 Jun 2014 03:34 AM PDT

Ya hace un tiempo que vimos como usar imágenes como menús en WordPress pero seguramente te habrás preguntado cómo se añaden imágenes a los títulos de los menús, sin sustituirlos, pues eso vamos a ver ahora mismo.

Me refiero a acompañar tu nombre de menú de una imagen que lo resalte, identifique y le dé más visibilidad.

Pues bien, para eso nada mejor que Menu image, un simple pero eficaz plugin que añade un campo nuevo a la pantalla de personalización de menús para que podamos añadirle una imagen de manera sencilla.

No cambia nada tu manera de personalizar los menús, simplemente añade un botón desde el que elegir o subir una imagen que se mostrará enlazada a la URL que hayas definido. La imagen, por defecto, se mostrará a la izquierda del texto del título del menú.

imagen en menú de wordpress

Lo mejor de todo es que puedes incluso subir una segunda imagen que será la que se muestre al pasar el cursor, un bonito efecto que gusta a todos.

imagen en menú de wordpress publicada

Hay otros plugins para hacer cosas parecidas pero de momento es el mejor que he visto, y lo recomiendo.

lunes, 23 de junio de 2014

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

10 habilidades básicas del desarrollador de plugins WordPress

Posted: 22 Jun 2014 10:00 PM PDT

desarrollador wordpress

Los plugins son gran parte de la grandeza y belleza de WordPress y crear tu propio plugin te dará un conocimiento y libertad que no encontrarás si simplemente te limitas a usar lo que otros crean.

Ahora bien, si te lanzas al desarrollo de plugins WordPress no está de más que tengas en cuenta esto 10 consejos básicos para la creación de plugins:

:: 1. Creando el plugin ::

El primer paso es crear la carpeta de tu plugin en el directorio /wp-content/plugins. Una vez hayas creado la carpeta debes situar los archivos de tu plugin en esa carpeta. Debe haber un archivo principal del plugin, y los nombres de los archivos deben tener solo letras y guiones (-) si quieres separar palabras, no uses otros signos de puntuación ni espacios.

Un nombre tipo sería algo así: plugin-seo-sencillo.php

El archivo principal del plugin debe tener la siguiente estructura para que WordPress lo identifique como plugin:

<?php  /* Plugin Name:  Nombre del plugin  Plugin URI: http://ayudawp.com/plugins/url-del-plugin  Description: Descripción de lo que hace el plugin una vez activo.  Version: 1.0  Author URI: http://ayudawp.com  Author: Nombre del autor  License: GPL2  */ 

Una vez guardes los cambios, aunque no tenga aún nada el plugin, ya se verá en la página de plugins de WordPress.

:: 2. Activación y desactivación del plugin ::

Los plugins se pueden activar haciendo clic en el enlace “Activar” de la lista de plugins. En un plugin básico no tienes que hacer nada al activarlo. Pero un plugin avanzado requerirá tareas como lanzar los ajustes del plugin, crear tablas, etc., así que vamos a ver cómo podemos gestionar la activación y desactivación de un plugin.

Gancho de activación del plugin

WordPress ofrece una función denominada register_activation_hook que se lanza al activar un plugin. Podemos añadir funciones personalizadas que se ejecuten al activar el plugin usando este método. Un ejemplo sería el siguiente:

function wp_sample_activation() {  }  register_activation_hook(__FILE__, 'wp_sample_activation');

Tienes que definir la ruta del archivo que contenga la función de activación como primer parámetro y el nombre de la función como segundo parámetro.

Si la función de activación está dentro del archivo principal del plugin puedes usar _FILE_ como en el ejemplo anterior. Dentro de la función de activación también puedes realizar tareas como validaciones, inicializaciones y creación de tablas.

Gancho de desactivación del plugin

Podemos gestionar la desactivación de un plugin con register_deactivation_hook, utilizando una sintaxis similar a la de la activación. En la función de desactivación también puedes realizar acciones adicionales como limpiar los recursos del plugin, de los ajustes y las tablas.

function wp_sample_deactivation() {   }   register_deactivation_hook(__FILE__, 'wp_sample_deactivation'); 

:: 3. Creación de tablas personalizadas ::

La estructura de la base de datos de WordPress y es muy flexible, y puedes implementar la mayoría de las funcionalidades personalizadas usando las tablas que estén disponibles.

No obstante, en ocasiones puede que prefieras incluir sistemas más avanzados, como carros de compra, sistemas de gestión de tareas, suscripciones, etc.

En estos casos debes saber cómo y cuando crear tablas personalizadas. Lo primero es tener en cuenta los requisitos de tu proyecto y tratar de utilizar la tabla y meta tablas wp_options para almacenar los datos específicos de tu proyecto. Si consideras que esas tablas no tienen la estructura necesaria como para implementar la funcionalidad que necesites entonces crea tablas personalizadas usando el siguiente método:

global $wpdb;   $wpdb->query("DROP TABLE IF EXISTS {$wpdb->prefix}sample_table");   $sql1 = "CREATE TABLE {$wpdb->prefix}sample_table ( id int(11) NOT NULL AUTO_INCREMENT,                                                          activation_code varchar(255) NOT NULL,                                                          email varchar(75) NOT NULL,                                                          status int(11) NOT NULL, PRIMARY KEY  (id) )            ENGINE=InnoDB AUTO_INCREMENT=1;";     require_once(ABSPATH . 'wp-admin/includes/upgrade.php');   dbDelta($sql1);

Primero comprobamos si existe la tabla antes de crearla. Puedes decidir crear la tabla en el momento de la activación, dependiendo de lo que necesites. En el ejemplo verás que se utiliza {$wpdb->prefix} antes de crear el nombre de la tabla. Esto es debido a que, normalmente, las tablas de WordPress empiezan con el prefijo wp_. Esto puedes cambiarlo cuando instalas WordPress así que es mejor no añadir manualmente el prefijo wp_ ya que puede ser otro, y así nos aseguramos que se adaptará a lo que exista.

Usando {$wpdb->prefix} obtendrás el prefijo definido en la instalación de WordPress, así que siempre usa esta sintaxis para crear las tablas.

Aunque utilices la función $wpdb->query para crear las tablas es recomendable usar la función dbDelta, ya que compara la estructura de tablas actual. No se carga por defecto así que debes incluirla al principio del archivo.

:: 4. Incluyendo Scripts y estilos ::

Aunque solo hagas eco de scripts y estilos es recomendable añadir los scripts usando la función wp_enqueue_script. Esta función comprueba si están disponibles los archivos y las dependencias con otros scripts. El siguiente ejemplo muestra el modo de utilizar la función wp_enque_script:

add_action('wp_enqueue_scripts', 'sample_scripts');  function sample_scripts() {    wp_enqueue_script('jquery');    wp_register_style('sample_style', plugins_url('styles.css', __FILE__));    wp_enqueue_style('sample_style');    wp_register_script('jqueryUICore', plugins_url('ui/jquery.ui.core.js', __FILE__),array("jQuery"));    wp_enqueue_script('jqueryUICore');    $config_array = array("sample_name"=>"sample_value"]);    wp_localize_script('jqueryUICore', 'sampleData', $config_array);  } 

Primero usas wp_register_style para registrar el archivo de estilos y wp_enqueue_style para incluir el archivo. También hay que indicar la ruta e identificador único del archivo de estilos. Luego se incluyen los scripts usando la función wp_enqueue_script. Si depende de otros scripts puedes mencionarlos en el tercer parámetro. En el ejemplo se ha añadido una dependencia de jQuery.

Para terminar, puedes añadir datos que se usarán dentro de scripts concretos usando la función wp_localize_script. Puedes incluir los scripts donde quieras pero siempre usa las funciones wp_enqueue_scripts y wp_enqueue_styles.

También asegúrate de utilizar la acción admin_enqueue_script en vez de wp_enqueue_script para la parte de administración.

:: 5. Creando shortcodes ::

Los shortcodes son bloques predefinidos de código que puedes usar en cualquier parte. Es fundamental aprender a usar shortcodes si quieres ser desarrollador de plugins ya que añaden elementos dinámicos a páginas personalizadas.

Puedes crear shortcodes usando una sintaxis como la siguiente:

add_shortcode("nombre_shortcode", "función_shortcode");   function función_shortcode() {     return "<input type='button' value='Compartir' /> ";   }

Asignas el nombre y función del short code en la función add_shortcode, y luego defines el tipo de contenido que quieres mostrar dentro de la función. El short code anterior crear un botón HTML simple con el texto “Compartir

Para utilizar el shortcode en páginas, entradas o plugins y que muestren el botón usarías la sintaxis siguiente:

[nombre_shortcode/]

:: 6. Filtrado de contenido ::

Es fundamental tener en cuenta cómo filtrar el contenido de una entrada o página a la hora de desarrollar un plugin que vaya a usarse en un blog. Echa un vistazo al siguiente ejemplo:

function sample_content_filter($content) {     $banners = "HTML para banners";     $author = "HTML para información del autor";     return $banners.$content.$author;   }   add_filter( 'the_content', 'sample_content_filter' );

Cada vez que se visualiza una página o entrada el contenido pasará por la función. Puedes modificar, añadir o quitar contenido como en el ejemplo anterior.

También puedes usar tags condicionales de WordPress para filtrar el contenido en páginas concretas. El siguiente código filtra el contenido en una página si es una entrada simple:

function sample_content_filter($content) {    if(is_single()){     return $banners.$content.$author;     }   } 

:: 7. Trabajando con Ajax ::

Lo ideal sería que sepas cómo usar Ajax en WordPress para poder así ofrecer contenido interactivo a los usuarios de tu plugin. Un modo fantástico de conseguir este tipo de cosas es usar la funcionalidad Ajax de jQuery.

$.post("admin-ajax.php", { action:"sample_ajax_action" },   function(result, textStatus) {   }, "json");

La parte más importante del código Ajax anterior es la acción. Se utilizará en el código de WordPress para identificar la petición. Además, todas las peticiones Ajax deberían enviarse al fichero admin-ajax.php.

function sample_ajax_action() {   echo json_encode($your_result_array); exit;   }   add_action('wp_ajax_nopriv_sample_ajax_action', 'sample_ajax_action');   add_action('wp_ajax_sample_ajax_action', 'sample_ajax_action');

Puedes ver que el mismo nombre de acción utilizado en Ajax se usa aquí con los prefijos wp_ajax_nopriv_ y wp_ajax_. wp_ajax_ se usa para los usuarios conectados y para los usuarios no conectados usamos wp_ajax_nopriv_.

:: 8. Escribiendo peticiones SQL ::

En WordPress tenemos que tener en cuenta la seguridad de nuestras peticiones (queries) para evitar inyecciones SQL. Podemos utilizar el método prepare para filtrar los datos de usuario antes de aplicarlos a la petición. También debes filtrar los datos suministrados por los usuarios con el siguiente código antes de procesarlos:

$wpdb->query($wpdb->prepare("update wp_sample_table set status=1 where activation_code=%s and status=%d",$activationCode,$status));

Como en el código anterior, asigna siempre caracteres de escape a SQL y valores variables al final, para así filtrar los datos antes de ejecutarlos en SQL.

:: 9. Añadir cajas de ajustes ::

WordPress ofrece un paquete estándar de campos, tales como título, contenido, imagen y extracto en el pantalla del editor de contenidos. Si queremos que haga algo más necesitaremos campos personalizados. Y no vale solo con la sección de campos personalizados, ya que solo ofrece cajas de texto. Tendremos que añadir campos diferentes si queremos casillas de selección, botones de radio, desplegables y cosas así.

Podemos crear fácilmente cajas de ajustes con los que ofrecer campos adicionales como en el siguiente ejemplo:

add_action('add_meta_boxes', 'add_custom_fields_box');  function add_custom_fields_box() {    add_meta_box('custom_fields_box_id', 'Custom Info', 'display_custom_info_box', 'post', 'normal', 'high');  }  function display_custom_info_box() {  global $post;  $html = "<table><tr><td>Selección personalizada</td><td><input id='custom_checkbox' type='checkbox' name='custom_checkbox'  /></td></tr> <tr><td>Selección personal</td><td><select name='custom_select'  > <option>Ajuste 1</option> </select></td></tr> <tr><td>Subir archivo</td><td><input id='custom_file' type='file' name='custom_file'  /></td></tr></table>";  echo $html;  }

Los valores de los campos se guardarán como campos personalizados en la tabla wp_options. No te olvides de añadir como prefijo un guión bajo (_) para evitar duplicados en la sección de campos personalizados.

:: 10. Uso de nonces para la seguridad del plugin ::

La seguridad debe ser tu principal preocupación a la hora de crear plugins WordPress. No debes fiarte de los datos facilitados por los usuarios, y siempre debes validar los datos antes de ejecutarlos.

Para ello, WordPress ofrece un concepto denominado “nonce“, que crea un valor nonce, o “número arbitrario usado una sola vez” (del inglés “number used once“), cuando se genera un formulario, de manera que podamos comprobar si existe el mismo valor nonce cuando se envíe el formulario y, de este modo, asegurarnos de si es una petición válida … o no.

Puedes crear un valor “nonce” usando el código siguiente:

wp_nonce_field('sample_frm_nonce', 'sample_frm_nonce');

El primer parámetro es un identificador único y el segundo parámetro se utilizará como nombre de campo en el formulario oculto. Una vez se envíe el formulario puedes validar el valor nonce usando el siguiente código:

if (!isset($_POST['sample_frm_nonce']) || !wp_verify_nonce($_POST['sample_frm_nonce'], 'sample_frm_nonce')){    return;   }

Si no se valida el nonce no se seguirá procesando la petición.


Y creo que por hoy está bien. Por supuesto, la API de WordPress contiene muchísimo más que debes saber para crear plugins, pero estos 10 puntos son fundamentales y – creo que – una buena base desde la que partir si quieres ser un buen desarrollador de plugins WordPress.

Para todo lo demás … ¡te toca!, nos lo cuentas en los comentarios.

sábado, 21 de junio de 2014

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Aviso de navegador obsoleto

Posted: 20 Jun 2014 03:19 AM PDT

Ya sea que tu web esté optimizada para ciertos navegadores o versiones o no, siempre es buena idea avisar a tus visitantes cuando usen versiones con las que la experiencia de navegación no será completa.

WordPress avisa internamente del uso de navegadores obsoletos pero ¿y para los visitantes?. Pues para eso hay un plugin fantástico denominado Advanced browser check.

Una vez activo puedes configurar los mensajes que se mostrarán y elegir sobre qué navegadores y versiones se mostrará el aviso en caso de usar versiones antiguas u obsoletas. Los navegadores que detecta son Firefox, Chrome, Safari, Opera e Internet Explorer.

ajustes aviso navegador obsoleto

Una vez ajustado, si el visitante utiliza alguno de los navegadores o versiones de los mismos que tu hayas definido como obsoletos, se le mostrará una ventana emergente donde se mostrará el aviso que hayas determinado así como enlaces a las webs oficiales de cada navegador.

aviso navegador obsoleto

Por supuesto, esto no significa que no debas utilizar un tema WordPress que sea compatible con la mayoría de los navegadores, pero si es una buena táctica de cara a no perder visitas e interacción en tu web por culpa de que los usuarios utilicen navegadores obsoletos.

miércoles, 18 de junio de 2014

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Etiquetas HTML con influencia en el SEO

Posted: 18 Jun 2014 11:47 AM PDT

nube de tags con palabras relacionadas con el eso

Como vimos ayer las etiquetas HTML que tienen poca o ninguna influencia en el SEO creo que es de justicia ver las tags HTML que sí tienen influencia en el SEO.

<title> – Es la etiqueta HTML más importante de cara al posicionamiento, pues es el nombre de tu documento, de tu web o página, y debe contener las palabras clave principales, las que definen tu sitio o publicación. Los plugins de SEO permiten definir un <title> distinto del titular de la publicación (<h1>), permitiendo ofrecer un titular visible a los visitantes, digamos, periodístico, mientras hacemos un uso semántico exacto del título del documento mediante el <title> que, a fin de cuentas, será el texto por el que los buscadores identificarán el contenido y es el que verás en los resultados de búsqueda.

El <title>, aunque no sea visible en tu publicación siempre estará en la barra o pestaña superior de tu navegador. Procura que no exceda de 60 caracteres o no se verá completo en los resultados de búsqueda y, por supuesto, debe contener las palabras clave principales del documento.

<meta description> – También tiene una importancia vital para el posicionamiento, no solo porque debe ser un compendio del contenido global de tu publicación sino porque el texto dentro de esta etiqueta será la descripción visible en los resultados de búsqueda, ahí es nada.

Un tema WordPress bien diseñado generará la descripción a partir de los primeros 160 caracteres de tu publicación, o mejor, usando el extracto que definas específicamente. Si lo prefieres, para mayor precisión, los plugins SEO incluyen una caja donde definir esta descripción, ofreciendo una vista previa de cómo quedará el resultado de búsqueda.

Es de vital importancia porque, a similares títulos, lo siguiente que decidirá a un usuario del buscador entre hacer clic en un resultado u otro será esta descripción, si es lo suficientemente atrayente y descriptiva del contenido, especialmente si contiene las palabras clave principales de la publicación, así que tenlo en cuenta.

<meta keywords> – En esta etiqueta se definen expresamente las palabras clave relevantes de la publicación que, por supuesto, deben existir en el contenido, sino tendrás un problema, pues sería una promesa incumplida. La mayoría de los plugins SEO de WordPress ofrecen ajustes para usar automáticamente las Etiquetas como keywords, o sino disponen de una caja donde introducirlas manualmente.

Históricamente esta tag ha tenido mucha relevancia pues ayuda a los buscadores a clasificar y organizar tu contenido, pero actualmente no tiene la misma importancia, pues semánticamente son más importantes un buen título y descripción.

<blockquote> <q> y <cite> – Por aclarar, <blockquote> define una cita larga, <q> se refiere a una cita corta e incorporada y <cite> es una referencia a una cita externa. De hecho se pueden combinar entre ellas, por ejemplo:

<blockquote cite="http://ayudawp.com/" title="Título del artículo, autor, fecha">"aquí va la cita"</blockquote>

Son etiquetas relevantes de cara al SEO pues le informan a los buscadores que estás citando texto de otro sitio pero sin intención de duplicarlo, sino citándolo, por lo que no te penalizará por repetir la “cita”. De hecho los rastreadores de los buscadores ignorarán el texto contenido entre estas etiquetas HTML al considerarlos como simples citas a contenido ya existente.

<p> – Quizás la etiqueta más relevante, especialmente hoy en día, de cara al posicionamiento, pues define los párrafos, donde está el contenido. En sí misma no mejora ni empeora el posicionamiento pero si dentro de ella estará lo más importante de cara el SEO: el contenido, por lo que recibirá una especial atención por parte de los buscadores.

<hr> - Esta etiqueta se usa para introducir una línea horizontal separadora visible que se debe usar cuando los contenidos antes y después de la misma son semánticamente distintos, y de ahí su importancia si se usa bien, porque eso será exactamente lo que le está diciendo a los buscadores. Si te has fijado en mis artículos yo la uso cuando termino el contenido mismo del asunto sobre el que estoy tratando y voy a introducir otro tipo de contenido que no aporta nada al contenido principal, lo que sería un ejemplo de uso en el que le “decimos” a los buscadores que a partir de aquí hablamos de otra cosa.

<br> – Con <br> definimos un salto de línea, a utilizar no para separar párrafos sino para definir que se introduce un contenido con distinta semántica al anterior y, en consecuencia, los buscadores deben saber que puede no haber a partir de esta etiqueta una coherencia semántica entre contenidos. Vendría a ser, para que nos entendamos, una especie de <hr> no visible.

<pre> – La etiqueta HTML de texto preformateado se usa para indicar que el texto contenido en la misma contiene el mismo formato del contenido original, lo que viene a ser como decirle a los buscadores que es un contenido insertado de semántica distinta al de los otros párrafos.

<h1>, <h2> hasta <h6> – Las etiquetas de encabezado, desde <h1> hasta <h6> son los principales elementos que separan los contenidos de tu documento (artículo/post/entrada), igual que harías en un documento de tu procesador de texto. Son importantes porque introducen una relación jerárquica entre los contenidos, que indica a los buscadores si un texto forma parte de la semántica global de otro (por ejemplo, un <h4> es una sub-sección del anterior <h3>).

En el código de tu sitio solo debe haber un <h1> por documento, que debe venir ya programado en el tema, y que contendrá el titular visible de la entrada o página. Del resto de “haches” puede haber tantas como necesites para estructurar el contenido en sus distintas secciones o contenidos semánticos.

<b> y <strong> – Ambas etiquetas aplican el formato de negrita al texto, la única diferencia es que <strong> implica una mayor fuerza semántica, no solo le dice al buscador que “esto está pintado en negrita“. Aunque a nivel de ranking no tienen gran influencia si terminan influyendo en los mismos pues un uso adecuado de las mismas atraen la atención del visitante sobre nuestro contenido y aumentan el tiempo de permanencia. Si, además, destacamos un enlace en negrita suele recibir mayores clic por lo que también aumentará su posicionamiento en base al número de impactos recibidos.

Si es importante que las uses con mesura, resaltando solo aquellas palabras o frases clave que aporten semántica y relevancia (o keywords) a tu contenido. Ante la duda usa <strong> en vez de <b>, pues la relevancia semántica es mayor.

<i> y <em> – Estas etiquetas hacen que el texto se vea en cursiva y puestos a elegir entre ambas siempre añadirá más semántica <em> que <i>. Al igual que con las negritas, casi más importante que su uso es dónde usarlas, de modo que siempre impliquen una relevancia semántica diferenciadora en el contenido, lo que si tendría relevancia de cara a los buscadores.

<address> – Esta etiqueta, que encontrarás en los estilos de párrafo del editor de WordPress, aunque no muy documentada, tiene mucho que decir en cuanto al SEO local, pues se usa de manera estándar para definir la dirección de tu negocio, y no debes desestimarlo en absoluto.

<abbr> – Quizás sea de las etiquetas menos utilizada, pero añade contenido semántico que los buscadores reconocen e indexan, así que no debes desestimarla. Se usa para añadir una descripción emergente al colocar sobre un texto el cursor del ratón. Se usa así:

<abbr title="Search Engine Optimization">SEO</abbr>

<a> – La etiqueta para definir enlaces es de vital importancia para el SEO pues es básicamente el pegamento de Internet, lo que relaciona unos contenidos con otros de distintas webs, y gracias a los enlaces existe Google, la semántica y la Web 2.0 como la conocemos.

Especialmente importante es la parte del enlace conocido como anchor text, que es el texto que irá enlazado, pues será la parte semántica del enlace, el contenido que relacionará la URL con las palabras clave en el incluidas, así que es un buen sitio para aplicar negrita y utilizar la palabra o frase clave principal que defina ese enlace. También hay otros atributos importante que puedes aplicar y que tendrán importancia en el SEO:

  • title – texto emergente del enlace y referencia semántica que lo define
  • nofollow – atributo que indica a los buscadores que el contenido enlazado tiene poca o nula relevancia con el contenido de tu publicación (si no se indica nada todos los enlaces son follow)
  • target – define si se abre en la misma ventana/pestaña actual o en otra (_blank)

Su uso típico sería este:

<a target="_blank" rel="nofollow" href="http://url_a_enlazar.com/">anchor text</a>

<ol>, <ul> y <li> – Las listas pueden ser ordenadas (<ol>) o desordenadas (<ul>) y cada elemento de la lista será un <li>. Estas etiquetas, no solo por facilitar la usabilidad y por lo atrayentes que son para el lector, que también, tienen relevancia semántica de cara al posicionamiento pues su uso está determinado para organizar elementos de relevancia y que suelen estructurar contenidos semánticos clave, y los buscadores lo saben.

Además, una buena estructura HTML de una lista dará aún mayor relevancia si, por ejemplo, realizas una buena estrategia de correlación y construcción de palabras clave, por ejemplo:

<h3>WordPress y SEO</h3>  <ol>  <li>Posibilidades de WordPress</li>  <li>Virtudes de WordPress para el SEO</li>  <li>SEO avanzado en WordPress</li>  </ol>

<code> – Normalmente se podría considerar que esta etiqueta, al estar pensada para incluir código no ejecutable en tu sitio, no debería tener influencia en el SEO pero, por un lado, no lo penaliza y, por otro, puede mejorar el posicionamiento de  un sitio dedicado de manera profusa (como este) a compartir código, por lo que tendría un plus de relevancia para usuarios que usen el buscador para localizar códigos.

<img> – Aunque en sí la etiqueta usada para las imágenes no implica en sí misma un extra de posicionamiento si lo hace el hecho de usarla, y me refiero a que el uso de imágenes siempre mejora (si se usan bien y adecuadas claro) la usabilidad de una publicación y, en consecuencia, mejora su ranking. Además, las imágenes son un gran generador de tráfico entrante, especialmente desde el buscador de imágenes de Google.

Ahora bien, es importante que usemos con inteligencia los atributos titlealt en el código de la imagen, algo que es sumamente sencillo en WordPress (TítuloTexto alternativo respectivamente en la pantalla de inserción de imágenes). El título es importante que contenga palabras clave que permitan localizar la imagen desde el buscador y el texto alternativo debe ser una descripción de lo que muestra la imagen, especialmente relevante por cuestiones de accesibilidad web.


 

Hay muchas más etiquetas HTML, pero entre las que están obsoletas y el poco uso de otras, creo que con esta lista tienes un buen repaso de las más habituales, y algunas no tanto, que pueden influenciar positivamente el SEO de tu sitio.

Si tienes alguna duda u opinión no te cortes.

martes, 17 de junio de 2014

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Etiquetas HTML con poca o ninguna influencia en el SEO

Posted: 17 Jun 2014 10:50 AM PDT

etiquetas html seo wordpress

Creo que hay suficientes, incluso seguramente demasiados, artículos que explican las etiquetas HTML con influencia en el SEO, así que no está de más que conozcas unas cuantas que no tienen influencia alguna o muy poca.

Es algo que suele generar muchas dudas así que no está de más explicar un poco todas aquellas etiquetas HTML que no tienen una repercusión en el posicionamiento en buscadores de los contenidos de tu sitio y así utilizarlas donde mejor te parezca sin miedo a arruinar el SEO de tu web.

<font> – La fuente utilizada no tienen influencia directa alguna en el SEO, no mejora ni empeora la visibilidad de tus contenidos en los buscadores. Ahora bien, el uso inteligente de las tipografías, con tamaños y estilos adecuados en según que partes del contenido, pueden atraer a tus lectores y conseguir más permanencia en la página o conseguir más clics en enlaces internos, y eso si mejorará tu posicionamiento “on page“. Por otra parte, usar tipografías a 1 pixel o similares para posicionar contenido sin que lo vean los visitantes, una mala práctica SEO, si tendría influencia, en este caso negativo, pero esto sería una práctica antinatural de las tipografías, que no entra en la categoría de uso general. No obstante, la regla sigue siendo la misma, y la etiqueta HTML en sí misma, su uso, no condiciona el SEO natural.

<head> – Esta es una etiqueta básica de cualquier documento HTML que, en sí misma, no tiene efecto alguno al posicionamiento, aunque si aquellas otras etiquetas que incluyas dentro de la misma, ya que dentro de la cabecera <head> suelen ir algunas etiquetas tan importantes como <title>, <description> o las <meta>, que si tienen gran influencia en el posicionamiento, pero no la misma <head>.

<html> – Otra etiqueta básica que, aunque de imprescindible uso, no tiene influencia en sí misma en el posicionamiento. Con que esté bien abierta y cerrada vale.

<ins> – Es la etiqueta contraria a <del> y no tiene influencia alguna en el SEO. Suele utilizarse para indicar a los buscadores que has añadido contenido actualizado, aunque normalmente no la tendrán en cuenta hasta que no lo comprueben.

<param> – Esta etiqueta se usa para definir parámetros o variables de un objeto. Se suele usar en combinación con la etiqueta <object> y  tiene poca o nula influencia en el SEO.

<script> – Es la etiqueta que usan los scripts, normalmente alojados remotamente, para ejecutar aplicaciones. No suelen tener efecto directo en el posicionamiento ya que los buscadores suelen pasarlos por alto ya que su contenido se posiciona en el lugar donde está realmente alojado, no desde donde se ejecuta. Hay gente que usa esta etiqueta – de nuevo – para colar enlaces pero es una mala práctica, normalmente penalizada si te pillan, y te pillarán. Por supuesto, puedes posicionar contenido propio en un <script>

<span> - Esta etiqueta se utiliza para agrupar elementos en un contenido. Es una etiqueta de diseño y no tiene influencia alguna en el SEO, aunque estar contenidas en otras que si lo tengan, por ejemplo: <h2>Texto <span>texto</span></h2>.

<sub> y <sup> – Son también etiquetas de formato, que significan texto subordinado y texto superior respectivamente, sin influencia alguna en el posicionamiento.

Y ya, estas son las etiquetas HTML que encontrarás en todo tema y contenido en WordPress que no tienen influencia en el SEO, el resto, o tienen mucha o alguna influencia, y las veremos otro día, en todo su esplendor.

lunes, 16 de junio de 2014

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Mover comentarios de una entrada a otra

Posted: 16 Jun 2014 03:24 AM PDT

hombre bala

No son muchas las ocasiones en que puedas necesitar mover los comentarios de una entrada a otra, pero si te surge la “necesidad” al menos debes estar tranquilo, no hay un solo modo, sino varios, de conseguirlo.

Y es que, ya sea por una redirección de entradas, donde perderías el posicionamiento que ofrecen los comentarios, o por un error de un usuario que comenta donde no debe, o simplemente porque te parece bien, mover comentarios de una entrada a otra no solo es posible, además es bastante fácil aunque no sea una opción por defecto de WordPress.

:: Mover comentarios con SQL ::

Si te animas a moverlos por SQL solo conlleva 3 pasos:

  1. Lo primero es localizar el ID de las entradas, la vieja y la nueva, algo que puedes fácilmente identificar en la pantalla de administración de entradas, simplemente colocando el cursor sobre las mismas y mirando el número que aparece en la barra de estado del navegador. Otros modos serían usar el plugin Show IDs o añadir una columna para mostrar los IDs. Apunta los IDs numéricos pues los necesitas para el segundo paso.
  2. Accede a PHPMyAdmin y, en tu base de datos, crea la siguiente query SQL:
    UPDATE wp_comments SET comment_post_ID=<ID de la entrada nueva> WHERE comment_post_ID=<ID de la entrada vieja>;

    Si solo quieres mover los comentarios de un autor sería de este otro modo:

    UPDATE wp_comments SET comment_post_ID=<ID de la entrada nueva> WHERE comment_post_ID=<ID de la entrada vieja> AND comment_author_email=<email del autor del comentario>;
  3. Con el paso anterior has movido los comentarios pero debes también cambiar el contador de comentarios, porque WordPress no lo hace por su cuenta. Así que terminamos la secuencia con esta nueva query SQL:
    UPDATE wp_posts SET comment_count=<número total de comentarios de la entrada nueva> WHERE ID=<ID de la entrada nueva>;  UPDATE wp_posts SET comment_count=<número total de comentarios de la entrada vieja> WHERE ID=<ID de la entrada vieja>;

    Por supuesto, en las queries debes sustituir las convenciones por los números de los IDs correspondientes y los números de los comentarios, como es natural.

query sql phpmyadmin wordpress

:: Mover comentarios con plugins ::

Si no te sientes cómodo con SQL no hay problema, siempre puedes recurrir a plugins que te facilitan la vida en esta labor, no común, pero si importante cuando lo necesitas.

  • Tako movable comments: Absolutamente perfecto, no solo permite mover comentarios en masa de una entrada a otra sin tener que conocer el ID, gracias a cómodos desplegables, sino también permite mover un comentario (y sus anidados) de una entrada a otra de manera sencilla. Ofrece todo a lo que estás acostumbrado en el software de foros y más.
  • Move comments: más simple que el anterior, permite solamente mover todos los comentarios de una entrada a otra. Eso si, funcional, simple y efectivo.
  • Simple move comments: Versión aún más simplificada del anterior pero igual de efectiva.

move comments wordpress

:: Mover comentarios con truco ::

Ahora bien, si eres de los míos y te gusta enredar y hacer tus “ñapas“, nada mejor que un truco con el que ni tienes que hacer queries ni instalar plugins, simplemente utilizas WordPress a la brava.

La idea es sencilla: engañar a WordPress. Y la secuencia es esta:

  1. Vas la pantalla de edición de entradas y pulsas el botón de “Edición rápida” de la entrada vieja. Cambia el título, el “slug” y la fecha y hora (a la que quieras, con tal de que no sea la misma). Eso si, toma nota de los valores exactos anteriores (título, slug y fecha y hora exactos)
  2. Ahora haz una “Edición rápida” de la entrada nueva y le pones el mismo título, slug, fecha y hora de la vieja.

edicion rapida entrada para mover comentarios

Parece una burrada pero funciona, incluso en WordPress.com y alojamientos similares.

viernes, 13 de junio de 2014

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Forzar la elección de una sola categoría

Posted: 13 Jun 2014 10:08 AM PDT

reglazo maestro

Ayer descubrí algo que me habría evitado muchos quebraderos de cabeza en un montón de proyectos y desarrollos que he sufrido y maldecido durante años.

Me refiero a lo que cuesta, en un entorno editorial, conseguir que los redactores elijan una categoría, y solo una, para publicar.

Es muy fácil limitar la elección de categorías simplemente modificando los perfiles de usuario para que no puedan elegir, pero siempre soñé con poder ofrecerles entre varias y que solo pudieran seleccionar una, y no varias como es el comportamiento por defecto de WordPress.

Pues bien, eso justamente es lo que ofrecen plugins como Only one category o Radio buttons for taxonomies, que modifican la caja meta de categorías del editor de WordPress de manera que, en vez de poder seleccionar varias solo puedas elegir una de las existentes, convirtiendo las casillas de selección en botones de los conocidos como de radio, de los que solo puedes elegir una opción de la lista, así de simple, mira tú por donde.

Lo que obtienes es pasar de esto, donde puedes elegir varias categorías … 

categorias wordpress casillas selección

a esto otro, donde solo puedes elegir una … 

categorias wordpress botones radio

Si lo prefieres puedes crear tu propio plugin, el código sería así:

<?php  /*  Plugin name: Una sola categoría  Version: 1.0  Description: Reemplaza la casilla de selección de categorías del editor por botones radio para que solo puedas elegir una categoría por entrada.  */  if(  	strstr($_SERVER['REQUEST_URI'], 'wp-admin/post-new.php') ||  	strstr($_SERVER['REQUEST_URI'], 'wp-admin/post.php')    	)  {  ob_start('one_category_only');  }  function one_category_only($content) {  $content = str_replace('type="checkbox" ', 'type="radio" ', $content);  return $content;  }  ?>

Y ya está. Mira que era simple la cosa. Así que nada, si te surge la necesidad ya sabes cómo hacerlo, que lo disfrutes.

Subtítulos en WordPress

Posted: 12 Jun 2014 09:25 AM PDT

subtitulo wordpress

Son muchas las situaciones en que puedes necesitar utilizar subtítulos en tus publicaciones, un elemento que nunca restará, siempre sumará.

En publicaciones periodísticas es un estándar, y un elemento de distinción en cualquier sitio que quiera competir con todas las armas posibles para ofrecer contenido con el mejor empaque posible.

Sobre todo, en la página principal de un sitio, ayudará a complementar información que haga que el visitante decida hacer clic y ver el artículo completo, si no lo consiguió ya el titular.

Hace tiempo ya vimos un plugin que ofrecía añadir subtítulos a WordPress pero ya ha pasado tiempo y hoy en día tenemos plugins como Subtitles que no requieren insertar código alguno en el tema y que además añaden subtítulos no solo a entradas, también a páginas o tipos de entrada personalizada.

Lo mejor de todo es que se integra de maravilla con la mayoría de los temas existentes, de manera que no hay que hacer nada para añadir subtítulos, salvo añadirlos en el editor a la hora de publicar tu entrada claro, se mostrarán de manera automática tanto en tu portada como en cada publicación.

subtítulos wordpress subtitulo wordpress

Hay, no obstante, muchas posibles personalizaciones del comportamiento y aspecto del plugin, que puedes revisar en la FAQ alojada en github.

Y si te preguntas por las implicaciones en cuanto al SEO de incluir este contenido, el plugin utiliza la etiqueta span sin influencia alguna sobre el posicionamiento, por lo que no competirá con títulos o contenido.

En definitiva un buen plugin para añadir subtítulos a nuestras publicaciones, un elemento de fidelización con los contenidos especialmente potente en la portada de cualquier web.

Seguidores

Archivo del blog