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