Как вы говорите поисковым системам не индексировать эту страницу только сейчас, но, возможно, в будущем?

8

Компания, в которой я работаю, имеет систему управления контентом, которая автоматически создает страницы для определенного контента.

Например, в нашей системе есть страница, на которой есть возможность показать вам информацию о любом композиторе в нашей базе данных, в зависимости от входных параметров и той информации, которая у нас есть о них. Однако, время от времени, есть композитор, который не имеет никакой информации, таким образом, страница отображает пустую страницу. Как мы можем сказать Google не индексировать страницу в данный момент, но, возможно, когда-нибудь в будущем?

Поскольку контент генерируется автоматически, мы не можем просто заблокировать отображение страниц, так как информация об этом композиторе может появиться в любой момент.

редактировать

Обратите внимание, что наша система CMS, которая выполняет выборку, серьезно сложна и глубока. Содержательная часть страницы БУДЕТ возвращать какие-то данные, поэтому запуск, empty($content) ? xx : yyкак было предложено, не является быстрым решением. Если композитор не существует, система не будет иметь страницу для этого композитора, если композитор существует, система будет. Когда страница этого композитора отображается, система ищет каждый тип, относящийся к композиторам, например, works, чтобы создать динамическую страницу.

Люк Мадханга
источник
2
Что именно вы подразумеваете под «пустой страницей»? Вы имеете в виду буквально никакой HTML не отправляется? Или у вас есть базовый дизайн «оболочки», но без содержания?
Рассерженная шлюха

Ответы:

13

Если для определенного композитора нет содержимого, используйте метатег:

<meta name="robots" content="noindex, follow">

Как только контент добавлен и метатег удален, Google его проиндексирует.

Пример:

<?php if(empty($composerInfoArray)): ?>
    <meta name="robots" content="noindex, follow">
<?php endif; ?>
Вексфорд
источник
1
FWIW «следовать» - это поведение по умолчанию, вы можете отказаться от него, если хотите (это не вызывает никаких проблем, и, возможно, оно больше предназначено для людей, читающих его, поэтому вы также можете оставить его).
Джон Мюллер
4

Если «отсутствующие» страницы действительно не содержат фактической информации, а просто являются заполнителями для «здесь может быть страница в будущем», то я бы порекомендовал настроить ваш веб-сервер так, чтобы он возвращал для них код состояния 404 «Не найден» .

Браузеры по-прежнему будут показывать такие страницы пользователю, так же, как они отображают обычные страницы с ошибками 404 (по крайней мере, до тех пор, пока они достаточно длинные ), но поисковые системы будут просто обрабатывать страницу так, как если бы она вообще не существовала.

Этот метод используется, например, в Википедии для несуществующих страниц, подобных этой . Одно из его преимуществ (помимо того, что оно является, пожалуй, семантически правильным) заключается в том, что оно гарантирует, что поисковые системы будут обрабатывать такие страницы точно так же, как они обычно обрабатывают пропущенные страницы, которые возвращают код состояния 404.

Одним потенциальным недостатком является то, что если у вас есть ссылки на страницы, которые возвращают код состояния 404, они будут отображаться как «ошибки 404», например, в Инструментах Google для веб-мастеров. Однако это совершенно нормально, и не о чем беспокоиться .


Чтобы помочь поисковым системам в обнаружении ваших новых страниц, когда они действительно получат какой-то фактический контент и перестанут возвращать 404-е, вам также следует поддерживать регулярно обновляемую карту сайта XML, в которой перечислены все страницы вашего сайта, на которых есть контент. Это позволяет Google и другим поисковым системам открывать новые страницы непосредственно через карту сайта, вместо того, чтобы случайно сталкиваться с ними при повторном просмотре вашего сайта.

Ps. Смотрите также: Не указатель страницы, на которой нет релевантного контента?

Илмари Каронен
источник
Каренон, возвращение 404 равнозначно бездействию, это обычное поведение веб-сервера; Пример Википедии - просто пользовательская страница 404.
Binarysurf
1
@Binarysurf: Согласно ОП, они используют собственный сценарий для обслуживания динамического контента для «виртуальных страниц», созданных на основе информации, хранящейся в базе данных (как в Википедии, SE и большинстве крупных веб-сайтов в настоящее время). Это означает, что «обычное поведение веб-сервера» не применимо - что касается веб-сервера (Apache, IIS, nginx и т. Д.), Скрипт создания контента существует и работает, поэтому по умолчанию он имеет значение «» 200 OK "ответ, если сценарий не говорит иначе. Я просто предлагаю , что OP должен сделать свой сценарий отправить ответ 404, если нет фактического содержания , чтобы показать.
Илмари Каронен
есть специальный скрипт, извлекающий данные композитора из базы данных, что если чьего-то имени там нет? используя логику, скрипт не будет получать записи из базы данных, что он должен делать? может быть потом отправит 404 не найден. Если скрипт нашел что-то, может быть, просто метаданные (его имя) и никаких других данных, он отправит 200 и страницу с пустым содержимым. Даже если у него есть собственный скрипт, он будет следить за поведением веб-сервера по умолчанию? Или он будет отвечать 200 на каждый отдельный запрос? Это будет выглядеть спамом без какого-либо конкретного содержания.
Binarysurf
После запуска сценария он отвечает за отправку кода состояния, и правильный код для отправки, когда запрос не дал результата, равен 404.
Wossname
1

Я бы лично встроил в систему сообщение, которое сообщит пользователю, что, хотя их запрос был выполнен, не было найдено композиторов для заданных параметров. Это не даст пользователю думать, что страница / ссылка «не работает».

chaoskreator
источник
1

Если на странице нет содержимого, ваша система CMS не должна ссылаться на нее. Ссылки на пустые страницы вредны как для пользователей, так и для поисковых систем.

Мне нравится предложение Уэйна Уитти о том, как разместить метатег на самой странице композитора. Вы должны найти способ сделать что-то подобное в том месте, где вы перечисляете всех композиторов и ссылаетесь на них:

<?php foreach ($composers as $composer) {
    if ($composer->countCount > 0)
         print "<li><a href=\"$composer->url\">$composer->name</a></li>";
    } 
} ?>

Если вы сделаете это, то поисковые системы больше не будут находить пустые страницы для начала.

Стивен Остермиллер
источник
1
... то есть, если нет чего-то значимого, что пользователи могли бы сделать даже с «пустой» страницей, такой как предоставление информации для нее. (Однако даже тогда может быть лучше не ссылаться на пустую страницу напрямую, а на какой-то другой URL, который указывает на (возможное) отсутствие данных. Обратите внимание, что вам придется иметь дело с крайним случаем, когда пользователь следует такую ​​ссылку после того, как страница была недавно создана, посмотрите, например, как это делает Википедия .)
Ilmari Karonen