Skip to content
Rose City Commerce

Portland Painting and Restoration WordPress to Next.js migration with Asana estimate flow

Migrated a WordPress site to a custom Next.js build and connected estimate requests to an Asana workflow.

Portland Painting and Restoration website screenshot
This project mattered because Portland Painting and Restoration needed a faster site customers could use easily and a clearer estimate flow the team could manage without chasing every lead manually.

Context

Portland Painting and Restoration needed a faster, cleaner website for paintpdx.com and a more organized way to handle estimate requests from the site.

Problem

The existing WordPress site was slower than it needed to be, and estimate requests needed a clearer handoff into the team's project workflow.

Solution

  • Migrated the site from WordPress to a custom Next.js build
  • Rebuilt core service pages with faster loading and cleaner page structure
  • Connected estimate requests to an Asana flow for follow-up ownership
  • Improved technical SEO fundamentals across key service pages

Measured performance

WordPress site vs custom Next.js site

Home Page

MetricBeforeAfterChange
Performance Score63/10098/100+35 points
SEO Score77/10092/100+15 points
First Contentful Paint1.3s0.2s~6.5x faster
Largest Contentful Paint6.0s1.1s~5.5x faster
Speed Index12.1s0.4s~30x faster

Interior Paint Page

MetricBeforeAfterChange
Performance Score63/10099/100+36 points
SEO Score77/10092/100+15 points
First Contentful Paint1.2s0.2s~6x faster
Largest Contentful Paint13.9s0.5s~28x faster
Speed Index12.4s0.3s~41x faster

Results

  • Moved the site from WordPress to a faster custom Next.js build
  • Created a clearer estimate-request handoff into Asana
  • Improved measured performance and SEO scores across priority pages

Stack

Next.jsAsanaTechnical SEOPerformance
Portland Painting and Restoration WordPress to Next.js migration with Asana estimate flow | Rose City Commerce