Індексація сторінок Google за допомогою #! хоча нас немає


11

Наша компанія розробила додаток для єдиної сторінки за допомогою AngularJS та його маршрутизації. Google пристойно індексував наш сайт JavaScript, але він не дуже індексував деякі сторінки, тому ми розробили версію лише для HTML.

Ми дотримувались специфікації сканування Ajax, розміщеної тут, і маєте <meta name='fragment' content='!'>тег та канонічні URL-адреси. Ми очікуємо, http://www.example.com/foo/barщо буде отримано з http://www.example.com/?_escaped_fragment_=/foo/bar.

Однак ми з'ясували, що коли ми розгортали специфікацію AJAX, тепер усі сторінки індексуються двічі, один раз з версією JavaScript як http://www.example.com/foo/barі один раз з новою версією як http://www.example.com/#!/foo/bar. Це шкідливо для нас, оскільки він дублює вміст, а також неправильно представляє веб-сайт.

Я намагався шукати подібні питання тут і на форумі продуктів Google, але нічого не міг придумати.


Ви порушили цю проблему з Google? На їхньому форумі?
Jérôme Verstrynge

@JVerstry так - я це зробив одразу після того, як я опублікував це питання: productforums.google.com/forum/… Однак мої перші припущення полягають у тому, що ми не зрозуміли протокол правильно, а щось із їх продуктом не так, тому мої шанси отримати допомога тут є досить пристойною, окрім того, що питання стосується великої цільової аудиторії тут (Усі, хто має додатки на одній сторінці, які не використовують #! у URL-адресах і хочуть, щоб Google їх індексував). Дякуємо за пропозицію, до речі.
Бенджамін Груенбаум

1
Чи визначали ви канонічні URL-адреси через rel="canonical"?
kqw

3
переадресація на #! URL-адреси та маскування некрасивих URL-адрес схоже, що ви слідуєте специфікації.
Tony McCreath

1
Цікаво, що якщо ви не використовуєте #!URL-адреси, чому ви використовуєте _escaped_fragment_та специфікацію Google AJAX?
MrWhite

Відповіді:


2

Коли сумніваєтесь, використовуйте rel="canonical". Це може бути таким же простим, як і введення <link rel="canonical" href="http://blog.example.com/dresses/green-dresses-are-awesome" />вашого <head>. Докладнішу інформацію див. У Google.

Це не дозволить ботам сканувати обидві "версії", але воно скаже Google (та інші SERP), щоб вони індексували лише канонічний документ.


Чи може він використовувати той самий файл robots.txt ??
eyoung100

У нас це є, вони не допомогли в цій справі.
Бенджамін Грюнбаум

1

Я не дуже розумію JavaScript.
У індексації Google нам <head>каже канонічний URL, як @philtune. Але якщо ви не можете очікувати , http://www.example.com/foo/barщоб бути вилучені з http://www.example.com/?_escaped_fragment_=/foo/bar.

Google Fetch щойно знайшов canonical url.

У цьому випадку URL-адреса є http://www.example.com/foo/bar, і Google також буде індексувати http://www.example.com/foo/bar.

Якщо ви хочете, щоб індекс Google ви знаходитесь на сторінці, додайте цей скрипт у <head>:

<meta content = 'індекс, дотримуйтесь' name = 'googlebot' />

а потім знову за допомогою Google Fetch.

Note:
google розширить, перегляне веб-сайт і перегляне його та перейде за всіма посиланнями на сторінці. Якщо на вашій сторінці є посилання на зразок http://www.example.com/?_escaped_fragment_=/foo/barта переадресація http://www.example.com/foo/bar, google буде індексувати, http://www.example.com/foo/barоскільки http://www.example.com/?_escaped_fragment_=/foo/barвони переспрямовують на http://www.example.com/foo/bar.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.