My 7-Day Experience Building a Client Site with Noryx Theme
Building an Agency Website with Noryx: A 7-Day Developer Diary
Last week, an old client reached out with a common problem. Their creative agency site was slow, outdated, and hard for their internal marketing team to update. They wanted something bold, modern, and easy to manage without constantly emailing me for small copy changes.
After looking around for a suitable foundation, I decided to test Noryx - Digital Agency & Creative WordPress Theme on my staging server. I wanted to see if it could handle a real-world project under a tight deadline. Instead of just installing it and saying "it works," I logged my entire process over seven days. Here is exactly what happened, the hurdles I ran into, and how I solved them with a bit of custom code.
Day 1: First Impressions and Setup
I started by setting up a fresh WordPress installation on my standard staging server. After uploading the theme zip file, the setup wizard prompted me to install a few required plugins. I usually get nervous here because many creative themes force you to install fifteen bloated plugins you never use. Noryx was relatively lightweight in this department, relying mostly on Elementor and a couple of helper plugins.
I imported one of the digital agency demos to see how the starter pages looked. The import process took about three minutes. The design looked clean and had the dark, modern aesthetic my client wanted. However, I noticed that the default demo database imported a lot of dummy posts, custom post types, and media files that I did not need.
To clean up the database before starting my actual work, I jumped into my terminal and used WP-CLI to quickly wipe out the junk posts. It is much faster than clicking "Trash" fifty times in the WordPress dashboard. Here is the command I used:
# Delete all dummy posts imported by the demo without sending them to trash
wp post delete $(wp post list --post_type=post --format=ids) --force
With a clean database and the layout structure still intact, I was ready to start tweaking the design to match the client's branding.
Day 3: The Customization Friction (and How I Solved It)
By day three, I was building out the portfolio section. The client wanted to display their mobile app designs. Since mobile screens are vertical, they needed portrait-style thumbnails.
This is where I hit my first real technical bump. The theme’s portfolio grid was hardcoded to use square images (1:1 aspect ratio). When I uploaded the vertical screenshots, the top and bottom of the app designs were cut off. The theme options panel did not have an easy toggle to change the image crop ratio for the portfolio layout.
Instead of manually resizing hundreds of images in Photoshop, I decided to write a PHP hook to override the image sizes in my child theme. I opened my child theme’s functions.php file and added a custom image size, then hooked into the intermediate image sizes filter to make sure WordPress registered the correct dimensions.
// Add custom image size for portrait portfolio items
function noryx_child_custom_sizes() {
add_image_size('portfolio-portrait-crop', 600, 800, true);
}
add_action('after_setup_theme', 'noryx_child_custom_sizes', 11);
// Filter the image sizes available for selection
function noryx_apply_custom_portfolio_size($sizes) {
return array_merge($sizes, array(
'portfolio-portrait-crop' => __('Portfolio Portrait Crop', 'noryx-child')
));
}
add_filter('image_size_names_choose', 'noryx_apply_custom_portfolio_size');
After saving the file, I needed to regenerate the existing thumbnails so the new crop would apply to the images I had already uploaded. I ran this quick WP-CLI command in my terminal:
# Regenerate thumbnails only for the new portfolio crop size
wp media regenerate --only-missing
This solved the cropping issue. The app designs now displayed beautifully in their native portrait ratios without breaking the grid alignment.
Day 5: Performance Optimization
A beautiful site is useless if it takes five seconds to load. On day five, I ran a baseline speed test on Google PageSpeed Insights. The staging site scored a decent 74 on mobile, but I knew we could do better.
Elementor is highly flexible, but it can load a lot of unused styles and scripts. I noticed that the theme was loading Gutenberg block styles even though we were using Elementor for every page. To improve the Largest Contentful Paint (LCP) metric, I wrote a small PHP snippet to dequeue those unused styles on the frontend.
// Dequeue Gutenberg block library styles on the frontend
function clean_unused_assets() {
wp_dequeue_style('wp-block-library');
wp_dequeue_style('wp-block-library-theme');
wp_dequeue_style('wc-blocks-style'); // also removed woocommerce blocks as we are not using WooCommerce
}
add_action('wp_enqueue_scripts', 'clean_unused_assets', 100);
I also set up some basic caching rules on the Nginx server level to handle static assets. Making sure browser caching is configured correctly keeps repeat visits incredibly fast.
# Nginx browser caching for helper files and images
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf)$ {
expires 365d;
add_header Cache-Control "public, no-transform";
}
After implementing these small changes and compressing the client's images with WebP formats, the mobile score jumped up to 89, and the desktop score hit a solid 96.
Day 7: Client Handover and Final Thoughts
On the final day, I spent two hours training the client’s team on how to manage their new site. Because Noryx is built on Elementor, they picked up the editing process very quickly. They were able to drag and drop new portfolio items, change text, and swap out background images without touching a single line of code.
Looking back at the week, here is my honest take on this theme.
What I Liked (The Pros)
Modern Aesthetic: The layouts feel very premium and fit creative agencies perfectly without looking generic.
Clean Code Structure: Unlike some themes that override basic WordPress functions, this theme was easy to customize with standard child theme hooks.
Lightweight Bundle: It does not overload the system with unnecessary premium plugins that demand constant license renewals.
What Could Be Better (The Cons)
Inflexible Image Options: The default portfolio grid was stubborn with image crops. You will need to write some PHP if your project images do not fit the default 1:1 or 16:9 ratios.
Documentation: The setup guide is good for beginners, but it lacks deep technical documentation for developers who want to override default template parts.
Overall, my client was thrilled with the final result. The site is fast, modern, and easy for them to maintain. If you are comfortable doing a tiny bit of custom coding to bypass the image cropping limits, this theme serves as a great, stable foundation for creative projects.
```
Replies