¿Cómo es un flujo de trabajo profesional de desarrollo de WordPress?

Flujos de trabajo de sitios web de bajo costo

Comienzo la mayoría de mis proyectos de sitios web de bajo costo con un tema de inicio, generalmente subrayado

Entonces podría usar un marco de interfaz de usuario como Responsive CSS Boilerplate o Bootstrap · El marco front-end más popular del mundo para dispositivos móviles y receptivos.

Tendré una consulta telefónica con el cliente sobre cuáles son sus objetivos y averiguaré si hay sitios web que quieran usar como modelo. Nota: No copio el diseño de otros sitios, pero generalmente los sitios se dividen en varios tipos de diseños y funcionalidades.

Los ayudaré a elegir su nombre de dominio, alojamiento y configurar el servidor para ellos y subir los archivos de su sitio.

Proporciono algunos complementos premium de los que casi todos los sitios web pueden beneficiarse, para los cuales tengo las licencias apropiadas, para que reciban actualizaciones.

También incluiré algunas fotos de archivo para satisfacer las necesidades del sitio.

Sitio web totalmente personalizado

Aquí es donde planificamos completamente el sitio para garantizar que esté extremadamente optimizado y sea específico para los objetivos del propietario del sitio web. A menudo codificaba el tema desde cero y me aseguraba de que proporcionara el nivel de funcionalidad que necesitan. Minimizo el código utilizado para que funcione bien en los navegadores. Disparo por menos de un segundo de tiempo de carga.

Desarrollo local

Codifico en mi servidor local, generalmente emulando el mismo entorno que el sitio web en vivo para garantizar que no haya problemas con respecto a los entornos del servidor.

Prueba de navegador

Es crucial probar sus sitios web en todos los principales navegadores web.

Avance

Obviamente, si estoy trabajando en el proyecto y no puedo cumplir físicamente con el cliente, tendría que dejar que previsualicen el diseño en ciertos puntos. Hay varias maneras de lograr esto.

  • Uso WordPress Multi-site, por lo que literalmente puedo subir su sitio de demostración a mi sitio y darles acceso para verlo. El sitio estaría protegido para que nadie más pueda verlo.
  • Puedo subir el sitio a sus servidores y ponerlo en modo de mantenimiento y en puntos periódicos, les pido que inicien sesión en el sitio para verlo.
  • Incluso me he conectado remotamente a la computadora de un cliente e hice mi trabajo de esa manera. Reunir el servidor local, transferir los archivos y migrar parte del contenido de demostración. Esto fue para un cliente más grande que también estaba haciendo algunas cosas de TI fuera del sitio. No recomiendo este enfoque ya que es más complicado y generalmente innecesario. Solo quería probarlo, ya que me dio la oportunidad de guiarlos realmente a través de cómo usar el sitio mientras estaban frente a la pantalla. En realidad, es una forma genial de manejar la capacitación fuera del sitio, ya que puede usar Skype o Face-Time o cualquier otra forma de comunicaciones de video.

Una vez que el sitio esté completo, me aseguraré de integrar completamente sus cuentas de redes sociales. Nota: al comienzo del proyecto al elegir un Nombre de dominio, también recomiendo obtener todos los Manijas de redes sociales para Branding.

Luego, organice una fiesta de lanzamiento, si corresponde, o simplemente anuncie al mundo que el sitio está en vivo.

Consejo rapido

Siempre recomiendo que los clientes aparten algo de dinero para la publicidad en redes sociales, por lo que una vez que el sitio se active, podemos hacer una buena campaña en las redes sociales e intentar generar algo de tráfico temprano.

Gracias por preguntar. Estoy seguro de que esto varía mucho de persona a persona.

Para mí, el mejor de los casos es el siguiente. Cuando la planificación es buena y se produce una comunicación clara, puede evitar esto. Después de que el cliente haya aceptado todos los productos de trabajo y haya cerrado la sesión …

Comps

El diseñador me dará compilaciones de diseño para todos los diseños de página que deseen, y estos generalmente están en formato PSD. Además de eso, interrogaré al diseñador para ver si quiere algún formato de contenido sofisticado; esto puede tener implicaciones de programación y CSS más allá de la estructura general de la página. Esto puede resultar en capturas de pantalla útiles. Idealmente, obtendré orientación sobre cómo quieren que se vean los diseños de dispositivos pequeños, aunque en algunos trabajos simplemente me pedirán que haga lo que hago habitualmente para eso.

Especificaciones

Si las necesidades son complejas y exigentes, puedo solicitar una hoja de especificaciones de las fuentes deseadas y los tamaños que se utilizarán para los elementos, los enlaces de las redes sociales, todos los inicios de sesión necesarios y otras minucias. También obtendré un mapa del sitio que muestra la estructura básica de la página.

Cosas que se mueven

Me gusta obtener notas sobre cosas que no son transmitidas por compilaciones estáticas, como movimiento, comportamiento desplegable y efectos. También se incluyen otras especificaciones funcionales, como la actividad de comercio electrónico deseada.

Cultivado localmente

Tomo toda esa información y comienzo a crear la estructura del sitio. Tengo un tema base que uso que tiene mis características y prácticas preferidas integradas. Es más rápido para mí desarrollar en un servidor local. Desarrollo la estructura del sitio y los diseños allí desde las composiciones de diseño.

Barra lateral, su señoría

Si hay más personas trabajando en el código del sitio que yo, entonces algunas o todas las cosas pueden ir a Github o control de versiones similares y cambiar escenarios. Pero generalmente estoy en equipos pequeños donde manejo toda la programación, todo CSS y cosas de servidor.

¡Vive Semi-Live, luego Live, Live, Stayin ‘Alive, Stayin’ Alive!

Después de que las cosas se vean bien, muevo mis cosas al servidor real para recibir el contenido real y la revisión de las partes involucradas. Haré una entrada de contenido para desarrollar la estructura general del sitio, especialmente cosas donde se requieren habilidades geek. En los mejores escenarios, alguien que no sea yo está haciendo la mayor parte de la entrada de datos generales.

A medida que avanzamos, se discuten e implementan otras consideraciones, como las necesidades de SEO, conexiones de sistemas de terceros, etc. Se usarán varios navegadores para las pruebas.

¡Y luego empiezo a codificar vaqueros! 😉 Solo bromeaba. Se revisan las cosas, se realizan cambios según sea necesario y se termina y retoca la “capa de pintura” final. Luego lanzamos. Hay muchos más detalles que eso, ¡pero eso es todo a grandes rasgos!

En realidad no es tanto alboroto.

Tengo un tema básico que he vinculado a un simple script PHP. La ejecución de este script establece nombres globales, espacios de nombres, nombres de temas, etc.

Después de eso, se trata de evaluar las herramientas adecuadas. Tengo varias configuraciones diferentes de bases de datos de WordPress con diferentes casos, y mientras diseño generalmente cambio entre ellas para capturar casos especiales en respuesta, flujos de texto, etc.

Cuando se realiza el diseño básico, configuro una base de datos específica para ese proyecto y construyo todos los datos para ese proyecto, aún en mi computadora local. Cuando todos los datos están configurados y el diseño comienza a verse bien, recurro a nuestro servidor de desarrollo público donde clono el tema a través de git, importo la base de datos y se la presento al cliente. Se realizan cambios menores en el servidor, cambios importantes a nivel local y luego se envían al desarrollo. Cuando todo está hecho y aceptado por el cliente, me aseguro de que la versión en mi computadora sea la más reciente y creo mi tema-zip desde allí. Luego lo subo al servidor del cliente o al servidor que hemos configurado.

Después de eso, ofrecemos soporte en ejecución o soporte por hora, y es hora de enviar la factura.

Comienzo con un PSD de un diseñador y codigo HTML y CSS (generalmente con Bootstrap para una respuesta más rápida).

La plantilla inicial va al cliente para su revisión.

Cuando se aprueba, creo una nueva instancia de WordPress en el servidor de desarrollo, con un tema base personalizado basado en el tema para principiantes Bones.

Luego traigo el encabezado y el pie de página y CSS. Luego creo las páginas, en algún momento con plantillas.

Crear mis campos personalizados avanzados cuando es necesaria una interfaz CMS personalizada (generalmente siempre). Cree tipos de publicaciones y taxonomías personalizadas con los bucles necesarios y referencias acf. Crea códigos cortos si es necesario. Agregue los complementos jQuery / Javascript / jQuery necesarios para lograr la interacción del lado del cliente. Agregue los complementos de WP que sean necesarios para personalizar aún más la funcionalidad (si esto llevará menos tiempo que la codificación personalizada. Estando en el reloj (trabajo como desarrollador web para una agencia con un montón de clientes), a veces la mejor respuesta es no reinventar la rueda.
Sin embargo, si un complemento solo puede lograr el 95% de lo que necesito y no sería trivial saltar hacia atrás y crear una funcionalidad personalizada, verifico si hay ganchos que pueda usar para editar el complemento desde el archivo functions.php. Si no existen, suelo editar el complemento directamente, con una versión de sobrescritura, y archivar el original y la edición, al mismo tiempo que deshabilito las actualizaciones para que no se puedan hacer automáticamente. Luego tengo el historial para aplicar actualizaciones en el futuro si es necesario.

Use Git para el control de versiones en el código y haga una copia de seguridad de mi SQL. Hay complementos para ayudar con esto también.

A menudo hay un puñado de cambios de contenido con los clientes, después de que hayan aprobado inicialmente las plantillas / copia, especialmente si tienen muchas partes interesadas. Esa es otra razón por la que es una gran idea crear plantillas personalizadas con ACF para abstraer el contenido de la plantilla al CMS. Es bueno tratar de trabajar en lógica allí también, si algo de contenido solo se mostrará bajo ciertas circunstancias, he encontrado; por ejemplo, si un campo no está vacío, haga eco de su valor.

Luego, cuando el cliente está listo para impulsar el sitio a producción, migro el sitio a la url dada y configuro la configuración que incluye una ejecución Buscar y reemplazar para intercambiar todas las instancias de la url del servidor de desarrollo en el SQL para la URL de producción dada y entonces el cliente se va a las carreras.

Existen diferentes estrategias para organizar su entorno de desarrollo de WordPress. La mejor manera de mantenerse al día con esas mejores prácticas es siguiendo el flujo de trabajo de WordPress Core y los blogs / cuentas sociales de los principales desarrolladores de PHP y expertos profesionales de PHP que crean perfiles en otros marcos como Laravel, FuelPHP o Zend Framework, así como Drupal Core desarrolladores

La mayoría de los desarrolladores profesionales de WordPress son competentes en otras plataformas y ocasionalmente en diferentes lenguajes y plataformas de programación, lo que les permite aprovechar paradigmas y conceptos de ingeniería de software en consecuencia.

En el contexto de WordPress, es posible que desee profundizar en algunas cosas específicas, como:

  • sistemas de control de versiones como git y subversion, incluidas las plataformas alojadas de colaboración en equipo como GitHub y Bitbucket
  • nginx como alternativa a Apache
  • php-fpm como alternativa a mod-php (o eche un vistazo a HHVM aunque PHP7 es bastante ordenado en cuanto a rendimiento)
  • Barniz como proxy inverso
  • WP-CLI como una excelente manera de automatizar las tareas de WP aquí y allá
  • diferentes kits de herramientas de prueba: PHPUnit, Behat, Mink, QUnit y muchos más (Selenium Core también)
  • Vagabundo con VVV o Docker para un entorno virtualizado o en contenedores
  • Despliegue automatizado con capistrano – o recetas de Chef / Puppet para múltiples ambientes
  • Compositor y Grunt / Gulp para paquete / gestión de dependencias

Di una charla de 40 minutos sobre la configuración de WordPress para grandes proyectos en WordCamp Boston hace un año y medio, lo que puede ser de ayuda:

En mi caso, el sitio web se habría terminado o casi terminado antes de que me llamaran, ya que normalmente solo reparo sitios rotos o sitios con problemas. Trabajaré en sitios de WordPress, sitios estáticos y otros sitios controlados por CMS o APP, pero mi habitual es WordPress. No quiero extenderme demasiado, ya que solo soy yo.

El cliente llama. Empiezo a solucionar problemas. Encuentra los problemas. A veces arreglaré el sitio en ese momento … a veces se requiere más trabajo o se deben atender problemas externos (recibo llamadas donde el servidor se fue, el dominio se fue, el DNS se fue, el código se fue, el propietario movió archivos o cosas “arregladas”. ¡A veces el sitio fue pirateado!). A menudo, el diseñador original renunció por alguna razón.

Luego vuelvo a consultar con el cliente para tener una idea de lo que quieren que podría no haberse realizado en su iteración original de su sitio web. Si puedo hacer que hablen un poco, generalmente revelarán algo que realmente querían que puedo darles mientras reparo el sitio.

Si el cliente acepta mi plan, comenzaré el trabajo y les facturaré. (Por lo general, es mi plan de mantenimiento normal por 6 meses, con menos de 90 dólares). Si deciden esperar, les facturaré una tarifa de consulta de $ 35.00.

A veces las reparaciones son extensas y requieren cambios importantes … Esto es generalmente cuando tomo algo que nunca se terminó o nunca funcionó. Esos deben hacerse sobre una base de tiempo y material. Otro caso sería pasar de un sitio estático a WordPress.

No hago nada en la oficina de mi cliente. A veces uso una aplicación de escritorio cuando el cliente no puede resolver algo que necesita hacer. Puedo usar el escritorio para su máquina y tomar el control mientras miran y hablan conmigo por teléfono.

Credenciales que necesitaré … Por lo general, necesito acceso ftp al sitio y un inicio de sesión de administrador en WordPress. A veces necesito acceso a la cuenta donde compraron el dominio y / o alojamiento. Esto es generalmente cuando el DNS necesita ser ajustado o el cliente simplemente no puede descubrir cómo darme acceso ftp.