Индексирование commerce kickstart

Главные вкладки

Аватар пользователя alexo alexo 12 октября 2018 в 12:17

Здравствуйте! Появились глюки с индексированием Яндексом commerce kickstart.
При том, что языки на сайте всегда были только русский и английский, и сейчас вообще включен только русский, в индекске много страниц с другими языками со статусом 404 (в частности /fr/user/registe, /it/node/253, /de/node/249 - при том что мною было создано только 1 нода), также есть еще сслыки на страницы, которые идут в качестве образца по умолчанию при установке дистрибутива

типа /bags-cases/drupal-commerce-iphone-case с кодом 200, хотя все материалы, которые ставились по умолчанию сначала были сняты публикации, потом удалены.
Как это исправить?
Также еще появляются какие-то странные символы через пару недель после установки дистрибутива уже не в первый раз.

Скришноты прилагаю

Комментарии

Аватар пользователя alexo alexo 12 октября 2018 в 13:00

Спасибо. Инстуркцию еще раз почитаю. Имею ввиду, что глюки не у Яндекса, а глюки в моих настройках, и я хочу их исправить.
Или я чего-то не понимаю?
У меня на сайте сейчас мною создан один блок с текстом на главной и одна нода,
при этом в дистрибутиве было несколько десятков материалов с рекламой от создателей, все были сняты с публикации и удалены, продолжают быть в обходе Яндекса, при чем не только со статусом 404 но и со статусом 200.
Т.е. 404 это вероятно страницы, которые раньше были в обходе и удалены. А 200? Откуда они, если все удалено? Можно ли где-то в настройках найти и исправить это? Или нужно по каждой ссылке проходить и удалять вручную?

А по user/login есть где-то в инструкции Яндекса? Французский, немецкий и итальянский языки вообще не влючались на сайте.
Откуда они в поиске не пойму?

Аватар пользователя alexo alexo 12 октября 2018 в 13:04

Проблема в том, что страницы со статусом 200, не отображаются на странице с списком всех нод в содержимом. Придется их удалять вручную? Или можно как-то по списку URL, например, через drush?

Аватар пользователя adano adano 12 октября 2018 в 13:32
1

Почитайте про robots.txt, sitemap.xml, как Яндекс индексирует сайты...
По ссылке, что привел выше - всё есть.

И в sitemap не нужно пихать 403 и 404 страницы.

А по user/login есть где-то в инструкции Яндекса?

Ответ будет в друпаловском robots.txt.

Аватар пользователя alexo alexo 12 октября 2018 в 14:40

По неудаленным нодам, которые отображались в поиске яндекса, но не отображались в содержимом /admin/content, удалось их найти через UI: это были товары, они отображались в товарах /admin/commerce/products. В содержимом некоторые тоже можно вывести вручную, выбрав в фильтре соответствующий им тип материала, например, shoes, hats и т.д. Некоторые были удалены вместе с ненужными типами товаров-материалов. Но часть остатся, например отображается
Go green with Drupal Commerce Reusable Tote Bag
на node/15

При попытке редактирования
Notice: Undefined index: bags_cases_node_form в функции drupal_retrieve_form() (строка 807 в файле .../includes/form.inc).
Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'bags_cases_node_form' not found or invalid function name в функции drupal_retrieve_form() (строка 842 в файле ...includes/form.inc).

Аватар пользователя alexo alexo 14 октября 2018 в 23:05

Несколько страниц осталось в поиске и вообще не представляю, как их удалить, после попытки удалить вручную со страницы редактирования ноды, страница не удалилась, но повторно при попытке редактировать выдается сообщение

"Notice: Undefined index: bags_cases_node_form в функции drupal_retrieve_form() (строка 807 в файле .../includes/form.inc).
Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'bags_cases_node_form' not found or invalid function name в функции drupal_retrieve_form() (строка 842 в файле /...includes/form.inc)."
Эти строки
c 800 по 846

 // So, we call the hook if $forms isn't yet populated, OR if it doesn't
    // yet have an entry for the requested form_id.
    if (!isset($forms) || !isset($forms[$form_id])) {
      $forms = module_invoke_all('forms', $form_id, $args);
    }
    $form_definition = $forms[$form_id];
    if (isset($form_definition['callback arguments'])) {
      $args = array_merge($form_definition['callback arguments'], $args);
    }
    if (isset($form_definition['callback'])) {
      $callback = $form_definition['callback'];
      $form_state['build_info']['base_form_id'] = isset($form_definition['base_form_id']) ? $form_definition['base_form_id'] : $callback;
    }
    // In case $form_state['wrapper_callback'] is not defined already, we also
    // allow hook_forms() to define one.
    if (!isset($form_state['wrapper_callback']) && isset($form_definition['wrapper_callback'])) {
      $form_state['wrapper_callback'] = $form_definition['wrapper_callback'];
    }
  }

  $form = array();
  // We need to pass $form_state by reference in order for forms to modify it,
  // since call_user_func_array() requires that referenced variables are passed
  // explicitly.
  $args = array_merge(array($form, &$form_state), $args);

  // When the passed $form_state (not using drupal_get_form()) defines a
  // 'wrapper_callback', then it requests to invoke a separate (wrapping) form
  // builder function to pre-populate the $form array with form elements, which
  // the actual form builder function ($callback) expects. This allows for
  // pre-populating a form with common elements for certain forms, such as
  // back/next/save buttons in multi-step form wizards. See drupal_build_form().
  if (isset($form_state['wrapper_callback']) && is_callable($form_state['wrapper_callback'])) {
    $form = call_user_func_array($form_state['wrapper_callback'], $args);
    // Put the prepopulated $form into $args.
    $args[0] = $form;
  }

  // If $callback was returned by a hook_forms() implementation, call it.
  // Otherwise, call the function named after the form id.
  $form = call_user_func_array(isset($callback) ? $callback : $form_id, $args);
  $form['#form_id'] = $form_id;

  return $form;
}

Аватар пользователя pselfin pselfin 15 октября 2018 в 1:22

Первое - судя по тому что "создана одна страница" - вы рано паникуете. Возможно дистрибутив проиндексировался, и теперь потихоньку страницы выкидываются.

Второе - прогоните сайт от анонима каким нибудь парсером (например Seo frog spider), найдите ссылочки на битые страницы и удалите их.

Аватар пользователя alexo alexo 15 октября 2018 в 10:41

Спасибо

Возможно дистрибутив проиндексировался, и теперь потихоньку страницы выкидываются

Там есть страницы с рекламой сумок, футболок, чехлов для телефонов с символикой Commerce kickstart. Предполагалось эти страницы удалить, чтобы они вообще изначально не индексировались. Они были удалины со вкладки admin/content. Но оказалось, что часть была в товарах и проиндексировалась. Тогда были удалены подвиды товаров (сумки, обувь и т.д.) вместе с нодами этих подтипов. Некоторые такие товары были удалены со вкладок node/number/edit
Но некторые после этого всего остались и есть в списке обхода и "страницы в поиске" Яндекса.

найдите ссылочки на битые страницы и удалите их

Как удалить? Вопрос, как удалить? у меня их нет ни в списке товаров, ни в списке amin/content. Когда из яндекса открываю сслыку, она открывается и есть кнопка "редактировать"

Когда нажимаю "редактировать" выдется страница с предупреждением

Как еще можно удалить?

Аватар пользователя alexo alexo 15 октября 2018 в 13:59

И еще есть три проблемы с индексированием

1) В диагностике сайта выдается сообщение
"Значительная часть страниц сайта не содержит мета-тег , или он некорректно заполнен. Это может негативно повлиять на представление сайта в результатах поиска."

Это нужно исправлять? Или можно так оставить?
Верно ли я понимаю, что нужно поставить модуль Metatag и в нем настроить?
А где на /admin/config/search/metatags?
Или мне просто нужно заполнять вручную анонсы?
Или где-то еще [node:summary]?

2)Так как удалить страницы пока не знаю как, попробую их закрыть от индексирования.
Делаю например для такой страницы

User-agent: *

Disallow: /drinks/guy-mug
Верно?

3)В поиске в качестве главной /?C=S;O=A
а страница /index.php исключена как дубль

Ну еще в довесок этому
4) Не всегда отображается админ меню, когда я в браузере под админом. Когда не вбивается ввожу в адресной строке вручную /user/login, открываю страницу редактирования своего профиля и "сохраняю". Полсе этого открывается админ меню

Аватар пользователя alexo alexo 15 октября 2018 в 15:02

Пока лишние страницы пришлось скрыть в роботс

для быстроты, если придется на других сайтах это делать использую
echo Disallow: /blog/cmt-commerce-customizable-products/ >> robots.txt
echo Disallow: /storage-devices/commerce-guys-usb-key/ >> robots.txt
echo Disallow: /ad-push/ad-push-go-green/ >> robots.txt
echo Disallow: /products/ >> robots.txt
echo Disallow: /service-agreements/ >> robots.txt
echo Disallow: /service-agreements/ >> robots.txt
echo Disallow: /drinks/guy-mug/ >> robots.txt
echo Disallow: /shoes/drupal-commerce-ready-beach/ >> robots.txt
echo Disallow: /bags-cases/drupal-commerce-iphone-case/ >> robots.txt
echo Disallow: /drinks/guy-h20/ >> robots.txt

адреса взяты из по-прежнему индексирумых страниц со вкладки "страницы в поиске" Яндекса
Почему индексирует /
/?C=S;O=A
вместо index.php и нормально ли это, пока не пойму
(лишние, которые не получилось удалить, выделены красным)

(нужные, которые не закрываю, выделены зеленым)

Аватар пользователя pselfin pselfin 15 октября 2018 в 15:40

alexo wrote:

Почему индексирует /

/?C=S;O=A

вместо index.php и нормально ли это, пока не пойму

Почитайте про метатег canonical, вероятно это вас успокоит, но не факт)

Аватар пользователя alexo alexo 15 октября 2018 в 15:47

Спасибо.

Почитайте про метатег canonical, вероятно это вас успоко

Т.е. вы думаете, что у меня есть две одинаковые страницы
/?C=S;O=A
и
index.php
И основной из них является /?C=S;O=A, поэтому index.php просто с ней связна каноникалом? А откуда вообще взялась эта страница /?C=S;O=A?
У всех так на свех сайтах на семерке или на коммерс?

Аватар пользователя pselfin pselfin 15 октября 2018 в 15:50
1

Я ничего не думаю, ибо гадать в вакууме дело неблагородное.
Я лишь обратил твое внимание на метатег и его значение. А там уже смотреть конкретный случай надо.

Аватар пользователя alexo alexo 15 октября 2018 в 16:07

А там уже смотреть конкретный случай надо.

Спасибо. А как мне узнать, откуда эта страница взялась в дистрибутиве моем? Или Вы предлагаете не искать, а для нее каноникал добавить на index.php, чтобы последняя основной была из этих двух?
Или может эту странную просто заркыть тоже от индексриования, тогда index.php не будет считаться дублем?

Аватар пользователя fairrandir fairrandir 15 октября 2018 в 17:52

А если легаси? Ну то есть допустим на старом сайте было index.html, и после переезда на новом сеошник просит так же оставить?

Аватар пользователя pselfin pselfin 15 октября 2018 в 18:12

Это вопрос к сеошнику.
Для решения вопроса есть 301 редирект, есть каноникал.
Вполне себе рекомендуемые ПС методы смены урлов.

Аватар пользователя alexo alexo 15 октября 2018 в 22:56
Друпал отлично выдает главную на site.ru без всяких индексов.пхп/хтмл.

Так я только за. Но у меня почему-то адрес получается главной.

site.ru/?C=S;O=A

Вот скрин из яндекса ссылки, ведущей на главную

Аватар пользователя gun_dose gun_dose 17 октября 2018 в 10:36
1

Вы сейчас загадите свой домен так, что придётся покупать новый. На будущее имейте в виду, в robots.txt всегда прописывайте Disallow: / до тех пор, пока сайт не готов к запуску.

Аватар пользователя alexo alexo 18 октября 2018 в 14:33

Спасибо. Наверное, так и сделаю
Помещаю перед всеми allow и не стираю их?
и на всякий случай в конце (не знаю, в каком порядке робот читает файл, и что приоритетнее, первая настройка или последующая)

Аватар пользователя alexo alexo 4 ноября 2018 в 20:11

Сайт был перезалит на чистый Друпал с нуля, но проблема сохранилась. Через пару недель у Яндекса снова в индексе эта страница.
site.ru/?C=S;O=D
Ведет на главную
На хостинге говорят, что
"...вместе с адресом страницы указаны два параметра.
Видимо где-то на сайте есть адрес в таком виде и поисковики проиндексировали его".

Предлагают в личном кабинете поисковиков исключить этот адрес из индекса.

Откуда она теперь взялась на чистом Друпале я не пойму.

<a href="mailto:P.Selfin@drupal.org">P.Selfin@drupal.org</a> wrote:

А там уже смотреть конкретный случай надо.

Где можно искать причину?
Из вариантов ее прикрыть получается:
1)настроить каноникал
2)в роботс disallow
3)сделать с нее редирект 301
4)через вебмастер ее исключить (пока только не пойму как)
5)все же найти причину и ее устранить.
Какой способ из этих Вы порекомендуете?

Аватар пользователя alexo alexo 4 ноября 2018 в 22:46

Смотрю внимательнее описание Яндекса:
вероятно все равно нужно в роботс прописывать даже если в панели удалять, иначе может отклонить удаление

Верно ли будет если я в роботс припишу как на скриншоте
User-agent: *
Crawl-delay: 10
# CSS, JS, Images
Disallow: /?C=S;O=D

и потом ее же исключу в Яндексе

Все это правильно будет?

Аватар пользователя alexo alexo 7 ноября 2018 в 0:49

В результате Янжекс не удалил из поиска эту страницу

Возможно, потому что в роботс было как на скриншоте выше, а вставилось в Яндекс /?C=S;O%3DD
т.е. добавился % вместо второго =
Буду еще пробовать именно так прописать в роботс

Кто-то еще может подсказать, что с ней делать?

Аватар пользователя pselfin pselfin 7 ноября 2018 в 18:35

Чтобы вебмастер удалил - должен быть код 404 у урла.
Все остальное он удаляет из индекса по своему усмотрению.
Вы продолжаете бороться с мельницами и хотите в этом помощи?
Уже давно рассказали про каноникал, про роботс.
Я уверен, что у вас там полно других более значимых задач для SEO, чем эта лабуда, которая вылетит как "неканоничная" через время.
Лучше потратьте свое время на полезные задачи.

Аватар пользователя alexo alexo 8 ноября 2018 в 19:20

<a href="mailto:P.Selfin@drupal.org">P.Selfin@drupal.org</a> wrote:

Уже давно рассказали про каноникал, про роботс.


Так я же пишу что там сбой какой-то с % получился и роботс не сработал в паре с панелью Яндекса.

Я уверен, что у вас там полно других более значимых задач для SEO, чем эта лабуда,

Т.е. когда Яндекс пишет, что главная - это дубль какой-то левой страницы, то это лабуда?

которая вылетит как "неканоничная" через время.

Так нужно настроить тогда чтобы Яндекс разобрался. Сам он не может нормально решить, какая каноническая, каждый день то главную выкидывает из индекса, то дубль и для главной пишет что дубль.
Как указать, что эта страница дубль с помощью каноникал? С модулем типа метатег или как-то вручную где-то прописать, я не пойму?

Аватар пользователя alexo alexo 30 ноября 2018 в 11:22

Также сейчас в процессе настройки на /admin/config/system/site-information
выяснилось что главной на сайте была /node

У кого-то было такое?
Как такое могло получится, это либо по умолчанию, либо какой-то модуль добавил? Потому что вручную такого не делалось точно.

Аватар пользователя alexo alexo 30 ноября 2018 в 11:24

Спасибо. Да.
А как он это исправляет?
Ну можно же и просто стереть node? (оставить это поле пустым, тогда глобал редиректу просто не придется ничего исправлять)?

И еще вопрос по страницам ошибок:
Верно ли я понимаю, что если я хочу создать свою страницу 404, 403, то нужно
создать страницу, как мне надо например типа page (например с адресом /my404)
Потом на
admin/config/system/site-information
В поле
"Введите путь, на который будет выполняться перенаправление при возникновении 403/4-ей ошибки (доступ запрещён)."
ввести адрес созданной страницы

например

Аватар пользователя alexo alexo 30 ноября 2018 в 15:07

Обновление по ситуации с дублем главной
Дубли продолжают появляться (их много, отличие может быть только в одной букве)

и еще один

Причем появление их совпадает с падением в индексе
______________________________________________________________________________________

Картина количества посетителей
(при чем что контент не менялся и ничего не делалось в этот период почти)
______________________________________________________________________________________
Да, они со временем распознаются как дубли. Но не ясно, откуда они берутся?

и

______________________________________________________________________________________
А если сделать
Disallow: /?C
или
Disallow: /?
Это запретит индекс всех адресов, которые начинаются на эти символы?
Может так сделать?