• Skip to primary navigation
  • Skip to main content
  • Skip to footer
  • Store
  • Support
  • Theme Documentation
  • My Account
  • Cart

9seeds

Building Custom WordPress Solutions | Plugin Development

 
  • Custom Development
  • Themes
  • Plugins
  • About
  • Contact
  • Blog

News

9seeds dual store news

9seeds’ WordPress Theme Store Launched

Posted on October 27, 2017

We are super excited to announce our 9seeds has completed the move of Web Savvy Marketing’s theme store and forums over to 9seeds.com!

Everything theme related from sales to support now occurs over here at our Theme Store. If you are an existing customer of WSM or 9seeds and ant to get to your existing account history it’s here at My Account and the support forums can be directly accessed via this link.

As many of you know immediately after the acquisition was announced Robert and I took over providing support but were doing so on WSM’s forums. We felt that would be the best way to intimately understand the running of the store and support forums. We also started making a plan on how to bring all that was there over to 9seeds.com.

Are two WordPress e-commerce stores better than one?

We considered merging the two stores for a long time. WSM’s WooCommerce installation has a long order and customer history selling Genesis Child Themes for over 5 years. Our site had an equally long order and customer history selling WordPress plugins for over 5 years, however using Easy Digital Downloads with software licensing and subscriptions.

In the end, we determined it was just way to much unnecessary work and far too likely to have bugs and issues that would cause customers grief.  So, we did what we tell our custom development clients all the time, “take it one step at a time.”

WooCommerce or Easy Digital Downloads or Something else?

For now, we have two storefronts on one domain: one for themes and one for plugins. You’ll notice a “Theme Cart” and “Plugin Cart” up in the top menu. That might be a little confusing to some but we suspect it’s extremely unlikely any of you are going to try to buy one of our themes and one of our plugins at the same time, at least in the near term.

A lot of you are probably wondering since we’re now working with both if we really like WooCommerce or Easy Digital Downloads better. The answer is no, we like them both and more. Really. We remember a time when the only e-commerce solution for WordPress was WP e-commerce. In fact, we even built a couple of commercial plugins for WPEC many years ago, one was sold to another maintainer and the other we still actively sell.

In fact, these days there are several great options for e-commerce on WordPress including not just those, but iThemes Exchange and Freemius and a bunch of others.

We may settle on one solution to rule them all at a later date, but for now, we don’t want to give up EDD’s Software Licensing and updates for our plugin sales. Nor do we don’t want to give up WooCommerce’s follow up email system and cart experience.

We will share more on this in the coming months as things evolve, rest assured one of our aims continue to be to make things painless for all our existing and future customers.

A Smooth Transition for Customers

We think we’ve got all the kinks worked out for now. If you notice anything amiss, please let us know and we’ll get it fixed up right away. We want your experience at the 9seeds theme and plugin store to be the best possible.

Of course, I also know many of you want to hear news about new themes and plugins. Those are coming very soon and are in final testing now that the store/forum merge is behind us that the store work is behind us, so stay tuned!

Continue Reading

Jon Brown

    More by Jon Brown
    Sponsoring WordCamps like Lehigh Valley.

    Sponsoring WordCamps in Leigh Valley and Worldwide

    Posted on August 17, 2017

    Sponsoring WordCamps is one of our favorite ways we give back to the greater WordPress community. With so many WordCamps happening ALL around the world, we can’t sponsor them all. We generally focus on sponsoring the ones where 9seeds has someone attending or speaking. However  there are times when someone reaches out and asks us to sponsor. In these cases, we gladly pitch in.

    WordCamp Leigh Valley was an example of that. Ken Kramer whom has long helped out in the Web Savvy Marketing theme support forums, and now 9seeds theme support forums. He is one of the organizers for WordCamp Lehigh Valley. He reached out to ask if we would sponsor and I jumped at the opportunity!

    “We started sponsoring WordCamps when they were all “small camps,” and those are still my favorites to sponsor. First, small camps tend to have the most trouble finding sponsors, but also I’m nostalgic and miss the intimate community feel one can get at a smaller camp. ” – Jon Brown, Founder, 9seeds

    Review the schedule or click on a session title to review the information shared at this special WordCamp.

    We weren’t able to attend the actual WordCamp Leigh Valley, but I’m hoping to stop by their local meetup group the next time I’m in Pennsylvania visiting friends in the area.

    Continue Reading

    9seeds

      More by 9seeds

      WordPress Triple Threat: Custom Development, Plugins and now Themes too!

      Posted on June 13, 2017

      Since 9seeds first sprouted, building and selling WordPress products has been part of our DNA. We launched our first plugin in 2009 shortly after forming our company. Since then there have a been many plugins we’ve built for ourselves or clients, sold as products and supported, and we have even sold plugin code bases to other maintainers when we no longer were the best fit for them.

      Over the years, however, most of our time has been spent building custom WordPress sites for clients. Principally building bespoke themes (design) as well as custom functionality (plugins). We’ve helped hundreds of clients take an idea they had for a site that did something unique and turn it into a living, breathing website customized to just their needs.

      We’ve learned a lot about what works, what doesn’t, and how to avoid what might not be a problem today or tomorrow, but might show up as a problem next year and the year after. We still actively work for an maintain many of the sites we built in the first year. Granted, most of those folks have opted for full rebuilds since then.

      One thing we’ve never done in all our years is to sell WordPress themes as a product, until now.

      Building WordPress Products on the Side

      As much as we’ve wanted to pursue building and selling WordPress themes, the immediacy of building custom websites for clients tended to take precedence over the long game of building and selling products.

      Speaking of long games, 9seeds’ 8th anniversary is right around the corner. That may not sound like a long time but it’s a lot longer than most agencies focused on WordPress have been in business.

      Since the beginning, the majority of sites we’ve built from scratch have been built on the Genesis Framework from StudioPress. That is not to say we’re exclusively a Genesis shop. We havee built sites on everything from Thesis to Headway, to Underscores, to Roots, to just rolling our own themes. We’ve always approached site development by choosing the foundation that is best for each individual client, but most of the time that is Genesis.

      We’ve also built sites a huge range of sites from classic WordPress blogs to high traffic publishing sites like The Good Men Project. We’ve built membership sites like LendingMemo and 40DayJoyChallenge. We’ve built e-commerce sites like PowerPhone and Cardsmiths Breaks. We’ve even built private intranets and a bunch of sites we’re not allowed to talk about ;).

      While a healthy portion of our clients opt to have custom themes designed from scratch, a good portion are also well served by leveraging existing commercially available themes. When clients do thier own them shopping we always guide them to one of two places – StudioPress’ own theme store or Web Savvy Marketing’s theme store.

      The reason is simply that we’ve never had a problem taking themes from those two sources and using them out of the box, or heavily customizing them to suit. We have never had a problem with either which is more than I can say for the majority of themes we see from other marketplaces.

      A match made in WordPress Heaven

      While I’ve know Rebecca Gill from Web Savvy Marketing professionally and by her stellar reputation for many years. I didn’t get to know her well personally though until just the last year. We’d certainly cross paths WordCamps and across the interwebs but she tended to frequent the east coast camps while I frequented the west coast camps.

      Internally 9seeds had often talked about building and selling themes on the Genesis framework specifically and about a year ago I sought Rebecca’s sage counsel on whether she thought 9seeds pursuing building Genesis themes was still a worthwhile business venture. WordPress is a fairly unique business culture filled with an atmosphere of friendly competition where asking a question like “What do you think of me going into the Genesis child theme business head to head with you?” just isn’t as bizarre as it might be in other contexts. Regardless, when I asked her this questions it had never occurred to me she’d even have considered letting go of the amazing theme store she’d built up over all these years.

      It took a bit more time of getting to know each other personally before I came to hold the same feelings that others had shared about her. I felt deeply that this was a person I not only wanted to be friends with but wanted to be in business with.

      It became apparent to both of us that this was a perfect fit.

      9seeds would take over the store starting with support and new theme development that had slowed to a trickle. Rebecca would counsel me on getting our SEO and marketing skills up to the level excellence she’s achieved with WSM.

      It’s a win for 9seeds by giving us a springboard into a market we’ve long had our eye on accompanied by the best trail guide in the business showing us the path.

      It’s a win for WSM by freeing Rebecca and her team up to align with where her focus now is on larger custom site builds and SEO consulting.

      Exciting Times Ahead

      For me personally, this is my most exciting business step forward yet. We already have a theme in development that will be releasing once the store merge is complete.

      We’re still working out the technical and design details of moving the support forums and theme store over from the WSM domain to 9seeds without interruptions or downtime. That’s a pretty daunting task given how long both stores have been around and that one is built on WooCommerce while the other is on Easy Digital downloads.

      I know all of WSM’s loyal fans are going to be thrilled with what we’ve got in store. You can guess with 9seeds’ strong background in web publishing, memberships sites and more a bit what we have planned for the next year, but we’d love to hear from you all what you’d like to see in the comments.

      Continue Reading

      Jon Brown

        More by Jon Brown

        Sponsoring Another WordCamp, Orange County 2017 #WCOC!

        Posted on June 10, 2017

         

        Once again 9seeds is honored to be one of the many awesome sponsors of WordCamp Orange County 2017 happening this weekend in Orange County, California.

        At 9seeds we’ve all long been avid attendees, speakers, sponsors, and even organizers of  WordCamps around the world, from Las Vegas to Bangkok. WordCamp Orange County, however, has a very unique and special place in all our hearts and in particular Jon Brown’s WordPress history.

        For 9seeds there are a lot of first and milestones that have occurred at this long-running cornerstone of the WordCamp Community.

        9seeds sponsored the first ever WordCamp Orange County in 2010 and it was where Jon Brown first met John Hawkins and Todd Huish!

        9seeds sponsored WordCamp Orange County again in 2011 and this year, 2017, but that doesn’t mean we haven’t been involved in every WordCamp Orange County in between!

        Jon Brown and John Hawkins have both spoken at WordCamp Orange County multiple times over the years: 2010, 2013, 2014, 2016 (both of us taking a turn in 2016).

        WordCamp Orange County was huge for me personally as well.  As mentioned above it was the first camp I ever attended and that years organizers Brandon Dove and Jeff Zinn of Pixel Jar have been friends and mentors ever since. It was where I did my first talk on my journey from freelancer to agency owner while being a remote worker and digital nomad in 2014.

        Oh, and Jon Brown is helping organize this year as well.

         

         

        Continue Reading

        9seeds

          More by 9seeds
          WordPress Performance

          WordPress Post Editor Performance

          Posted on August 17, 2016

          WordPress Performance sometimes seems like an endless quest, but there are sometimes little things that come along and yield great rewards.

          Front end and back end WordPress Performance auditing and optimizing is a topic I’ve been meaning to write more depth about since speaking on the topic at a few WordPress meetups, but I wanted to quickly share a performance tip on something I came across today while preparing a bug report for Yoast’s WordPress SEO plugin.

          Spotting Performance Issues in WordPress

          One of the ways we spot performance issues is to run Query Monitor on most of the sites we work on. Query Monitor is a great tool for a quick view into what’s going on on the backend on every page view and I’ll go into more in a future post.

          TL:DR; Skip to #3 at the end.

          I am no Chris Lema, which is a abstract way of saying, “I personally don’t spend much time in WordPress post editor”. However, today I was in there investigating a little visual glitch with the WordPress SEO snippet preview metabox when I also noticed that the post editor was loading very slowly. Thanks to Query Monitor I could instantly see the cause was a slow MySQL Query and it was coming from a function called meta_form().

          Now, this was on a client’s site with over 100,000 posts and with a site that size performance issues show up rather quickly. This however, does affects smaller sites as well though not to the extent it does large publisher websites like this one. Also just to be clear it is really impacted by the number of rows in the postmeta table, not the number of posts directly, but I figured saying 100,000 post made more sense that 1.8 million rows. On the big site like this one though it was causing a 15 second query. While loading the post editor is infrequent, even on a site like this one with over 100 authors, that 15s is taking up a valuable MySQL thread and certainly frustrating authors.

          On my much smaller personal blog it was still delaying page load several seconds and here on 9seeds.com (two sites with no where near as big of a database as our typical client’s site) it was causing a 7s slowdown on the post editor loading.

          WordPress Performance
          Slow meta_form() database query

          Geeky WordPress Developer Details of the slowdown

          WordPress runs a function called meta_form() which displays the custom fields meta box. It runs a somewhat intensive query on the wp_postmeta to generate that box (a box most people don’t even need anymore, but that’s a whole separate issue).

          That query looks like this:

          SELECT DISTINCT meta_key
          FROM wp_postmeta 
          WHERE meta_key NOT BETWEEN '_'
          AND '_z'  HAVING meta_key
          NOT LIKE '\\_%' 
          ORDER BY meta_key 
          LIMIT 30
          

          That’s actually the improved version of the query! When these changes were made to improve the query back in WordPress version 4.3 it seems that only half the needed changes to the database were made for existing sites. The table index was updated to 191 characters, but the field itself was not updated. That mismatch makes that query super slow on large wp_postmeta tables.

          There is a new bug report for this performance issue already. While it seems like a trivial thing to fix any time WordPress core needs to modify the existing database on millions of WordPress it’s a pretty big deal and can take a while to get incorporated.

          The good news is there are a couple fixes you can implement yourself.

          1. (not recommended) My first fix was to truncate the meta_key column to 191 characters with:

          I shouldn’t need to say this but backup your database and test this in a safe local or staging environment before doing this on your live database! Database updates are dangerous things without an “undo” button so be extra careful. If you don’t even know how/where to run this code you probably shouldn’t be doing this sort of thing. Keep reading
          ALTER TABLE wp_postmeta MODIFY meta_key varchar(191);
          

          That worked, but it’s a bit dangerous since you could have a very long meta_key and it could get truncated, so don’t do that, there are better ways.

          2. (recommended) Much easier, in WordPress 4.4 there was a new filter introduced that short-circuits that query ‘postmeta_form_keys‘ which you can provide a pre-defined array of keys to if you need.

          add_filter('postmeta_form_keys', array('my_key1, my_key2');
          

          3. (most recommended) Just ditch loading the ancient custom fields box entirely with:

          /**
           * Remove Ancient Custom Fields metabox from post editor
           * because it uses a very slow query meta_key sort query 
           * so on sites with large postmeta tables it is super slow
           * and is rarely useful anymore on any site
           */ 
          function s9_remove_post_custom_fields_metabox() {
               foreach ( get_post_types( '', 'names' ) as $post_type ) {
                   remove_meta_box( 'postcustom' , $post_type , 'normal' );    
               } 
          } 
          add_action( 'admin_menu' , 's9_remove_post_custom_fields_metabox' ); 
          

          Added to your theme or a core functionality plugin.

          Please do let me know if this helps you in the comments, and stay tuned for a deeper dive into WP site performance auditing and fixes.

          Continue Reading

          Jon Brown

            More by Jon Brown
            • Prev
            • Page 1
            • Page 2
            • Page 3
            • Page 4
            • Page 5
            • Page 6
            • Interim pages omitted …
            • Page 13
            • Next

            Footer

            Get in Touch

            • New Project Inquiry
            • Product Support and General Inquiry
            • Store Purchase Terms and Conditions
            • Store FAQ
            • Cookie Policy
            • Privacy Policy

            Our Services

            • Custom WP Development
            • Theme Store
            • Plugin Store

            WordPress Plugins for Sale

            • Time Tracker
            • Authorize.net SIM Gateway

            WordPress Plugins for Free

            • Simple Calendar
            • WP Chargify
            • Facebook
            • Twitter
            • LinkedIn
            • WordPress
            • GitHub

            Copyright 2025 | 9seeds, LLC

            Like nearly all websites this one uses cookies too. Like most users we think consent banners like these are a dumb solution, but it's what we've got until new laws are passed. We use cookies on our website for remembering your preferences, for example if you're logged in or what is in your cart. We also use 3rd party cookies for analytics so we know what pages on the site are most popular. By clicking “Accept”, you consent to the use of ALL the cookies.
            Do not sell my personal information.
            Cookie SettingsAccept
            Manage consent

            Privacy Overview

            This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience and may even preclude you being able to login to the website.
            Necessary
            Always Enabled
            Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
            CookieDurationDescription
            __stripe_mid1 yearThis cookie is set by Stripe payment gateway. This cookie is used to enable payment on the website without storing any patment information on a server.
            __stripe_sid30 minutesThis cookie is set by Stripe payment gateway. This cookie is used to enable payment on the website without storing any patment information on a server.
            cookielawinfo-checkbox-advertisement1 yearSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category .
            cookielawinfo-checkbox-analytics1 yearSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Analytics" category .
            cookielawinfo-checkbox-necessary1 yearSet by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Necessary" category .
            cookielawinfo-checkbox-others1 yearSet by the GDPR Cookie Consent plugin, this cookie is used to store the user consent for cookies in the category "Others".
            cookielawinfo-checkbox-performance1 yearSet by the GDPR Cookie Consent plugin, this cookie is used to store the user consent for cookies in the category "Performance".
            Functional
            Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
            Performance
            Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
            Analytics
            Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
            CookieDurationDescription
            _ga2 yearsThe _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors.
            _gid1 dayInstalled by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously.
            CONSENT2 yearsYouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.
            Advertisement
            Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
            CookieDurationDescription
            VISITOR_INFO1_LIVE5 months 27 daysA cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
            YSCsessionYSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
            yt-remote-connected-devicesneverYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
            yt-remote-device-idneverYouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
            Others
            Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
            CookieDurationDescription
            cookielawinfo-checkbox-functional1 yearThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
            SAVE & ACCEPT
            Powered by CookieYes Logo