Introducción al desarrollo en WordPress - Gotardo González - martes 27 de septiembre de 11
←
→
Transcripción del contenido de la página
Si su navegador no muestra la página correctamente, lea el contenido de la página a continuación
WordPress Introducción al desarrollo PARTE I La estructura de WordPress Instalación y configuración de WordPress. Seguridad en Wordpress Plugins esenciales Apariencia: themes y custom menus. PARTE II Editando un theme de WordPress Algunos consejos de optimización Taxonomías Custom post types martes 27 de septiembre de 11
Qué es Wordpress WordPress is web software you can use to create a beautiful website or blog. We like to say that WordPress is both free and priceless at the same time. WordPress es una aplicación web de creación de sitios webs o blogs atractivos. Nos gusta la idea de que Wordpress sea a la vez libre y gratis. martes 27 de septiembre de 11
¿Por qué ? Facilidad de uso Flexibilidad en el desarrollo Facilidad de uso para el cliente final martes 27 de septiembre de 11
Instalando WordPress • Descarga desde http://es.wordpress.org/WordPress • La instalación de Bitnami http://bitnami.org/es/stack/wordpress martes 27 de septiembre de 11
Configuración básica • General: Título, membresía y hora del servidor. • Writing: Activar XML-RPC. • Conversación: Settings y listas. • Multimedia: Image Size. • Enlaces permanentes: friendly url. martes 27 de septiembre de 11
LA ESTRUCTURA DE WORDPRESS martes 27 de septiembre de 11
La base de datos martes 27 de septiembre de 11
El árbol de directorios martes 27 de septiembre de 11
Seguridad en WordPress martes 27 de septiembre de 11
Seguridad (I) • No utilizar wp_ como prefijo de las tablas. • Proteger wp-config.php contra escritura chmod 644 wp-config.php • Nombre del super usuario distinto de ‘admin’. • Eliminar todos los ficheros de instalación, configuración y exportación. /wp-admin/import.php /wp-admin/install.php /wp-admin/installer-helper.php /wp-admin/upgrade.php martes 27 de septiembre de 11
Seguridad (II) • Desactiva y desinstala todos los plugins que no estés utilizando • No utilizar plugins para realizar copias de respaldo de la BD (ojo con wp-db-backup). • Utiliza una cuenta de autor: no trabajes con todos los permisos (quizás quieras probar el plugin Role Manager) • Cuida a la BD los permisos del usuario con el que accedes • Priva de permisos al user_ID = 1. martes 27 de septiembre de 11
Seguridad (III) • Protege los directorios con .htaccess Order Allow,Deny Deny from all Allow from all • Sipermitas administras tu blog desde LAN o VPN, no el acceso desde otra máquina. Order deny,allow Allow from 192.168.1.27 Deny from All martes 27 de septiembre de 11
Seguridad (IV) - Plugins • Escanea tu sitio con WP Exploit Scanner. • Escanea tu sitio con WP Security Scan. • Utiliza Replace WP Version. • Siejecuta utilizas una versión anterior a WordPress 3.0 Admin Renamer Extended. NOTA: Echa un vistazo a http://blogsecurity.net/projects/secure-wp-whitepaper.pdf martes 27 de septiembre de 11
Seguridad (IV) - Plugins • Escanea tu sitio con WP Exploit Scanner. • Escanea tu sitio con WP Security Scan. • Utiliza Replace WP Version. • Siejecuta utilizas una versión anterior a WordPress 3.0 Admin Renamer Extended. NOTA: Echa un vistazo a http://blogsecurity.net/projects/secure-wp-whitepaper.pdf martes 27 de septiembre de 11
PLUGINS ESENCIALES (o no) martes 27 de septiembre de 11
Plugins - SEO y WA • All in One SEO Pack • Google XML Sitemaps • Google Analytics for Wordpress • KB Robots.txt • SEO Friendly Images martes 27 de septiembre de 11
Plugins - Social Media • AddThis • Twitter Tools Plugins - Conversación • Comment Whitelist martes 27 de septiembre de 11
Plugins - Mejoras • Thickbox • Clean-Contact • Nextgen Gallery • WP Multiple Languages (de pago) • WPtouch • MCEComments martes 27 de septiembre de 11
Plugins - Desarrollo • Exec-PHP • Optimize DB • WP-Syntax martes 27 de septiembre de 11
APARIENCIA: Themes y Menús personalizados martes 27 de septiembre de 11
Apariencia - Temas • Repositorios de themes • Añadir theme en WordPress. • press75.com • themeforest.com • Estructura de un tema martes 27 de septiembre de 11
Apariencia • Themes • Widgets • Menús • La web móvil: WP-Touch, MobilePress martes 27 de septiembre de 11
Apariencia - un menú • Crear un menú personalizado. • Cómo añadir un menú personalizado a un theme. Registrar un nuevo menú en functions.php Llamar al menú martes 27 de septiembre de 11
ALGUNOS CONSEJOS DE OPTIMIZACIÓN martes 27 de septiembre de 11
Optimizando Wordpress • Crea un .htaccess para controlar la cache # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress # Control de Cache Header set Cache-Control "max-age=29030400, public" Header set Cache-Control "max-age=604800, public" Header set Cache-Control "max-age=604800, proxy- revalidate" Header set Cache-Control "max-age=180, private, proxy- revalidate" martes 27 de septiembre de 11
Optimizando Wordpress • GZIP Deflate con .htaccess AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x- javascript • Guardar contenidos en cache con un plugin como WP Super Cache • Utiliza un plugin para guardar la cache de las imagenes de Gravatar. martes 27 de septiembre de 11
Optimizando Wordpress • WP-Optimize martes 27 de septiembre de 11
Optimizando Wordpress • ¿Evitar llamadas en nuestros themes?
Optimizando Wordpress • Evitar la carga de funciones obsoletas en wp- settings.php (no incluir deprecated.php) • Borrar revisiones DELETE FROM wp_posts WHERE post_type = "revision"; • ¿Desactivar revisiones y autosave? define('WP_POST_REVISIONS', false); • Controlar uso de memoria: martes 27 de septiembre de 11
Optimizando Wordpress • Optimiza y comprime tu código HTML, CSS y JavaScript. • Si tienes acceso a su configuración, optimza Apache, PHP, y MySQL. • http://developer.yahoo.com/performance/rules.html martes 27 de septiembre de 11
TAXONOMÍAS martes 27 de septiembre de 11
¿Taxonomías? martes 27 de septiembre de 11
Taxonomías por defecto • Categorías (category) • Etiquetas (post_tag) • Categorías de enlaces (link_category) martes 27 de septiembre de 11
Registrar una taxonomía function lenguajes_init() { ! register_taxonomy( ! ! 'lenguajes', ! ! 'post', ! ! array( ! ! ! 'label' => __( 'Lenguajes de programación' ), ! ! ! 'sort' => true, ! ! ! 'args' => array( 'orderby' => 'term_order' ), ! ! ! 'rewrite' => array( 'slug' => 'lenguajes' ) ! ! ) ! ); } add_action( 'init', 'lenguajes_init' ); martes 27 de septiembre de 11
Consultas por taxonomía //Consultar los posts sobre PHP $query = new WP_Query( array( 'lenguaje' => 'php' ) ); //Algo un poco más complejo $args = array( ! 'tax_query' => array( ! ! array( ! ! ! 'taxonomy' => 'languaje', ! ! ! 'field' => 'slug', ! ! ! 'terms' => 'php' ! ! ) ! ) ); $query = new WP_Query( $args ); martes 27 de septiembre de 11
CUSTOM POST TYPES martes 27 de septiembre de 11
Custom post types por defecto • Un ‘post’ es algo que se almacena en la tabla wp_posts • Tipos por defecto: • Post • Page • Attachment • Revisions • Nav menus martes 27 de septiembre de 11
Custom post types por defecto add_action( 'init', 'create_post_type' ); function create_post_type() { ! register_post_type( 'acme_product', ! ! array( ! ! ! 'labels' => array( ! ! ! ! 'name' => __( 'Products' ), ! ! ! ! 'singular_name' => __( 'Product' ) ! ! ! ), ! ! ! 'public' => true, ! ! ! 'has_archive' => true, ! ! ! 'rewrite' => array('slug' => 'products') ! ! ) ! ); } martes 27 de septiembre de 11
Algunas referencias • WPDB http://codex.wordpress.org/Class_Reference/wpdb • Optimización de WordPress: infografía http://conecti.ca/2011/07/09/infografia-optimizar- wordpress/ martes 27 de septiembre de 11
?>
También puede leer