Why I created my own WordPress theme.
Changing a website's design after 5 years isn't just an aesthetic issue, it's a necessity. Since 2021, I've been simplifying the... felipemateus.com to reduce visual noise, but the technical structure was still stuck in patterns that I didn't fully control. WordPress.
The Problem: The "Weight" of General Topics
I used to use the Kadence, This is an excellent theme, but because it's so general, it comes with a lot of features and integrations that my website simply didn't need. This directly affected the... Core Web Vitals and it generated unnecessary CSS and JS overhead.
The Solution: Custom Theme “face-queiroz”
To solve this, I developed the face-queiroz. The idea was to "clean up" the site's database by removing the Elementor (which generated messy and cumbersome code) and replacing it with a custom implementation:
- Tailwind CSS: Now, each style element is generated on demand. The site has stopped loading generic libraries and now has a lean and performant CSS.
- Native HTML: I replaced complex components with simple HTML and CSS structures, which ensures much faster loading and robust data delivery to Google.
- Dark Mode without "Flash": I implemented a Dark Mode logic that respects the user's system configuration from the very first byte, avoiding that annoying "flash" of white light during asynchronous loading.
Element Replacement
The main change was the complete removal of Elementor. Therefore, I replaced the heavy widgets with pure HTML components and Tailwind CSS, eliminating the excess. divs (DOM nodes) that delayed page rendering.
In addition to removing other general-purpose plugins that were just taking up space on front-end. The website is now built with clean HTML elements, ensuring that the browser processes the information much more efficiently.

Plugin Changes
In addition to Elementor, I made an update to the plugin. trends, in addition to having created a new plugin for show the list of posts recent, which was a resource which was included in Elementor. The irony é that after I was banned from WordPress, I'm programming more in WordPress than before.
Initially, I had loaded recent posts using JavaScript and the WordPress API, but this could cause linking problems with Google. I created this plugin that generates a shortcode that implements the list of recent posts.
![A simple black and white image with a white background, showing two rectangular boxes stacked vertically. The bottom box contains the text: "[Cite: /] Shortcode" inside the shortcode box displays the <section class="section-posts"><h2 class="section-title">Felipe Mateus' Blue World</h2><div id="wp-latest-posts" class="posts-grid"><article class="post-card"> <div class="post-card-header"> <a href="https://felipemateus.com/en/blog/2026/05/jose-davi"><img src="https://felipemateus.b-cdn.net/wp-content/uploads/2026/05/elg21-clouds-9513725-300x200.jpg" alt="Joseph David" class="post-card-img"></a> <a href="https://felipemateus.com/en/blog/topics/literary-and-existential-texts" class="post-card-badge">Literary and Existential Texts</a> </div> <div class="post-card-body"> <img src="https://secure.gravatar.com/avatar/f589c95a9b9b7181f5ca514f5818d8c9c2b2e74366d09b21296a2ae9863bdb34?s=96&d=identicon&r=g" class="post-card-avatar" alt="Author"> <h3 class="post-card-title"> <a href="https://felipemateus.com/en/blog/2026/05/jose-davi">Joseph David</a> </h3> <div class="post-card-excerpt"> Read “José Davi” on Mundo Azul, Felipe Mateus' blog. The text is available to read. </div> <a href="https://felipemateus.com/en/blog/2026/05/jose-davi" class="post-card-link"> Read More <span>»</span> </a> </div> <div class="post-card-footer"> <span>18/05/2026</span> <span>No comments</span> </div></article><article class="post-card"> <div class="post-card-header"> <a href="https://felipemateus.com/en/blog/2026/05/budget-generator-pro-evolves-into-service-management-center"><img src="https://felipemateus.b-cdn.net/wp-content/uploads/2026/05/oqueebusinessintelligence-300x200.jpeg" alt="Budget Generator PRO: from budgeting to complete service management." class="post-card-img"></a> <a href="https://felipemateus.com/en/blog/topics/projects" class="post-card-badge">Projects</a> </div> <div class="post-card-body"> <img src="https://secure.gravatar.com/avatar/f589c95a9b9b7181f5ca514f5818d8c9c2b2e74366d09b21296a2ae9863bdb34?s=96&d=identicon&r=g" class="post-card-avatar" alt="Author"> <h3 class="post-card-title"> <a href="https://felipemateus.com/en/blog/2026/05/budget-generator-pro-evolves-into-service-management-center">Budget Generator PRO: from budgeting to complete service management.</a> </h3> <div class="post-card-excerpt"> The new version of Budget Generator PRO expands the app's workflow beyond just budgeting, adding orders for... </div> <a href="https://felipemateus.com/en/blog/2026/05/budget-generator-pro-evolves-into-service-management-center" class="post-card-link"> Read More <span>»</span> </a> </div> <div class="post-card-footer"> <span>14/05/2026</span> <span>No comments</span> </div></article><article class="post-card"> <div class="post-card-header"> <a href="https://felipemateus.com/en/blog/2026/04/market-of-shackles"><img src="https://felipemateus.b-cdn.net/wp-content/uploads/2026/04/Capa-Mercado_de_amarras_satira-300x169.png" alt="Market of Tie-Downs" class="post-card-img"></a> <a href="https://felipemateus.com/en/blog/topics/platforms-and-privacy" class="post-card-badge">Platforms and Privacy</a> </div> <div class="post-card-body"> <img src="https://secure.gravatar.com/avatar/f589c95a9b9b7181f5ca514f5818d8c9c2b2e74366d09b21296a2ae9863bdb34?s=96&d=identicon&r=g" class="post-card-avatar" alt="Author"> <h3 class="post-card-title"> <a href="https://felipemateus.com/en/blog/2026/04/market-of-shackles">Market of Tie-Downs</a> </h3> <div class="post-card-excerpt"> Felipe Mateus wrote "Mercado de Amarras" (Market of Shackles), a text that talks about my experience with Mercado Livre and how... </div> <a href="https://felipemateus.com/en/blog/2026/04/market-of-shackles" class="post-card-link"> Read More <span>»</span> </a> </div> <div class="post-card-footer"> <span>30/04/2026</span> <span>No comments</span> </div></article></div></section>.](https://felipemateus.b-cdn.net/wp-content/uploads/2026/03/Captura-de-tela-de-2026-03-04-22-40-00-1024x277.png)

Results: Authority and Speed
Even without the old PageSpeed screenshots, my domain's current data shows that the path is correct:
- Domain Rating (Ahrefs): 36.
- Site Health: Currently in 80%, with a total focus on eliminating redirects and broken links.
- Organic Presence: Immediate impact on navigation fluidity and server response time.
Conclusion
Finally, this change is crucial as part of my goal to stop relying on generic plugins and themes that sacrifice performance in exchange for visual appeal.