Start an embedded YouTube video at a certain timestamp

In a previous post I covered how to link to a specific timestamp in a YouTube video. The short version looks like this:

The “#t=31m08s” takes you to 31 minutes and 8 seconds in a video. I just found out that you can also start embedded videos at a certain timestamp.

To do it on an embedded video, use the “start” parameter. Note that start takes seconds as a parameter, not minutes and seconds. For example, to start an embedded video 31 minutes and 8 seconds into a video, 31*60+8 = 1868 seconds, so you would use this code:

<object width="640" height="385"><param name="movie" value=""></param><param name="allowscriptaccess" value="always"></param><embed src="" type="application/x-shockwave-flash" allowscriptaccess="always" width="640" height="385"></embed></object>

and it would look like this:

That’s all there is to it. 🙂

Calling for link spam reports

Google has been working on some new algorithms and tools to tackle linkspam and we’d like to ask for linkspam reports from you. If you’d like to tell us about web sites that appear to be using spammy links (e.g. paid links that pass PageRank, blog spammers, guestbook spammers, etc.), here’s how to send us more info. Go to

and tell us about the site that appears to be employing link spam. Be sure to include the word “linkspam” (all one word, all lower-case) in the textarea (the last field in the form).

If that’s too hard to remember, you can also use the shortcut

which will pre-populate the text area field to say “linkspam” in it. Note: to use these forms, you must sign in with a Google account. We’re moving away from using the anonymous spam report form.

Thanks in advance for any data you’d like to send our way!

My speaking plans for 2010

Last year I tried to limit my travel but still ended up making about ten (!) trips in 2009. This year I’ve resolved to travel less for work. Right now, here’s my current speaking/travel plans for 2010:

March 2-4, 2010: SMX West, Santa Clara, CA. I’m doing a “Ask the Search Engines” panel.

May 19-20, 2010: Google I/O conference in San Francisco. I’m doing a site review session.

May 21-30, 2010: I’ll be doing a trip to Europe. Right now I don’t have any SEO-related events planned though.

June 8-9, 2010: SMX Advanced in Seattle

June 25-27, 2010: I’ll be at Foo Camp.

August, 2010: Sometime in August I’m going to try to climb Mt. Kilimanjaro.

November 8-11, 2010: PubCon in Vegas

I was gone last week (February 9-13) for the TED conference, but that was attending, not speaking.

Chrome support for Greasemonkey

Back in December, I happened to click on a Greasemonkey script in Chrome and was shocked that it just worked. At the time, I wrote a note within Google that said

Whoa. I just clicked on a Greasemonkey script in the latest dev version of Chrome ( on Linux). Chrome offered to install the GM script, so I said okay. The script ran perfectly in Chrome with no changes at all! I don’t know how many Greasemonkey scripts will run in Chrome unchanged, but at least some will.

Last week brought that news as an official announcement. My guess is that scripts that don’t use specific Greasemonkey APIs should be fine.

(Side-note: I found a good post from November that claims that ~60% of Greasemonkey scripts don’t use any sort of special API calls at all. The top API calls appear to be GM_getValue and GM_setValue (16.5% of Greasemonkey scripts), plus GM_xmlhttpRequest (15.5% of Greasemonkey scripts). It’s unclear which of these functions might be worth supporting. Some could have security implications (GM_xmlhttpRequest). Others like the get/setValue functions could be done by using other ways to store data.)

So this is cool. There’s a good chance that your favorite Greasemonkey script might just work in Chrome. Personally, I recommend the dev channel version of Chrome. It gets all the cool features early, and it’s been very stable/fast for me.

Improving Arabic searches and talking more about ranking

Moustafa Hammad and Mohamed Elhawary, a couple engineers in our search quality group, just did a nice post about improving Arabic language searches:

Our algorithm employs rules of Arabic spelling and grammar along with signals from historical search data to decide when to leave out spaces between words or when to remove unnecessarily repeated letters. Now, when you type a query leaving out spaces or repeating a letter, we’ll return better results based not only on what you typed, but also on what our algorithm understands is the “correct” query.

There’s a few nice things about this post besides the direct improvement on Arabic language searches. For one, this post joins other recent posts that pull back a little bit of the curtain on the 400+ ranking changes that we make every year. I hope that we keep doing these posts.

Another nice thing is that the post talks about the impact of the improvement (10% of Arabic language queries are affected by this change). For the recent blog post about how Google uses synonyms in ranking, Steven Baker mentioned that “synonyms affect 70 percent of user searches across the more than 100 languages Google supports.” I like giving a rough idea of a change’s impact. The vast majority of Google’s 400+ annual ranking changes affect a much smaller percentage of queries, so don’t get the wrong idea that every improvement to our ranking algorithms affects a large percentage of searches. One last nice thing is that this change again shows the value of historical search data to improve search quality. I know that few users care about that, but it’s good to point out.

Anyway, I like to point out when Google blogs about these internal changes to our scoring algorithms, because people always want to know more about how Google works.