---
title: "From Drupal to HubSpot: Rebuilding paloaltou.edu with Peerless Components"
description: "A full Drupal-to-HubSpot migration for Palo Alto University, built from Peerless components: modules carried over, new ones added to the same conventions."
image: https://fcpsolution.com/hubfs/peerless-h-new.jpg
---

[Skip to content](https://fcpsolution.com/blog/from-drupal-to-hubspot-rebuilding-paloaltou-edu-with-peerless#main-content)

[![Peerless-h-3](https://fcpsolution.com/hs-fs/hubfs/Peerless-h-3.png?width=1024&height=274&name=Peerless-h-3.png "Peerless-h-3")](https://fcpsolution.com/)

- [Contact](https://fcpsolution.com/contact)
- [Careers](https://fcpsolution.com/careers)
- [Terms](https://fcpsolution.com/terms)
- [Privacy](https://fcpsolution.com/privacy)
- [User Agreement](https://fcpsolution.com/license)

This is a search field with an auto-suggest feature attached.

- There are no suggestions because the search field is empty.

- [Home](https://fcpsolution.com)
- [Team](https://fcpsolution.com/team)
- [About](https://fcpsolution.com/about)
- [Templates](https://fcpsolution.com/template)
- [Pricing](https://fcpsolution.com/pricing)
- [Blog](https://fcpsolution.com/blog)
- [Docs](https://fcpsolution.com/docs)

[Home](https://fcpsolution.com/template/home)

[About](https://fcpsolution.com/template/about)

[Contact](https://fcpsolution.com/template/contact)

[Meet the team](https://fcpsolution.com/team)

[Landing Page](https://fcpsolution.com/template/landing-page)

[Compare](https://fcpsolution.com/template/compare)

[Pricing](https://fcpsolution.com/template/pricing)

[Services](https://fcpsolution.com/template/services)

[Theme Rates](https://fcpsolution.com/pricing/theme-rates)

[Hourly Rates](https://fcpsolution.com/pricing/hourly-rates)

[Services](https://fcpsolution.com/services)

[Team](https://fcpsolution.com/team)

[Product Updates](https://fcpsolution.com/blog#product-updates)

- [What Makes Peerless Different](https://fcpsolution.com/blog/what-makes-peerless-different-from-other-hubspot-themes)
- [New Pricing Table](https://fcpsolution.com/blog/a-new-pricing-table-module-built-for-side-by-side-comparison)
- [Blog Feed Module v2](https://fcpsolution.com/blog/blog-feed-v2-tag-filtered-feeds-and-faster-cards)
- [A Cleaner Mobile Experience](https://fcpsolution.com/blog/a-cleaner-mobile-menu-hamburger-fixes-across-the-theme)

[Guides & Tutorials](https://fcpsolution.com/blog#guides-tutorials)

- [Take control of styling Peerless blog content](https://fcpsolution.com/blog/four-css-classes-for-better-blog-posts)
- [Core Web Vitals on Hubspot CMS](https://fcpsolution.com/blog/how-to-pass-core-web-vitals-on-hubspot-cms)
- [Getting Started With the Peerless Theme](https://fcpsolution.com/blog/getting-started-with-the-peerless-theme)
- [Making HubSpot pages fast!](https://fcpsolution.com/blog/making-hubspot-pages-fast-a-practical-checklist)

[Case Studies](https://fcpsolution.com/blog#case-studies)

- [From Drupal to Hubspot](https://fcpsolution.com/blog/from-drupal-to-hubspot-rebuilding-paloaltou-edu-with-peerless)

[Company News](https://fcpsolution.com/blog#company-news)

- [Our Story](https://fcpsolution.com/blog/the-story-behind-fcp-solutions-and-peerless)
- [A pleasant page editing experience with Peerless](https://fcpsolution.com/blog/why-peerless-modules-ship-with-zero-margins)
- [Peerless Documentation](https://fcpsolution.com/blog/the-peerless-documentation-hub-is-live)

[Marketing Tips](https://fcpsolution.com/blog#marketing-tips)

- [The anatomy of a high-converting CTA](https://fcpsolution.com/blog/the-anatomy-of-a-high-converting-cta)
- [Why your blog needs tag-based catergories](https://fcpsolution.com/blog/why-your-hubspot-blog-needs-tag-based-categories)
- [Blog catergories into topics that rank](https://fcpsolution.com/blog/turn-your-blog-categories-into-topic-hubs-that-rank)

[User Documentation](https://fcpsolution.com/docs)

[QA](https://fcpsolution.com/docs/qa-test)

[All Modules](https://fcpsolution.com/all-modules)

[Styling Blogs](https://fcpsolution.com/blog/four-css-classes-for-better-blog-posts)

[Privacy](https://fcpsolution.com/privacy)

[Home](https://fcpsolution.com/) › [Blog](https://fcpsolution.com/blog) › From Drupal to HubSpot: Rebuilding paloaltou.edu with Peerless Components

[HubSpot CMS](https://fcpsolution.com/blog/tag/hubspot-cms)

 Jul 8, 2026

# From Drupal to HubSpot: Rebuilding paloaltou.edu with Peerless Components

![Kayron Macon](https://fcpsolution.com/hubfs/51e36cf3-1169-43d4-8a7e-13b7cfa596f8.jpeg) 

[Kayron Macon](https://fcpsolution.com/blog/author/kayron-macon)

Universities do not change platforms casually. A .edu site carries years of content, a long list of stakeholders, and editors who need to publish without filing a ticket. So when Palo Alto University moved to HubSpot CMS, the rebuild had to be fast to execute and boring to maintain. That is exactly what a component library is for: [paloaltou.edu](https://paloaltou.edu) runs today on components from Peerless.

## Why leave Drupal

Drupal earned its place in higher ed, but it comes with a treadmill: module updates, security patches, PHP hosting, and a development bottleneck between an editor wanting a change and the change going live. Moving to HubSpot CMS trades all of that for managed hosting and drag-and-drop editing that non-technical staff can actually use.

## Components, not a theme install

This build took a different shape than [sportspage.io, which extends Peerless as a child theme](https://fcpsolution.com/blog/powering-a-sports-portfolio-building-sportspage-io-on-peerless). For the university, Peerless served as a component library. Modules that fit came over directly, like the two-column media block and the footer. Pieces the university needed that no business theme ships, like an upcoming-events feed, were built new to the same conventions: BEM classes under the `m-` prefix, editable fields for every piece of content, and no baked-in margins, so spacing stays a page-level decision.

## Same conventions, different brand

Because Peerless keeps its design tokens in CSS variables and its stylesheets in ITCSS layers, applying the university brand did not mean fighting the components' CSS. Tokens changed; components kept working. The result reads as a university site, not as a business theme wearing a costume.

## Editors got the site back

The real outcome of the migration is organizational. On Drupal, layout changes belonged to developers. On HubSpot, pages are drag-and-drop areas assembled from those modules, so the people responsible for content own the layout too, without being able to break the design system underneath it.

## Three sites, one system

Peerless now runs at three scales: its own site, a child theme powering a second production site, and a component library seeding a full .edu migration. That is the bet behind building it as a disciplined system instead of a one-off design, and it is the same workflow we bring to client builds.

[HubSpot CMS](https://fcpsolution.com/blog/tag/hubspot-cms), [Case Studies](https://fcpsolution.com/blog/tag/case-studies)

## About the Author

Founder, Developer, Marketer of Sports Page.

## Comments

 Share this Page [![](https://fcpsolution.com/hubfs/raw_assets/public/src/images/icons/linkedin-in.svg)](https://www.linkedin.com/sharing/share-offsite/?url=https://fcpsolution.com/blog/from-drupal-to-hubspot-rebuilding-paloaltou-edu-with-peerless) [![](https://fcpsolution.com/hubfs/raw_assets/public/src/images/icons/x-twitter.svg)](https://twitter.com/share?url=https://fcpsolution.com/blog/from-drupal-to-hubspot-rebuilding-paloaltou-edu-with-peerless&text=From%20Drupal%20to%20HubSpot:%20Rebuilding%20paloaltou.edu%20with%20Peerless%20Components%20-%20A%20full%20Drupal-to-HubSpot%20migration%20for%20Palo%20Alto%20University,%20built%20from%20Peerless%20components:%20modules%20carried%20over,%20new%20ones%20added%20to%20the%20same%20conventions.) [![](https://fcpsolution.com/hubfs/raw_assets/public/src/images/icons/facebook-f.svg)](https://www.facebook.com/sharer/sharer.php?u=https://fcpsolution.com/blog/from-drupal-to-hubspot-rebuilding-paloaltou-edu-with-peerless%2F&title=From%20Drupal%20to%20HubSpot:%20Rebuilding%20paloaltou.edu%20with%20Peerless%20Components&picture=&description=A%20full%20Drupal-to-HubSpot%20migration%20for%20Palo%20Alto%20University,%20built%20from%20Peerless%20components:%20modules%20carried%20over,%20new%20ones%20added%20to%20the%20same%20conventions.) ![](https://fcpsolution.com/hubfs/raw_assets/public/src/images/icons/copy.svg)

Link copied!

Print this page ![](https://fcpsolution.com/hubfs/raw_assets/public/src/images/icons/print.svg)

## Related Posts

### [![](https://fcpsolution.com/hs-fs/hubfs/raw_assets/public/src/images/placeholders/image-coming-572.png?length=400&name=image-coming-572.png) July 20, 2026 Four CSS Classes That Make Peerless Blog Posts Easier to Read Four utility classes already built into Peerless let you float images, caption them, and stack link lists, all from the… ![](https://fcpsolution.com/hubfs/51e36cf3-1169-43d4-8a7e-13b7cfa596f8.jpeg) Kayron Macon](https://fcpsolution.com/blog/four-css-classes-for-better-blog-posts)

### [![](https://fcpsolution.com/hs-fs/hubfs/raw_assets/public/src/images/placeholders/image-coming-572.png?length=400&name=image-coming-572.png) July 12, 2026 What Makes Peerless Different From Other HubSpot Themes The specific architecture decisions -- no build step, zero-margin modules, ITCSS layering -- that separate Peerless… ![](https://fcpsolution.com/hubfs/51e36cf3-1169-43d4-8a7e-13b7cfa596f8.jpeg) Kayron Macon](https://fcpsolution.com/blog/what-makes-peerless-different-from-other-hubspot-themes)

### [![](https://fcpsolution.com/hs-fs/hubfs/raw_assets/public/src/images/placeholders/image-coming-572.png?length=400&name=image-coming-572.png) July 12, 2026 The Story Behind FCP Solutions and Peerless Why FCP Solutions builds Peerless as its own base theme, and how the same theme now powers more than one production… ![](https://fcpsolution.com/hubfs/51e36cf3-1169-43d4-8a7e-13b7cfa596f8.jpeg) Kayron Macon](https://fcpsolution.com/blog/the-story-behind-fcp-solutions-and-peerless)

### [![](https://fcpsolution.com/hs-fs/hubfs/raw_assets/public/src/images/placeholders/image-coming-572.png?length=400&name=image-coming-572.png) July 12, 2026 How to Pass Core Web Vitals on HubSpot CMS A practical checklist for hitting good Core Web Vitals scores on HubSpot CMS -- images, fonts, third-party scripts, and… ![](https://fcpsolution.com/hubfs/51e36cf3-1169-43d4-8a7e-13b7cfa596f8.jpeg) Kayron Macon](https://fcpsolution.com/blog/how-to-pass-core-web-vitals-on-hubspot-cms)

### [![](https://fcpsolution.com/hs-fs/hubfs/raw_assets/public/src/images/placeholders/image-coming-572.png?length=400&name=image-coming-572.png) July 12, 2026 The Anatomy of a High-Converting CTA What separates a call-to-action that converts from one that gets scrolled past -- copy, contrast, and placement, broken… ![](https://fcpsolution.com/hubfs/51e36cf3-1169-43d4-8a7e-13b7cfa596f8.jpeg) Kayron Macon](https://fcpsolution.com/blog/the-anatomy-of-a-high-converting-cta)

### [![](https://fcpsolution.com/hs-fs/hubfs/raw_assets/public/src/images/placeholders/image-coming-572.png?length=400&name=image-coming-572.png) July 8, 2026 Powering a Sports Portfolio: BuildingSportsPage on Peerless How we built sportspage.io as a child theme of Peerless: ten custom modules, everything else inherited, and one repo… ![](https://fcpsolution.com/hubfs/51e36cf3-1169-43d4-8a7e-13b7cfa596f8.jpeg) Kayron Macon](https://fcpsolution.com/blog/powering-a-sports-portfolio-building-sportspage-io-on-peerless)

[![p-trail-2](https://fcpsolution.com/hs-fs/hubfs/p-trail-2.png?width=250&height=249&name=p-trail-2.png "p-trail-2")](https://fcpsolution.com/)

### Contact Us

Primary Phone: [+1(860) 478-2023](tel:+18604782023)

[WhatsApp](https://wa.me/18604782023)

Email: [info@fcpsolution.com](mailto:info@fcpsolution.com)

### Company

- [Home](https://fcpsolution.com/)
- [About](https://fcpsolution.com/about)
- [Team](https://fcpsolution.com/team)
- [Pricing](https://fcpsolution.com/pricing)
- [Contact](https://fcpsolution.com/contact)

### Explore

- [Services](https://fcpsolution.com/services)
- [Pricing](https://fcpsolution.com/pricing)
- [Blog](https://fcpsolution.com/blog)
- [Docs](https://fcpsolution.com/docs)
- [Contact](https://fcpsolution.com/contact)

Peerless is a HubSpot CMS theme built for clean design, fast deployment, and flexible content management. Crafted with semantic HTML, ITCSS, and HubSpot's drag-and-drop framework — no build step required.

[Follow us on LinkedIn](https://www.linkedin.com) [Follow us on Instagram](https://www.instagram.com/peerless_hubspot)

© For Client Peerless Solutions

[Privacy Policy](https://fcpsolution.com/privacy)

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Kayron Macon",
    "url" : "https://fcpsolution.com/blog/author/kayron-macon"
  },
  "dateModified" : "2026-07-22T16:29:27.822Z",
  "datePublished" : "2026-07-08T04:00:00.000Z",
  "headline" : "From Drupal to HubSpot: Rebuilding paloaltou.edu with Peerless Components",
  "mainEntityOfPage" : {
    "@id" : "https://fcpsolution.com/blog/from-drupal-to-hubspot-rebuilding-paloaltou-edu-with-peerless",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://fcpsolution.com/hubfs/Peerless-h.jpg"
    }
  }
}
```