It’s time for a new GeoDirectory Dashboard

and this new GeoDirectory Dashboard will be integrated into the Core plugin, still completely free of charge.

We already anticipated that the GeoDirectory back end UI will be completely redesigned and it will blend better with the original WP Dashboard design. You can see an example here:

GeoDirectory Dashboard

However we didn’t want the site admins to find a settings page when clicking the GeoDirectory main menu.

Instead we wanted a sort of Admin control panel.

A dashboard with the fundamental data needed to actually run the directory.

A couple of weeks ago, I opened a thread asking what kind of data our members would like to see in their new GeoDirectory Dashboard.

Surprisingly not many voiced their opinion, so we had to take all the decisions directly.

I was surprise to see low participation, because I’m 100% positive that this will be the screen most Directory owners will look at 1st thing, when visiting their website dashboard every day.

I know for a fact, because the screen that I look at the most on our website, is the Easy Digital Download report screen. This is basically a dashboard of our own figures, sales and revenues.

After consulting my colleagues, we decided that the fundamental data needed to actually run a directory are things like:

Actions Required

  • Pending Listings
  • Pending Reviews
  • Pending Claims

Statistics

  • N° of Listings
  • N° of Paid Listings
  • N° of Reviews
  • N° of Claims
  • Revenues
  • Users

Statistics will be possible to filter by :

Today, Yesterday, This Week, Last Week, This Month, Last Month, This Year, Last Year, Custom and Total.

You will be able to filter by all CPT or filter by specific CPT.

This are the latest drafts that our new UI guy came up with.

GeoDirectory V2 New Dashboard

We hope you like it and if you have some feedback, you are still on time… 🙂

Team GeoDirectory

This is our 1st official post about GeoDirectory V2! WooHoo! 🙂

We have been working on GDv2 for a few months and it’s time to share a few of the details and goals, so users and developers can plan for the future.

Why GeoDirectory V2?

GeoDirectory V2 delivers Simplicity, Theme Compatibility, and a Modernized Codebase that take advantage of newer versions of WordPress and PHP.

Simplicity

GeoDirectory users have created directories for every niche, and our users come from everywhere and from every skill level. We have senior level developers supporting hundreds of GeoDirectory sites for large companies, junior developers using GeoDirectory for client projects, and WordPress beginners who are creating a directoy for their home town as their very first site.

No matter the user, everyone wants simplicity in both setup and management with a minimum of fuss. For this reason we took few steps to simplify things:

Setup wizard

GeoDirectory V2 features a new Setup wizard that is simple and effective; be up and running in just a few seconds without missing any of the essential settings (like playing with background colors 🙂 ).

GeoDirectory V2 Setup Wizard

Settings

GeoDirectory V2 features a completely rebuilt settings area brings the main settings up front in an easy to use interface, while still providing easy access to the advanced settings and options that our users love.

GeoDirectory V2 main settings

GeoDirectory V2 advanced settings

Menus

GeoDirectory V2 further improves usability for site managers by taking full advantage of the WordPress menu system. All the benefits of advanced links created by GeoDirectory now available in the familiar WordPress menu management interface.

GeoDirectory V2 WordPress menu management integration

Theme Compatibility

GeoDirectory V2 is 100% compatible with any modern theme, right out the box.

Our members have spoken! Themes come in all shapes and sizes; GeoDirectory V2 comes with a whole new layout functionality that will enable you to fit your directory to your niche using your theme. GeoDirectory V2 includes new options that enable you to take advantage of page builders such as WordPress’s upcoming Gutenberg! After Gutenberg’s release GeoDirectory V2 will include blocks giving you unprecedented freedom for your layout.

The changes aren’t just limited to the content area, either. GDv2 allows you to move blocks between the content area, sidebars and even widget areas. New options enable you to decide exactly which pages display which blocks, too. With GeoDirectory V2 you can make exciting new layout designs using even more GeoDirectory block elements than ever before, and do it all with any theme!

Modernized Codebase

GeoDirectory V1 was written for an older version of WordPress and PHP. GeoDirectory V2 is modernized and streamlined in both the core and with regard to dependant resources. These improvements touch all the features and functionality making for performance improvements across the board. GeoDirectory V2 takes advantage of opportunities for gains with PHP and in WordPress for current and future features like Gutenberg!

Conclusions

Simplicity and Compatibility without compromising on features or speed!

GeoDirectory V2 setup is a breeze for any skill level. GeoDirectory V2 continues the tradition of the most feature-rich and scale ready plugin for directories, whether it is the centerpice of the site or part of a larger whole.

Coming soon…

Work on GeoDirectory V2 continues; the foundation for GDv2 is complete and now we are working hard to make all the features you know and love work as good or better than ever before.

Expect an update about an official public beta of the GeoDirectory Core plugin in February! (We will let you know how to participate once released.)

Look out for more posts about specific improvements and features during our countdown to the beta. There are just too many improvements for a single post!

Thanks,

Team GeoDirectory!

The WP plugin directory has been missing a lightweight WordPress User Profile plugin for too long.

Popular user profile plugins are basically full-fledged social network apps.

Some even include content restriction features that generally belong in a membership plugin.

Don’t get me wrong, they are great, but they provide far too many options for anyone who only needs a front-end sign-up form, a front-end login form, a directory of users, and user profile pages.

Introducing UsersWP

Because of the above, we decided to build UsersWP, and this is precisely what it offers:


The free plugin can be downloaded here: https://wordpress.org/plugins/userswp/.

A lightweight WordPress User Profile plugin

Some websites’ user-profiles and the user directory are the center of operations.

For example, a dating website.

In many others, it’s a secondary element of the website, and it shouldn’t be bloated with options because it would slow down the rest.

For example, on any directory website, the users’ profiles are not as crucial as the listings or the directory search engine.

We created UsersWP for this second category for e-commerce websites, directories, and magazines where the users’ profiles and users’ interactions are essential but not the core of the business.

Less than 5 minutes of setup

Our main objective with UsersWP was to make it simple.

If WordPress takes less than 5 minutes to install and set up, the user management plugin shouldn’t take more.

In fact, it probably takes less than 2 minutes to configure UsersWP.

There are literally hands full of options.

We made many decisions to make the system less confusing for users.

The initial setup could be ideal for a vast number of websites.

After installation, the plugin creates seven pages and adds the necessary shortcodes in each of them.

Maybe you’ll want to change the page’s name, but that’s it.

The only thing that will add time is configuring custom fields, but the drag-and-drop account and user registration form builder will make that very easy too.

Fewer options, more hooks

We got rid of many options but added enough filters and actions to make this plugin extremely extensible.

We use hooks and filters to extend the core plugin and integrate it with other plugins such as:

The GeoDirectory integration, for example, will add tabs in the users’ profiles to allow them to see their listings, reviews, and favorites.

Obviously, it’ll also take over the registration and login forms.

The WooCommerce integration will instead add tabs in the users’ profiles to allow them to see their orders and product reviews.

Long story short, UsersWP and its add-ons allow users to interact better with the integrated plugin.

These are just a few of the plugins that we created premium add-ons for.

We also created a few other premium add-ons to extend the community side of websites, like:

  • Private Messages
  • Users Moderation
  • Following
  • Profile Progress

More will be built and released in the near future.

Other than premium extensions, we also created two free add-ons:

  • reCAPTCHA (to protect website registration from bots)
  • Social Login (to allow users to register with the Facebook App Login, for example)

GeoDirectory and UsersWP are integrated without the need for an add-on.

We hope you’ll like UsersWP and decide to make it your WordPress User Profile plugin of choice.

Should you have any feedback that you think will help us improve it, please don’t hesitate to get in touch with us in the comments down below.

If instead, you find any bug, make sure to report it to our support team: https://userswp.io/support/

If you are upgrading from GD Payments Manager V1 to V2, you must carry out some additional steps. Our new free plugin WP Invoicing will now be required to take payment, and the GD payment manager will still handle the price packages and restrictions. ( You can find out more about WP Invoicing here: https://wpgeodirectory.com/wp-invoicing/ )

GD Payment Manager V2+ Install instructions

Payment Gateway Settings

WP Invoicing has its own gateway plugins which are available in your download area, not all come pre-installed, which means less code has to run and only the gateways you use will need to be installed.

  1. Payment Gateway Settings: For a quicker upgrade, take note of any of your active payment gateway settings, this will allow you to copy them over quickly.
  2. Stripe: For gateways like Stripe Payments you will have to update the notification URL in your settings on stripe.com

Installing Payment Manager V2

You will have to manually install the plugin, which is available from your downloads area, this can be done in 3 ways:

  1. FTP: You can upload (overwrite) the current files on your server.
  2. Plugin: You can use this plugin to allow you to upload the new zip file and install the update
  3. Delete + Install: You can also just delete the payments manager V1 and then install the V2 via the zip file (least recommended)

Installing WP Invoicing

You can download our wordpress Invoice plugins from here: wpinvoicing.com; you will find additional payment gateways in your download area under the payment manager.

WPI has its own documentation for installation which you can find here https://wpinvoicing.com/docs/category/getting-started/

You should:

  • Install WP Invoicing
  • Install any extra gateways needed
  • Setup WP Invoicing by following the setup instructions
  • The conversion of price packages and invoices should be automatic, if you have any problems you have to use the conversion tool under Invoicing>Settings>Tools

If you have any problems with GD Payment Manager, please post on the GD Payment Manager forums
If you have any problems with WP Invoicing, please post on the WP Invoicing forums (your GD login details will also work here)

Thanks,

The GeoDirectory Team

We are happy to announce WP Invoicing (now called GetPaid) is now live for its first public beta. In this post, you will learn all you need to know about this great new product! ( if you are upgrading to GD Payments Manager V2, please see here: https://wpgeodirectory.com/payments-manager-v2-setup/)

What is WP Invoicing?

Invoicing (WPI) is a the best of all WordPress invoice plugins that will allow you to send invoices and recurring invoices (depending on payment gateway) to anyone and have them pay through your WP site.
Invoices produced can be made to be EU VAT compliant which many eCommerce solutions currently are not.
WPI is intended for selling or invoicing for digital or intangible items online anywhere in the world and to be EU VAT compliant.

Most importantly WPI is easy to integrate your product with, we intend to use WPI for all our future product payments and we hope other developers will use WPI also.

Why WP Invoicing?

There are lots of reasons to why we created WPI, some of the most important ones are:

  • EU VAT compliance (B2C): If you sell “digital items” to a EU consumers (B2C) you need to be VAT registered in at least one EU country and collect vat from consumers charged at the rate of the consumers country, WPI handles this.
  • EU VAT compliance (B2B): If you sell “digital items” to a EU businesses (B2B) you need to collect certain evidence from the business transaction including it’s VAT Number, company name and location, WPI handles this.
  • Global tax: WPI can handle charging the correct VAT no matter where your business or your customers.
  • Less Code: If we have a centralized plugin that handles all payments for all out products then each product does not have to have its own processing code and all its own custom build gateways, saving you time and money.
  • Gateways: By only having one payment system we only have to make payment gateways once, which means we can build more and cheaper.
  • Developer Friendly: We have built WPI to be developer friendly, meaning it is super easy for devs to use WPI for their products, this step will allow 3rd part devs to not have to worry about tax compliance or building or maintaining payment gateways.

Who is WP Invoicing for?

WPI is really for 4 different sets of people:

  1. AyeCode Customers: AyeCode Ltd is the parent company of GeoDirectory, with the release of GD payment manager V2+ WPI will process all payment for GD and also all our upcoming products.
  2. Developers: Developers can use WPI as their payment solution, meaning they dont have to worry about tax compliance or maintaining many payment gateways and can spend more time improving their products.
  3. 3rd Part Customers: There are customers of 3rd party developer products, once WPI has compatibility with many 3rd party products, 3rd party customers will only have to pay once for a gateway and it will work for many products.
  4. Sending Invoices: WPI by its self can be used to send out tax complaint invoices for any digital/intangible items.

Advanced Custom Fields is a fantastic plugin used by millions that convert WordPress into a full-stack CMS, allowing you to create unlimited custom field groups, and types and add them to any type of custom post type.

However not many know about Advanced Custom Fields Scalability limits.

Quite often we get asked if GeoDirectory uses Advanced Custom Fields to manage listings’ custom fields.

When we reply that GeoDirectory has its own Custom Field System built in, they wonder why we decided to “reinvent the wheel”.

While the answer for us is crystal clear, Advanced Custom Fields Scalability is quite limited in building directories.

We thought that maybe, being users, they are not aware of what is going on under the hood and the scalability challenges that a web directory could present.

However, not too long ago, we stumbled upon a poll on a popular WordPress group on Facebook, where the options to vote for the “Best Directory” were: GeoDirectory, a few other Directory Themes available on popular marketplaces and there was also the option ACF + FacetWP.

When we saw the results, we were perplexed, to say the least, ACF + FacetWP had a lot more votes than we would have thought.

People who voted were not supposed to be just simple users, but website developers and WordPress experts.

For this reason, we decided it was time to explain why it is NOT a good idea to use Advanced Custom Fields for a directory.

And why Web Developers shouldn’t offer that solution to anyone unless they don’t care about providing fast, scalable solutions to their customers, that can grow sustainably.

WordPress Custom Fields Scalability Limits

WordPress by default uses the wp_postmeta database table to store custom field data, and it creates 1 row for each custom field used in a post.

Other than that WordPress adds a lot of extra data in this table for each post, each of which will use 1 row of the table.

If you spent some time optimizing SQL queries, you’ll know that’s not an ideal scenario for things like directories and filtering.

In fact, the default database structure is potentially a huge bottleneck for websites with many posts and custom fields.

It is considered one of WordPress’s weak points.

This is because to filter posts by custom fields, you’ll have to join the wp_post table with the wp_postmeta table in your query.

The bigger the tables will grow, the slower the queries will become.

Worst of all if you want to filter by two meta values, you would need to join the post_meta table twice to do it in one query.

This can eat up system memory and drag things down for anything but a small directory.

Advanced Custom Fields Scalability Limits

The Advanced custom fields plugin, is perfect for any website with a low or moderate number of posts, pages, and custom fields in general.

However, except few rare cases, directories are just the opposite.

They have a very high number of posts with potentially a very high number of custom fields too.

The primary Advanced Custom Fields scalability issue is that it creates 2 rows in the wp_postmeta table of your database for each custom field added to a listing.

It will also add several postmeta rows belonging to its own settings.

This means that it will add more than twice the rows in the wp_postmeta table of your database compared to using the default WordPress custom field system.

We did a quick test that should help us better explain this matter.

We created a new WordPress website, deleted the hello world post, and the sample page and we installed Advanced Custom Fields.

We created 1 group and 5 custom fields, and we published 3 posts each using the 5 custom fields.

After this, our wp_postmeta table already counted 83 rows.

That’s insane.

Imagine the number of rows for a directory with 300,000 listings and five custom fields.

With ACF, your wp_postmeta table would count minimum of 3,000,000 rows

How does GeoDirectory Scale?

That is very simple, we create a custom table for each of our custom post types.

Example: wp_gd_gd_place_detail

In this table, we save all custom fields and their data, in a row for each post.

We also built our own PHP API to query our custom tables, just like WordPress has its own PHP API to query default wp database tables.

This means GD, in most cases, only has to join the post table to our table.

We can then filter those results by ANY custom field.

We could filter by 20 custom fields, whereas ACF, even with facetWP (which does speed things up but still has the core limitation), would have to join multiple tables over and over to do the same job in one query, using many times the server memory for the same query.

Conclusions

So if we compare GeoDirectory with WordPress or WP + Advanced Custom Fields, we see that:

WordPress
1) Requires an extra table JOIN for each custom field you want to filter by.
2) wp_postmeta quickly becomes big, slowing down the queries

WP + ACF

1) Requires an extra table JOIN for each custom field you want to filter by.
2) wp_postmeta becomes twice as big compared to using WordPress alone

GeoDirectory

1) No join is required
2) GD does not add to the wp_postmeta info, so does not create unnecessary bulk.
3) The database storing listings data counts 1 row per post

WordPress is known for this limitation in how it stores data. In most cases, this system works fine, but when it comes to large directories, it’s just not the right solution.

That’s why with GeoDirectory, you can create a directory with millions of listings, while with WP + Advanced Custom Fields, you are lucky if you can make a directory with a few hundred listings before starting to see major performance problems.

These are the Advanced Custom Fields scalability limits that made us decide not to use it for GeoDirectory, and this is why you shouldn’t use it too.

If you have any questions, feel free to ask in the comment down below.

WordPress localization features allows you to make plugins and themes easily translatable through WordPress Language files (po/mo files).

This is true especially since WordPress 3.7 and it got a whole lot easier since WordPress 4.6.

A lot of improvement has been made to the whole translation system for WordPress, I felt it really needs a refreshed post.

WordPress language files – The confusion ( Developer edition )

For developers, it comes down to how to let WordPress know you have translation files the proper way.

As developers we were told to use “load_plugin_textdomain()” and point this to our language file in our plugin folder.

However in the past this would be the only place WordPress would look and if a customer added their own language file there, on the next update it would be gone!

There was an article on the web a while back promoting using a second call this time using the function “load_textdomain()” to point to a file in the WP language folder and that is what a lot of people did (including us).

This meant that users could place their language files in a predetermined place in the WP language folder and the translation would not be lost on the plugin update.

WordPress language files – The confusion ( User edition )

Users need to know where to put a custom translation for a plugin/theme, the problem is that in the past this could have been in several places.

The WP documentation tells developer to link to a folder inside their plugin folder called “languages” but the developer might use the folder “lang” and even then this will be lost when the plugin/theme is updated.

Some developers would add a second check again in a place of the developers choosing, but often in a custom named folder in the WP languages folder.

This meant there was no consistent way for a user to know where to place their custom translation files safely.

Loading language files the correct way (2017)

Since WP 4.6 this got a whole lot easier for both users and developers!

As a developer you now just have to make sure you are loading your language files correctly, following the WP documentation as below:

<br />
// for plugins<br />
add_action( 'init', 'myplugin_load_textdomain' );<br />
function myplugin_load_textdomain() {<br />
  load_plugin_textdomain( 'my-plugin', false, basename( dirname( __FILE__ ) ) . '/languages' );<br />
}<br />

<br />
// for themes<br />
add_action( 'after_setup_theme', 'my_theme_setup' );<br />
function my_theme_setup(){<br />
    load_theme_textdomain( 'my-theme', get_template_directory() . '/languages' );<br />
}<br />

Notice we fire these on the ‘init’ and ‘after_setup_theme’ hooks, this should mean everything will load nicely.

If you fire it directly or before their respective hooks you can have problems with some strings not translating and plugins to manipulate translations or to create multi lingual websites such as WPML, might not work at all.

As users we now have a convenient and consistently named place we can place our language files.

  • For plugins: /wp-content/languages/plugins/my-plugin-en_US.mo
  • For themes: /wp-content/languages/themes/my-theme-en_US.mo

The ‘my-plugin’ and ‘my-theme’ being the textdomain of the plugin/theme (usually found in the plugin readme.txt or the theme style.css at the top).

This is a great improvement over the old way and will prevent losing translation on updates in most cases.

In some cases the plugin/theme might already have a new translation in your languages stored on wp.org, if this is the case then it might overwrite your .mo file but in most cases this will be desired.

You can contribute to translations on wp.org if the plugin is hosted there, if it is a premium plugin there there is little chance it will be overwritten.

Bonus information

WordPress will try to find your WordPress language files in several places,for a plugin with a textdomain ‘my-plugin’ it would first look here:

/wp-content/languages/plugins/my-plugin-en_US.mo

If it does not find a translation there and the plugin specifies where to find one locally, it will look there:

/wp-content/plugins/my-plugin/languages/my-plugin-en_US.mo

If the plugin does no specify a path then WordPress will look here instead:

/wp-content/languages/my-plugin-en_US.mo

The WordPress documentation should be followed but in reality from WP 4.6 you don’t even have to specify a local file if you are not including any (if they are stored on the wp.org repo), so you could just add this:

<br />
// for plugins<br />
add_action( 'init', 'myplugin_load_textdomain' );<br />
function myplugin_load_textdomain() {<br />
  load_plugin_textdomain( 'my-plugin');<br />
}<br />

<br />
// for themes<br />
add_action( 'after_setup_theme', 'my_theme_setup' );<br />
function my_theme_setup(){<br />
    load_theme_textdomain( 'my-theme');<br />
}<br />

I hope this clears translations up a bit and if you have any questions or have anything to add please leave a comment below.

WP Easy Updates

We are happy to introduce WP Easy Updates! WPEU is our new update plugin, we will be using it to provide licencing and updates to all our GeoDirectory addons as well as all our future non GD products, in fact anyone who sells WP Plugins (and soon to be themes) through Easy Digital Downloads (EDD) or even provides a free plugin on github can use WPEU to licence and update their plugins easily!

How to use

With the last round of GD updates you will notice a notification informing you WPEU is now required.

After installing the plugin it should automatically copy over your already installed licence keys to the new locations. For plugins that require a licence you will see a notification and a place to enter the licence under the plugins page.

Clicking the “Licence Key” will reveal a place to enter and activate/deactivate a licence key for the product, once the licence key is activated the “Licence Key” text will turn green and the notification message will disappear on the next page refresh.

Why WP Easy Updates?

There are many reasons we have switched to a standalone update plugin:

  • The standard EDD update script will try to ping for each plugin update, though we had already modified our own update script to send only one update array check, WPEU will make this easier to maintain.
  • WPEU will be able to check for an update for non-active plugins, this is great for users and also for security.
  • Much better WP Multisite support, before our update script required the addons to be active and licensed on the main site to work, with WPEU it can be active on any network site.
  • Maintenance, before WPEU if we had to make a change to our update script we had to make a change in all addons and then update all addons, this way we only have to update WPEU (which updates itself from github)
  • Space, WPEU allows us to remove our old update script from all our addons and saves over 1000 lines of code per addon.
  • Pre-release updates, with WPEU we can release any free plugin and update it just from github, in fact WPEU will update itself from github.
  • WPEU requires just two lines of code to enable updates to any plugin, this will make it easy to use for us and any 3rd part developers to implement updates in their plugin.
  • There is no need for a separate licencing page as licences are entered direct on the plugins page.

For Developers

It is easy for developers to enable updates for their EDD or github plugin by adding only 1-2 lines to their main plugin file DocBlock, for EDD just enter your EDD sales site as the “Update URL” and the post id of the product as the “Update ID” as below:

For a github update you just need to enter the “Update URL” as the github URL, it will check against the github releases for updates so you can update your github repo as normal and it will only check against release version numbers.

If you want to add a notification WPEU is required you can use the code snippet here:
https://gist.github.com/Stiofan/d8f5b5aa3922cfb46928966e75424c11

WP Easy Updates is hosted on github here: https://github.com/AyeCode/wp-easy-updates

Find out more about automatic updates for GeoDirectory here” with a link to https://wpgeodirectory.com/docs/installing-addons/#updates

If you have any questions just ask in the comments section.

Update Sept 2019

This has been added as a predefined custom field in V 2.0.0.67. The snippet below will only work if using GeoDirectory V1.

The Problem

Today a member had a bit of an unusual request, they are using GeoDirectory to run a local festival and they are listing things like accommodation for it. The request was to show the distance in each listing to the main event so users have a clear understanding of how far it will be to the event from each listing. I do something very similar on one of my own sites that is for one location, i list the distance to the airport and the distance to the main town, i have until now just had users enter this distance manually, this is often wrong and i have to correct it.

The Solution

This seemed like the perfect time to create a new custom field, lets call it “Distance to”. The code is below but there are two ways to use this field:
#1 We could just add the field and let the user enter GPS coordinates, it might be for example a “closest airport” field, the user could then enter the GPS info for the closest airport to them.
#2 In this users case he just needs to show the distance to one place and without the user really needing to even know about the field, so when he is adding the custom field he would set the field as a “admin only” field so it is not shown to the user on the frontend and they can’t change it, and then set the “default value” to the GPS coordinates needed and all listings will then show the info needed.

The Code

Are you hosting your bbPress powered support forum within your main install?

That’s going to slow down your money website.

In similar cases, it’s really a good idea to move bbPress into its own website.

Why should I Move bbPress?

The main reason is that you are loading a lot of extra resources on your main website that could be loaded in a sub-domain website or better in sub-directory website.

Until few days ago our support forum was running in the /support/ page of the https://wpgeodirectory.com website slowing down everything.

Now it is running in the home page of the website https://wpgeodirectory.com/support/ keeping the exact same URLs.

The 1st website is no longer loading all bbPress resources and that made it much faster and optimized.

Same happens to the support website, it is almost ONLY loading bbPress resources and that made it faster too.

Moving bbPress is not easy

Making such move until today was close to a nightmare, especially if the forum is quite big like our is.

Doing it via the WordPress default import / export tools was close to impossible.

For this reason we decided to build a dedicated plugin that would automate the entire task.

First we had to turn our single site install into a MultiSite network.

Finally we used our plugin to move the entire forum with a couple of clicks.

After moving it, the plugin is programmed to delete the forum from the original website, leaving you with nothing else to do.

You just have to wait for the plugin to perform the task (which can take up to few hours depending on the size of the forum and the speed of the server.)

We moved 66 Forums, 17,353 Topics and 97,371 Replies into a dedicated Support website and now our main website is over 50% faster.

If you have a similar problem, feel free to take advantage of Move bbPress Multisite plugin, we released it for free on the WordPress.org repository. 🙂

Download it here!

Custom bbPress user profiles with UsersWP

If you are using bbpress and you feel like the users profiles are boring, you should consider UsersWP’s bbPress Custom User Profiles. You’ll be able to display Users’ topics, replies, favorite and subscription in beautifully designed users’ profile pages.