mail usprint this pagerss feed

www.liip.ch

Liip is hiring!

Hiding parts of a page from Google

For a project, we want to exclude some information on a page so that it does not appear on Google search results. We mainly want to hide the usernames from the comments, so that those users are not findable via Google. This is mainly meant for the protection of the users (and also for avoiding customer care calls when people find themselves in Google on pages they don't want to be found).

There are different solutions to this problem and we assume we didn't find the perfect one yet, so maybe someone of our readers has some insights.

Here are our solutions:

* Remove the usernames from the page, when the Googlebot is detected. Could work. No negative impact to the general visitor. Just two questions: If Googlebot disguises itself as a different user agent, we deliver it the usernames nevertheless, what does it do with it? Add it to the index? Treat the site as "you deliver different results to Google than your visitors. You're bad. You lost your karma"? (which we have to avoid, of course). I doubt such a small change will trigger that alarm or that it will end up in the index, but no one knows for sure (at least I didn't find anything).
Conclusion: Could work, unknown risk that it does bad things.

* Use images instead of text. As long as Google doesn't do OCR, that works. The general visitor can't copy&paste, but apart from it, it works for him. But blind people do have a problem then and accessibility is important on that site.
Conclusion: Does work. But is not accessible and may look very strange.

* Use Javascript to write the name. Actually we do that as spam prevention already on our website (and generally in the CMS) for email addresses. Mine looks something like <script type="text/javascript">obfscml('>a/_tl_hc.piil___rekcots.naitsirhc> "hc.piil___rekcots.naitsirhc:uzkcihcs"=ferh "liam"=ssalc a_tl_') </script> and the function "obfscml" does then deobfuscate it (as you can guess the algorithm is not very fancy :)). I thought that works (and it certainly works for most spam email harvesters), but when I searched for this email address at Google I was quite surprised to find that page on the top spot. So Google actually does execute javascript on the page (it's not just regexing or parsing or similar as I read on other pages, the algorithm is not *that* easy).
So I went to the next stage and put the actual function into an external javascript file and - just to make sure - exclude it from Googlebot with robots.txt. And a week later, it was gone from the index. So that worked (and if it wouldn't work, Google wouldn't play by the robots.txt rules and I trust them that much)
Conclusion: It works, if you put the javascript function into an external file and exclude this with robots.txt. People with Javascript disabled don't see the name, but everyone else does and wouldn't notice anything. Still not perfect.

* Last but not least: A combination of images and javascript. You use images and write the name with javascript into the alt tag. The only people not being able to read the name are blind people with javascript disabled (and that's usually not the case, AFAIK). But still: Only works until Google does OCR and it may look alien in your page.

That's what we came up with. Nothing is really satisfying and there's no official solution by Google, as far as I know. Excluding whole pages from Google is easy, but excluding just parts of it almost impossible without dirty hacks.

If anyone comes up with a way more elegant solution, we really like to hear it. The comments are open.

Related Entries:
Techday Slides: Flash and the Quest for Accessibility
Flash & the Quest for Accessibility - Part #2
Flash & the Quest for Accessibility - Part #1
jsdomenu versus Google Analytics
Google Gears @ Webtuesday
Comments (4) |  Permalink

Recommendation: Certified Secure Web Developer Course in Fribourg

Great to see that there are more and more web-related events in the cozy town of Fribourg. There's not only commnunity-organized events like Webmardi, but also "official" events by the many schools we have in Fribourg.

The Certified Secure Web Developer (CSWD, see also certifiedsecureweb.ch) course at the EIA-FR is one of these events, and one that we're recommending warmly.

The course program covers a lot of material from OSSTMM and OWASP and involves lots of hands-on hacking, hardening as well as an introduction to systematic risk assessment and the relevant metrics. There sure will be Liipers participating, so it would be great to see you there, too. Note: if interested you should probably hurry, enrollment will be closing soon.

Dates:

  • 4/5 May
  • 18/19 May
  • 1 June (Exams)

For more information, registration etc. see itsecurity-academy.ch

Comments (1) |  Permalink

Introduction to node.js at Webtuesday

At this weeks WebTuesday in the AdNovum offices in Zurich I presented node.js, the much talked about framework for writing event driven servers in JavaScript. It's an interesting approach to develop asynchronous applications with completely non-blocking input/output without the headaches this usually involves. From our perspective it's especially an interesting tool to develop the server side of Comet-like applications in a language that most developers are already familiar with.

You can find the slides containing an introduction to event loops in general and a few code examples on slides.liip.ch.

Related Entries:
Webtuesday: PHP vs. Javascript: which sucks more?
Techday Slides: PhoneGap
Next Webtuesday: Sebastian Bergmann about PHP 5.3
Busy February Evenings at the Liip Zurich Office
TestFest@Webtuesday Hackfest
Comments (6) |  Permalink

Next Webmardi in Fribourg

The next Webmardi will be held on Tuesday, March 9, at the Liip Fribourg office.

We will have the chance to discover the promising New Zealand made Silverstripe CMS, presented by Manfred Pürro. Please feel free to join us, everyone is welcome!

Comments (0) |  Permalink

Zurich Office featured in TEC21

Liip's Zürich offices recently got featured in TEC21, a renowned Swiss architecture journal, under the title of "Atmosphäre des Digitalen". Apart from discussing some special features of our operating base, the article critically ponders the notion of "intellectual sensualism" as well as aspects of the relations between architecture and the kind of stuff we do - we use architectural design patterns, they give us software-generated tapestry (picture above). If you're interested: here's the PDF of the entire article - enjoy.

Credits: OOS (architecture), Dominique Wehrli (photography).

Comments (4) |  Permalink

You're invited to the Liip Award Night

We want to mark an event for the highlights of this eventful past year. And we definitely want to have a drink with all the people who contributed to our success: our clients, partners, friends and the entire Liip team. And of course, as promised, with everybody that helped winning  this year's Master of Swiss Web award. So we're inviting all of you to our Award Night, in order to say thank you, to celebrate and perhaps even dance a bit!


We are looking forward to having a great celebration with you!
Do sign up now!

Yours truly,
all the Liipers

Comments (3) |  Permalink

28.th User Group Meeting of the SFUG

The 28.th User Group Meeting of the SFUG (Swiss Flash User Group) will take place next Tuesday, October 20th, at the Liip office in Zurich.
Michel Wacker, Sandro Ducceschi and other members of the Liip team will attend as well, and are looking forward for you to join us to discuss the latest news from the Flash world:

Topics are:
1. Showcase: "Postfinance Eventmanager" - Sandro Ducceschi (Liip AG)
2. Review: "Adobe MAX 2009" - Tiago Dias und Marcel Vogt (both Publicis AG)

More details can be found here.
New group-members are more than welcome, just come by and join us! See you there.

Related Entries:
Techday Slides: Flash and the Quest for Accessibility
Flash & the Quest for Accessibility - Part #2
Flash & the Quest for Accessibility - Part #1
Busy February Evenings at the Liip Zurich Office
Local.ch Coverflow Clone goes open source
Comments (1) |  Permalink

Vote for PROGR - Bern's free art space

pro progr banner

What used to be a school right in the heart of Switzerland's capital, is now a bustling space for the arts. A couple of years ago, the city of Bern granted this building be used temporarily as studios, performance venue, exhibition space and offices for art professionals and institutions. This space called PROGR has become renowned and appreciated throughout Switzerland for it's lively scene and events programme.

The temporary lease ends next month and the art space is to make room for a private investor's health center. The current inhabitants have organized themselves and managed to come up with enough funding to match the price the private investor would have to pay. The city council reacted favourably to the idea of making the current art space a permanent thing and now it is up to the citizens of Bern to vote.

Liip is already supporting PROGR financially and we are naturally in strong favour of keeping this great institution alive.
We call on anyone able to vote in Bern to put in a YES for the artists initiative "Pro Progr" and a NO to the health center "Doppelpunkt" on May 17th.

Visit the initiative's website

Related Entries:
Come see us at OpenExpo
etoy art in the bitflux office
preview of the etoy.MISSION ETERNITY SARCOPHAGUS
Start of etoy's MISSION ETERNITY / M∞ in Zurich
The president of the greens (city zurich) is blogging
Comments (0) |  Permalink

Webmardi Fribourg 2009/04/07

On Tuesday April 7th Liip will host the second Webmardi in Fribourg, where Vlad Trifa and Dominique Guinard will talk about the Web Of Things.

After having attended several of the notorious Webtuesdays in Zürich, some of us thought, we might get that spirit into the "IT Valley" of Fribourg. The first event was quite a success. Roughly 25 participants were present when Joël Bez gave an introduction to HTML5.  Check out the recording of Joël's presentation on vimeo.


The event ended at Le Transformateur and was quite a joy indeed, so we're all looking forward to next week's meeting. More information and registration on the Webmardi Homepage. See you in Fribourg.

Related Entries:
Liip erkennbar
Comments (0) |  Permalink

Automatically switching between different Time Machine disks

After having finally switched to Leopard during my paternity leave (thanks again Liip for that :)) I started using Time Machine for my backup needs. Since I had an almost-always running Popcorn Hour with some spare space, the wish to use that device was kinda obvious. While not officially supported by Apple (for whatever reasons) setting it up on the samba share was pretty easy and it works pretty flawless since then.

Back at work I of course didn't want to miss the hourly backups anymore and needed a solution there too. So I did the same with a disk attached to our airport. Worked equally flawless and since Time Machine seems to handle different and changing backup disks correctly all I had to do was to switch the Time Machine disk every morning and evening. I now have two full backups of my disk, one at home and one at the office, geographically separated by approx. 2 kilometers, which should be enough for most possible disasters. And if that's not enough, then I'm not sure if I care about my backups anymore :)

But the switching every day between the two disks was cumbersome and easily forgotten, so I wanted to automate that. With some googling I found out, that the destination disk was written in the " /Library/Preferences/com.apple.TimeMachine BackupAlias" property and could be read with

defaults read /Library/Preferences/com.apple.TimeMachine BackupAlias

This gives you a rather long string starting with something like <00000000 014e0002 .... That's what you need for later. And for both disks.

Next I wrote two little shell scripts, looking like this:

#!/bin/bash
defaults write /Library/Preferences/com.apple.TimeMachine BackupAlias '<00000000 014e0002 ....>'

and started them, when needed. No more half a dozen mouse-clicks and typing in that password every time, just calling that script was enough, but still not perfect. Jiayong Ou to the rescue, which made me aware of the context-and-location-aware and free application MarcoPolo. A little bit of configuring and I have now a fully automated backup solution at home and at the office. I additionally added the line

/System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper -auto &

to my script and a delay of 30 seconds in MarcoPolo, so that my backup started immediately when I'm online again and after the disk preference actually switched. Doesn't work always, since it's aborting a maybe running old backup, but seems not to do harm either.

That was it. A cool little application and a 2 line script is enough for making me forget about doing my backups :)

And as always: This works for me, but may completely destroy something on your side. And it's not officially supported by Apple and may therefore break with the next update. Use at your own risk

Related Entries:
Leopard native apache with custom (64bit) PHP
Slick (on OS X) vs. Ugly (on XP) Software
Universal Binary PHP
Tigerrrr
Safari, XSLT and contenteditable in OS X 10.3.9 and 10.4
Comments (13) |  Permalink
Next1-10/187