Archive for June, 2007

SEO Update

Tuesday, June 26th, 2007

I’m delighted to say that we’ve made some very significant progress on Google. Search for “uk swingers” on and we’re result 22 (top of page 3) and result 20 (bottom of page 2) on This is huge move forward. There’s been quite a lot of activity recently so I’m not sure exactly what has been responsible, it could’ve been any of:

  • The recent DMOZ listing.
  • The large increase in traffic.
  • The domain being renewed for 10 years.
  • The removal of a duplicate domain.

It’s been really good to note the number of pages we’ve got indexed. We now have 8,200 indexed on Google verses Swinging Heaven who have 12,200 so we’re well on the way to passing them.

Anyway, I think I need to re-visit the SEO for some particular terms. Here’s the top ten geographic locations according to Overture Inventory:

  1. 4356: uk swingers
  2. 3738: texas swingers
  3. 3252: ohio swingers
  4. 2822: florida swingers
  5. 2697: michigan swingers
  6. 2096: tampa swingers
  7. 2036: missouri swingers
  8. 1713: las vegas swingers
  9. 1634: chicago swingers
  10. 1489: california swingers

So the USA is bigger in total than the UK but is really a collection of local markets.

In terms of relevant subjects we’ve got this as a top ten:

  1. 28841: swinger club
  2. 15164: swinger party
  3. 7917: mature swinger
  4. 6640: swinger lifestyle
  5. 5923: swinger couple
  6. 5801: swingers ads
  7. 5548: black swingers
  8. 5437: swinger personals
  9. 5415: online swingers
  10. 4856: swinger site
  11. 4681: local swingers

MySQL performance

Monday, June 25th, 2007

I’ve just been doing a bit of work on MySQL performance tuning.

I did a show variables; and that revealed that I had the maximum number of tables cached (opened_tables = table_cache = 64) so I upped table_cache to 256. Since then opened_tables has been constant at 145 so I guess that this is all that is required with my present number of threads/table count.

I also doubled the key buffer from 16M to 32M although I had a pretty impressive hit rate on the cache anyway (key_read_requests / key_reads) but it won’t do any harm and looking at now there has been an improvement.

Finally, I checked the slow query log but I didn’t have any queries in it. I’d set the limit at one second. Maybe I should set it to log queries that aren’t using indices.

There’s a brilliant talk on MySQL performance at Google Video. He talked about:

  • mytop which is a Unix-style top but for MySQL.
  • Poor indexing being the number one problem.
  • Bloated schema design (please normalise!) number two problem.
  • Uses the smallest types possible.
  • Consider horizontally splitting many column tables (eg. main and detail).
  • Don’t use surrogate keys when you have a naturally occurring key (although, for example, if the natural key is a larger varchar then there may be a performance benefit on using an int).
  • On InnoDB use counter tables (but count(*) is fine on MyISAM as it uses the indices).
  • Isolate indexed fields, eg. WHERE TO_DAYS(order_created) - TO_DAYS(CURRENT_DATE()) >= 7 will be much slower than WHERE order_created >= CURRENT_DATE() - INTERVAL 7 DAY
  • Literal current date is better than using the CURRENT_DATE() function because literals will use the query cache but functions won’t.
  • Make sure query cache is turned on (with a size) when the application is read intensive. It’s off by default. (But not on Debian.)
  • From a hardware point of view memory is the best, easiest and cheapest way to get better performance from MySQL.

Looking at top it seems that the main problem I now have is with my Python code. But I need to do some profiling to work out exactly where the problem is.


Saturday, June 23rd, 2007

I was asked recently if I was going to expand into regular dating, without hesitating I said “no”. The reasons are:

  • The dating market as a whole is shrinking. My speculation is that this is due to the rise of the social networking sites (My Space, Friendster, Facebook, etc) which are free, more fun and have many more members.
  • The market is very, very competitive with really muscular players such as Yahoo! and, the latter even advertises heavily on television. I’m not that keen on going head to head with businesses like that.
  • My gambit of going free wouldn’t really work as there already are free dating sites — the famous example being Plenty of Fish — but there are also a few venture-funded competitors.

So, all things considered, a shrinking market that is highly competitive and indeed already mature enough to be going through consolidation is not a market that is very attractive to enter.

To be completely honest I think you would need to be staggeringly ignorant of the market to launch from swinging into regular dating, although in another hilarious move my friends at Swinging Heaven launched Heaven Dating which, to be polite, is a brave move!

Hanging around

Wednesday, June 20th, 2007

Well the good news is that we’re showing great traffic, membership and revenue growth. The bad news is that there’s an issue with the server occasionally hanging. Unfortunately it doesn’t crash so I am not getting any error message. I’ve asked on the Cherrypy Mail List but I didn’t get any suggestions.

I actually think that Cherrypy probably is quite stable and I suspect that the issue has something to do with my environment. However my deployment strategy isn’t that good; I currently have a standalone Cherrypy server behind Apache with mod_rewrite. There’s quite a lot of problems with this setup such as performance, mismatches between the number of available Apache connections verses the number of Cherrypy threads and there seems to be an issue getting mod_deflate to work with mod_rewrite.

So I think what I’m going to try is switching Cherrypy over to mod_python which will be a better deployment strategy and in addition by changing my environment it may well fix the mysterious random crashes although I strongly don’t like fixing a problem without understanding the root cause.

Best of the Web

Friday, June 1st, 2007

I’ve just submitted Fab Swingers to Best of the Web which is one of the more respected directories. There’s an option of paying $69.95 per year or $199.95 one-off but as I’m in Fab Swingers for the long term I’ve decided to go for the one-off fee.

The Google PageRank is quite good and its got an Alexa rank of 7,630 which is excellent so I certainly hope it will generate some members from and I’m sure it will also have an SEO benefit.

I did think quite hard about whether I should spend the $200 on PPC but I think that the problem with PPC is that I will be bidding against people who make many times more than my $0.60 ARPU so it’s going to be expensive however if I concentrate on SEO/getting the word out then I can tap into some of the huge search volume around swinging with a cheaper acquisition cost.