Een Blackhat XSS Link Building Truuk

Gratis backlinks zijn natuurlijk altijd welkom wanneer je bezig met link building. Eerder gaf ik al websites waar je gratis een backlink kunt krijgen zoals Squidoo, TagsPage en eTeamz.

Nu zal ik een blackhat link building truuk laten zien die NIET meer werkt in Google en Yahoo!, maar nog wel voor Ask en Live search. Het is een klassieke XSS (Cross Site Scripting) truuk.

Link Injection met XSS

In het kort komt het erop neer dat je op bepaalde pagina's je eigen links kunt toevoegen. Natuurlijk is dit niet helemaal whitehat, omdat dit allemaal zonder toestemming is van de webmaster. Met XSS zorg je ervoor dat je een URL met anchortext kunt bepalen op een web pagina, via een speciale samengestelde URL.

Ik zal gelijk een voorbeeld geven. Recentelijk is er een bug gevonden in PHP, specifieker nog de phpinfo() functie. Via een 'speciale' URL kun je je eigen link samenstellen en omdat ik zo'n goede bui ben zal ik ook uitleggen hoe je dit kunt toepassen.

Als eerste moet je zoeken naar PHP versies 4.4.3 tot en met 4.4.6. Dan moet je de phpinfo() pagina zoeken (als die bestaat). Voor het gemak zoeken we op "php version 4.4" phpinfo. Dan zul je handmatig moeten filteren voor de correcte versies. Heb je er een gevonden (waarschijnlijk is het ook nog eens een phpinfo.php bestand!)? Dan voeg je de volgende tekens toe aan de URL:

?f[]=%3Ca%20href%3Dhttp%3A//www.seoking.nl/%3ESEO%20KING%3C/a%3E

Plak dit achteraan de URL en refresh de pagina. Scroll nu beneden naar "PHP Variables" (ergens helemaal onderaan) en als het goed is zie je nu een link met naar deze blog :-) Zo niet, dan heb je de verkeerde PHP versie die al gepatched is. Je zult zelf een beetje moeten knutselen aan de URL om de correcte URL en anchortekst te krijgen.

Hoe kun je nu precies hier gebruik van maken? Zorg ervoor dat er een aantal links verwijzen naar deze 'speciale' URL zodat spiders op de betreffende pagina komen. Als het slachtoffer domein een hoge autoriteit heeft, dan zal jij die ook beetje meekrijgen. Voor PageRank hoef je het niet te doen, want 99% van de kwestbare pagina's hebben geen PR :-)

Mijn advies, gebruik dit niet voor je whitehat sites maar voor je blackhat websites. Het is ook niet echt een truuk die je continu wilt toepassen, maar om snel een aantal pagina's index te krijgen. Verder wilde ik het even delen voor historische redenen, want deze truuk werkte vroeger wel goed voor Google om .edu en .gov backlinks te krijgen. Nogmaals, het werkt niet voor Google en Yahoo! maar wel voor Ask en Live!

Tags:

Case Insensitive 301 Redirects Met mod_rewrite

Recentelijk moest ik case insensitive 301 redirects aanmaken op een Apache web server. De betreffende website maakte gebruik van keyword rich URLs, maar was niet consequent met hoofdletters en kleine letters. Sommige URLs leken op domein.nl/Plaatsnaam (hoofdletter) en andere op domein.nl/plaatsnaam. Door de inconsequente URLs kreeg de website heel wat pagina's in de supplemental index, omdat de twee URLs (met en zonder hoofdletter) niet identiek waren maar wel dezelfde content leverden. Met andere woorden, er waren duplicate content problemen. Dit probleem is vergelijkbaar met websites die wel of geen www gebruiken.

Een oplossing is gebruik maken van mod_rewrite. Er moeten namelijk case insensitive 301 redirects komen en mod_rewrite levert deze functionaliteit. Na overleg met de webmaster is besloten om alle URLs lowercase te maken, dus alle URLs bestaan uit alleen kleine letters. Om deze verhuizing zo prettig mogelijk te maken hebben we gebruik gemaakt van case insensitive 301 redirects. Kortom, alle URLs met een hoofdletter erin zullen een 301 redirect krijgen naar de URL met alleen kleine letters.

Het is belangrijk om een 301 redirect te gebruiken omdat wij alle link juice willen behouden. Zonder een 301 redirect zullen wij die allemaal verliezen en hebben alle backlinks naar de URLs met hoofdletters weinig tot geen waarde.

Na wat speurwerk heb ik drie manieren gevonden om case insensitive 301 redirects aan te maken. Let op, we maken hier gebruik van Apache en mod_rewrite!

#1 RewriteMap, RewriteRule, httpd.conf

Zet de volgende code in je httpd.conf (configuratie bestand van Apache).

CODE:
  1. RewriteMap lowercase int:tolower
  2. RewriteRule ^/([^A-Z]*[A-Z].*)$ http://www.domein.nl/${lowercase:$1} [R=301,L]

Deze code maakt gebruik van de system call tolower. Maak je geen zorgen, je hoeft niet precies te weten hoe het werkt. Gewoon de code overnemen en het werkt :-)

Deze code werkt alleen als je toegang hebt tot je httpd.conf bestand. Voor meeste shared hosting pakketten is deze oplossing niet beschikbaar, maar gelukkig zijn er andere oplossingen (zie #3).

#2 RewriteMap, RewriteRule, .htaccess

In je httpd.conf zet je de RewriteMap functie.

CODE:
  1. RewriteMap lowercase int:tolower

Dan plaats je in je .htaccess bestand de RewriteRule.

CODE:
  1. RewriteRule ^([^A-Z]*[A-Z].*)$ http://www.domein.nl/${lowercase:$1} [R=301,L]

Deze is vergelijkbaar met de eerste methode, maar je hebt nog steeds toegang nodig tot je httpd.conf bestand.

#3 .htaccess

Deze oplossing gebruikt alleen .htaccess en is dus voor meeste shared hosting pakketten een goede oplossing. Het enige nadeel is dat deze oplossing wel langzamer is dan oplossing #1 en #2. Waar de eerste twee gebruik maken van een system call (werkt via onderliggende software) maakt deze oplossing gebruik van on-the-fly vertaling van hoofdletters naar kleine letters. Met andere woorden, elke keer dat er een URL wordt bezocht moet de Apache software eerst de URL omzetten in kleine letters, letter voor letter.

CODE:
  1. # Als er geen hoofdletter te vinden is,
  2. #sla dan de volgende 28 rewrite rules over.
  3. RewriteRule ![A-Z] - [S=28]
  4.  
  5. # Vertaal elke hoofdletter in kleine letter
  6. RewriteRule ^([^A]*)A([^<]*) $1a$2<
  7. RewriteRule ^([^B]*)B([^<]*) $1b$2<
  8. RewriteRule ^([^C]*)C([^<]*) $1c$2<
  9. RewriteRule ^([^D]*)D([^<]*) $1d$2<
  10. RewriteRule ^([^E]*)E([^<]*) $1e$2<
  11. RewriteRule ^([^F]*)F([^<]*) $1f$2<
  12. RewriteRule ^([^G]*)G([^<]*) $1g$2<
  13. RewriteRule ^([^H]*)H([^<]*) $1h$2<
  14. RewriteRule ^([^I]*)I([^<]*) $1i$2<
  15. RewriteRule ^([^J]*)J([^<]*) $1j$2<
  16. RewriteRule ^([^K]*)K([^<]*) $1k$2<
  17. RewriteRule ^([^L]*)L([^<]*) $1l$2<
  18. RewriteRule ^([^M]*)M([^<]*) $1m$2<
  19. RewriteRule ^([^N]*)N([^<]*) $1n$2<
  20. RewriteRule ^([^O]*)O([^<]*) $1o$2<
  21. RewriteRule ^([^P]*)P([^<]*) $1p$2<
  22. RewriteRule ^([^Q]*)Q([^<]*) $1q$2<
  23. RewriteRule ^([^R]*)R([^<]*) $1r$2<
  24. RewriteRule ^([^S]*)S([^<]*) $1s$2<
  25. RewriteRule ^([^T]*)T([^<]*) $1t$2<
  26. RewriteRule ^([^U]*)U([^<]*) $1u$2<
  27. RewriteRule ^([^V]*)V([^<]*) $1v$2<
  28. RewriteRule ^([^W]*)W([^<]*) $1w$2<
  29. RewriteRule ^([^X]*)X([^<]*) $1x$2<
  30. RewriteRule ^([^Y]*)Y([^<]*) $1y$2<
  31. RewriteRule ^([^Z]*)Z([^<]*) $1z$2<
  32.  
  33. # Zet de Redirect variabel op Yes om aan te
  34. # geven dat er minstens 1 hoofdletter is vervangen.
  35. RewriteRule . - [E=Redirect:Yes]
  36.  
  37. # Als er nog een hoofdletter in de URL is, dan begint
  38. # de loop opnieuw vanaf bovenaan.
  39. RewriteRule [A-Z][^<]*<- [N]
  40.  
  41. # Er zijn geen hoofdletters meer in de URL.
  42. # Controleer op de Redirect variabel op Yes staat.
  43. # Zoja, 301 redirect naar de URL met alleen kleine letters.
  44. RewriteCond %{ENV:Redirect} ^Yes$
  45. RewriteRule ^([^<]+) http://www.domein.nl/$1 [R=301,L]

Scriptlevel HTTP 301 Redirects

Deze oplossingen maken allemaal gebruik van de web server configuraties. Deze manier van redirecten moet je altijd gebruiken wanneer dat kan, omdat het de meeste efficiente oplossing is. Je kunt ook case insensitive 301 redirects aanmaken op script level, zoals PHP en ASP, maar dit is wel heel traag. Desondanks is het zeker mogelijk en soms de enige oplossing, zoals bij het verhuizen van een blog.

Tags:

Google SiteLinks, Hoe Krijg je ze Nou?

Dit is de eerste gast post op SEOKING.nl door Rob. Ik hoop dat jullie het een waardevolle toevoeging vinden. Mocht je zelf nou ook willen bloggen over zoekmachine optimalisatie op SEOKING.nl, dan verwijs ik je door naar mijn guest post pagina voor meer informatie.

Op de website van Andre Scholten las ik een leuk stukje over de google sitelinks. Ik kwam op dit onderwerp naar aanleiding van de sitelinks van mijn poker handleiding website.
Google Sitelinks

Over dit onderwerp zijn er geen duidelijke antwoorden maar wel erg veel vragen. Juist daarom zijn er waarschijnlijk zoveel mensen mee bezig. Met mijn statistieken kan ik misschien wel enkele mythes ontkrachten.

Je site moet autoriteit zijn op een zoekopdracht.

De site is inderdaad autoriteit op meerdere zoekopdrachten. Echter is het niet zo dat iedere nummer 1 positie voldoende is. Terwijl 'poker combinaties' toch de 3e best bezochte pagina is van de website.

Je navigatie moet zo ver mogelijk vooraan staan.

Ook dit is mogelijk. De site begint met de code van de navigatie maar in hoeverre dit ook van effect is op de sitelinks kunnen we natuurlijk testen door de navigatie naar beneden te verplaatsen. De huidige indeling is:
site indeling

Je hoofdpagina en subpagina’s moeten een eigen groep van inkomende links en bezoekers hebben.

Ik denk dat de links minder van belang zijn. De pagina’s in de sitelinks zijn de pagina’s die via google de meeste bezoekers trekken. Het aantal links naar deze subpagina’s valt verders redelijk tegen.

Texas Hold'em
- 0 inkomende links
Het poker spel - 0 inkomende links
Combinaties - 27 inkomende links
texas holdem | spel uitleg - Deze pagina bestaat niet meer en heeft een 301.

Google Sitemaps en Google Analytics.

Beide systemen zijn gebruikt om de website zo goed mogelijk te kunnen volgen. Echter zijn er geen aanwijzingen dat deze systemen ook maar van enig invloed zijn. Het verwijderen van de sitemap heeft voor langere tijd geen effect gehad op het verdwijnen van de sitelinks.

Je site moet minimaal pagerank 5 hebben.

De website heeft al geruime tijd een PageRank van 3. Het aantal bezoekers blijft ook stabiel op een gemiddelde van de 350 per dag hangen. Als 1 van deze factoren van invloed zouden zijn dan had ik het effect al wel eerder hebben moeten merken.

Je moet er geld in steken om tot sitelinks te komen.

Er is niets betaald aan Google. Ik ben geen sponsor van Google.

Verder valt er nog op dat er geen controlle zit in duplicate content. Middels het herschrijven van de url was er nog een oude link opgenomen die dezelfde content liet zien als de eerste pagina.

Alleen geoptimaliseerde websites komen in aanmerking.

Tot mijn verbazing zag ik dat Kruikenstad.com ook sitelinks heeft gekregen. Deze pagina gaat over het Tilburgse carnaval met een piek van enkele maanden per jaar. Op de 5 dagen in het jaar gaan we over de 1000 bezoekers per dag en in de zomermaanden zitten we op een gemiddelde van 200 bezoekers per dag. De site heeft echter nog steeds geen geoptimaliseerde code. De URL is niet herschreven en ook niet alle pagina's zijn even uniek.

Algemene statistieken

Pokeruitleg.nl
8.83% Direct verkeer
5.78% Verwijzende sites
85.29% Zoekmachines

26.96% op "Poker uitleg"
13.15% op "Poker combinaties" waarbij geen sitelinks in beeld komen

Kruikenstad.com
12.05% op "kruikenstad"
onbekend op "carnaval tilburg"

Conclusie

Ik zie geen link tussen de pagerank, bezoekers en code betreffende sitelinks. Ik ben de laatste tijd wel aan het spelen geweest met titels, meta tags (is het nog wel van deze tijd?!) maar ook daar zie ik geen verband in. Beide sites zijn niet geheel uniek maar scoren wel goed op de content. Echter vliegen de laatste tijd de poker sites uit de grond. Ik denk dat het een combinatie is van een groep vaste bezoekers, content waar veel mensen op zoeken en de leeftijd van de websites. Hoe meer websites over een bepaald onderwerp, des te meer google de oudjes gaat waarderen.

Auteur

Rob is actief als teamleider development in Tilburg. Daarnaast werk hij als freelancer om te kunnen experimenteren op meerdere gebieden.

Tags:

Gratis Backlink PR 5

Waarom zou je betaalde links willen hebben als er genoeg mogelijkheden zijn voor gratis backlinks? Nu heb ik een ander link building goudmijn gevonden, namelijk tagspage.

Je kunt hier een link toevoegen en zelf bepalen welke anchortext je wilt hebben. Er is een betaalde optie mogelijk, dan krijg je een PR 7 link (voor maar $5/jaar). Maar er is ook een gratis versie, waar je een PR 5 backlink krijgt. Hoe krijg je deze?

  • 1. Ga naar tagspage.com
  • 2. Klik op add tag.
  • 3. Selecteer de free optie.
  • 4. Voeg je anchortekst toe. Hopen dat deze nog vrij is, anders moet je een andere anchortext gebruiken.
  • 5. Voeg je URL toe.
  • 6. Voila!

Je kunt maar één link toevoegen per IP. Maar wij weten allemaal dat dat te omzeilen is ;-) Heb je zelf nog een goudmijn gevonden? Post ze dan hier!

Tags:

Betere SERPs met Google Agent Rank

In deze uitgebreide post op SearchEngineLand (Engelstalig) kun je lezen dat Google een nieuwe patent heeft aangevraagd. Het gaat om een nieuw algoritme om zoekresultaten te verbeteren. In het kort, de techniek is gebaseerd op de autoriteit van auteur(s) om een kwaliteitscore te geven aan content. Hieronder kun je een samenvatting vinden van deze nieuwe algoritme.

Agent Rank Algoritme

De Google PageRank algoritme werkt op basis van populariteit en kwaliteit van links naar specifieke URLs. Hoe hoger de populariteit en hoe hoger de kwaliteit van de links, hoe hoger de PageRank (heel simpel gezegd). Ongeacht wie de auteurs zijn van de content op de URL, links zijn de enige grote factoren voor PageRank. Als je gaat zoeken op Google, dan zal Google de proberen de beste resultaten te weergeven aan de hand van onder andere de PageRank score.

De Agent Rank algoritme is een analoog met het PageRank algoritme. Alleen spelen niet de links een grote rol, maar de auteur en de content die deze persoon heeft geproduceerd. Elk auteur krijgt een kwaliteitscore toegewezen, een soort reputatie, en aan de hand van deze score bepaalt het algoritme hoe hoog de pagina in SERPs terugkomt. Met andere woorden, de kwaliteitsscore die is geassocieerd aan een URL wordt mede bepaald door de kwaliteitscores van de auteur(s).

Elk auteur krijgt een digitale handtekening toegewezen die hij kan associeren met content. Daarnaast kan hij ook zichzelf associeren met content van iemand anders. Met andere woorden, deze persoon kan de content aanbevelen. Dit kan de content een hogere score geven, als de aanbeveling komt van iemand die een autoriteit is op dat gebied.

Laten we een voorbeeld nemen hoe deze algoritme werkt. Stel je voor dat wij een forum hebben over SEO en alle SEOKING gebruikers hebben een (positieve) reputatie op SEO gebied. Elke forumpost over SEO krijgt een hoge Agent Rank Score, omdat de SEOKING gebruikers allemaal een reputatie hebben op SEO gebied. Maar als alle SEOKING gebruikers advies gaan geven over tuinieren, dan geeft dit advies natuurlijk minder waarde aan tuiniers. Het gevolg is dus dat de Agent Rank Score laag is voor het betreffende forum onderwerp.

Als Matt Cutts over zoekmachines gaat schrijven dan zal zijn content een hoge Agent Rank score krijgen. Maar zodra hij gaat schrijven hoe je het beste een F-1 auto moet besturen dan zal natuurlijk de score van de content veel lager zijn. Tenzij verschillende F-1 coureurs zijn content aanbevelen, dan kan hij misschien ook nog reputatie opbouwen op F-1 gebied.

Zie je de analoog al met PageRank? De auteur is het domein (autoriteit) en de aanbevelingen zijn de links (associatie). Het is een interessante ontwikkeling wat zeer nuttig kan zijn. Reputatie is een belangrijke factoor op het web en dit is een nieuwe manier om reputatie op te bouwen. Ik wil niet te hard van stapel lopen, het kan nog jaren duren voordat zo'n systeem uitvoerbaar is. Toch ben ik al aan het nadenken hoe je zo snel mogelijk authoriteit kan opbouwen. Identity theft is een misdaad, maar er zal vast een manier zijn. Iemand anders met ideeen?

Voor meer informatie kun je het beste de post op SearchEngineLand lezen.

Tags: