Tag: WORDPRESS

  • How I Built the Simplest WordPress Membership Plugin (and Why I Had To)

    How I Built the Simplest WordPress Membership Plugin (and Why I Had To)

    🌙 How a Quiet Night in Ericeira Led Me to Build My Own WordPress Membership Plugin

    Ericeira, Portugal. A Tuesday night in June 2025.

    The house was finally quiet.

    Dishes done, son asleep, dog curled up by the door. My wife had just turned in for the night. I was still at my desk — lights dimmed, ocean breeze drifting in through the cracked window, the last sips of lukewarm tea within reach.

    On the screen: my CRM knowledge base.

    A structured vault of insight — systems I’d built, frameworks I’d tested, vendor stacks I’d mapped out over months of deep work. I was proud of it. It wasn’t pretty, but it was useful. And it had quietly become one of the most valuable things I owned.

    “I should share this,” I thought.
    “But not with everyone.”

    I didn’t want it on LinkedIn. Not in a newsletter blast. I wanted it for my circle — my clients, peers, and the curious few who think the way I do. The ones who’d actually use it.

    That’s when I said the fateful words:

    “I just need a membership plugin. A simple one.”

    Ha. Yeah.


    “WordPress will handle this, right?”

    Naturally, I turned to WordPress. I’ve used it since forever. It’s home turf. I figured I’d just enable registrations, protect a few pages, maybe style a form or two. Done by midnight.

    But the reality?

    The registration feature is disabled by default. Fair enough — security. But even when enabled, the out-of-the-box experience is clunky at best and cursed at worst. The styling was a disaster. The flows were unintuitive. Even after some CSS and duct tape, it still felt like I was building an onboarding experience in 2009.

    “Okay. Plugins. Let’s find one that just… works.”

    I went plugin diving.

    There were plenty. In fact, too many. Most were impressive. But they all seemed to want one thing: control. They came bundled with Stripe integration, multi-tier access levels, dashboards, analytics, invoices, maybe a smoothie machine.

    They promised simplicity — but to me, they felt bloated, sales-driven, and way over-engineered for what I needed.

    I didn’t want a membership platform.

    I wanted a gate.


    So I built it. The hard way — but the right way.

    If something doesn’t exist, and you can’t duct tape it together… well, you build it.

    Problem: I’m not a full-time coder anymore. I started that way, years ago. But my JavaScript is rusty, my PHP gets second-guessed, and my time — between running projects and being a dad — is scarce.

    But then there’s AI.

    I started prototyping with ChatGPT and Claude. The first versions were… entertaining. And frustrating. If you get the prompt wrong, you get a weird Frankenstein plugin that doesn’t even activate. Fixing those dead-end outputs takes more time than starting over.

    Still, I kept going.

    I wanted something elegant, and clean, and conversion-focused. Something I’d actually be happy to run on my own site.

    So I went old-school. Opened up VS Code. Fired up Local. Sketched out the logic. Prompted GPT like a boss. And line by line, I started building.


    Introducing: Surfstyk Simplest Membership

    It’s exactly what the name says.

    A lightweight, native WordPress plugin that lets you protect content, blur what’s behind it, and give users a seamless way to sign up and get in — using a magic link.

    🛠️ The core features:

    • Teaser content: Show the first section of a protected post or page.
    • Blurring effect: Visually block the rest with a stylish transparent overlay and gradient fade.
    • Simple sign-up form: Just nickname, email, and a checkbox.
    • Magic link login: No passwords. Just one secure click from an email.
    • Instant unlock: They’re verified, logged in, and redirected — all in one clean flow.

    It’s secure. It’s clean. And it works with everything:

    • Pages, posts, custom post types
    • Custom fields
    • Pages rendered in React, Elementor, anything

    Even better: the overlay is completely isolated from the content. No DOM collisions. No style interference. Your content stays yours. My plugin just floats above it like a well-behaved guest.


    Why This Matters to Me

    I wasn’t trying to build the next “membership empire” plugin. I wasn’t optimizing for scale. I just wanted something that worked — for me, and people like me.

    I needed:

    • A gate that doesn’t kill the user experience
    • A sign-up that doesn’t require a new password
    • A flow that feels like it belongs in 2025, not 2012

    The end result is something I’m genuinely proud of. It’s minimal. It’s frictionless. It feels good to use. And it respects the principles I care about:

    • Simplicity
    • Data ownership
    • Clean onboarding
    • Zero distractions

    What’s Next?

    Right now, I’m running Surfstyk Simplest Membership on my own site to protect CRM content — and it works beautifully.

    I’m thinking about releasing it publicly. If I find the time (and maybe a few plugin veterans who’ve done this before), I’d love to get it into the WordPress Plugin Directory.

    If that’s your world — ping me.
    If you want to use it — let’s talk.
    If you just want to peek — go check it out here.


    Final Thoughts

    There’s something special about building for yourself.

    You make better decisions. You’re not distracted by trends. You care more about what it feels like at 11pm when your brain’s tired but the idea is still burning.

    This plugin wasn’t built with VC funding or a launch strategy.
    It was built with the door slightly open, the ocean air rolling in, and the quiet conviction that something simple can still be powerful.

    Thanks for reading.

  • TYPO3, WordPress, and a Morning by the Sea

    TYPO3, WordPress, and a Morning by the Sea

    ☕️ TYPO3, WordPress, and a Morning by the Sea

    The window is open. Seagulls are shouting over Praia do Matadouro, the ocean rhythm humming underneath it all. I take a sip of coffee — still hot, still quiet — and let my eyes rest on the horizon.

    It’s early. The kind of early where the sun is just starting to do its job, and the light is spilling across my desk in soft gold. A new tab opens. I’m checking a few websites for a client, like I do many mornings — quick source code scan, structure check, see what’s under the surface.

    Mostly WordPress. Always WordPress.

    But then I pause.

    This website is powered by TYPO3 – inspiring people to share!

    Wait a second. Is that… TYPO3?

    I lean in, frown a little, and squint at the headers.

    Yep. TYPO3. That takes me back.

    A sudden rabbit hole

    I don’t normally go down technical rabbit holes before 9 AM. But this one feels personal.

    I start digging — not out of skepticism, but curiosity. I’ve built, scaled, and helped sunset plenty of CMS systems over the years. And while TYPO3 and I have crossed paths before, it’s been a while.

    I open my dashboard notes, start running a quick comparison. What’s TYPO3 up to in 2025? Is it worth considering? And how does it hold up against my go-to workhorse, WordPress?

    The market doesn’t lie

    The numbers say it all:

    • WordPress powers over 43% of the entire internet.
    • TYPO3? Around 0.6% and mostly in German-speaking enterprise circles.

    At this point, I mumble something like:

    “Okay… maybe there’s a reason I don’t run into this very often.”

    But I don’t want to dismiss it too quickly. So I pull up the data, and it turns into this neat little table:

    AspectWordPressTYPO3
    Market Share43%+ of all websites worldwide~0.6%, strong in Germany, Enterprise markets
    Ease of UseBeginner-friendly block editor, drag & drop, real-time previewSteep learning curve, developer-centric interface
    Extensions60,000+ plugins and themes6,000+ extensions, fewer integrations
    PerformanceGreat up to medium scale; needs tuning for enterpriseBuilt for complex, high-scale environments
    SecuritySecure if maintained; high attack surface due to popularityMore secure out of the box; enterprise-grade controls
    SEOExcellent with Yoast & others Very strong technical SEO built-in
    Cost to DevelopLower – wide talent pool, lots of freelancersHigher – specialized developer skill required
    CommunityMassive, global, vibrant (WordCamps, forums, etc.)Smaller but passionate; focused around TYPO3 Association
    Who it’s forBloggers, small businesses, e-commerce, creatorsCorporates, governments, multilingual portals, regulated environments

    The honest verdict

    So here’s the thing: TYPO3 isn’t bad. It’s focused. It’s opinionated. It serves enterprise environments well — and if you have a German government project or a multinational portal with strict workflows, it might even be the right call.

    But for most real-world projects I work on — fast-moving, pragmatic, scaling from solopreneur to small team to mid-sized business — WordPress wins. Every time.

    And it’s not just about the numbers.

    It’s about how it feels to build with it. How fast you can launch. How easy it is to hand off. How your marketing team won’t hate you for choosing it.

    Zooming back out

    I glance back at the window. The ocean’s picking up. Light’s brighter now. The coffee’s cooling in my hand.

    And I think:

    “Yeah, WordPress just makes sense. It gets out of the way. It lets you ship.”

    For someone like me — a fractional tech strategist who lives in that sweet spot between strategy and shipping — that matters. A lot.

    I don’t need elegance for elegance’s sake. I need momentum. WordPress gives me that.

    If you’re on the fence…

    If you’re evaluating your next CMS stack — maybe you’re in that classic in-between moment of rebranding, launching, rebuilding — don’t overthink it. Start with WordPress. There’s a reason it keeps winning.

    And if you’re knee-deep in legacy systems or evaluating “enterprise-grade” options that feel like overkill? Let’s talk. I’ve been in those rooms. I’ve made those migrations. I know the signs.

    That morning, over coffee and a glimpse into someone else’s codebase, I was reminded why I keep coming back to WordPress.

    Not because it’s flashy.

    But because it works.

    And if you work in the real world — with real clients, real budgets, real deadlines — that’s exactly what you need.

  • Inside WordCamp Europe 2025: A Tech Strategist’s Raw Take

    Inside WordCamp Europe 2025: A Tech Strategist’s Raw Take

    Sitting in the front row at the fireside chat with Matt and Mary talking about the state of affairs of WordPress, I came across a term again that I haven’t read in a while:

    data liberation“.

    It perfectly reflects what I’ve been thinking and working on over the past few years. You have to own your content, you have to own your data, and be free with it to share it with the platform that you like.

    This isn’t only true for CRM systems that I’m focused on—it’s fundamental to how we should approach data and personal information online everywhere. This was a key moment across the three days, and I’m getting ahead of myself because there’s a lot more to unpack.

    From Spontaneous Discovery to Strategic Insight

    Four weeks ago, I didn’t even know about the WordPress community. Then, thanks to the WordPress dashboard (which needs some strong improvements, by the way—I agree with Matt on that one), I discovered WordCamp Lisbon and attended it spontaneously. That’s where I met the vibrant people of the community and learned about the event in Basel.

    Despite all odds, I booked the flight and attended without any time to build expectations. In this approach, you’ll find my honest impressions. Since there’s substantial ground to cover, I’m creating three parts: this raw take from the event, a deep dive into the sessions I strategically attended, and a detailed analysis of that revealing fireside chat with Matt and Mary.

    The Community Pulse: Alive and Evolving

    WordPress is alive and powering roughly 50% of the internet, with Google and Salesforce there as title sponsors. The vibe was vibrant—everyone discussing what’s genuinely interesting about WordPress, what they can accomplish with it, and expressing gratitude for what the platform offers. The hundreds of volunteers working on the event is a statement by itself. This volunteer-driven approach mirrors what I see in successful CRM implementations—community ownership drives better adoption than top-down mandates.

    The Elephant in the Room

    Of course, there were dark clouds—not only over Basel’s sky but within the community. I won’t dive into anything that’s in progress, but the launch of Project FAIR was something that surprised many and will definitely impact the path forward.

    What I took away was Matt’s statement: “A lot of great inventions in the WordPress community started with ‘we don’t like the way this is done. Let’s do our own thing.’” Then later, these innovations made it back into core. That’s a productive mindset, but the situation was definitely a discussion topic on and off stage.

    Three Moments That Shifted My Perspective

    1. The AI Team Formation

    I didn’t see many AI buzzwords across the booths and speeches, but AI was part of numerous conversations. The fact that WordPress is forming its own AI team proves this matters strategically. This reminds me of how forward-thinking organizations approach CRM—not chasing every trend, but methodically building capability where it delivers real value.

    2. The Block Editor Evolution

    Gutenberg Block Editor and Interactive API were huge topics. Everyone was discussing them, and my take is that most have converted to block editor advocates. There’s still ongoing discussion, and it’s productive to observe.

    As a satisfied user of WordPress 6.8 with standard Twentytwentyfive theme, using Gutenberg blocks, I can confidently say this is remarkable. I used to purchase premium themes for commercial projects. Now I can accomplish more than 80% of the work with everything available in the free version of WordPress, which creates tremendous opportunities.

    3. The Unexpected Q&A Dynamic

    Something few people anticipated was an actual Q&A session during Matt and Mary’s fireside chat, which included genuinely direct feedback from the community. I’ll examine this in a dedicated analysis, so stay with me through this series.

    What Nobody Was Discussing

    Something absent from conversations was WooCommerce’s current limitations and the competitive landscape against platforms like Shopify or Wix, who make user onboarding significantly easier. For WordPress to compete effectively, substantial work remains—particularly around WooCommerce’s checkout process, which is still restrictive with considerable development needed.

    This presents future risk, as confirmed by several one-on-one conversations I had with community members. This connects to a principle I call “CRM as a mindset“—the best systems prioritize user experience over technical features, and WordPress still has work to do here.

    The Generational Challenge

    There’s a saying: “If you’re the smartest person in the room, you’re in the wrong room.” I like to adapt this to: “If you’re the oldest person in the room, bring in more young people.”

    In this event’s context, I felt great company, but I was particularly intrigued by something Matt mentioned about bringing younger people into the developer community. I’ll dissect that comment and its implications in my upcoming analysis of the fireside chat—it reveals more about WordPress’s strategic challenges than most realize.


    Coming Next: In Part 2, I’ll break down the three strategic sessions I attended, including insights on enterprise WordPress implementation, potential CRM use cases and integration patterns, and the technical demonstrations that revealed WordPress’s actual capabilities and what plugins might make it even more fit for purpose.

    Coming soon Part 3: The complete fireside chat analysis—including the uncomfortable questions, strategic admissions, and timeline revelations that most attendees missed but every WordPress professional should understand.