Slide 1

Slide 1 text

How to Hand It Over Releasing Your Site Into the Wild Andi Graham @BigSea

Slide 2

Slide 2 text

Let’s start at the beginning, shall we?

Slide 3

Slide 3 text

Start with a checklist for your clients:

Slide 4

Slide 4 text

Server credentials Start with a checklist for your clients:

Slide 5

Slide 5 text

Server credentials DNS credentials Start with a checklist for your clients:

Slide 6

Slide 6 text

Server credentials DNS credentials Social media links Start with a checklist for your clients:

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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.

Slide 11

Slide 11 text

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.

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

Under development.

Slide 15

Slide 15 text

Make it all relative.

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

Make it easy - for everyone.

Slide 21

Slide 21 text

Make it easy - for everyone.

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

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.

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

Fill it up with good test data.

Slide 28

Slide 28 text

Fill it up with good test data.

Slide 29

Slide 29 text

Then load real content.

Slide 30

Slide 30 text

Then load real content.

Slide 31

Slide 31 text

And go.

Slide 32

Slide 32 text

Prepare yourself.

Slide 33

Slide 33 text

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.

Slide 34

Slide 34 text

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.

Slide 35

Slide 35 text

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’)

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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’)

Slide 38

Slide 38 text

301s & Redirection

Slide 39

Slide 39 text

301s & Redirection

Slide 40

Slide 40 text

301s & Redirection

Slide 41

Slide 41 text

Test, test and test again. Forms. All of them. Uploading images and plugins. Pages and posts and permalinks. Third-party integrations.

Slide 42

Slide 42 text

Offer to perform upgrades.

Slide 43

Slide 43 text

Offer to perform upgrades.

Slide 44

Slide 44 text

Thank You!

Slide 45

Slide 45 text

Andi Graham @BigSea facebook.com/andikuhn [email protected] www.bigseadesign.com