Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

My Website Can Vote - The Challenges of Maintaining a 20-year-old Website

304 views

Published on

Talk given at WordCamp Sydney on September 24, 2016.

The Web is an industry that thrives on the new… but what about building sites that last?

In 1996, I used my newly acquired HTML skills to build a fan site for my favourite author.

Twenty years later, the site – roalddahlfans.com – is still alive and kicking.

I’ll trace the development of the site over the years, which mirrors both my own career journey as a developer and the trajectory of the web as a whole.

I’ll also talk about the challenges I faced during my recent 6-month project to convert the whole site – nearly 1500 pages – to WordPress, dragging it into the 21st century at last.

Published in: Internet
  • Be the first to comment

  • Be the first to like this

My Website Can Vote - The Challenges of Maintaining a 20-year-old Website

  1. 1. My Website Can Vote The Challenges of Maintaining a 20-year-old Website
  2. 2. 20
  3. 3. 20 frickin’
  4. 4. 20 frickin’ years
  5. 5. December 1996
  6. 6. December 1996
  7. 7. 6 months
  8. 8. 2 years
  9. 9. 3 years
  10. 10. 3 years
  11. 11. 3 years
  12. 12. 3 years
  13. 13. 3 years
  14. 14. 4 years
  15. 15. 4.5 years
  16. 16. Meanwhile…
  17. 17. 5 years
  18. 18. 5 years
  19. 19. 5 years
  20. 20. Fast forward 14 years…
  21. 21. 19 years
  22. 22. So what to do?
  23. 23. Pros
  24. 24. Pros • Security - better than what I had
  25. 25. Pros • Security - better than what I had • PHP-based
  26. 26. Pros • Security - better than what I had • PHP-based • Responsive themes
  27. 27. Pros • Security - better than what I had • PHP-based • Responsive themes • Plugins!
  28. 28. Pros • Security - better than what I had • PHP-based • Responsive themes • Plugins! • Better admin UX - including ACL & versioning
  29. 29. Pros • Security - better than what I had • PHP-based • Responsive themes • Plugins! • Better admin UX - including ACL & versioning • Less friction to update
  30. 30. Cons
  31. 31. Cons • Security - WordPress is a big target
  32. 32. Cons • Security - WordPress is a big target • Learning curve
  33. 33. Cons • Security - WordPress is a big target • Learning curve • Migration effort
  34. 34. Cons • Security - WordPress is a big target • Learning curve • Migration effort • Ego - would using WordPress make me look like a n00b?
  35. 35. Concerns
  36. 36. Concerns • How to organise the site? How much of the cross-referencing to automate?
  37. 37. Concerns • How to organise the site? How much of the cross-referencing to automate? “This has to be a solved problem, right?”
  38. 38. Concerns • How to organise the site? How much of the cross-referencing to automate? “This has to be a solved problem, right?” • 20 years of inbound links and PageRank to preserve
  39. 39. Concerns • How to organise the site? How much of the cross-referencing to automate? “This has to be a solved problem, right?” • 20 years of inbound links and PageRank to preserve • Hard-coded HTML styles in the DB to clean up
  40. 40. The Plan
  41. 41. The Plan • Set up site on new host
  42. 42. The Plan • Set up site on new host • Create basic site structure
  43. 43. The Plan • Set up site on new host • Create basic site structure • Read up on security
  44. 44. The Plan • Set up site on new host • Create basic site structure • Read up on security • VaultPress & Wordfence
  45. 45. The Plan • Set up site on new host • Create basic site structure • Read up on security • VaultPress & Wordfence • Auto-updates
  46. 46. The Plan • Set up site on new host • Create basic site structure • Read up on security • VaultPress & Wordfence • Auto-updates • Set up child theme and create nav menu
  47. 47. The Plan • Set up site on new host • Create basic site structure • Read up on security • VaultPress & Wordfence • Auto-updates • Set up child theme and create nav menu • Start migrating content
  48. 48. Migration
  49. 49. Migration • Start with simplest pages and sections first
  50. 50. Migration • Start with simplest pages and sections first • Write functions where needed
  51. 51. Migration • Start with simplest pages and sections first • Write functions where needed • Required some plugins:
  52. 52. Migration • Start with simplest pages and sections first • Write functions where needed • Required some plugins: • Advanced Custom Fields
  53. 53. Migration • Start with simplest pages and sections first • Write functions where needed • Required some plugins: • Advanced Custom Fields • Add Categories to Pages
  54. 54. Migration • Start with simplest pages and sections first • Write functions where needed • Required some plugins: • Advanced Custom Fields • Add Categories to Pages • WP Gallery Custom Links…
  55. 55. More Plugins
  56. 56. More Plugins • Breadcrumbs -> Breadcrumb NavXT plugin
  57. 57. More Plugins • Breadcrumbs -> Breadcrumb NavXT plugin • Calendar -> My Calendar plugin
  58. 58. More Plugins • Breadcrumbs -> Breadcrumb NavXT plugin • Calendar -> My Calendar plugin • Trivia Quizzes -> Riddle (+ plugin)
  59. 59. More Plugins • Breadcrumbs -> Breadcrumb NavXT plugin • Calendar -> My Calendar plugin • Trivia Quizzes -> Riddle (+ plugin) • Polls -> WP-Polls plugin
  60. 60. More Plugins • Breadcrumbs -> Breadcrumb NavXT plugin • Calendar -> My Calendar plugin • Trivia Quizzes -> Riddle (+ plugin) • Polls -> WP-Polls plugin • Search -> Relevanssi plugin
  61. 61. More Plugins • Breadcrumbs -> Breadcrumb NavXT plugin • Calendar -> My Calendar plugin • Trivia Quizzes -> Riddle (+ plugin) • Polls -> WP-Polls plugin • Search -> Relevanssi plugin • Timeline -> ???
  62. 62. Final Steps
  63. 63. Final Steps • Migrate all old news/blog posts
  64. 64. Final Steps • Migrate all old news/blog posts • Set up Adsense and Analytics
  65. 65. Final Steps • Migrate all old news/blog posts • Set up Adsense and Analytics • Update the theme
  66. 66. Final Steps • Migrate all old news/blog posts • Set up Adsense and Analytics • Update the theme • Set up .htaccess redirects
  67. 67. Final Steps • Migrate all old news/blog posts • Set up Adsense and Analytics • Update the theme • Set up .htaccess redirects • Change DNS to point to the new site!
  68. 68. Some numbers… • ~4500 page views/day • 28% US; 25% UK; 6% AU • 60% desktop;
 27% mobile; 13% tablet • 84% via search;
 11% direct; 4% referral;
 < 1% social • Most popular content: short stories; trivia quizzes; teacher materials
  69. 69. What’s Next
  70. 70. What’s Next • Set up SSL
  71. 71. What’s Next • Set up SSL • Mop up broken links
  72. 72. What’s Next • Set up SSL • Mop up broken links • Add new content
  73. 73. What’s Next • Set up SSL • Mop up broken links • Add new content • Update design once illustrations are finished
  74. 74. What’s Next • Set up SSL • Mop up broken links • Add new content • Update design once illustrations are finished • Keep an eye on stats & revenue
  75. 75. Thanks! @web_goddess @RoaldDahlFans Kris Howard http://www.roalddahlfans.com

×