Sunday, 19 May 2013

An SEO services spammer was actually helpful! (But not for SEO)

The past week I've been corresponding with one of those annoying people that spam you offering SEO services. I replied to their original email that said they would give me a website analysis just to waste their time more than anything else. In their analysis they said the following:

First of all your website needs to fix all On-page factors I mean proper title fixing, meta keywords and description fixing for all pages. You know Google gives more importance to meta elements. So we should fix all these points according to Google guidelines.

Also your website having no facebook fan page, twitter page and many more. If you do SMO work, you can get some traffic from Facebook, twitter and many more websites.

Your website having very very less backlinks. Also your main keywords are in TOP position in Google. If your main keywords will be in first page, you can get more traffic towards your website.

Also your website having no XML sitemap. Which is important at search engine point of view. Please let me know if you need any more information from our end.

Let's break that down:

First of all your website needs to fix all On-page factors I mean proper title fixing, meta keywords and description fixing for all pages.

I'm pretty sure all my pages have a 'proper' title. Admittedly, not all the pages have meta keywords and description tags. Adding them would be very time consuming due to the large number of pages.

You know Google gives more importance to meta elements. So we should fix all these points according to Google guidelines.

Well, Google doesn't give any importance to the keywords meta tag. Google does make use of other meta tags, but they won't help you rank better. A well written meta description tag could help with click-thru rate though. Maybe they should read the Google guidelines on meta tags.

Also your website having no facebook fan page, twitter page and many more

I do have a facebook page for the website and a twitter account (plus flickr, pinterest etc).

Your website having very very less backlinks

My understanding from the Google Webmasters forum is that creating backlinks for the purpose of SEO is likely to see your site dropped or banned from Google. There are plenty of people posting in there that hired a firm to do 'SEO' for them only to then find their site removed from the search index or having their position in results dropping a lot.

Also your website having no XML sitemap.

My site has an XML sitemap.

The bit that particularly made me think this SEO service was completely useless was that they said the site had no sitemap. Checking that is simple.

After a few back and forth emails, they sent me a screenshot to show the error with my XML sitemap. It was a screenshot of Firefox showing an error that stated the XSL stylesheet was served with the wrong mime type. (I use an XSL stylesheet for styling the XML sitemap for human readers. I hadn't noticed this error before as in Chrome the sitemap renders without any errors.

I looked into this, and found that the XSL was being served with a mime type of text/html. The XSL file on the server is actually a PHP file, so I opened it up in my editor, and it had near the top

header("Content-Type: application/xml; charset=utf-8");
. So I couldn't work out why the file was being served with a content-type of text/html. I thought that nginx (my web server software) must be overwriting the PHP generated header.

But after looking into it a bit more, I realised the problem. In the file I was starting an output buffer, including the file that has the top of my page template, and then emptying the buffer into a string, to use the file as part of the XSL. Now, in the top of the page template file, it sends a content-type header of text/html. The output buffer doesn't capture headers, so this header was replacing my previous content-type header of application/xml.

The solution was simply to move the application/xml content-type header to down below after the top of the page template file was included. This way the application/xml content-type header replaced the text/html content-type header, instead of the other way round.

So my email to the SEO shyster was actually useful since it helped me find a bug in my site I wouldn't have noticed otherwise. (The bug had been introduced when I switched my site from XHTML 1.1 to (X)HTML 5).

But they were still wrong about the site not having a sitemap. I'm pretty sure Google et al. don't care whether your sitemap has an XSL stylesheet, or whether that stylesheet is served with the correct mime type or not. Certainly, there haven't been any notices about it in GWT or BWT.

Saturday, 18 May 2013

Watching seminars

Yesterday, I was fixing a problem with my photography website to do with how the flash settings of the image were stored in the database. One of the things I noticed was that a lot of photos had Off, Did not fire as the flash value, when I knew that flash had been used. I checked the EXIF of the original image, and that had Off, Did not fire, so it wasn't a website related problem. I also checked the exif flash setting stored in XMP, as to be expected, it had the same value as the exif value.

Looking into this, it seems that when the camera fires a 'dumb' flash, it has no way of telling whether the flash fired or not, and so it records the flash value as being off. (See discussion here: Does my exif lie to me?). In my case I was using a 'dumb' radio trigger in the camera's hot shoe. So, there is not a lot you can do about this. I do try to record my camera 'setup' in the XMP metadata, so I can write there that flash was used.

But it is still a bit annoying, as it means there is no way to search through your images to find only ones where flash was (or wasn't) used. A hack to get round this could be to always set your white balance correctly e.g. use flash when shooting with flash, use daylight when shooting in the sun, etc. But would I remember to actually change it every time I change light source? No, most of the time I would forget.

The past week I have been watching photography seminars on Creative Live. Both of them are to do with portrait photography, which I am not particularly interested in, but I still enjoy watching them. One thing that does annoy me about them is that they keep asking questions from the chat rooms that the presenter has already answered. It seems to be a common theme in everything today that people just don't pay attention. If you're not going to listen to what the person is saying (or writing), why bother asking a question (or replying)?

The first set of seminars I watched was called 'Crazy, Stupid Light' with Scott Robert Lim. On one of the sessions he told a story, emphasizing the fact that for Creative Live to continue broadcasting free seminars, they need cash to survive (and so you should buy the seminar download). Creative Live makes money by selling downloads of the seminars. If you purchase while the course is running, the cost is $99. If you purchase after the course has finished, the cost is $150.

For three days worth of workshop teaching from an expert in their field, that seems like very good value to me.

But this did make me wonder why he had told that story. Did he just want to boost sales of his course? Or is Creative Live actually having financial difficulties and could actually be cancelled due to lack of cash? Their productions are pretty high budget, they have a nice studio, multiple cameras, two compères (that ask the questions from the internet and keep the show on time), and a whole host of other people behind the scenes.

One would assume that they must be making piles of money to afford all this. If they aren't making money, they could cut down on production costs significantly. People watch Creative Live (and most other learning / tutorial videos) for the content, not the production.

The second half of the week was 'Fine Art Portraits' with Brooke Shaden. Yesterday she was showing how she edits her shots, and to me (and from the sounds of it, many other people), her editing process is horrendous. But she is happy with how she does things, and gets great results.

As an example, she applies curves directly to the image, rather than using an adjustment layer. She wanted to brighten the models arm, so she selected the arm, feathered the selection, then applied curves to brighten. She than had a slightly bright halo on the wall around the arm, so she made a rough selection of the area, feathered, then went to curves and dropped down the white point of the curve.

Personally, I would have used a curves adjustment layer to brighten the image, then used a layer mask to paint the effect in over the arm. If I painted too much and created a bright halo, it's just a case of painting out the halo on the mask. However, her technique might actually work better, certainly her result looked nice and seamless with nothing obvious to show that the lighting had been manually adjusted in post.

Friday, 17 May 2013

I do not want them Sam I am

This morning I updated the CTH website and prepared my pog website update.

In the afternoon I finished preparing the pog website update, and fixed a problem with my photo website.

When trying to fix my photo website I would get an error errno: 150 in mysql when trying to drop then add a table. Eventually I tracked the problem down. I was changing the type of a column from INT(10) to TINYINT(2), but this column was referenced from another table with a foreign key constraint. The column type in other table was INT(10).

This thread on stackoverflow was very helpful in helping me discover the problem: MySQL Creating tables with Foreign Keys giving errno: 150. The column with the foreign key constraint and the column in the other table must have the same type (also including being unsigned or signed). Having FOREIGN_KEY_CHECKS=0 does not affect this.

The problem with this was, how do you change it? You can't alter either of the columns because the other column will be of a different type and cause the error. It's a bit of a catch 22 - You can't alter the referenced column type because it will mismatch with the column that has the foreign key constraint on it. But you can't alter the column that has the foreign key constraint on it because it will mismatch with the referenced column type.

The answer is to drop the foreign key constraint, modify your columns, then add the constraint back again. Info on that I found at stack overflow again: How to alter Foreign Keys in phpMyAdmin.

In the evening I watched For Your Eyes Only with Mauser and Diddle Bo. Very maniacal.

Monday, 13 May 2013

Dag Nabbit

I spent most of today writing an article for my photo tips website. In the evening I watched 'Crazy Stupid Light' with Scott Robert Lim on creative Light, a seminar on using speedlights. Although the info he gave out was fine, it was all too basic for me really. He also said Is that not correct? a lot, which I found annoying.

Saturday, 11 May 2013

Looking for arms

This morning I was feeling sleepy and forgot about making Melonpans for breakfast, so I didn't get up until nearly 8am. I started making the Melonpans about 9am, and then had them in the oven for rising about 10am. But they didn't rise very well (the dough had been frozen and then defrosted in the fridge). They needed about an hour to rise instead of the standard 40 minutes.

While I was waiting for the melonpans to rise I looked up arms for holding flashes. I had looked at flexible macro flash arms yesterday, but the max weight rating meant they were only suitable for holding small flashes. I wanted the arms to be able to hold my Vivitar 283 flashes for UV photography, and they weigh over 500 g each.

After a bit of searching I found this article: Flexible Friction Power Arms for DSLR accessories, which shows a strong arm that it jointed in the middle and at the ends. Unlike a macro bracket, which attaches to your camera, this arm needs to be attached to a clamp, which you would then clamp to your tripod (or anything else).

Looking on ebay, there are lots of very similar items, varying quite a bit in price. According to the article, the one they reviewed was produced by a company called Vibesta. Amazon sell both a 8.3″ arm and a 4.2″ arm made by Vibesta. However, the product linked to from the article has a 29.5 cm length (approx 11″). Most of the ones on ebay are 11″. So it's not very clear whether the 11″ arms are cheap knock-offs (that may not be as good as the Vibesta product) or are the same thing, just without the Vibesta branding.

Vibesta do have a facebook page. But this hasn't been updated since Feb 2011. So that doesn't give much help on what products they actually produce right now or where they can be purchased from.

Wednesday, 8 May 2013

Greenfronts

Today I was trying to fix my photo website so I could upload some new photos. After I fixed it then I uploaded some photos.

Tuesday, 7 May 2013

Writing

This morning I finished off a photography tips article that I had started writing yesterday.

After lunch I spent a couple of hours looking for a subject to write another photography tips article about.

I didn't find anything, but then thought of an idea myself. So the rest of the afternoon and most of the evening I was writing that article.

In the evening I also watched an episode of Africa (BBC Nature documentary) with Mauser and Bo.