Dålig standard på svenska sökoptimeringsföretag

Vissa av de företag som kallar sin bransch för sökmotoroptimering (SEO) använder sig tyvärr av en hel del tvivelaktiga metoder. I vissa extrema fall kan det till och med gå så långt att kunden till och med förlorar på deras "tjänster", genom klantiga misstag. Eller för att citera Nikke Lindqvist som skriver i ett inlägg

Det omoraliska i saken är att utsätta betalande kunder för den risk det innebär för dem och deras sajter att tillsammans med andra sajter ha dessa länkar på sina interna sitemaps. Den dag Google uppmärksammar saken och börjar betrakta dessa sitemaps som de länkfarmar de är, är risken stor att sajterna som har dem får se sina sökmotorplaceringar sjunka betydligt.

Vill verkligen tacka Nikke för att han skriver om SEO-skojare i sin blogg. Det fick mig att äntligen skriva denna artikel som jag har viljat göra väldigt länge. Genom hans sida fick jag även ett tips om den anonyma seoblackhat.net som tillkännager att de kommer att skriva om "fusk" på sökmotoroptimerings-marknaden. Ett väldigt bra initiativ tycker jag, ser fram emot att läsa om alla knåpare där ute som har halkat in på SEO-branschens mörkare sidor.

I det första inlägget på SEO Black Hat nämns ett företag som jag har haft lite kontakt med genom vår gemensamma kund. De fick i uppdrag att se över en webbplats som jag hade utvecklat, och att förbättra närvaron på sökmotorerna.

Men jag är inte så säker på att de förklarade exakt vad de skulle inkludera i den nya sitemap-filerna. I alla fall verkade kunden lika förvånad som jag när vi gemensamt hittade dessa under ett möte. För det första var allt mycket dåligt gjort, de hade helt enkelt släppt loss någon slags automatisk sitemap-generator som skapade diverse konstiga kartor över webbplatsen. Fullkomligt obegripliga för de besökare som skulle kunna trilla dit via en sökning.

Det ska även tilläggas att webbplatsen är utvecklad i klassisk asp och utformad som ett fotoalbum i olika kategorier. Bilderna i albumet var inlagda i en frames-sida och lämpade sig inte alls att skapa en sitemap av. Sökoptimeringsföretaget skapade inte minde än 5 stycken sitemaps som bestod av länkar till de olika bilderna i fotoalbumet. Eftersom bilderna låg inom frames-sidan och alla hade samma title så fick alla länkar samma länk-text. Det resulterade i uppskattningsvis 500 länkar med exakt samma ankartext som ligger utspridda på ett helt galet sätt.

Företaget brydde inte ens sig om att länka till någon av sajt-kartorna från webbplatsens huvudsida. Antagligen skämdes de för mycket för resultatet, eller så ville de helt enkelt hålla det hemligt. Och vad är meningen med en sitemap om den inte ens går att hitta från webbplatsens huvudinnehåll? En sajt-karta ska väl av definition vara tillgänglig för besökaren för att kunna få överblick över webbplatsen. Den bör absolut inte användas till att lägga in hemliga länkfarmar för externa irrelevanta webbsidor.

Sedan har de även inkluderat en hel del länkar till andra av deras kunder och givetvis sig själva. Denna länksamling som består av ca 100 länkar till olika företag i ett brokigt urval branscher (Man la sig givetvis precis under gränsen för totala antal länkar som Google rekommenderar att ha på samma sida). Några typer av företag var, pokerföretag, Försäkringsföretag, medicinföretag m.m.

Frågan är bara om kunden verkligen har förstått att de betalar sökoptimerings-företaget pengar, för att göra reklam åt andra helt irrelevanta företag. Borde det inte vara rimligt att det ska vara tvärt om? Och frågan är om de inte skulle vilja bestämma sådana affärsrelationer själva?

Som jag ser det leder sån här typ av länkbyggande till att sänka kvaliteten på nätet. Besökarna kommer tröttna på att hamna på sidor som är byggda för att skapa höga resultat på en artificiell väg. Besökarna kommer klaga hos sökmotorföretagen som kommer tvingas att hitta på en lösning för att stoppa det.

Den typ av optimering leder bara mot snabba resultat inledningsvis. Det är inte den rätta vägen mot att bygga upp en trovärdig marknadsförings-strategi. Jag är till och med övertygad om att det till sist kommer att slå tillbaka, mot alla de som är inblandade med de spammiga sajt-kartorna. Eller de som använder andra tvivelaktiga metoder som bara syftar till att få upp snabba resultat på sökmotorerna.

Och eftersom dessa företag oftast verkar ta betalt för att ha dessa sajt-kartor liggande och bara går in och uppdaterar nån gång per år, så ställer jag mig frågan: Vad händer om man inte vill betala längre, tar de bort filerna från alla partnersidor då? Liknar lite som maffiastil i såna fall. Typ: - "Vi bygger upp din närvaro på nätet, men slutar du att betala, så river vi ner den igen"

Som tur är har all den dåliga uppmärksamhet om SEO-branschen börjat ge effekt. Ju mer information det kommer fram på ämnet desto fler SEO-konsulter kommer gå över till mer ärliga metoder. Under året har Internetworld skrivit en hel del bra artiklar på ämnet och bidragit till större förståelse av vikten att marknadsföra sig på ett snyggt sätt. Inte bara på de gamla traditionella områdena som tv, mässor och trycksaker utan även på internet.

Läs mer på IDG
Sökkonsulternas ljusskygga metoder
Så väljer du rätt seo-konsult

By Jesper Lind

Amaznode - Nytt sätt att söka på Amazon

http://www.codeodyssey.se/upload/resource/blog/amaznode.jpg

Den japanska utvecklaren, Takayuki Fukatsu, har skapat ett nytt kreativt sätt att söka på Amazon, genom en flashapplikation. Man anger en sökterm och får sedan produkter från Amazon presenterade som ändpunkter i ett nätverk. Kopplingarna mellan produkterna representeras av data från Amazon's kundregister, typ: "kunder som köpt ... har även köpt ...".

Man kan välja att söka på musik, böcker, dvd's, mjukvara eller dataspel. Det är ett riktigt bra sätt att hitta relaterad media till det du är intresserad av och även ett perfekt verktyg för forskning.

Här kan du t ex se en sökning från en av mina favoritartister, Roots Manuva, från London.

Gör en egen sökning på Amaznode

By Jesper Lind

Så länkar man in flash på MySpace

Myspace har blockat en del taggar för inmatning i sin presentation, bland annat "object". Men det går endå att länka in flash-kod på ens sida. Här under ser ni ett exempel. Byt bara ut länken till flash-filen till din egen fil och ändra även höjd och bredd.

<embed
allowScriptAccess="never"
src="http://www.codeodyssey.com/footprints/footprints.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash"
width="440"
height="700">
</embed>

Om ni vill se hur det blir, kan ni besöka myspace.com/clubfootprints, där koden ligger inlagd för tillfället.

Kollar man i källkoden på MySpace så ser man att koden blir lite omgjord. Detta är ju givetvis för att skydda sajten emot intrång av skadlig kod via flashmotorn. Myspace har ju haft en del problem med säkerheten den senare tiden, och en hel del användaruppgifter antas vara på vift.

Efter vi klistrat in kodsnutten ser den ut så här på Myspace-sidan:

<embed enableJSURL="false" enableHREF="false" saveEmbedTags="true" allowScriptAccess="never" allownetworking="internal" allowScriptAccess="never" allownetworking="internal" allowScriptAccess="never" allownetworking="internal" src="http://www.codeodyssey.com/footprints/footprints.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash"
width="440"
height="700">
</embed>

Som ni ser så upprepas vissa element, tror MySpace skripten lägger in den där koden varje gång man uppdaterar sidan.

By Jesper Lind

Ny design på Goldmine Outlet - och flipperturnering

http://www.codeodyssey.se/upload/resource/blog/Goldmine_flipper.jpg

Goldmine Outlet är en outlet-butik som ligger vid Överby köpcentrum i Trollhättan. Det görs ingen försäljning på nätet utan man måste åka dit för att handla. Eftersom det alltid är minst 50% rabatt så kan man hitta riktigt fina klipp.

På lördagar spelar ofta DJ's live i butiken och har hittills gästats av JayStarSeven, Kiljano, Dordis, DJ Malmqvist och DJ Big A med flera.

En rolig nyhet är att det numera finns ett flipperspel i butiken. Den 23/12 kl. 13 är det turnering så missa inte det ifall du är i närheten av Trollhättan! Om du vill läsa mer om flipperspel kan jag rekommendera West Coast Pinball som är en hemsida för flipperintresserade i Göteborg med omnejd. Silverball Maniacs är en annan sida som har uppmärksammat tävlingen på Goldmine Outlet och den diskuteras i följande tråd på deras forum.

Vi har också lagt till ett bildspel där man kan se lite bilder från butiken. Flashfilerna bygger på moduler som Fakepilot har skapat.

Just det.. Ni ville ha en länk till hemsidan också, här är den: www.goldmineoutlet.se

Uppdatering: Martin Restin från Trollhättan vann flipperturneringen och får ett presentkort på 1000 kr. Stort grattis! Vi har precis uppdaterat hemsida, med en ny design framarbetad av Andreas Wennerstedt.

By Jesper Lind

Felsök: Could not find schema ...NetConfiguration/v2.0:configuration

Fick detta felet i VS intellisense, och det tyder på någon misskonfiguration i Visual Studio.

Could not find schema information for the element 'http://schemas.microsoft.com/.NetConfiguration/v2.0:configuration'.

Som en snabb fix bytte jag ut:

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">

Mot:

<configuration>
<!-- xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"-->

Man kan läsa mer om det här och här.

By Jesper Lind

Stoppa spam-bots på din sajt

Jag har spenderat lite tid för att söka efter ett bra sätt, att försvåra för spam-robotar att snappa upp emailadresser på de webbplatser jag jobbar med. Hittade lite olika lösningar som verkar mer eller mindre effektiva.

Lite olika varianter
Först tänkte jag räkna upp några av de sidor som jag besökte innan jag hittade det som kändes bäst för mig. Ett sätt som jag aldrig tänkt på innan är att använda CSS för att skydda adresserna.

Hittade också ett enkelt exempel på en javascript-variant, där man skriver ut adresserna enligt "user at example.org".

Ytterligare ett exempel finns på The Code Project. som använder en BitConverter i Asp.Net för att göra om adresserna, till något som ser ut så här: 64657266406578616D706C652E636F6D. Ett Javascript avkodar sedan strängen, så att de ser ut som vanligt för användaren. Eftersom de flesta spam-bots inte kör javascript så kan de inte se att det är en emailadress.

Använda en HttpModule för att stoppa spam
Den metod som jag valde att använda hittade jag på Webpronews.com. Den gör om emailadresserna till hexadecimala tecken. Och den gör det på ett väldigt smart sätt eftersom den blandar de hexadecimala tecknen med vanliga, enligt en slumpvis algoritm. I en webbläsare ser adresserna helt vanliga ut, men spamrobotarna kommer få problem. Det fina med att använda en HttpModule är ju att ma inte behöver koda om alla sidor på webbplatsen. Modulen tar hand om detta och applicerar det över hela sajten. För att vara ännu säkrare kan man även kombinera denna teknik med en javascript-variant.

Så här lägger man till en referens till modulen i web.config:

<httpModules>
<add type="EmailSpamModule" name="EmailSpamModule" />
</httpModules>

Själva koden för modulen läggs i App_Code och ser ut så här:

#region Using

using System;
using System.IO;
using System.Web;
using System.Text;
using System.Text.RegularExpressions;

#endregion

/// <summary>
/// Removes whitespace from the webpage.
/// </summary>
public class EmailSpamModule : IHttpModule
{

#region IHttpModule Members

void IHttpModule.Dispose()
{
// Nothing to dispose;
}

void IHttpModule.Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(context_BeginRequest);
}

#endregion

void context_BeginRequest(object sender, EventArgs e)
{
HttpApplication app = sender as HttpApplication;
if (app.Request.RawUrl.Contains(".aspx"))
{
app.Response.Filter = new SpamFilter(app.Response.Filter);
}
}

#region Stream filter

private class SpamFilter : Stream
{

public SpamFilter(Stream sink)
{
_sink = sink;
}

private Stream _sink;

#region Properites

public override bool CanRead
{
get { return true; }
}

public override bool CanSeek
{
get { return true; }
}

public override bool CanWrite
{
get { return true; }
}

public override void Flush()
{
_sink.Flush();
}

public override long Length
{
get { return 0; }
}

private long _position;
public override long Position
{
get { return _position; }
set { _position = value; }
}

#endregion

#region Methods

public override int Read(byte[] buffer, int offset, int count)
{
return _sink.Read(buffer, offset, count);
}

public override long Seek(long offset, SeekOrigin origin)
{
return _sink.Seek(offset, origin);
}

public override void SetLength(long value)
{
_sink.SetLength(value);
}

public override void Close()
{
_sink.Close();
}

public override void Write(byte[] buffer, int offset, int count)
{
byte[] data = new byte[count];
Buffer.BlockCopy(buffer, offset, data, 0, count);
string html = System.Text.Encoding.Default.GetString(buffer);

html = EncodeEmails(html);

byte[] outdata = System.Text.Encoding.Default.GetBytes(html);
_sink.Write(outdata, 0, outdata.GetLength(0));
}

private static string EncodeEmails( string html)
{
foreach (Match match in _Regex.Matches(html))
{
html = html.Replace(match.Value, Encode(match.Value));
}
return html;
}

private static Regex _Regex = new Regex("(mailto:|)(\\w+[a-zA-Z0-9.-_]*)@(\\w+).(\\w+)");
private static Random _Random = new Random();

private static string Encode(string value)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < value.Length; i++)
{
if (_Random.Next(2) == 1)
sb.AppendFormat("&#{0};", Convert.ToInt32(value[i]));
else
sb.Append(value[i]);
}

return sb.ToString();
}

#endregion

}

#endregion

}

Jag hoppas att skaparen av detta kod tycker det är okej att jag publicerar den.
In english: I hope that the creator of this code approves that I republish it. If not, just contact me and I will remove it. I also found it here and here.

En prestandavarning
När jag provade på ett riktigt långt html-dokument så fick jag lite oväntade problem. Vet inte riktigt vad det beror på. På kortare sidor fungerar modulen bra.

En bete för bots
Till sist tänkte jag använda metoden för att lägga ut ett bete för spam-botsen. Följande adress har jag skapat endast för denna sidan och jag kommer inte lägga ut den någon annanstans. Får jag ett spam till den adressen så vet jag att en bot har överlistat systemet.

spammeifyoucan@codeodyssey.com

I koden bakom ser denna adress ut som följer, svårt för till och med en spam-bot att fatta.

s&#112;&#97;&#109;m&#101;if&#121;oucan@c&#111;&#100;&#101;o&#100;y&#115;&#115;ey.&#99;o&#109;

By Jesper Lind

Världsmästerskap i SEO-optimering

Nu är det stor tävling i SEO på gång, som anordnas av Eastpoint. Skulle vara kul att delta men kommer nog aldrig orka satsa fullt ut på en sån här grej. Och det lär bli väldigt hårt motstånd från proffsen i sökoptimerings-branschen. Får se, kanske ställer upp för skojs skull.

Priserna är riktigt bra och man kan bland annat vinna en bil, en kryssning till Karibien och en plastma-tv. Nyckelorden kommer att tillkännages den 15:de januari kl 13:00. Se "Rocky-style" promo-video

By Jesper Lind