Как убедиться, что содержимое iframes правильно индексируется вместе с веб-страницей stem


У меня есть веб-страница (URL-адрес stem) с несколькими iframes внутри нее с немного отличающимся src. Это похоже на @book has_many :pages, и каждая страница представляет собой iframe с последовательно увеличивающимся page_no.

Как я должен убедиться, что содержимое внутри iframes правильно проиндексировано, а URL-адрес STEM становится родительским для всех src URL-адресов страниц внизу?

О да, я рад, что все поисковые системы просматривают контент и делают это правильно.

Author: marvindanig, 2015-03-11

1 answers

Насколько я знаю, нет способа проиндексировать ваш сайт в формате HTML так, как вы хотите. Google всегда индексирует контент по URL дочернего фрейма, а не по URL родительского фрейма.

Отсутствие поддержки поисковых систем является одной из причин того, что фреймы так редко используются в Интернете. Гораздо чаще для создания полной страницы полагаются на серверную технологию, а не на отправку ее пользователям по частям.


Вместо того, чтобы полагаться на поисковые системы для индексирования на разных страницах вы можете использовать JavaScript для принудительного применения вашего набора фреймов. Если у вас есть навигация, которая находится в рамке сбоку, я иногда видел, как JavaScript использовался для ее добавления обратно. Предположим, что посетитель попадает на page3.html, у него может быть такой JavaScript:

if (window.top == window.self) {
    window.location = "http://example.com/frame.html#page3.html";
}

Тогда frame.html может иметь JavaScript для установки правильной страницы на основе идентификатора фрагмента:

if(/^page[0-9]+\.html$/.test(window.location.hash)) {
    document.getElementById('frame-for-the-pages').src = window.location.hash;
}

Где frame-for-the-pages - идентификатор, присвоенный этой части вашего набора кадров:

<frame id="frame-for-the-pages" src="page1.html">

Есть также некоторые новые инструменты от Google, которые вы могли бы попробовать. Прошло так много времени с тех пор, как все отказались от фреймов, что я не уверен, что кто-то пытался:

Относительный канонический

Используйте относительные канонические мета-теги в каждом из дочерних фреймов, чтобы указать на родительский фрейм. Эти теги могут заставить Google индексировать контент, как если бы он был по другому URL-адресу. Я бы сделал это только в тех случаях, когда родительский кадр сразу показывает дочерний кадр (без необходимости пользователю нажимать вокруг этого.) В противном случае вы рискуете "замаскироваться": наличие контента Google index, который недоступен пользователям, что может привести к штрафу со стороны Google.

Обходимый AJAX

Фреймы не сильно отличаются от AJAX, поскольку содержимое фрейма динамически извлекается на стороне клиента. Возможно, можно применить те же методы AJAX с возможностью обхода к фреймам: Создавайте HTML-снимки всех ваших страниц и отправляйте их по URL-адресам _escaped_fragment, имея Google отправляйте посетителей по URL-адресу фрейма.

 2
Author: Stephen Ostermiller, 2015-03-11 17:22:03