Introducción al desarrollo en WordPress - Gotardo González - martes 27 de septiembre de 11

Página creada Ezequiel Barros
 
SEGUIR LEYENDO
Introducción al desarrollo en WordPress - Gotardo González - martes 27 de septiembre de 11
Introducción al desarrollo en WordPress
                                Gotardo González

martes 27 de septiembre de 11
Introducción al desarrollo en WordPress - Gotardo González - martes 27 de septiembre de 11
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
Introducción al desarrollo en WordPress - Gotardo González - 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
Introducción al desarrollo en WordPress - Gotardo González - 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
Introducción al desarrollo en WordPress - Gotardo González - martes 27 de septiembre de 11
martes 27 de septiembre de 11
Introducción al desarrollo en WordPress - Gotardo González - martes 27 de septiembre de 11
INSTALACIÓN       Y

                                CONFIGURACIÓN
                                  de WordPress

                                              SOeasy
                                        A   caveman
                                            can do it
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