Yourtango.com migration to Drupal 6

04
Jan
2011

YourTango.com is a popular American online magazine, where you can find a lot of articles about the opposite sex, you can get advice about health of your relationship, or just have some “smart talk about love”. It’s been almost 5 months, when we first started working with YourTango team on a big migration from Drupal 5 to Drupal 6. One Saturday at the end of November was the day when this work has been deployed into production. Our work included some functionality changes, custom code refactoring, and we implemented a couple of page redesigns as well. Basically we have built most of the project’s custom functionality from scratch, and migrated data into this very fresh site, built on Drupal 6. The migration had to include whole bunch of data - 37 000 users, 78 000 nodes, 15 000 images, comments and taxonomy terms. This was one of the challenges, but there are also other interesting things on this project we can discuss.

End-users of this site participate in the content-creation process in a very significant way. There are several roles, which include the standard users registered on site, relationship and psychology professionals (“Experts” section), content editors and administrators.

Integration with social networks and 3rd party services

There is couple of interesting social features the site implements. Site allows users to log in with their Facebook accounts, using the Facebook connect functionality. Each page gives user the ability to share the page with his friends on social networks, using Facebook or Twitter. Nice mashup is the “Most Popular” block with the most read articles, which pulls recent statistics data from YourTango Google Analytics account. Site has also own custom system for serving ads, based on a specific page, and also integrates 3rd party content from Outbrain and 2leep.

Scalability

The site experiences an average traffic about 20k unique visitors per day, in the peaks up to 100k unique visitors per day (http://www.quantcast.com/yourtango.com). That’s why we had to deal with scalability challenges, which included both front-end and back-end side optimization.

Front-end optimization

As on most of our projects, we used YSlow as a tool for front-end performance testing and optimization. We tried to reduce the count of external resources as much as possible, which is tricky in this case, because site integrates a lot of external scripts, which are not under our control. We improved our grade of optimization at least putting all images into css sprite, and compressing javascript and css files. For static content we used content delivery network where possible, this means all site images and css files are served from external servers. Very helpful with this feature was the CDN module.

Back-end optimization

Compared to a “standard” Drupal site, YourTango site includes a lot of custom code. One of reasons for this is the fact, that for scalability purposes we haven’t used some common code-saving modules, like the Views module, which is normally an essential tool when building a Drupal site. We have decided to proceed this way, because we wanted to have the ability to optimize each query separately, and be able to have the database queries “under control”. Very important is also the server-side configuration. To be able to use Varnish HTTP accelerator, we used the Pressflow core instead of standard Drupal 6 core. The back-end engine is also supported by Memcached caching system, which empowers sites like YouTube, Facebook or Twitter. Deployment of this project didn’t finish our work with YourTango. This project is still a challenge for us from a technical point of view, and we continue supporting this client and developing new features in the next months as well.

About the author

Jozef Toth's picture

CEO of Mogdesign.eu - Drupal design and development firm. Designer, blogger, christian, husband, father...
http://about.me/jojototh

LIKED THE POST? SPREAD THE WORD!

del.icio.usStumbleUponDiggFacebookLinkedIn

Add new comment