Posts Tagged ‘WordPress’

The WordPress MU plugin I want: site-wide trends in blog posts, comments, etc. across ALL blogs

Tuesday, August 10th, 2010

If you are a WordPress developer looking for an interesting new project, or if you have an existing WordPress statistics plugin and are looking for ways to add more to it, here is the kind of plugin I would love to have available to me….

Last night I wanted to create a graph of the site-wide quarterly trend in the number of blog posts published across ALL blogs on our blogs.voxeo.com corporate blog portal. After looking through a great number of potential WordPress plugins (with special thanks to the always awesome Andrea_R for her pointers), I got rather frustrated because most of them seem to focus on either site-wide visitor stats, which I’m already tracking through Google Analytics, or provided some “activity” stats – but only for a single blog.  (And if I missed one that does what I outline below, I’d love to hear about it.)

I did finally get the kind of chart that I wanted… but through a kludgey use of SQL and Excel that I’ll describe below.  Here was my end goal:

blogposttrend.jpg


THE REASON

My purpose in this was somewhat simple – I wanted to see and chart the growth of our content creation efforts on the blog server.  I want to show trends in the amount of content we are publishing… and then potentially tie those in to other trends such as increased visits (which I track through Google Analytics) and increased sales inquiries (tracked through Google Analytics and SalesForce.com).

I have other reasons, too. We have set up a number of different blogs on different topics. I would like to be able to see which of the blogs we are writing in more often than others… and which might need some attention – or potentially archiving.  I’d like a chart like the one above for each individual blog over time… or perhaps with the ability to graph multiple blogs on the same chart as a comparison.  You could see this being interesting data in a larger organization with different teams creating different blogs… to see which teams are creating the most online content.

To that point, it would be interesting to see which users are generating the most content… conceivably across all blogs.  In part from a individual performance point-of-view, and in part from a site-wide “health” point-of-view.  Our blog portal used to only have posts written by me. Now there are a good number of writers and to me that is the sign of a healthy content creation environment. As the one responsible for the overall site, I’d like to be able to see how the contributions are across the site.

I’d also like to be able to see the trend in comments.  How many comments?  How many track/pingbacks?

I’d like this data available in a quarterly basis, as I’ve shown here, and perhaps also in a monthly or weekly basis. Maybe even yearly if the site has been around for a bit.


THE IDEAL PLUGIN

In my mind, the ideal plugin would be something that is a panel in my WordPress admin interface where I go to generate these reports.  For performance, I wouldn’t want this hitting the database and running all the time – but just there to generate on-demand reports.  Some of the ideas I would like to see:

  • Allow me to set a date range
  • Choose from weekly, monthly, quarterly and yearly  (perhaps daily needs to be in there, too)
  • Allow me to choose which of the blogs I want to get trends on (some of our blogs are experimental or, like our Events blog, have pages only and no posts)
  • Choose whether to get trends on only public blogs or also private blogs
  • Choose whether to aggregate all data together or to graph blogs separately
  • Graph different types of data:
    • Count of posts by blog (or in aggregate)
    • Blog posts by user
    • Comments by blog (or in aggregate)
  • Allow some modification of the title, legend, etc.
  • Or… alternatively… just create a CSV file with all the data that could be brought into Excel

There’s probably more, like overall word count and stats like that… but that’s a start.  If you are reading this, what would you like to add?


THE KLUDGE

To get the chart I wanted, I had to sweep away some of the cobwebs on the SQL knowledge in my brain and play around at the MySQL command line.  I logged into the blog server, launched “mysql“, connected to the “wordpress” database and started playing around with “select” statements.  There is a table, wp_blogs, that lists all of your blogs and, most importantly, shows the “blog_id” for each blog.  For each blog, there is then a table named “wp_<blog_ID>_posts“, as in “wp_4_posts” which contains the info about the posts, dates, authors, etc.  I found that I could get the data I wanted by doing this:

 select ID, post_title, post_date from wp_4_posts where post_type = 'post' and post_status='publish';

Now, I didn’t include “post_author” in my work last night, but I wish I did because it would have let me gather the author stats I want.  Anyway, I continued mucking around until I eventually came up with a SQL statement that gave me a pipe-delimited text file that I could easily import into Excel on my Mac. (I couldn’t use commas because some of my post titles have commas!)  Naturally I then had to automate the process so I hacked up a very quick python script to create the relevant SQL statement and then send that to MySQL.

import os

for i in [4,7,8,11,12,13,15,16,19,22,24]:   # This is a list of the blog_ids of the blogs I care about

    target = "select ID, post_title, post_date from wp_"+str(i)+\    "_posts where post_type = 'post' and post_status='publish' ORDER BY post_date INTO OUTFILE '/tmp/b"+\    str(i)+ ".txt' FIELDS TERMINATED BY '|';"
    os.system('mysql wordpress -e "'+target+'"')

Like I said… a total kludge.

The end result was a series of pipe-delimited text files that I could import into Excel, combine together, and do some kludging there to get me the quarterly data which I could then chart.

If I knew how to use the various MySQL modules for python, I’m sure it could have been done much more elegantly. (And yes, I know that the python “os” module is deprecated in newer python versions and “subprocess” should be used instead… I’m old school and this was a quick late-night hack.) Or if my SQL knowledge weren’t so rusty, there’s probably some big SELECT statement that could join this all together and give me a nice unified output, perhaps even with the counts I want.


THE FUTURE

And if someone out there is handy with SQL or already has a WordPress plugin that does some or all of this… it would be great to see!  Given that my usage of WordPress MU (yes, I’m still on 2.9.2, but will be moving to 3.0 soon) is for a corporate blog portal, these are the kinds of statistics and trends that are of interest.  I would think that even if someone were running a more open site, these kind of trends would be helpful to know and understand.

Hopefully there’s just some plugin out there that I’ve missed! :-)

What do you think?  What would you want in a plugin like this?


Want to learn how Voxeo can help unlock your communications and deliver a better customer experience? Please contact us!

If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


Suggestion for a WordPress plugin to publish posts to a Facebook Page?

Thursday, July 15th, 2010

facebooklogo-2-1-1.jpgDo you use a WordPress plugin to publish your posts to a Facebook Page? If so, which one?

I’m looking for a new solution to link this site to our Facebook Page at www.facebook.com/voxeo. Right now I’m using Facebook’s ability to import a RSS feed to pull in all blog posts from the entire blogs.voxeo.com site into our Facebook page. I’m just pulling in our “All Blogs” feed.

Here’s the problem – Facebook is incredibly inconsistent with pulling in the RSS feed. Sometimes a post here gets pulled into Facebook quickly… other times it might be hours after posting… sometimes days later! Sometimes no articles get posted to the Facebook page and then a whole batch of posts gets posted all at once.

It’s rather frustrating.

So what I want to do is reverse the process. Instead of waiting for Facebook to pull our posts from the RSS feed, I want to push our posts over to Facebook right after they are published here. Essentially the same kind of thing we are doing to our Twitter account.

In looking at all the various WordPress plugins related to Facebook, it looks like this plugin might do the trick:

Simple Facebook Connect

The description includes this line:

  • Automatically Publish new posts to Facebook Profile or Fan Page

Which sounds like what I want.

Anyone use this plugin today? Do you use another plugin to publish to Facebook?


Want to learn how Voxeo can help unlock your communications and deliver a better customer experience? Please contact us!

If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


Looking forward to WordPress 3.0 and the merge of WPMU

Monday, April 5th, 2010

wordpressmulogo.jpgI was delighted to see over the weekend that WordPress 3.0 Beta 1 is now available as this release promises to solve one of the biggest headaches for a WordPress MU administrator – staying in sync with the main WordPress stream – with “the merge“.

Yes, indeed, with WordPress 3.0 the separate “WordPress MU” will go away and “WPMU” will simply become another mode of the main WordPress stream. Per the beta instructions on configuring multi-site capability, it appears that all we’ll have to do is set a WP config variable:

define (‘WP_ALLOW_MULTISITE’, true ) ;

I say “it appears” because I’m admittedly too chicken to try out the WP 3.0 Beta 1 on this production site. After all, the blog post is very clear that 3.0 Beta 1 is an “early” beta. However, I may certainly try it out on one of my staging/testing servers. I’m looking forward to continuing to watch the evolution and to eventually running it here.


P.S. Since this “Behind The Blog” site seems to often be read by people investigating WPMU, let me explain the issue a bit more. Right now, WordPress MU is a separate installation from regular, plain-old WordPress. However the main development and evolution of WordPress happens on the regular WordPress code base and then is ported over to the WPMU code base. As a result, when a new version of regular WP is released there is a time delay before when the corresponding version of WPMU is available. Sometimes this isn’t a big deal… but sometimes you might want a specific WP fix or feature in WPMU sooner than the team is able to port it. Also, there are two places to report bugs (WP and WPMU) and also submit fixes, etc.

With WordPress 3.0, the two code bases will be merged so that there is only one stream of code going forward. This should make it much simpler for site administrators overall – and ensure that WPMU sites can always be up-to-date with the latest “regular” WP fixes and features.


Want to learn how Voxeo can help unlock your communications and deliver a better customer experience? Please contact us!

If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


Promoting relevant content through the Yet Another Related Posts Plugin (YARPP)

Wednesday, March 3rd, 2010

Voxeo Talks » Voxeo CEO Jonathan Taylor in SF _ Silicon Valley this week… open for interviews….pngIf you look at the bottom of any of the posts on any of the Voxeo blogs, including this post, you’ll see that there is now a “Related posts” section that promotes other blog posts that are deemed relevant to the topic of the post. The idea being, of course, that you can expose readers who land on a blog post as a result of search (or tweets or other links) to other posts you have on your site. Keep the readers on your site and learning about your content… and potentially then moving them to take some action or engage with you at a deeper level.

After evaluating a good number of WordPress plugins that provide this functionality, I wound up choosing Michael Erlewine’s Yet Another Related Posts Plugin (YARPP), based primarily on the number of recommendations I saw for it, the extensibility that it has (although I’m admittedly using hardly any of its power right now), and also the fact that it put relevant posts out to both the web page and the RSS feed. Here’s a view of what the RSS feed looks like for the same post as shown in the image to the right:

yarpp-in-rss.png

Now, I set the plugin to only show 3 related posts in RSS and 5 for the web site. ALL of that is configurable, including the text that appears above the related posts, the HTML used, styles, etc. There are so many options, in fact, that I could easily see burning up a chunk of time just experimenting with it all. Me? I’m using mostly the default settings right now and it’s working fine.

WordPress MU Issues

I installed the YARPP plugin in the “plugins” directory and then activated it site-wide. I chose “plugins” vs “mu-plugins” purely because I wanted the option to not use it on some blogs… I don’t actually know if it would work in mu-plugins. It all worked fine.

There are just two issues from a WPMU point-of-view:

  • Related posts only from the SINGLE blog – The YARPP plugin works with only a single blog, which is probably what you want 99% of the time. However, in a tightly controlled WPMU environment like this corporate blog portal, it would be interesting to try seeing related posts from across ALL blogs on this site. I could see that helping send traffic across the different blogs.
  • Related posts NOT appearing in the all-blogs RSS feed – As I mentioned earlier, YARPP nicely puts related posts into the RSS blog for each individual blog. However, we’re generating an “All Voxeo Blogs” RSS feed to which the majority of people subscribe. That feed also goes out to our Facebook page and is delivered by email to subscribers. YARPP does not add posts to this AllVoxeoBlogs feed, largely because we’re generating this feed using another WPMU plugin. At some point I need to look into how I can add in hooks or somehow get related posts there.

Given that YARPP isn’t targeted at WPMU, I wouldn’t expect it to do these things, but they would be wonderful enhancements… or a reason to have a YARPP-MU plugin.

Those issues aside, I’ve been very pleased with the plugin thus far and have to really applaud Michael Erlewine for his great work and for making the plugin available.

Have any of you reading this tried other “related posts” plugins with WPMU?


Want to learn how Voxeo can help unlock your communications and deliver a better customer experience? Please contact us!

If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


How to embed XML and source code in WordPressMU/WPMU using the SyntaxHighlighter plugin

Monday, December 14th, 2009

xml.pngWay back in late 2007 when I launched blogs.voxeo.com, one of my very first problems was in trying to figure out how to include snippets of VoiceXML, CCXML and CallXML code. I wrote about trying a number of different WordPress plugins back in March 2008 and at the time didn’t have much luck. When we have been including source code in blog posts, it has admittedly been using the über-kludgey way of converting all the XML tag syntax into HTML character entities, inserting non-breaking spaces, etc. A serious kludge.

Over the weekend I saw the recent post on the WordPress.com blog about posting source code which pointed me to the excellent “SyntaxHighlighter Evolved” plugin from “Alex / Viper007Bond” (view his plugin page) that is in turned based on the JavaScript SyntaxHighlighter package from Alex Gorbatchev. I installed it in WordPress MU, tested it out on an experimental blog I use for testing and then activated it sitewide.

Now, when I simply bracket VoiceXML code with “[ xml ]” and “[ /xml ]” (without the spaces), it comes out looking great. Here is an example:



<?xml version="1.0" encoding="UTF-8"?>
<vxml version = "2.1" >

  <form>
    <block>
    <prompt>
      Hello World. This is my first telephone application.
    </prompt>
    </block>
  </form>
</vxml>

It is, of course, not limited to merely XML. There are 20+ languages listed on the SyntaxHighlighter ’syntax files’ page. I expect that we’ll be using it now to be able to better write about the Tropo.com languages over on the Tropo blog.

syntaxhighlightermenu.pngOne aspect I quite like about the plugin is the menu you get when you move your mouse over the source code. As shown in the image to right, you can easily:

  • view the source code in a pop-up window
  • copy the code to your clipboard
  • print the code

Given that we’re planning to make more tutorials available, having the ability to copy and paste the code easily directly from the blog post is a great feature.

Many kudos to the two Alex’s for making both the underlying JavaScript library and also the WordPress plugin. And if you run a WordPress or WordPress MU site, you can download the SyntaxHighlighter plugin and install it in your site, too.

P.S. I should in fairness point out that a couple of colleagues have mentioned SyntaxHighlighter to me over the past few months… I just never had a chance to check it out until now.


UPDATE #1, a few minutes after posting: So it seems I still need to work out a kink in my own process. I almost always write my posts offline using the MarsEdit editor and then publish them to the blogs.voxeo.com site. However, when I did that with this post, I wound up with code that had tags escaped as HTML character entities:

syntaxhighlighterfail-1

I had to go back into the WPMU editor on the website and paste in the correct VoiceXML code.

I’m not sure if the issue is with MarsEdit, my WPMU config or the SyntaxHighlighter plugin… but obviously I can’t really write posts with code in them offline until I figure it out…


Want to learn how Voxeo can help unlock your communications and deliver a better customer experience? Please contact us!

If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


WordTwit – a great way to tweet posts from WordPress MU

Friday, December 4th, 2009

wordtwitlogo.jpgBack in June, I asked about what people thought the best plugin was for publishing updates to Twitter when there are new blog posts posted here in WordPress MU/WPMU. I was then and have been using Alex King’s excellent Twitter Tools plugin for WordPress, but it was a bit like using a screwdriver to bang in a nail. The Twitter Tools plugin is primarily designed to capture your tweets in a blog post so that you can have occasional posts on your blog site that include all your tweets. The plugin can also publish tweets when you have a new blog post, but it’s real strength seems to be in pulling your tweets into your blog.

All I want to do is publish new tweets… I don’t want to create blog posts with tweets. So I’ve known for quite some time that I’ve been using the wrong plugin for the job… but it’s worked okay, so I continued. I tried a different plugin over on the VoiceObjects Developer Blog, but I haven’t been as happy with it because it tended to shorten the titles of blog posts too much when posting to Twitter.

However, recently my colleague Ron Blaisdell pointed me to WordTwit from BraveNewCode and I have to say that it is outstanding at what I need it to do. Once you install the plugin, there is a very simple configuration screen where you enter your username, password and can change the format of what gets tweeted out:

wordtwit-msg1.jpg

In our case, I chose to edit the message to be “[title] - [link]” so that there is no prefix on any of the tweets.

You then can choose which URL shortener you want to use – I chose bit.ly:

wordtwit-bitly1-1.jpg

After you save the configuration options, you then can go back in and enter your Bit.ly login and API key:

wordtwit-bitly2.jpg

This makes it so that all of your shortened URLs then show up in your bit.ly account where you can see statistics around who has clicked on them, etc.

Because we use Google Analytics, I also checked off an option to add UTM tracking codes to URLs so that I can find any inbound traffic in GA easily.

I’ve been using WordTwit here on blogs.voxeo.com for a bit now and have been very pleased with how well it works. I haven’t yet installed it on the VO Developer Blog but will be doing so soon. Kudos (and thanks!) to the folks at BraveNewCode for developing such a great plugin.

Have you tried WordTwit? Or what plugin do you use for updating Twitter?


Want to learn how Voxeo can help unlock your communications and deliver a better customer experience? Please contact us!

If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


WordCamp Orlando is this Saturday, December 5th, 2009

Wednesday, December 2nd, 2009

WordCampOrlando.jpgI was delighted to learn by way of an Orlando Sentinel article that WordCamp Orlando will be happening this Saturday at Rollins College in our home town of Orlando, Florida. If you haven’t figured it out, we’re big fans of WordPress and run this blogs.voxeo.com site on WordPress MU. The WordPress community is a great one to be a part of… and, as demonstrated yesterday, can be of great help!

Anyway, if you have some time, the WordCamp Orlando schedule and speaker list are outstanding and include among others Matt Mullenweg, the founding developer of WordPress!

Definitely worth checking out, in my mind… registration is only $15 and you get a cool T-shirt out of the deal as well!

P.S. And no, I personally won’t be attending because I’m 1,000 miles north in New Hampshire, but some Voxeons in Orlando may head over…


Want to learn how Voxeo can help unlock your communications and deliver a better customer experience? Please contact us!

If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


SOLVED! A truly bizarre WordPress MU / WPMU issue – ONE blog is giving 404s on posts

Tuesday, December 1st, 2009

UPDATE: Outstanding! Within minutes of posting this post, Brajesh (@sbrajesh) and Andrew Rogers (@acedrew) on Twitter both suggested something about permalinks and Brajesh suggested I resave the permalink in Settings->Permalinks.

That did it! I just went into the Permalinks screen in the admin menu, chose a different setting and pressed “Save”. Right then the single-entry views started working again. I then changed it back to the previous “Day and name” setting, saved it again, and it was back to normal.

wmpu-permalinksettings.jpg

Many thanks again to both Brajesh and Andrew Rogers for their quick responses. This is a great part of what makes the WordPress community so great to be a part of!


wordpressmulogo.jpgI am experiencing a truly bizarre issue here on blogs.voxeo.com. If you go to our Voxeo Developers Corner blog at:
http://blogs.voxeo.com/voxeodeveloperscorner/

you see all the posts. Scroll down the page and you can see the various posts. Everything looks great.

But try clicking on any of the titles!

Oops.


404

But here is what I find so bizarre… it is ONLY this one blog that is affected!

All of the other blogs work perfectly fine… this Behind the Blog one, Voxeo Talks, Speaking of Standards… and all the rest. Even our newest Unified Self-Service blog. Viewing single posts works fine on all the other blogs.

As can be seen on the main VDC page, the blog posts are definitely there. When I login to the admin interface, I can see all the posts, I can edit them, I can update them. I can add new posts like the one I put up there today indicating there was this problem. But they just… won’t… display…

I’ve checked the WordPress MU Forums to no avail… I think my next step may be to post this issue over there.

Anyone reading this have any great ideas of what I should check next?

P.S. And yes, I’m running the latest WPMU 2.8.6 – but the issue was also there prior to the upgrade. I hoped the upgrade might fix it, but it didn’t.


Want to learn how Voxeo can help unlock your communications and deliver a better customer experience? Please contact us!

If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


Best practices: Reasons to give each author a seperate WordPress MU (WPMU) user accounts

Friday, November 6th, 2009

A few days ago, someone wrote to ask me about what I consider “best practices” in managing user accounts on a WordPress MU installation. Recently this person had set up a new WPMU server with a number of different blogs. In the rush to get it operational the system administrator had just set up a single user account with rights to all the blogs and given the username and password out to something like ten different people who published posts.

I got the impression that the person who contacted me wasn’t sure this was the best plan and was looking for any confirmation of that. I wrote back but then thought I’d share my reasons here as well.

For starters, no, it’s definitely NOT a good idea to have a bunch of people using the same WPMU user account.

Definitely.

Not.

Several reasons:


1. SECURITY – If one of the authors leaves the company, or you decide to terminate one of them, that person will know the username/password. You’ll need to change the password and then get the new password out to all the other posters. Much easier if you give everyone their own username and password. Then if you need to part ways with someone, you just disable that one account from being able to login and you are done.

2. AUDITING – What happens if a post goes up that was not supposed to? Or was offensive or plagarized? How do you know WHO was the one who published that post? With a group of people sharing the login you don’t have an easy way of finding out who published the post in question. Perhaps you can try to correlate IP addresses with login sessions or something like that, but it’s hard to get right. If everyone has their own account, you know who published any particular post because a name is associated with it.

3. AVAILABILITY – What happens if one of the group resets the password? Or what if there is some database problem and the single account gets disabled? Suddenly no one can access the blog site. Far better to have the multiple accounts so that authors can still get into the site if there is a problem with one of the accounts.

4. APPEARANCE – If you have a community of blogs with one user account, all posts are going to be from that one user, which would certainly give me the perception that it’s not really that big of a “community” of blogs. With multiple accounts publishing the posts, your sites will look like they have more contributors to the individual blogs – which, in fact, they do. There is also a transparency/authenticity element to this, too, in that people can come to understand more easily that there are different authors on your site with different writing styles.

5. OWNERSHIP – Sort of going along with #2, if everyone publishes posts under their own name, I would believe that there is a bit more of an incentive for them to be sure that the posts are accurate with regard to spelling, etc. If it’s under “someone’s” name, there isn’t as strong a sense of ownership – but if it is your name, even just your first name, there is a bit more ownership at a psychological level.


For me personally, point #1 alone carries the day and is why I assign individual user accounts to everyone who writes on this site. I don’t expect anyone to leave (but do we ever?)… I expect them to be here a long time… but if I want to disable someone’s access to this server, I want to be able to do it on an individual basis. My point #2 is big for me, too, as I want to be able to know who makes what changes to the site.

Sure, if you have a network of blogs, it may take a few more minutes to set up new user accounts and assign them to each of the blogs… but we’re talking minutes, not hours or days. A small investment that can have a big payoff later.

What about you? Do you assign everyone individual user accounts? For the same reasons I outline? Or do you have additional reasons?


Want to learn how Voxeo can help unlock your communications and deliver a better customer experience? Please contact us!

If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


planetOzh: massive review of 43 Wordpress plugins (for WordPress Plugin Competition 2009)

Tuesday, September 29th, 2009

For those interested in plugins to your WordPress install, I found this very lengthy review of 43 plugins that are apparently finalists in the “WordPress Plugin Competition 2009″:

http://planetozh.com/blog/2009/09/wordpress-plugin-competition-2009-43-reviews/

I don’t know how many of those plugins are WordPress MU-compatible – and I have just started reading through all the reviews, but thought I’d pass it along to others interested. Looks like some really interesting ones in the mix. Thanks to “Ozh” for providing such detailed reviews.


Want to learn how Voxeo can help unlock your communications and deliver a better customer experience? Please contact us!

If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.