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

How We Grew TheJournal.ie

How We Grew TheJournal.ie

Taking Irelands fastest growing news site from a Wordpress install to a stable platform.

Avatar for John Needham

John Needham

April 19, 2013
Tweet

Other Decks in Programming

Transcript

  1. Who Are We? • Irish and International Content • News,

    Sports, Entertainment and discussion • Launched Sept 2010 • iOS and Android apps • Desktop and touch websites
  2. Site Launch Basic Wordpress site: • Quick to build •

    Large feature set • Large and experienced WP talent pool • Lots of online help • Good CMS Launched our iOS app within first month Android app Feburary 2011
  3. Site Growth 1 million page views a month after 3

    months: • WP does not scale easily • Lots of features = Complex code base • Debugging a nightmare (hooks..) • No native caching • ( °□° ╯ )╯︵ ┻━┻
  4. Site Growth - Maintenance Developing in WordPress: • Tried to

    use the WP framework (plugins) • Slow and messy (hooks) Gave Up: • Edit the core code • Faster development • Upgrading issues
  5. Site Growth - Caching Caching in WordPress is a nightmare:

    • All plugin based • Used w3-cache - cached to file • Dynamic Elements – not maintainable • Want to increase amount of user specific content
  6. Solutions? Buy – options are too customised More Cache (varnish?)

    – wont fix dynamic content problem Build New System – Resources and time?
  7. Our Solution Goal – Build a simple API to power

    site and apps • Use WordPress database, keep the CMS • Cherry-pick from WordPress for formatting and styling • Lightweight and simple PHP front end • All in EC2
  8. Challenges - Caching 110,000 posts 100,000 tag rivers 1,063,000 comments

    Solution: • Cache all objects forever • Cache all rivers by IDs • Immediate cache invalidation
  9. Challenges - Content Making Content Work Everywhere • Platforms: browser,

    iOS and Android • Rich media support? (flash, silverlight, gifs) Journalists. Awkward.
  10. Challenges - Content Solution: • Make our server do as

    much heavy lifting as possible • Keep app html parsing to zero • Handle unknown embeds as a link • A lot easier to update a server than an app
  11. Challenges - Content - Faster render time for apps -

    Unknown content still accessible
  12. Mistakes along the way Overdependent on external plugins • Liveblogs,

    JSON API, Social Could have made better use of (small) frameworks • Avoid learning lessons the hard way. • Slim Framework Doing Friday Deploys
  13. Mistakes along the way EC2 does quirky things: • Random

    IP changes causing an accidental DDoS • Unpredictable Auto-Scaling – killing a healthy Varnish instance
  14. Mistakes along the way Keeping Clients in Sync • Could

    stop comment on apps, not on desktop...
  15. Some Lessons Learned Lots of good start-ups to use: •

    Pusher – realtime websocket api, used on liveblogs and scores • HostedGraphite – hassle free stats, essential for our API
  16. Some Lessons Learned Know when Good Enough is OK: •

    Too tempting to try and perfect everything • Ship it, Iterate Hat tip: @dermdaly
  17. Results Traffic Spikes? • Reddit test 2 weeks ago •

    477,735 page views • No crash :)
  18. Results Rolling out new features on new site • Easier

    to develop new features • Live scores rolled out over last few weeks
  19. Going Forward Continue our growth – 3x in 3 years

    Build our commenter community Number 1 news service in Ireland by next year
  20. We're Hiring! www.thejournal.ie/jobs/ Can find me @JohnANeedham Thanks to: Miguel

    Molina Brian Fallon (@brianfallon) Paul Conroy (@conroyp) Steven McMemeBride (@steemcb)