Pagine di indicizzazione di Google con #! anche se non ne abbiamo


11

La nostra azienda ha sviluppato un'applicazione a pagina singola utilizzando AngularJS e il suo routing. Google ha indicizzato il nostro sito in modo decente con JavaScript, ma non ha indicizzato molto bene alcune pagine, quindi abbiamo sviluppato una versione solo HTML.

Abbiamo seguito le specifiche di scansione Ajax pubblicate qui e abbiamo un <meta name='fragment' content='!'>tag e URL canonici. Ci aspettiamo http://www.example.com/foo/bardi essere recuperati da http://www.example.com/?_escaped_fragment_=/foo/bar.

Tuttavia, abbiamo scoperto che quando abbiamo implementato la specifica AJAX ora abbiamo tutte le pagine indicizzate due volte, una con la versione JavaScript come http://www.example.com/foo/bare una volta con la nuova versione come http://www.example.com/#!/foo/bar. Questo è dannoso per noi poiché è contenuto duplicato e rappresenta in modo errato il sito.

Ho provato a cercare domande simili qui e nel forum del prodotto Google, ma non sono riuscito a trovare nulla.


Hai sollevato questo problema con Google? Sul loro forum?
Jérôme Verstrynge,

@JVerstry sì - l'ho fatto subito dopo aver pubblicato questa domanda: productforums.google.com/forum/… Tuttavia i miei primi presupposti sono che non abbiamo compreso correttamente il protocollo piuttosto che qualcosa non va nel loro prodotto, quindi le mie possibilità di ottenere gli aiuti qui sono abbastanza decenti, oltre che questa domanda è pertinente per un vasto pubblico di destinazione qui (Tutti con un'applicazione a pagina singola che non usa #! negli URL e vogliono che Google li indicizzi). Grazie per il suggerimento a proposito.
Benjamin Gruenbaum,

1
Hai definito gli URL canonici tramite rel="canonical"?
kqw,

3
reindirizzando il #! urli e occultando gli urli brutti non sembra che tu stia seguendo le specifiche.
Tony McCreath,

1
Mi chiedo solo, se non stai usando gli #!URL, perché stai usando _escaped_fragment_e le specifiche di Google AJAX?
MrWhite,

Risposte:


2

In caso di dubbio, utilizzare rel="canonical". Questo potrebbe essere semplice come mettere il <link rel="canonical" href="http://blog.example.com/dresses/green-dresses-are-awesome" />tuo <head>. Vedi Google per maggiori informazioni.

Ciò non impedirà ai robot di eseguire la scansione di entrambe le "versioni", ma dirà a Google (e ad altre SERP) di indicizzare solo il documento canonico.


Allo stesso modo, può usare un file robots.txt ??
eyoung100,

Abbiamo quelli, non hanno aiutato in questo caso.
Benjamin Gruenbaum,

1

Non capisco davvero di JavaScript.
Nell'indicizzazione di Google , ci <head>dice l'url canonico come dice @philtune. Ma se non puoi aspettarti http://www.example.com/foo/bardi essere preso da http://www.example.com/?_escaped_fragment_=/foo/bar.

Google Fetch ha appena recuperato il file canonical url.

In questo caso, l'URL è http://www.example.com/foo/bar, anche Google indicizzerà http://www.example.com/foo/bar.

Se vuoi che Google sia la tua pagina, aggiungi questo script in <head>:

<meta content = 'index, segui' name = 'googlebot' />

e poi recuperare di nuovo usando il Google Fetch.

Note:
google eseguirà la ricerca, seguirà, eseguirà la scansione del sito Web e seguirà tutti i collegamenti nella pagina. Se nella tua pagina hai un link simile http://www.example.com/?_escaped_fragment_=/foo/bare reindirizza a http://www.example.com/foo/bar, Google indicizzerà http://www.example.com/foo/barperché http://www.example.com/?_escaped_fragment_=/foo/barsono reindirizzati a http://www.example.com/foo/bar.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.