Last week, a local digital studio hired me to redesign their outdated portfolio site. They needed a bold, dark-themed look that could load heavy imagery without making mobile visitors wait forever. I wanted to avoid building a theme completely from scratch on their tight budget, so I decided to test out the Noryx - Digital Agency & Creative WordPress Theme on my staging server.
The setup was quite fast. The demo layouts imported cleanly, and the design felt very modern with high-contrast text and clean spacing. But as a developer, I never trust a theme just because it looks nice on my desktop screen. I knew I needed to test how it handled real-world performance.
When I ran my first mobile speed test, I noticed a poor score for Cumulative Layout Shift (CLS). The issue was coming from the theme’s custom portfolio grid. The theme loads its main layout styles a bit too late. Because of this, the grid container would load before the browser could calculate the exact aspect ratio of the thumbnail images, causing the whole page to jump around while loading. This is bad for user experience and hurts your search engine rankings.
Instead of trying to override this with a heavy external stylesheet that would add more file requests, I wrote a quick PHP hook. I used it to inject critical inline CSS directly into the document header. This forces the grid items to maintain a strict aspect ratio before the main stylesheets even load:
add_action('wp_head', 'noryx_inject_critical_grid_css', 1);
function noryx_inject_critical_grid_css() {
if (is_front_page() || is_post_type_archive('portfolio')) {
echo '<style>
.noryx-portfolio-grid .grid-item {
aspect-ratio: 4 / 3;
background-color: #121212;
overflow: hidden;
}
</style>';
}
}This small block of code completely resolved the shifting. The layout remained stable on slow mobile connections, and our CLS score dropped to a very safe level.
On day five, I started setting up the backend systems. The theme comes with some pre-packaged features, but to make the site truly client-ready, I needed a few Must-Have Plugins to handle local image compression, clean up database revisions, and manage local fonts instead of loading them directly from external servers.
After getting those installed, I logged into my terminal to clean up the uploads folder. I configured a simple WP-CLI command to regenerate our media library. This ensured we were only keeping the active image crops that we actually used in our final design, freeing up valuable disk space on the hosting account:
wp media regenerate --only-missing --yesBy the end of the week, the site was fully optimized and ready to launch on the client’s server.
Here is my honest breakdown after working with this theme:
Overall, the client is happy with the final result. If you have the coding skills to handle a few small layout tweaks, this theme serves as a great, modern foundation for creative agencies.