[Apache/Google] Custom errorpages worden niet geindexeerd

Pagina: 1
Acties:

  • intermusic
  • Registratie: September 2002
  • Laatst online: 25-03-2025

intermusic

Marc Hoekstra

Topicstarter
Ik gebruik een leuk trucje voor mijn website.

- Wat is het functionele doel?
Alles wat achter de url wordt gezet (http://domein.in/alles) moet worden opgevangen door een PHP script. PHP kan op zijn beurt weer aan de hand van dat woord relevante informatie uit de database ophalen. (Vanzelfsprekend wil ik niet voor iedere woord een apart mapje aanmaken.)

- Hoe zit dit technisch in elkaar?
Op mijn hosting kan ik zelf mijn custom errorpage (404.shtml) veranderen.
Apache laat ik .shtml bestanden handlen als php (x-httpd-php-suphp).

- Conclusie.
Wanneer apache een mapje niet kan vinden (http://domein.in/mapje) dan wordt het php schript actief.

- Vraag?
Waarom wil google deze pagina's niet indexeren?

- Test?
Ik heb een (custom errorpage) letterlijk opgeslagen in een mapje en binnen een week was deze pagina wel geindexeerd. Ook staat de website lang genoeg online dat alle pagina's door google reeds geindexeerd hadden kunnen worden.

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Welke header wordt er meegestuurd? 200 of 404 zal wel een verschil maken. Met PHP kun je evt zelf een bepaalde header sturen.
- Hoe zit dit technisch in elkaar?
Op mijn hosting kan ik zelf mijn custom errorpage (404.shtml) veranderen.
Apache laat ik .shtml bestanden handlen als php (x-httpd-php-suphp).
Waarom niet direct een .php als errorpage?

  • André
  • Registratie: Maart 2002
  • Laatst online: 11:30

André

Analytics dude

Pagina's anders dan "200 OK" pagina's worden niet geindexeerd. Het trucje die jij gebruikt met je 404 pagina is dan ook niet gewenst door Google. Je kunt de 404 pagina dan wel een 200 laten returnen maar Google kan dit zien en zal het niet waarderen. Als de 404 pagina niet doet wat hij moet doen kan Google nooit zien welke pagina's wel en niet meer bestaan.

Zorg er gewoon voor dat je script alles afvangt en dat niet bestaande pagina's een 404 krijgen.

  • Skaah
  • Registratie: Juni 2001
  • Niet online
Kijk eens wat voor headers er verstuurd worden? Ik vermoed dat er een 404 header verstuurd wordt, waardoor Google denkt dat de pagina's niet bestaan.
[edit]
Je kan ook een
PHP:
1
header('HTTP/1.1 200 OK',true)
toevoegen aan je script.

[ Voor 26% gewijzigd door Skaah op 01-02-2006 13:52 ]


  • megamuch
  • Registratie: Februari 2001
  • Laatst online: 29-01 20:14

megamuch

Tring Tring!

Apache stuurt een 404 header naar de google searchbot (het is immers een page not found error).

Google gaat geen 404 error pagina's indexeren.

Feitelijk verkracht je het hele 404 gebeuren terwijl je eigenlijk gewoon Mod_rewrite en multiviews zou moeten gebruiken.

Verstand van Voip? Ik heb een leuke baan voor je!


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 11:47

Janoz

Moderator Devschuur®

!litemod

Waarschijnlijk komt dit omdat je de pagina wel aanpast, maar de return code niet. Je hebt nu wel een leuke pagina, maar nog steeds wordt de 404 meegezonden. Deze zul je weer naar (ik dacht) 200 moeten zetten.

Daarnaast vind ik de oplossing om shtml af te laten handelen door php een beetje vies. Waarschijnlijk kun je in je apache config wel aangeven dat 404.php gebruikt moet worden ipv 404.shtml.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • intermusic
  • Registratie: September 2002
  • Laatst online: 25-03-2025

intermusic

Marc Hoekstra

Topicstarter
Janoz schreef op woensdag 01 februari 2006 @ 13:39:
Waarschijnlijk komt dit omdat je de pagina wel aanpast, maar de return code niet. Je hebt nu wel een leuke pagina, maar nog steeds wordt de 404 meegezonden. Deze zul je weer naar (ik dacht) 200 moeten zetten.

Daarnaast vind ik de oplossing om shtml af te laten handelen door php een beetje vies. Waarschijnlijk kun je in je apache config wel aangeven dat 404.php gebruikt moet worden ipv 404.shtml.
Ik kan de erropage niet hernoemen. Staat vast in de apache-configuratie bij mijn hosting.
Daarom moet ik die handler wel gebruiken. Anders had ik het wel 404.php genoemd.
Skaah schreef op woensdag 01 februari 2006 @ 13:39:
Kijk eens wat voor headers er verstuurd worden? Ik vermoed dat er een 404 header verstuurd wordt, waardoor Google denkt dat de pagina's niet bestaan.
[edit]
Je kan ook een
PHP:
1
header('HTTP/1.1 200 OK',true)
toevoegen aan je script.
Gaat dat wel werken?
Krijgt google dan evengoed niet eerst een 404?

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
De vraag is eigenlijk of je mod_rewrite dingen mag/kan doen via .htaccess. Dan hoef je de 404 pagina niet meer te verkrachten. :)

{signature}


  • intermusic
  • Registratie: September 2002
  • Laatst online: 25-03-2025

intermusic

Marc Hoekstra

Topicstarter
Mod_rewrite zal ik mij dan maar even in gaan verdiepen.
Nog wel een vraag: Hoe kan je eigenlijk zien wat de header is die de website meegeeft?

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 13:00

orf

Hoe kan je eigenlijk zien wat de header is die de website meegeeft?
http://web-sniffer.net/

Of met developer toolbar in Firefox.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 11:47

Janoz

Moderator Devschuur®

!litemod

intermusic schreef op woensdag 01 februari 2006 @ 14:16:
[...]


Ik kan de erropage niet hernoemen. Staat vast in de apache-configuratie bij mijn hosting.
Daarom moet ik die handler wel gebruiken. Anders had ik het wel 404.php genoemd.
Als je de rechten hebt om aan te passen door welke module's welke extencies behandeld worden, dan lijkt me dat je ook wel genoeg rechten hebt om de handler aan te passen (wat waarschijnlijk ook gewoon in de .htaccess kan)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • intermusic
  • Registratie: September 2002
  • Laatst online: 25-03-2025

intermusic

Marc Hoekstra

Topicstarter
Heb de volgende regel erbij gezet:
code:
1
header('HTTP/1.1 200 OK',true)

Gechecked met web-sniffer en hij geeft een 200 aan.
Nu kijken wat google gaat doen.

Het is trouwens niet voor spam of vervuil doeleinden om google een loer te draaien.
Er staat daadwerkelijk relevantie informatie op de pagina's.

  • André
  • Registratie: Maart 2002
  • Laatst online: 11:30

André

Analytics dude

Dat kan wel zijn, maar hoe kan Google nu zien welke pagina's niet bestaan als jij de 404 pagina een 200 laat geven? Die 404 code is er niet voor niets ;)

  • intermusic
  • Registratie: September 2002
  • Laatst online: 25-03-2025

intermusic

Marc Hoekstra

Topicstarter
Hmmm...
Idd.

Ja dan komt er inderdaad een pagina zonder enige nuttige informatie.
Maar daarnaast link ik natuurlijk alleen naar pagina's die relevantie informatie bevatten.
Dus google weet niet dat de pagina's die "niet bestaan" bestaan.

  • André
  • Registratie: Maart 2002
  • Laatst online: 11:30

André

Analytics dude

Klopt, maar toch checked de spider alvorens hij gaat spideren eerst een aantal zaken, en 1 daarvan is of de 404 pagina doet wat hij moet doen ;)

  • intermusic
  • Registratie: September 2002
  • Laatst online: 25-03-2025

intermusic

Marc Hoekstra

Topicstarter
Hmm. als dat echt zo is...!
Misschien moet ik dan de pagina's die verder geen relevante pagina's kunnen bevatten toch een 404 meegeven. In de database dan gewoon uitzoeken welke geen 404 mag geven.

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Zoek nou eerst de mod rewrite mogelijkheid uit...

{signature}


  • orf
  • Registratie: Augustus 2005
  • Laatst online: 13:00

orf

Klopt, maar toch checked de spider alvorens hij gaat spideren eerst een aantal zaken, en 1 daarvan is of de 404 pagina doet wat hij moet doen
Ben erg benieuwd wat je bron is voor deze stelling. De spider roept een niet bestaande pagina aan? Hoe gaat de spider bepalen of deze pagina wel of niet zou horen te bestaan?

  • André
  • Registratie: Maart 2002
  • Laatst online: 11:30

André

Analytics dude

Wijzig de webserverconfiguratie zodat de status 404 wordt weergegeven in de koptekst van 404-pagina's. Houd er rekening mee dat we een HEAD-verzoek (en geen GET-verzoek) uitvoeren wanneer we dit controleren.
Hoe ze het doen weet ik ook niet ;)

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

orf schreef op woensdag 01 februari 2006 @ 23:11:
[...]


Ben erg benieuwd wat je bron is voor deze stelling. De spider roept een niet bestaande pagina aan? Hoe gaat de spider bepalen of deze pagina wel of niet zou horen te bestaan?
Educated guess :

GET /dezepaginazaltochwelnietbestaantoch

Maar de werkelijke methode zal vast wel iemand in z'n apachelogs kunnen vinden :)

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 13:00

orf

De tekst die je quote komt van Google Sitemaps, dat is een andere crawler dan de gewone zoekmachine spider. Bij sitemaps kan ik me voorstellen dat het gecontroleerd kan worden, kijkend naar de pagina's in de sitemap.

  • André
  • Registratie: Maart 2002
  • Laatst online: 11:30

André

Analytics dude

orf schreef op woensdag 01 februari 2006 @ 23:31:
De tekst die je quote komt van Google Sitemaps, dat is een andere crawler dan de gewone zoekmachine spider. Bij sitemaps kan ik me voorstellen dat het gecontroleerd kan worden, kijkend naar de pagina's in de sitemap.
Klopt, en daar heeft het ook te maken met een stukje veiligheid voor het verifieren van een site.

  • intermusic
  • Registratie: September 2002
  • Laatst online: 25-03-2025

intermusic

Marc Hoekstra

Topicstarter
En als aanvulling.
Toen alle pagina's eigenlijk een 404 mee gaven, waren pagina's die daadwerkelijk bestonden (200 header) ook wel geindexeerd.
Pagina: 1