Я создаю динамические веб-сайты, где структура иерархически сохраняется в базе данных (собственная CMS). Я использую модель Смежности для управления таблицами этой базы данных (PHP и Mysql через PDO)
Я обнаружил, что Google индексирует страницы, что не следует.
Пример древовидной структуры, используемой для навигации:
home
about us
products
productgroup 1
productgroup 2
contact
support
sales
Представьте себе эту структуру в выпадающем меню со ссылками на страницы. Когда я выбираю products-> productgroup 1, я получаю URL-адрес, например www.domain.com/products/productgroup-1, который извлекает данные из базы данных (на основе последнего элемента uri: productgroup-1, slug-версии заголовка) и показывает это в моем шаблоне. Я не запрашиваю все элементы, только последние (я должен, я знаю).
Все идет нормально. Google индексирует эту страницу, как и ожидалось:
http://www.domain.com/products/productgroup-1
Но … Когда я использую инструменты Google для веб-мастеров, я вижу много страниц, проиндексированных с помощью 404, например:
http://www.domain.com/products
http://www.domain.com/contact
И так форт.
Эти страницы пусты и не имеют ссылки в структуре навигации.
Я спроектировал свою структуру так, чтобы эти страницы возвращали ошибку 404. Webmastertools подтверждает это, но продолжает индексировать эти страницы. Я знаю, что могу использовать robots.txt, чтобы запретить поисковому роботу Google сохранять индексирование URL-адресов. Есть ли другой способ сделать это? Должен ли я генерировать 403 вместо 404?
Я здесь в темноте.
Вы должны сделать несколько вещей:
Используйте перманентное перенаправление 301, чтобы направить эти пустые страницы на соответствующую страницу:
Даже если Google не сканирует http://www.domain.com/products, некоторые люди все еще могут получить доступ к этой ссылке, удалив последний сегмент из URL из браузера. Вы, вероятно, не хотите показывать им 404-й, но некоторую соответствующую информацию.
Например, вы можете перенаправить http://www.domain.com/products А ТАКЖЕ http://www.domain.com/products/ в http://www.domain.com/products/productgroup-1
Узнайте больше о перенаправлении 301 от Мос
Можно использовать mod-rewrite для перенаправления 301 вместо того, чтобы делать это на уровне кода.
Отправьте карту сайта в инструменты Google для веб-мастеров.
Это полный список URL-адресов на вашем сайте.
Наличие карты сайта приведет к удалению списка из 404 URL-адресов, уже проиндексированных в Google, но сообщит Google обо всех ваших «официальных» URL-адресах на вашем сайте и предполагаемой частоте сканирования.
Читайте больше от Инструменты Google для веб-мастеров Вот.
Проверьте свой HTML-код на наличие ссылок на «/ products» или «/ contact». В противном случае робот Google не будет сканировать эти URL.
Перенаправление 301 — лучший вариант, для которого вам не нужны страницы, а также вы можете назначить эти страницы на странице robots.txt.