I post at SearchCommander.com now, and this post was published 12 years 2 months 13 days ago. This industry changes FAST, so blindly following the advice here *may not* be a good idea! If you're at all unsure, feel free to hit me up on Twitter and ask.
What is it about BuddyPress that makes the best WordPress SEO plugins in the world, almost universally fail to function as the author intended?
The issue at hand was that the East Portland Chamber of Commerce was using Yoasts SEO Plugin and BuddyPress as a Business directory.
The site was SEO’d great, etc. but it had no unique title tags on each of their business profile pages, and no description tag either.
Left to it’s own devices with no SEO plugin at all, Buddypress handles title tags fine, although it does nothing for description tags.
However, using Yoasts plugin, (my plugin of choice) the Buddypress titles stop working, and just a generic title tag is showing up for everything Buddypress, and the Yoast plugin detected no description tag. It even put in a message in the code saying so, but the normally functioning auto-generate didn’t happen.
I bugged @yoast twice on Twitter, once a couple of weeks ago and once just yesterday, looking only for a way to disable his plugin for anything in my /member-directory folder or deeper, but this was becoming embarrassing situation.
Rather than be a pest, this morning I figured I could find something else, but that was easier said than done….
I tried All-in One SEO and it does the same thing – screws up the title and also doesn’t add a desc tag.
Removed
Then I tried SEO Press – installed – Same thing, and when I tried to go to any of the help urls in the plugin they 404’d
The plugin hadn’t been updated in a year so I removed it
SEO Ultimate installed – Nope – I got the same breaking of my title tags.
By the way, this was a VERY interesting looking plugin, with everything under the sun including rich snippets, and after playing with it for a few minutes, I found a mistake in the default settings.
It turned out that the {excerpt} for description tags not only didn’t work for Buddypress, it didn’t work for the regiular site, either! I looked the plugin documentation it showed {excerpt::autogen} was correct, and that fixed i – the fdefaults in the plugin are just set wrong i guess)
The Winner – for Now
Gregs High Performance SEO does not break the title tags, and can still do a good job elsewhere in the site also. Unfortunately, the meta description tags still don’t work in BudddyPress, but at least the titles are intact so I’m getting close.
While it does bother me that the plugin hasn’t been updated for nearly a year, at least I have business title tags!
At this point, Gregs plugin DOES add empty quotes as the description tag, and I’d love to see it extended to the BuddyPress pages, but I’m not going to lose any more sleep over it.
Why is it so Difficult?
I wish I knew why Buddypress seems so incompatible. How hard could it be to either take care of SEO on it’s own (like add by auto generating description tags, or “let” other SEO plugins work in their environment. The least they can do is address it in their community.
On the other hand, is this actually the SEO plugin writers job? Gregs plugin got this far, so certainly it’s possible.
Plugin makers always cite that they simply can’t support compatibility with everything, and with a couple of WordPress plugins of my own I certainly understand that, but BuddyPress is not just a fringe plugin – their stats show over 1.2 million downloads, and their forums are FULL of people wanting an SEO solution.
Until the plugin creators start supporting BuddyPress, or the other way around. If anyone has any other feedback or suggestions on how to get description tags, I’m all ears!
Yoast conflict with buddypress issue – but please note this can be applied to non-buddypress issues also.
By commenting out lines 79 and 80 of wp-content/plugins/wordpress-seo/ frontend/class-frontend.php of the Yoast wordpress seo plugin:
if ( isset( $options[‘forcerewritetitle’] ) && $options[‘forcerewritetitle’] ) {
//add_action( ‘get_header’, array( $this, ‘force_rewrite_output_buffer’ ) );
//add_action( ‘wp_footer’, array( $this, ‘flush_cache’ ) );
}
The buddypress titles work (but obviously, the rest of the site doesn’t have the yoast seo titles either).
It seems the “auto detect” takes over regardless of your choice in the yoast setting for “forcerewritetitles”.
I tried digging around to find the right remove_action so that I could add an if statement in the theme’s functions.php so that when on one of the buddypress pages, buddypress could take over and yoast would simulate being off.
If you just for a moment completely forget about the plugin buddypress and consider this: what remove action line is needed if I want to just simply say “if on page id 10, do not run yoast wordpress seo”.
I couldn’t find the right call for this, as if the seo plugin is the final item to load and I am unable to override it, but I’m hoping it’s just because I’m not using the right command.
Additional info for buddypress specific: Since buddypress runs from one main page of the site, if there was a setting to specify the name or id of that page – it shouldn’t be that difficult to create a function during the run process of yoast to check for that id or child of that id and simply not run. This same thing could likely work for other reason such as a cart page etc.