Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Launching a WordPress Website

2822ffe52dff31cb708edd4469704d2f?s=47 Andi Graham
February 17, 2012

Launching a WordPress Website

How to Hand it Over; Releasing Your Site Into the Wild
Presented at WordCamp Miami on February 18, 2012

2822ffe52dff31cb708edd4469704d2f?s=128

Andi Graham

February 17, 2012
Tweet

Transcript

  1. How to Hand It Over Releasing Your Site Into the

    Wild Andi Graham @BigSea
  2. Let’s start at the beginning, shall we?

  3. Start with a checklist for your clients:

  4. Server credentials Start with a checklist for your clients:

  5. Server credentials DNS credentials Start with a checklist for your

    clients:
  6. Server credentials DNS credentials Social media links Start with a

    checklist for your clients:
  7. Server credentials DNS credentials Social media links Email subscription info

    Start with a checklist for your clients:
  8. Server credentials DNS credentials Social media links Email subscription info

    Analytics code / account Start with a checklist for your clients:
  9. Server credentials DNS credentials Social media links Email subscription info

    Analytics code / account Email addresses Start with a checklist for your clients:
  10. Develop with the end in mind. 1. Set up a

    development domain on the same host/server as the live site if possible. 2. Develop locally and test on the development site. 3. Use Beanstalk or similar process to deploy commits from your local to the development site.
  11. Develop with the end in mind. Our development sites 1.

    Set up a development domain on the same host/server as the live site if possible. 2. Develop locally and test on the development site. 3. Use Beanstalk or similar process to deploy commits from your local to the development site.
  12. Version control. It’s not just for command line anymore.

  13. Version control. It’s not just for command line anymore.

  14. Under development.

  15. Make it all relative.

  16. Make it all relative. http://dev.mynewsite.com/page-name-here

  17. Make it all relative. http://dev.mynewsite.com/page-name-here <?php site_url( ) ?>

  18. Make it all relative. http://dev.mynewsite.com/page-name-here <?php site_url( ) ?> background-image:

    url(http://dev.mynewsite.com/images/bg.jpg);
  19. Make it all relative. http://dev.mynewsite.com/page-name-here <?php site_url( ) ?> background-image:

    url(http://dev.mynewsite.com/images/bg.jpg); background: url(images/bg.jpg);
  20. Make it easy - for everyone.

  21. Make it easy - for everyone.

  22. None
  23. None
  24. None
  25. Train your clients well. 1. WP-Help plugin to add documentation

    on their dashboard. Add step-by-step instructions with screenshots. 2. Screencasts. Lots of them. 1. General screencasts you can reuse for other projects. 2. Specific screencasts to your client’s customizations. 3. Last resort, send them links to YouTube for other people’s screencasts.
  26. None
  27. Fill it up with good test data.

  28. Fill it up with good test data.

  29. Then load real content.

  30. Then load real content.

  31. And go.

  32. Prepare yourself.

  33. Basic WordPress Launch Procedure Same server; same database 1. Duplicate

    all wp-content files and wp-config.php file to live site directory. 2. At development site, log in and change: 1. “Wordpress address” in Settings > General to the Wordpress directory on the live site 2. “Site Address (URL)” in Settings > General to the domain of the live site 3. Log in to the new site / domain and test everything.
  34. Basic WordPress Launch Procedure New server; new database 1. Duplicate

    all wp-content files. 2. Export database from old host; import to new server. 3. Make wp-config.php file changes to new database creds. 4. In live database, update wp_options table with live URL. (siteurl and home fields) 5. Log in to the new site / domain and test everything.
  35. Update siteurl and home database fields Assuming these are the

    same . . . UPDATE wp_options SET option_value = ‘http:// www.yourdomain.com’ WHERE option_name IN (‘siteurl’,’home’)
  36. Copying the database via command line mysqldump -u dev_user -p

    dev_database > db.sql mysql -u live_user -p -D live_database < db.sql
  37. Find and replace any development URLs UPDATE wp_posts SET post_content

    = REPLACE(post_content, ‘http://dev.yourdomain.com’, ‘http://www.yourdomain.com’) WHERE INSTR(post_content, ‘http://dev.yourdomain.com’)
  38. 301s & Redirection

  39. 301s & Redirection

  40. 301s & Redirection

  41. Test, test and test again. Forms. All of them. Uploading

    images and plugins. Pages and posts and permalinks. Third-party integrations.
  42. Offer to perform upgrades.

  43. Offer to perform upgrades.

  44. Thank You!

  45. Andi Graham @BigSea facebook.com/andikuhn andi@bigseadesign.com www.bigseadesign.com