• Super User

    Document.write

    In seguito ai risultati parziali di un test nella sez. Laboratorio SEO

    http://www.giorgiotave.it/forum/viewtopic.php?t=1246

    E' venuto fuori che Googlebot sembra ignorare i "link" in javascript fatti con sintassi del tipo "location.href" mentre invece segue senza difficoltà un link "normale" ma scritto con un "document.write".

    Non credo si tratti di un semplice scan del codice js alla ricerca di un costrutto del tipo "http://..." perchè altrimenti avrebbe seguito anche gli altri.

    Mi viene da pensare che Google abbia imparato a riconoscere il significato del "document.write"...

    Possibile secondo voi?
    Facciamo altre prove?


  • User Attivo

    scusami beke,
    ma il document.write non scrive nel source della pagina un testo?
    io credo di si.....


  • Super User

    @Stealth said:

    scusami beke,
    ma il document.write non scrive nel source della pagina un testo?
    io credo di si.....

    si, un testo o codice html


  • Super User

    Certo che lo fa... ma dal lato client.
    Il che vuol dire che non è codice html regolare, per esempio ci sono i caratteri di escape, poi sta tutto dentro un tag <script></script> nel body o nella head


  • Super User

    Inoltre tempo fa ho provato ad aggiungere testo visibile ad una pagina con il document.write ed il motore non lo considerava assolutamente, e neppure appariva nella cache solo testo di google.

    Allora non provai a mettervi dei link, ma sono pronto a scommettere che non li avrebbe seguiti.

    Anche Ago mi sembra abbia dichiarato di aver fatto uso dei document.write per escludere porzioni di testo ai bot. C'è un thread a riguardo di là...


  • User Attivo

    beke ti do una info su cui meditare.

    un'importante funzione di un algo di google è quella di estrapolare link dalla pagina html.

    fin qua nulla di strano

    l'estrapolazione avviene con un parsing della stringa ".it, .com ecc ecc" + quello del "http://", "www", "<a></a>"

    la stringa principale è il source code della pagina html.

    dunque da una piccola funzione vengono estratti tutti i link.

    m sn spiegato?


  • Super User

    Allora meditiamo insieme 😄

    Come ho già spiegato, nella pagina di test c'erano una decina di link in Js fatti in vari modi, window.open, location.href ecc.

    Tutti scritti nel <body> della pagina e tutti, eccetto uno, che puntavano ad un indirizzo assoluto, con tanto di "http://" e di ".it".

    Googlebot ne ha seguito solo uno, quindi quello che dici tu, semplicemente, non è vero 🙂

    Come ho scritto nel primo post

    Non credo si tratti di un semplice scan del codice js alla ricerca di un costrutto del tipo "http://..." perchè altrimenti avrebbe seguito anche gli altri.

    Se vuoi ti posto il codice della pagina di test.


  • Super User

    la tua osservazione è giusta... :bho:


  • User Attivo

    ok ok , no prob.
    scusa se scrivo male ma sn di corsa.

    bene,
    io sapevo di questa cosa del parsing ad agosto 2004. poi nn ho più fatto test xkè semplicemente nn ho più tempo (troppo lavoro).

    addirittura pensavo fosse un bug (o meglio lo pensavano dal Canada 😉 )e devo dire che sono stati celeri a modificare l'algo.


  • User Attivo

    @beke said:

    In seguito ai risultati parziali di un test nella sez. Laboratorio SEO

    E' venuto fuori che Googlebot sembra ignorare i "link" in javascript fatti con sintassi del tipo "location.href" mentre invece segue senza difficoltà un link "normale" ma scritto con un "document.write".

    Non credo si tratti di un semplice scan del codice js alla ricerca di un costrutto del tipo "http://..." perchè altrimenti avrebbe seguito anche gli altri.

    Mi viene da pensare che Google abbia imparato a riconoscere il significato del "document.write"...

    Possibile secondo voi?
    Facciamo altre prove?

    Quando mi hanno bannato decine di siti di test che contenevano document.write ho pensato, o G banna per eccesso di javascript o perche' riesce a leggere il document.write.

    Allora ho fatto una serie di test pieni di javascrit e sono stato silurato.

    Al che ho pensato, G penalizza-banna l'uso eccessivo di javascrit ed allora mi sono fermato ed ho deciso: (cosa che ho risolto grazie alle dritte di Gik25) levo il javascript.

    Questo modo di fare dimostra come sia semplice lavorare-ragonare con il fondo schiena. Non mi e' manco passato per la mente che il fatto che G penalizzasse i javascript non significava che non potesse anche leggere il document.write. Non si finisce mai...


  • Community Manager

    @agoago said:

    Non si finisce mai...

    No purtroppo, per questo abbiamo bisogno del nostro laboratorio, delle gare e dei vari forum dobbiamo sempre tenerci aggiornati 🙂


  • User Attivo

    allora io faccio così faccio uno style su una cartella e poi con il robots txt ed escludo la cartella

    poi richiamo nella pagine quello style con un document write

    quindi dalla novità scritta sopra anche se mi legge il document wirite

    resta il fatto che la cartelle è eclusa.

    secondo voi potrebbe andare altrimenti si potrebbe
    fare un div sopra l'altro


  • Super User

    Allora,

    ieri sera ho riflettuto sui risultati del test e volevo proporre una piccola discussione comune.

    1)Lo spider di Google non ha seguito questo link
    [url="#"]Ancora tipo 2
    e neanche i suoi equivalenti su top, parent, document e windows.

    2)Neanche questo link è stato seguito
    [url="#"]Ancora tipo 5

    3)Questo link invece è stato seguito
    <script language="javascript">document.write('<a href='http://www.miosito.it/tipo6.asp';">Ancora tipo 6</a>');</script>

    4)E anche questo è stato seguito
    <map name="Map"><area shape="circle" coords="73,83,8" href="http://www.miosito.it/tipo9.asp"></map>

    L'ipotesi di Stealth, cioè che esista una funzione che faccia lo scan di tutta la pagina alla ricerca di link, mi sembra logica, però i conti

    non tornano...

    Volendo estrarre i link, esterni e/o interni presenti in una stringa, le porzioni di codice che è logico cercarvi sono a mio avviso "href="

    prima di tutto e poi "http://" "www" e i vari ".est" per il link uscenti.

    In quattro casi su quattro sono presenti le sottostringhe "http://" e ".est".

    In tre casi su quattro, nei quali sono compresi i due link seguiti c'è una sottostringa "href="

    l'unica differenze che vedo io è che nel caso 1 la sottostringa "href" è preceduta da un punto ".href" mentre nel terzo e nel quarto caso da

    uno spazio.

    Può darsi che semplicemente la stringa ricercata sia " href=" e che venga ricercata ovunque nel codice della pagina?
    E che il testo nei document.write sia ancora invisibile ai motori?

    Una prova da fare, secondo me, è quello di inserire del testo con parole inventate in un document.write e vedere se una volta inclusa la pagina diventa reperibile a fronte di una riceca ( per quelle parole, ovviamente ).


  • User Attivo

    se può essere utile io faccio un css in una cartella poi chiudo il tutto escludendo la cartella da robots.txt

    poi facccio sulla pagina nel head
    <SCRIPT>
    function s()
    {
    document.write("<link rel='stylesheet' type='text/css' href='cartella/file.css'>")
    }
    </SCRIPT>
    <script>
    s()
    </script>

    poi allinterno della pagina faccio dei testi e link che vengono nscosti da div che fanno riferimento al css diciamo bloccato.

    allora testo e link me li ha sempre presi senza problemi

    non so se è funziona per il bloccaggio dei robots.txt o per il document.write

    ecco una mi esprienza


  • Community Manager

    @beke said:

    Una prova da fare, secondo me, è quello di inserire del testo con parole inventate in un document.write e vedere se una volta inclusa la pagina diventa reperibile a fronte di una riceca ( per quelle parole, ovviamente ).

    Ottimo dobbiamo provare.

    Elena che ne dici in ve.com, che beke si è dato già tanto da fare?


  • Super User

    @diego said:

    se può essere utile io faccio un css in una cartella poi chiudo il tutto escludendo la cartella da robots.txt

    poi facccio sulla pagina nel head
    <SCRIPT>
    function s()
    {
    document.write("<link rel='stylesheet' type='text/css' href='cartella/file.css'>")
    }
    </SCRIPT>
    <script>
    s()
    </script>

    poi allinterno della pagina faccio dei testi e link che vengono nscosti da div che fanno riferimento al css diciamo bloccato.

    allora testo e link me li ha sempre presi senza problemi

    non so se è funziona per il bloccaggio dei robots.txt o per il document.write

    ecco una mi esprienzaDiego, io ti ringrazio e capisco quello che dici, ma ciò che sto cercando di fare è comprendere con precisione cosa fa Googlebot, non fermarlo a tutti i costi.

    Per quello eventualmente mi organizzo quando ho capito 😄


  • User Attivo

    Beke scrive:

    "Può darsi che semplicemente la stringa ricercata sia " href=" e che venga ricercata ovunque nel codice della pagina?"

    Ma certo Beke, se ti fidi te lo confermo e lo sottoscrivo!
    Il problema e' che nascondendo gli href se usi adsense a rigor di logica sei penalizzato.

    Ma i bot sono diversi... 🙂


  • Super User

    Ma certo Beke, se ti fidi te lo confermo e lo sottoscrivo!
    Il problema e' che nascondendo gli href se usi adsense a rigor di logica sei penalizzato. Ovviamente mi fido... in ogni caso ritengo anche io che sia la cosa più probabile.

    Appena ho un minuto faccio la prova sul testo contenuto nel document.write, giousto per capire se GG si sta muovendo in quella direzione.


  • Super User

    Allora ho fatto il test, anzi, una piccola riprova ed un test.

    Per capire se la stringa ricercata fosse davvero " href=" con lo spazio davanti ho inserito nel codice della pagina un link con un errore di sintassi

    [url="linkerrato.asp"]Link12

    ovviamente il "." prima dell'href lo rende sintatticamente sbagliato e quindi può essere questa al ragione per cui non è stato seguito dallo spider, in ogni caso non lo è stato.

    Quindi, definitivamente, concordo con Ago sul fatto che la stringa ricercata dagli spider di GG per individuare i link da seguire sia " href" con lo spazio davanti. Adesso estenderò le prove agli altri spioder che finora non ho monitorato.

    Ho anche inserito nel testo della pagina una frase di testo contenente un binomio di parole inventate, all'interno della quale ho messo un "document.write" contenente a sua volta un differente binomio di parole inventate.

    Entrambi i binomi non restituivano risultati su Google.

    Adesso la pagina è rintracciabile per il primo ma non per il secondo, segno evidente che il testo nei tag <script> inserito nella pagina con dei "document.write" non viene considerato.


  • Community Manager

    Grazie mille Beke :ciauz: