Developing a Marketing Technology Platform for 160+ Websites

organization
Capabilities
Timing

2010

Situation

In 2009, I founded a web design and digital marketing agency focused on building WordPress websites for small business clients. Initially, each website was created on its own individual WordPress installation, but this approach proved difficult to scale. To grow the business and develop new service offerings, I needed a more efficient way to design, deploy, and maintain websites at scale. Recognizing that small business websites have common elements, I decided to create a basic framework to customize rather than building each site from scratch.

Actions

Here are some of the actions I took to build a scalable WordPress platform that supported the hosting & maintenance requirements for 150+ feature-rich websites.

Activity 1: Gathering Requirements and Developing User Stories

  • Collected requirements from multiple clients, focusing on common user and author features.
  • Reviewed over 100 small business websites and researched emerging web trends.
  • Transformed requirements into rough user stories and validated them through client meetings.
  • Organized features into categories, scored them for value and feasibility, and created a prioritized roadmap and high-level requirements document.

Activity 2: Setting Up the Multi-Tenant Technology Infrastructure

  • Selected WordPress as the optimal CMS after extensive evaluation and testing.
  • Configured WordPress as a multi-site network to streamline maintenance, support, and billing.
  • Chose a secure managed hosting provider and negotiated a strong support agreement.
  • Completed the setup and installation, ensuring a robust platform for business operations.

Activity 3: Building and Testing the New Platform

  • Spent six months building and customizing the WordPress network with a dedicated team of freelancers.
  • Developed a front-end user experience with a master parent theme and latest frameworks.
  • Enhanced the back-end to allow clients to manage their sites independently.
  • Conducted thorough testing for functionality, web accessibility, and usability.
  • Created operations manuals for site administrators and authors to maintain consistency.

Activity 4: Implementing Business Process Automations

  • Automated the order management process, including account creation, payment integration, and instant site creation.
  • Streamlined the support helpdesk process, allowing efficient ticket management by support staff.
  • Implemented a robust network backup process to ensure quick recovery and uninterrupted service.

Results

I successfully built a WordPress platform that scaled to support the hosting and maintenance of 150+ feature-rich websites. By building this scalable platform, I not only improved operational efficiency but also set a strong foundation for future growth and innovation in the web design and digital marketing space.

Value to Business:

  • Increased sales revenue.
  • Reduced the order-to-delivery process by 2 weeks.
  • Increased customer satisfaction.
  • Expanded service offerings.

Value to Customers:

  • Fully functional pre-built websites at a fraction of the cost.
  • Quick turnaround with instant site delivery.
  • Easy to add features and functionality as needed.

Sharing My Setup at a WordCamp Conference

Several years after building this structure, I had the opportunity to share my process and approach at a WordCamp Conference. Given that my setup was not common at the time, I was eager to share my experiences with others and learn about their approaches as well. I presented a detailed document titled “Using WordPress Multisite to Power Your Hosting and Design Business ” which provided an in-depth look at my methods and the benefits of using WordPress Multisite for managing multiple client sites efficiently. This presentation sparked engaging discussions and provided valuable insights into the innovative uses of WordPress Multisite in the industry.

Deep-Dive


Here are some of the actions I took to build a scalable WordPress platform that supported the hosting & maintenance requirements for 150+ feature-rich websites.

Activity 1: I gathered requirements and developed user stories

When custom building websites, I noticed a trend: clients generally requested the same features, regardless of their industry or type of business. I realized that if I could develop a solid understanding of these needs, I could create a templatized structure that would work for most use cases. Specifically, I:

  • Gathered Requirements from Clients: I collected requirements from multiple clients, creating a list of the most common features needed by small business clients. This included both user features and author features, as authoring and site administration were often problematic areas due to the immaturity of authoring platforms at the time.
  • Gathered External Requirements: To ensure a comprehensive understanding, I reviewed over 100 small business websites across multiple industries. This helped me identify additional UX design patterns and features I might have missed. I also researched emerging web trends and anticipated future needs, leading to the addition and expansion of features.
  • Validated Requirements with Clients: These requirements were transformed into rough user stories, complete with screengrabs and examples for reference, outlining the business goal or outcome and the user goal. I conducted one-on-one meetings and workshops with clients to review the list, gather feedback, and understand their critical features. This feedback helped refine and augment the stories.
  • Organized Requirements into Final User Stories: Using whiteboards and empty walls, I listed features on index cards and grouped them into categories based on desired outcomes. Overlapping features were combined. Each feature was scored for value based on client feedback and feasibility based on the effort required for creation. Features were then ranked, prioritizing those with high value and low feasibility. High-impact, high-effort features were closely evaluated, with some eliminated and others retained. Minimum requirements for a website were identified.
  • Created a Prioritized Roadmap and Requirements Documents: A high-level requirements document was created, outlining business, functional, and technical requirements. I developed a rudimentary but directionally accurate roadmap, a one-page document sequencing high-level tasks for implementation. A list of absolutely required features for client websites was compiled, along with a ranked list of features to explore further. This systematic approach ensured that critical and valuable features were prioritized and that client needs were thoroughly understood and addressed.

Activity 2:  I setup the multi-tenant technology infrastructure

The first step on the roadmap was to build the technology infrastructure that would support everything. At the time, there were not many website builders or multi-tenant platforms, and hosting partners were not often secure. Here were the steps I took:

  • Selected WordPress as the Optimal System: After reviewing multiple content management systems (CMS) and evaluating them against the minimum requirements for both customers and internal operations, I determined that WordPress was the optimal system. This decision came after extensive testing, which included crashing several CMSs and even creating a home-built CMS. Ultimately, nothing matched what WordPress had to offer.
  • Configured WordPress as a Multi-Site Network: Rather than using independent WordPress installations, I chose to build a multi-site network. This configuration allowed me to manage multiple client sites under one roof, enabling my team to maintain, upgrade, and back up one installation, reducing time and costs. It also allowed us to troubleshoot and provide support from a single location and manage billing and account information centrally. In 2010, WordPress Multisite wasn’t pre-built into the core framework, so I modified the code base and database tables to create the solution.
  • Selected a Secure Hosting Partner: Given the frequent hacking of WordPress sites on shared servers, I needed a secure hosting environment. My prior experiences with web hosts and my clients’ requirements led me to create a list of factors to evaluate hosting providers. After interviewing and testing various environments, I selected a managed hosting environment that, while more expensive, eliminated the headaches and risks I had previously encountered. I also negotiated a stronger support agreement with the hosting provider.
  • Completed the Setup and Installation: I finalized the setup and installation of the platform, ensuring it was ready to support the business operations and client needs effectively.

Activity 3:  I worked with developers to build & test the new platform

After setting up the basic infrastructure, I began building and customizing the WordPress network to meet my needs. This task took almost six months to complete due to the challenge of balancing new infrastructure development with maintaining core business operations. Initially, I assigned staff to both current customer work and the new platform, but this approach proved ineffective. Eventually, I hired a team of freelancers dedicated solely to building the new platform. The process involved three main steps:

  1.  Developed Front-End User Experience: From user stories, we identified the necessary templates, components, and web elements. We developed a master parent theme that included core functionality, templates, and components. The HTML code featured a responsive grid and was built modularly, with only three templates to manage. We used shortcodes for complex designs and ensured the CSS was structured in a “vanilla” manner to allow customization. Using the latest frameworks and code libraries, we created a child theme that inherited the parent theme’s structure but could be customized independently. This approach allowed multiple sites to use the same parent theme with different looks and receive updates simultaneously.
  2. Developed Backend Site Administration and Author Experience: We added elements enabling clients and their team members to manipulate their sites without needing development support. We built or sourced plugins for more complex functionality, such as a theme options panel to adjust the style, color scheme, and layout. This panel significantly reduced design and development time. Additionally, we enabled users to map custom domains, add Google Analytics tracking, create custom forms, and manage SEO elements both globally and at the page level.
  3. Tested Both Front-End and Back-End Experiences: After building the platform, we conducted thorough testing to ensure that all functionality worked as expected for both users and authors. This testing included evaluating the front-end user experience and the back-end author experience. I also incorporated web accessibility, usability, and search criteria into the test cases to ensure a comprehensive evaluation of the platform’s performance.
  4. Created Operations Manuals for Site Administrators and Authors: I documented the platform architecture and network maintenance best practices for my team, ensuring everyone was on the same page. This documentation was crucial for onboarding new development freelancers and maintaining consistency. Additionally, I created guides for site administrators and content authors to help them build pages and update site designs independently, reducing their need for support from our team.

Activity 4:  I worked with developer to build business process automations

The platform improved efficiency and allowed me to scale the business, inspiring me to use technology to enhance operations beyond design and development. My objective was to systematize the business as much as possible and free up time for more value-added activities. I focused on automating several key areas.

  • Order Management Process: I automated the order management process, which includes account creation, payment integration, and instant site creation. Once a user completes this process, notifications are automatically sent to the sales, accounting, and project management staff. Additionally, new information becomes visible within the staff’s administration panel, ensuring seamless communication and coordination across departments.
  • Support Helpdesk Process: I also streamlined the support helpdesk process. Clients can submit help tickets directly within their admin panel, and support staff can instantly view and sometimes resolve these tickets via their admin areas. This system allows me to monitor the work efficiently, ensuring timely and effective support for clients while maintaining oversight of the support team’s performance.
  • Network Backup Process: To mitigate the risks associated with managing a large network, I implemented a robust network backup process. Using a backup plugin, we regularly take snapshots of the network and databases. This precautionary measure ensures that we can rebuild the network within an hour if necessary, safeguarding against potential disruptions and ensuring uninterrupted service for our clients.

Reflection: 10 Years Later

These lessons and insights have shaped my approach to future projects, emphasizing the importance of involving end users, creating structured documentation, involving technologists early, and leveraging modern tools and frameworks to enhance efficiency and scalability.


What I would do differently:

Involve End Users
End users were missing from the equation. I should have asked clients to invite their customers to the interviews. This would have provided valuable insights into user needs and preferences.

Create a Backlog and User Story Template
While I continued to add features over time, I lacked a formal way of documenting and evaluating them. Creating a structured backlog and user story template would have streamlined this process.

Bring Technologists in Earlier
I did not involve technical experts until after building the requirements. My initial feasibility score was based on intuition. Involving technologists earlier would have made the development process smoother and more accurate.

Less Reliance on Third-Party Libraries and Custom Work
In hindsight, I made some poor decisions regarding third-party libraries and custom work. Custom building the CSS grid, resets, and media queries, when frameworks like Bootstrap and Foundation were available, created unnecessary challenges. Additionally, some third-party JavaScript vendors stopped supporting their libraries, forcing us to maintain and modify them with each new release.

Stay Updated with New Features
Initially, WordPress had no multisite option, so I manually built the network. Today, WordPress MU allows network creation with a click. Likewise, theme options for site manipulation, once built from scratch, are now available out of the box with tools like WordPress Customizer and Elementor. I learned the importance of staying ahead of new developments to update and accommodate new features efficiently.

How this work helped with future applications:

Align Around Outcomes
 Focusing on outcomes rather than specific features proved beneficial. This approach aligns diverse business needs and feature requests, leading to successful results.

Scaling from Small to Large
The experience of working on small-scale projects helped me develop skills essential for larger-scale projects. Understanding object-oriented design and building at scale became invaluable. Notably, this knowledge was applied in:

  • Cat.com Transformation: Managed a transformation involving 200K pages, multiple business units, and 100 sites on the platform. See this Case Study here.
  • Marketwith.me: A WordPress platform I still run today, using foundational principles developed in 2009. Visit this website here.

organization

Capabilities

Timing

2010

SITUATION

ACTION

RESULTS

Find this information interesting?​

There is more where that came from!

Scroll to Top