Magyar kulcsszó választó eszközök

Tavaly elkövettem egy hosszabb poszt megírását a keresőoptimalizálás talán legkritikusabb lépéséről, a kulcsszó választásról diverzifikált kulcsszó kosár címmel. Azóta sok idő eltelt és némi tapasztalattal sikerült gazdagodnom.

Az iWebTool fórum egyik kiváló tagja hívta fel a figyelmemet erre a nagyon hasznos videóra hónapokkal ezelőtt, amely a Google Trendsben rejlő lehetőséget hivatott demonstrálni.

A videó sajnos csak angol nyelven létezik, de a mondandóját az alábbiakban megkísérlem magyar környezetbe átültetni.

Első lépésként szükség lesz egy szóra, amelyre elsőként szereplünk a Google találati oldalain és a Google Trends eszköz is összegyűjtött megfelelő mennyiségű információt annak keresési trendjével kapcsolatban. Szerencsére ilyennel pont rendelkezem, így következhet a demonstráció.

google trends

Az ábrán két Magyarországra szűkített lekérdezés összehasonlítása látható. Sajnos nem a piros sáv az én kulcsszavam, de a piros az egyik kedvencem, a sex. A két sáv egymáshoz mért arányát és ezáltal a keresési trendek nagyságát talán könnyebben összemérhetjük a vízszintes diagram segítségével.

google trend

A kék sáv hossza heti szinten 150 darab átkattintást jelent a Google oldalairól, abban az esetben, ha sikerült az élen leparkolni. Kalkulációm szerint a sex szó hasonló pozicíó esetén heti 1000 darab kattintást jelenthet.

Mindenkit szeretnék megkérni, hogy tessék ezt a feltételezést nyugodtan megerősíteni, vagy cáfolni.

Mi van akkor, ha az oldalunk témája nem igazán tartozik a “nagyobb” tortaszeletek közé?

Ebben az esetben legjobb javaslatom a Google Suggest. Egy évvel ezelőtt még az AdWords kulcsszó választó alkalmazást ajánlottam volna, de manapság egyáltalán nem tartom egy nyerő ötletnek annak eredményeire bármit is alapozni.

Tehát irány a Google Suggest input formja és ostromra fel! Érdemes minden lehetséges releváns kifejezést végigtesztelni, hiszen számottevő keresési trend esetén autofill jelenséggel fogunk találkozni, azaz felkínálja a kifejezést még annak teljes beírását megelőzően.

Akkor most kicsit ugorjunk előre az időbe és feltételezzük, hogy az oldalunkkal kapcsolatban számos információ elérhető a Google Webmaster Tools által. A célunk természetesen a kulcsszavain diverzifikálása, azaz szélesíteni azon kifejezések halmazát, amellyel RELEVÁNS látogatókat hozhatunk az oldalunkra.

Következzék tehát a GWT számomra legkedvesebb szolgáltatása a Top search queries. Sajnos nem tudom, hogyan került ennek lefordításra, de az alábbi kép alapján azonnal világossá fog válni mindenki számára, hogy miről beszélek.

google trend

A jobb oldali oszlopban láthatóak azok a kifejezések, amelyre kattintva számottevő mennyiségű látogatóra tettünk szert. Érdemes pár percet eltölteni és elmélázni azon, vajon merre kellene az oldalunk célkeresztjét irányítani. Szerinted melyik lenne a legértékesebb kifejezés?

Ez pusztán egy költői kérdés volt, ha nem jut eszedbe mire gondoltam, kérlek bátran kérdezz.

További kellemes napot!

5 nap van hátra

és kezdetét veszi az UKWebmasterWorld keresőoptimalizálási versenye. Január 31-én éjfélkor kihirdetésre kerül az optimalizálás tárgyát képező kifejezés és indulhat a futam.

Mit kell tenned a nevezéshez?

  • A szabályokat nagyon komolyan kell venned , valamint
  • a pályamunkádba be kell illesztened az alábbi kódot:

    <a href="http://forums.ukwebmasterworld.com/" target="_blank" user="neved">UK webmaster forum seo contest</a>

A user tag a linkfelhő versenyhez hasonlóan az eredményjelző táblán való azonosításhoz szükséges, annak tartalma lesz megjelenítve helyezésed mellett.

Szabályok:

  • Használhatsz domain-t, egy létező domain aloldalát (almappáját), aldomain-t, amennyiben arra nem mutatnak linkek és nem rendelkezik indexben tárolt verzióval.
  • Minden optimalizálási technika megengedett az elrejtett szöveg és a cloaking kivételével. A Google cache-ben tárolt oldalt rendszeresen ellenőrizni fogjuk, annak érdekében, hogy a csaló szándékú versenyzőket a futamból kivonjuk. Mindezek értelmében minden noarchive meta tag használata tiltott.

Ki lesz a győztes?
A verseny győztesét április 1.-én délután 1 órakkor indított utolsó eredményjelző tábla frissítése fogja kihírdetni, amely az alábbi URL-t fogja lekérni:

http://google.com/search?q=kulcsszó

Lábjegyzetek:

  • Annak érdekében, hogy a nemzetközi versenyzőknek egyenlő esélyeket biztosítsunk a verseny során folyamatosan a fennt specifikált sztring alapján fogjuk frissíteni az eredményjelző táblát.
  • A nyereményeket PayPal-on keresztül kapják meg a helyezettek.

Frissítés: a célkeresztben álló kifejezés seocontest2008

Sok szerencsét minden kedves vállalkozó szellemű webmesternek és további kellemes napot mindenkinek!

Ha nem a localhoston láttad meg a napvilágot

de mégis szeretnél felállítani egy tesztelő helyszínt a saját gépeden, akkor ez a poszt neked szól.

Tegnap felhívtam az egyik barátomat, hogy megkérdezzem mi volt annak a programnak a neve, amivel az általam ismert legkiválóbb programozó dolgozik.

A válasza a xampp volt, így aztán igen gyorsan eljutottam a letöltési választékhoz. A telepítő 37 MB és a procedúra sem volt fájdalmas. Ha most fogsz bele ajánlom, hogy egy külön particíró pakold a fájlokat.

Természetesen felmerült az igény bennem, hogy az apacha-ot felkészítsem a csodálatosan szép URL-ek transzformálására. A metodika egyszerű, irány az apacha mappa conf almappájának httpd.conf fájlja, annak megnyitása szerkeszésre majd:

#LoadModule rewrite_module modules/mod_rewrite.so

sorból a # komment jelet ki kellett venni, valamint az

AllowOverride None

kódot összes előfordulási helyén lecserélni erre

AllowOverride All

Két további, az indulást megkönnyítő jótanácsot megosztanék veled:

  • az adatbázis kapcsolat felállításához szükséges információkat a xampp mappa readme_en/de.txt fájlja rejti
  • amennyiben a fejlesztendő szkriptet a xampp mappa htdocs mappájában létrehozott könyvtárába töltöd, akkor az elérés localhost/könyvtárnév/ lesz

Gondolom a tapasztaltabbaknak ez eléggé egyértelémű, én azért elvoltam vele egy jó darabig.

További kellemes napot!

Hacker Trap

Úgy érzem eleget teszteltem már a védelmi szkriptemet, így már elérkezettnek látom az időt, hogy itt is közzétegyem. hacker protection

Előrebocsájtom, hogy használatáért semmilyen felelősséget nem vállalok, és programozó sem vagyok, de nagyon igyekeztem.

Egy kicsit azért visszacsévélem az időt, hogy a credit ne maradjon ki. Az egész bűvészkedésnek az alapját a CrawlerController script adta, amely a referrer spammerek ellen védelmezi az oldalunkat. Sajnos, nem voltam eléggé ügyes, hogy működésre bírjam, de nagyon sok részt használtam belőle így aztán jár neki az elismerés. Nem hagyhatom ki kow-t sem, aki birka türelemmel válaszolgatott a sokszor értelmetlen kérdéseimre.

Akkor most veszek ismét egy éles visszakanyart, és folytatom ott, ahol abbahagytam, de először egy bajuszhalmaz, amolyan felsorolás a funkciókról:

  • robot validálás
  • user agent kitiltási lehetőség
  • IP cím kitiltási lehetőség
  • URL string szűrés az adatbázis rosszindulatú manipulálása ellen
  • string logfájlnak köszönhetően ellenőrzött és testreszabhatóan agresszív IP bannolás

A telepítés rendkívül egyszerű, a csomag letöltését, kicsomagolását követően egy tetszőleges könyvtárba kell feltölteni a fájlokat majd a könyvtár security.php fájlját minden védelem alá helyezendő oldalba behívni a legelső sorban.

<?php require “/ide/jön/a/path/tetszolegeskonyvtarnev/security.php”; ?>

És akkor lássuk jelen esetben most mi is lapul a security.php fájlban

<?php
$ua = $_SERVER[‘HTTP_USER_AGENT’];
$webadress = $_SERVER[‘REQUEST_URI’];
$ip = $_SERVER[‘REMOTE_ADDR’];
$target = file(dirname(__FILE__).”/ip-logfile.txt”);
$sqltarget = file(dirname(__FILE__).”/sql-injection.txt”);
$ualist = file(dirname(__FILE__).”/banned-ua.txt”);
$loc = dirname(__FILE__);

//Indul a szkript
//ha a látogató azt mondja magáról, hogy robot
if(strstr($ua, ‘msnbot’) || stristr($ua, ‘Googlebot’) || stristr($ua, ‘Yahoo! Slurp’)){
//lefut a robot validálása
require “$loc/security-proxy-checker.php”;
}
else{

//bannolt user-agentek
foreach($ualist as $item){
$item = trim($item);
if(stristr($ua, $item)){
require “$loc/message.php”;
exit;}}
//IP ellenorzés követketik
foreach($target as $item){
$item = trim($item);
if(stristr($ip, $item)){
require “$loc/message.php”;
exit;
}}

//sql támadásának ellenorzése
foreach($sqltarget as $sqlitem){
$sqlitem = trim($sqlitem);
if(stristr($webadress, $sqlitem)){
require “$loc/index.php”;
exit;}}}
?>

Az sql injekciós támadások azonosításához ezen az oldalon megtalálható remek kis táblázatot használtam, valamint kiegészítettem ezekkel a szavakkal:

  • truncate
  • union
  • drop
  • delete
  • get
  • post

Szerintem az a legszerencsésebb, ha beszerelsz egy olyan statot, amely logolja a lekért url-eket és ennek megfelelően bővíted az sql-injection.txt-ben található tartalmat.

Ahogy, az az iménti kódból kiderült lesznek logfájljaink és lesz egy üzenet valamint egy index.php fájl is amely a kettővel korábbi posztom index fájljának felel meg, de egy kicsit okosabb lett azóta. Ezek a fájlok fognak a rosszalkodók ellen fellépni.

Az index.php tartalma a következő:

<?php

Hívhatnánk akár adatgyűjtő.php-nek is funkciója alapján. Elteszi biztos helyre a játékos kedvű próbálkozó IP címét, valamint egy ellenőrző logfájlba (requested-string.txt) bepakolja a lekért URL-t, a hozzátartozó IP-t és a lekérést időpontját. Ezt a fájlt mindenképpen érdemes időnként felülvizsgálni, hogy a véletlenül (?) bannolt népnek ismét hozzáférést biztosíthassunk.

A message.php-mat a csomagban megtalálhatod, ez már egy nagyon Úriemberhez méltó tartalommal rendelkezik. A legelső verzióban több volt a vulgáris szó, mint a felkiáltójel.
Jó ötlet lehet esetleg az ördögűző, vagy valamely egyéb paráztató film félelmetes jeleneténél készült printscreen megjelenítése…

Mit kellene még leírnom?

Ja igen, letölteni itt lehet

hacker-trap download

Szerintem semmi nem maradt ki, szóval védelemre fel!
További kellemes napot!

Mert Yahoo! Slurp a neve..

..és nem Yahoo Slurp.

Sajnálattal kellett ma felismernem, hogy a reversedns.php fájl nem validálta a Yahoo! robotot, hiszen a nevét rosszul szerkesztettem be, a ! jel elmaradt.

A helyes user agent vizsgáló feltétel így néz ki

if(strstr($ua, ‘msnbot’) || stristr($ua, ‘Googlebot’) || stristr($ua, ‘Yahoo! Slurp’))

Nem röhögtem hangosan, amikor megláttam a Yahoo!-ban egy proxy linket, most már legalább tudom az okát.
Javítottam a WordPress plugint és a többi blogon található szkriptet, így azokat már helyes formában lehet letölteni.

Terveim szerint hétvégén sikerül beszerelnem egy letöltésvezérlőt, mert új csomag lesz elérhető.

A tévedésért elnézéseteket kérem!

Bad robotok, lopjatok máshol

Mostanában nagyon ráálttam a weboldalak biztonságának erősítésére, aminek eredeti oka a katalógusom meghackelése volt. Majd megszakadt a szívem úgy látni azt a remek oldalt:)

None kívánsága szerint egy automata bad robot defender szkriptet fogok most itt prezentálni. Az összeállításához a metodikát innen szereztem. Ez az oldal részletesen bemutatja a bad robotok azon rossz tulajdonságát, hogy nem hallgatbak a jó szóra és a robots.txt-ben korlátozottként specifikált tartalmat is látni akarják a hackerekhez hasonlóan.

Pár poszttal korábban megismertettem egy módszert, amivel a robots.txt fájl-t az illetéktelenek elől elrejthetjük. Sajnos ezt most majd ki kell szerelni az oldalból, de azt gondolom megéri.

Hát akkor kezdem a védelem ismertetését.
1. Nyisd meg a robots.txt fájl-t és helyezd bele ezt a két sort

User-agent: *
Disallow: /core

A mappa neve bármi lehet, a lényeg az, hogy a rosszindulatú humanoidok is rákapjanak a nevére, mert amint megteszik vége a dalnak.

2. Hozd létre a robots.txt.-ben definiált mappát, és a könyvtárba másold fel az alábbi tartalmú index.php fájlt.

<?php
//gyujtsük össze az IP-t, vagy bármi mást, amit szeretnénk
$ip = $_SERVER[“REMOTE_ADDR”];
$logfile = ‘bannolnilog.txt’;
//logfájlba vele
$fp = fopen($logfile, ‘a’);
fputs($fp, “$ip
“);
fputs($fp, ” “);
fclose($fp);
// kézfogás közben ne felejtsünk el mosolyogni
echo “az IP biztonsági okokból rögzítésre került, sajnos a látogatásod itt véget ért”;
?>

3. A létrehozott mappába (példánál maradva core) másoljuk fel az imént logfile-ként definiált üres bannolnilog.txt-t (644-es attributúmmal működik nálam). Ő fogja majd gyűjteni a bűnösök neveit.

4. A györkérmappába, de oda tesszük, ahová csak szeretnénk töltsük fel az alábbi tartalmű validator.php fájlt.

<?php
$ip = $_SERVER[“REMOTE_ADDR”];
//fontos a target megfelelő elérése, a hibaüzenetek majd tudtunkra adják, ha elrontottunk valamit
$target = file(dirname(__FILE__). “/core/bannolnilog.txt”);
foreach($target as $item){
$item = trim($item);
if(stristr($ip, $item)){
//sima 403 hiba a válasz, de ha gondolod, mond meg nekik a magadét
header(“HTTP/1.0 403 Forbidden”);
exit;
}
}
?>

5. Nyisd meg a header.php fájlt, vagy bármi, ami elkezdi a szkriptet futtatni, és minden elé illeszd be

<?php require “/ide/jön/a/path/validator.php”;?>

6. A védelem felállt, ha véletlenül magadat sikerült kibannolod, ürítsd ki a logfájlt ftpvel és meg is vagy.

További kellemes napot!

Vétlen cloaking

Mi ez? 1. fejezet
Némi imeretterjesztésbe fogok az elkövetkezendő percekben. Sejtésem szerint sokan hallottátok már a cloaking szót és van is fogalmatok is arról, hogy mit jelent.

Mi ez? 2. fejezet
Matt Cutts házi videójában hogy programozási megoldásként definiálja, amelynek eredményeképpen a googlebot más tartalommal szembesül, mint a humán böngésző. A roadmoviban foglalkozott a IP cím alapú tartalomszolgáltatás dilemájjával is. Ez nem számít manipulációnak, hiszen a googlebot ugyanazt fogja kapni, mint, amit IP címe alapján megérdemel.

Manipulálunk?
Szuper, hogy ilyen hamar eljutottam a manipuláció szóhoz, mert ez kulcsfontosságú a vétlenség megállapításra. Etikailag akkor cloaking a cloaking, ha azzal a találati lista manipulálása a cél. Ez szigorúan saját véleményem és ez indukálta jelen poszt megírását, hiszen a Google mérnökei nem feltétlenül vannak ezen a véleményen, és sok esetben a jószándékú honlaptulajdonosok is áldozatul eshetnek elég komoly büntetéssel súlytva oldalukat.

Techikailag mi a cloaking?
Két foráját ismerem, de a vétlen cloacking alapja általában a javascript átirányítás, például

<script type=”text/javascript”>
window.location = “http://seo.i-connector.com/itt-van-az-amit-a-látogatónak-szánok/”
</script>

Egy szerveren lévő könyvtárban az index.htlm az indítási szekvenciában beelőzi php rokonát, így az abban elhelyezett javascript kód a böngészőt új URL-re dobja, a szkript műkődését nem befolyásolja, a googlebotot meg állva hagyja.

Gyanús
Általában a saját honlapját a tulajdonos gyakran látogatja, és ismeri annak működését. Ha a böngésző címsávjába a domaint begépelve új, de az adott domainhez tartozó URL jelenik meg, akkor gyanakodjunk. Meggyőződéshez legkiválóbb az öreg barátunk, az internet explorer. Válaszd ki az eszközök menüpont internetbeállítások opcióját. A megjelenő ablak biztonság fülén pedig az egyéni szint.. a kívánatos gomb. A megjelenő lista első bajuszában látható az “AktívX vezérlők és beépülő modulok futtatása” szöveg. Itt a tiltás rádiógombot aktiválva, majd az új beállítást jóváhagyva teszteljük ismét az oldalunkat, immáron javascriptek nélkül.

Mélységi tartalom kell nekünk
Előfordul olyan eset is, amikor mélységi tartalomba szeretnénk rögtön irányítani a látogatónkat, azonban ezt javascript nélkül is meg lehet tenni, amennyiben a .htaccess futtatása engedélyezve van a szerveren.
Index.html-be kerül a mélységi tartalmat azonosító kód, például

<?php
include(“index.php?id=414”);
?>

majd a .htaccess fájlba

AddType application/x-httpd-php .php .htm .html

ezáltal biztosítva, hogy a html dokumentum tartalma php szkriptként futhasson le.

Szembetűnő változás lesz a javascriptes átirányításhoz képest, hogy jelen esetben az átirányított oldal URL-jét begépelve, majd azt jóváhagyva a címsor nem fog változni, de a megjelenő tartalom az átirányítás célpontja lesz, és a Googlenek sem lesz oka leveleket küldözgetni nekünk.

További kellemes napot!

Linkajánlás fortélyai

Na nagy dolgokra ne tessenek számítani, de gondoltam rá, hogy dobok egy kétforintos ötletet, amivel a nemzetközi linképítgetést könnyíthetem meg.

Nem szeretném a katalógusregisztrációt degradálni, de az éltetésére sincsen különösebb okom. Azt azonban vallom, hogy bármely etikus link többet ér, mint a “nolink”, így aztán nem tartom magamban.

Rengeteg időt lehet eltölteni mindenféle webdirectory regisztrációjával idegen nyelvű kategóriák után kutatva, és igazából ez nem a legkellemesebb időtöltések közé tartozik bármilyen jó zene szóljon is a fülhallgatónkból.

Akkor hát következzék az attrakció.
Lépés 1.:irány a google.com
Lépés 2.:inputba vele

inurl:hungary directory

Lépés 3.:kattingatás, majd regisztráció.

A második tipp a Lépés 2.-ben jelent némi modifikációt, hiszen ezúttal teszteljük ezt a tartalmat bele az inputba

intitle:hungary directory

Azért így csak könnyebb.

További kellemes napot!