404es státusz beállítása.
Üdv!
Megújítottam az oldalt, egy statikus oldal kapott dinamikus motort. Itt érhetitek el:
katolikus-traditio.hu
A gógölben szép számú (kb100) olyan indexelt oldal van amely már nem elérhető a szerveren. Ezt a webmester toolsal mind kilőni igen idegtépő lenne(ráadásul már egyszer meg is tettem, csak akkor sem jött össze a 404, robot.txt meg nem használtam). De ugye az sem jó hogy ezek még élnek.
No, én a 404-es hibaüzenet az index.php?hiba oldalára irányítom.
Értelem szerűen ha kap $_get["hiba"] változót, akkor a 404 tartalmát tölti be. Ezt úgy oldom meg, hogyha pl. htm kiterjesztésű a request uri akkor a http://katolikus-traditio.hu/dokumentum/ oldalt includeolom be, mert a dokumentumok voltak ilyen kiterjesztésűek. Html kiterjesztést pedig a menüpontok kaptak, azok meg szinte aradtak, így töltöm be mindig a megfelelő oldalt.
A bibi csak az, hogy így a szerver státuszt 200ra állítja. A google webmester tools is mondja hogy a 404es hibaoldalnak 200-as státsza va. Hogy tudom ezt a problémát megoldalni?ezzel próbálkoztam.
De hova illesszem be? A head tag-be, vagy az oldal legelejébe? Illetve ennyi elég? Illetve amit beírtam az legalább már helyes?
Másik, hogy ez seo szempontból mennyire szükséges, és mennyire jó ötlet?
■ Megújítottam az oldalt, egy statikus oldal kapott dinamikus motort. Itt érhetitek el:
katolikus-traditio.hu
A gógölben szép számú (kb100) olyan indexelt oldal van amely már nem elérhető a szerveren. Ezt a webmester toolsal mind kilőni igen idegtépő lenne(ráadásul már egyszer meg is tettem, csak akkor sem jött össze a 404, robot.txt meg nem használtam). De ugye az sem jó hogy ezek még élnek.
No, én a 404-es hibaüzenet az index.php?hiba oldalára irányítom.
Értelem szerűen ha kap $_get["hiba"] változót, akkor a 404 tartalmát tölti be. Ezt úgy oldom meg, hogyha pl. htm kiterjesztésű a request uri akkor a http://katolikus-traditio.hu/dokumentum/ oldalt includeolom be, mert a dokumentumok voltak ilyen kiterjesztésűek. Html kiterjesztést pedig a menüpontok kaptak, azok meg szinte aradtak, így töltöm be mindig a megfelelő oldalt.
A bibi csak az, hogy így a szerver státuszt 200ra állítja. A google webmester tools is mondja hogy a 404es hibaoldalnak 200-as státsza va. Hogy tudom ezt a problémát megoldalni?
if (isset($_get["hiba"])) {
header("HTTP/1.1 404 not found");
}
De hova illesszem be? A head tag-be, vagy az oldal legelejébe? Illetve ennyi elég? Illetve amit beírtam az legalább már helyes?
Másik, hogy ez seo szempontból mennyire szükséges, és mennyire jó ötlet?
nem $_get hanem $_GET
A header kiküldésről annyit, hogy a futás legelején kell megtörténnie. Ha van előtte valami kimenet, akár egy szóköz vagy UTF-8 BOM karakterek, akkor már nem fog menni.
Output Buffer
Előttem már írták, nem szabad semminek kimenni-e a 4004 header előtt.
Tehát meg kell állítsd a kimenetet.
Ez az ob_start() függvény.
Utána bűvészkedhetsz...és ha 404 -et kell adnod akkor mehet a header és az include.
De miért nem irányítod az újra?
Milyen cél?
Én személy szerint utálom azokat az oldalakat, amelyek a 404-es oldalakat átirányítják valahova, mert a címsorból eltűnik az eredeti URL és ha csak elgépeltem valamit, az elég idegesítő tud lenni. Mellesleg a Google-n sem feltétlenül segítesz, mert a Sitemaps továbbra is panaszkodni fog.