Ajax, Json en SEO probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Xtremelead
  • Registratie: Februari 2001
  • Laatst online: 21:46

Xtremelead

powered by E-MU

Topicstarter
Ik heb een website die semi-dynamische content ophaalt met een ajax call naar een php file. Deze php file geeft een json array terug met alle content welke ik via javascript over de pagina verspreid. Dit werkt op zich prima. Ook is alle data zichtbaar/vindbaar in Google. Echter als de pagina in Google opzoek, zie ik ook de ruwe json data (dus de output van de php file) in de resultaten. Hoe kan ik dit tegengaan?

Als ik via robots.txt de /php/ folder (waar uiteraard de php file staat) blokkeer, ziet Google (volgens webmaster tools) geen enkele content meer.

Jij bent degene die me opfokt!
JA JIJ!!!


Acties:
  • 0 Henk 'm!

  • hiekikowan
  • Registratie: Februari 2011
  • Laatst online: 22:40
Dit heeft er AFAIK mee te maken dat crawlers van de zoekmachines geen Javascript kunnen uitvoeren, waardoor je JSON dus nooit omgezet wordt naar content die de gebruiker ziet...

Meer hierover: https://developers.google...-crawling/docs/learn-more

Acties:
  • 0 Henk 'm!

  • Xtremelead
  • Registratie: Februari 2001
  • Laatst online: 21:46

Xtremelead

powered by E-MU

Topicstarter
Het javascript wordt weldegelijk uitgevoerd, want ik zie alle content in Google verschijnen. Probleem is dat zowel de content als de json data als apart resultaat zichtbaar is.

Ik zie de content ook in de webmaster tools bij "Fetch as Google".

[ Voor 16% gewijzigd door Xtremelead op 13-11-2015 18:54 ]

Jij bent degene die me opfokt!
JA JIJ!!!


Acties:
  • 0 Henk 'm!

  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 22:21
Crawlers kunnen idd tegenwoordig javascript.

Maar je zal toch even met wat voorbeeld code moeten komen voordat we hier iets of kunnen zeggen.

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


Acties:
  • 0 Henk 'm!

  • Xtremelead
  • Registratie: Februari 2001
  • Laatst online: 21:46

Xtremelead

powered by E-MU

Topicstarter
Voorbeeldcode....hmmm...het is een simpele jquery ajax call die de json resultaten uit de php file in een array (object) stopt. Daarna loop ik door de array en zet ieder item in de juiste div.

code:
1
2
3
4
5
6
7
8
9
10
11
        $.ajax({
            type: "GET",
            url: "/php/gettext.php",
            contentType: "application/x-www-form-urlencoded;charset=ISO-8859-15",
            dataType: "json",
            success: function(data) {
                $.each(data,function(key,value){
                    $('#'+value['id']).html(fixText(value['message']));
                });
            }
        });


fixText doet wat conversies zoals /n -> </br>

[ Voor 49% gewijzigd door Xtremelead op 13-11-2015 19:01 ]

Jij bent degene die me opfokt!
JA JIJ!!!


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Wat is de content-type van de ajax response? Is die text/plain oid? Of application/x-javascript of application/json?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Xtremelead
  • Registratie: Februari 2001
  • Laatst online: 21:46

Xtremelead

powered by E-MU

Topicstarter
dat is text/html, dus daar zou je best een punt kunnen hebben :)
ik ga dat even aanpassen en wachten tot de site weer geindexeerd wordt.

dank alvast

Jij bent degene die me opfokt!
JA JIJ!!!


Acties:
  • 0 Henk 'm!

  • Xtremelead
  • Registratie: Februari 2001
  • Laatst online: 21:46

Xtremelead

powered by E-MU

Topicstarter
Dat lijkt helaas niet geholpen te hebben. De site is volgens webmaster tools sindsdien meerdere keren geindexeerd, maar de json data staat nog steeds tussen de Google results.

Jij bent degene die me opfokt!
JA JIJ!!!


Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 03-07 10:30

André

Analytics dude

Google 'snapt' inderdaad javascript, al ben ik nog niet helemaal tevreden. Er is een reden waarom bedrijven als prerender.io nog goede zaken doen op Angularjs sites ;)

Als ik jouw situatie inschat heb jij een pagina A die JSON spul ophaalt van URL B. En nu staan zowel A en B in de zoekresultaten?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Xtremelead schreef op woensdag 25 november 2015 @ 10:36:
Dat lijkt helaas niet geholpen te hebben. De site is volgens webmaster tools sindsdien meerdere keren geindexeerd, maar de json data staat nog steeds tussen de Google results.
André weet dat vast beter dan ik, maar als Google opnieuw is langsgekomen wil dat natuurlijk niet zeggen dat oude(re) resultaten meteen verdwenen zijn of dat de index (die jij ziet, ook nog zoiets) al bijgewerkt is met de gespiderde resultaten. Ik zou het dus nog even geven... maar dat ben ik :P

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 03-07 10:30

André

Analytics dude

Er is een vertraging tussen langskomen/spideren/crawlen en het verwerken van de pagina zodat die in de index komt. Daarnaast kan het zijn dat beide URL's een 200 ok status geven, dan zal Google hem ook niet zo snel laten vallen. Je zou aan de JSON een x-robots:noindex http header mee kunnen geven in dat geval.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
André schreef op woensdag 25 november 2015 @ 11:18:
Je zou aan de JSON een x-robots:noindex http header mee kunnen geven in dat geval.
Dat, of de url (/php/gettext.php voor zover ik zie?) veranderen (naar /php/newgettext.php bijvoorbeeld) en op de oude url (/php/gettext.php dus) een 404 serveren. Als dat mogelijk is uiteraard. Dan zie je op termijn ook beter of je nog tegen oude geïndexeerde dingen zit aan te kijken die nog niet uit de index verdwenen zijn of tegen nieuwe gegevens ;)

[ Voor 37% gewijzigd door RobIII op 25-11-2015 11:24 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • xleeuwx
  • Registratie: Oktober 2009
  • Laatst online: 02-07 15:59

xleeuwx

developer Tweakers Elect
RobIII schreef op woensdag 25 november 2015 @ 11:21:
[...]

Of de url veranderen en op de oude url een 404 serveren als dat mogelijk is.
Je zou de request ook de request een hash me kunnen geven dat hij alleen luistert als je in een param een hash van de dag van vandaag mee geeft. En anders een 404 dan heb je in google altijd je laatste data.

Echter kan er over het indexeren van pagina's wel weken overheen gaan soms wel maanden, google is nie zo snel :|

Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 03-07 10:30

André

Analytics dude

xleeuwx schreef op woensdag 25 november 2015 @ 11:25:
[...]

Echter kan er over het indexeren van pagina's wel weken overheen gaan soms wel maanden, google is nie zo snel :|
Via de search console kun je met de fetch tool een request indienen, dan ben je in een uur tot 2 dagen geïndexeerd.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
xleeuwx schreef op woensdag 25 november 2015 @ 11:25:
Je zou de request ook de request een hash me kunnen geven dat hij alleen luistert als je in een param een hash van de dag van vandaag mee geeft. En anders een 404 dan heb je in google altijd je laatste data.
Ja en zo zijn er nog wel wat constructies te verzinnen inderdaad ;) De crux is gewoon een 404 serveren (of André's suggestie implementeren); de optie van nieuwe (lees: andere) URL is vooral om in de index te kunnen zien of je tegen oude of nieuwe dingen aan zit te kijken.
xleeuwx schreef op woensdag 25 november 2015 @ 11:25:
Echter kan er over het indexeren van pagina's wel weken overheen gaan soms wel maanden, google is nie zo snel :|
Los van wat André hierboven zegt; soms is iets na 3 minuten al vindbaar; het zal niet voor het eerst zijn dat een topic hier op GoT met een erg specifiek keyword/guid/ding bijvoorbeeld een paar minuten na verschijnen het enige zoekresultaat is op Google. M.a.w. het is verdomd afhankelijk hoe belangrijk je site voor Google is en hoe vaak de crawler dus voorbijkomt etc.

[ Voor 5% gewijzigd door RobIII op 25-11-2015 11:35 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • xleeuwx
  • Registratie: Oktober 2009
  • Laatst online: 02-07 15:59

xleeuwx

developer Tweakers Elect
Dat is zeker waar maar voor beginnende website's is het indexeren wel andere koek dan voor bijv. Tweakers of nu.nl

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
xleeuwx schreef op woensdag 25 november 2015 @ 11:30:
Dat is zeker waar maar voor beginnende website's is het indexeren wel andere koek dan voor bijv. Tweakers of nu.nl
Ja, maar we weten niet of we het hier over een "beginnende website" hebben of niet ;)
Either way: het punt was dan ook dat 't niet zo zwart-wit is en dat er vele grijstinten zijn en dat je opmerking "google is nie zo snel :| " dus niet echt een nuttige toevoeging (en zelfs onwaar in specifieke gevallen) was ;)

[ Voor 12% gewijzigd door RobIII op 25-11-2015 11:33 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Xtremelead
  • Registratie: Februari 2001
  • Laatst online: 21:46

Xtremelead

powered by E-MU

Topicstarter
André schreef op woensdag 25 november 2015 @ 10:54:
Als ik jouw situatie inschat heb jij een pagina A die JSON spul ophaalt van URL B. En nu staan zowel A en B in de zoekresultaten?
Klopt
RobIII schreef op woensdag 25 november 2015 @ 11:21:
[...]

Dat, of de url (/php/gettext.php voor zover ik zie?) veranderen (naar /php/newgettext.php bijvoorbeeld) en op de oude url (/php/gettext.php dus) een 404 serveren.
Goed plan!
RobIII schreef op woensdag 25 november 2015 @ 11:29:
hoe vaak de crawler dus voorbijkomt etc.
De afgelopen weken dagelijks volgens Google webmaster tools


Ik ga de php even aanpassen.

Jij bent degene die me opfokt!
JA JIJ!!!


Acties:
  • 0 Henk 'm!

  • Xtremelead
  • Registratie: Februari 2001
  • Laatst online: 21:46

Xtremelead

powered by E-MU

Topicstarter
Na wat extra noodzakelijke aanpassingen aan mijn custom error pages, is het uiteindelijk gelukt. De json data is niet meer zichtbaar in de resultaten. Bedankt voor alle tips :Y

Jij bent degene die me opfokt!
JA JIJ!!!


Acties:
  • 0 Henk 'm!

  • theo98
  • Registratie: Mei 2013
  • Laatst online: 10-01 14:06
Je had ook via robot.txt je file kunnen exclude.

En bij grotere website zoals Nu.nl of Tweakers.net wordt vaak een cms gebruikt die al SEO intergratie hebben
Pagina: 1