Поддержка Проблемы и решения на сайте пропал поиск

  • на сайте пропал поиск, любой запрос возвращает сообщение, что ничего не найдено. Движок стандартный, тема тоже. Раньше хоть и не очень качественно, но работал, теперь вообще ничего.

    Как с этим бороться? Хотя бы в каком направлении копать

Просмотр 15 ответов — с 1 по 15 (всего 23)
  • Хотя бы в каком направлении копать

    в направлении пп4-6,8. Особое внимание обратить на слова про кеш.

    Спасибо за наводку, но не помогло. Тема по умолчанию — Twenty Ten, без модификаций. Плагины все отключил, кэш почистил, плагина кэширования нет, другие браузеры попробовал. Проблема не ушла.

    Поиска нет абсолютно!

    Как такое может быть?

    Модератор Yuri

    (@yube)

    Хотя бы в каком направлении копать

    Как вариант для начала:

    1. поставить плагин https://wordpress.org/plugins/debug-bar/

    2. в wp-config.php перед
    /* That's all, stop editing! Happy blogging. */
    добавить
    define('SAVEQUERIES', true);

    3. запустить на сайте поиск слова, которое точно есть.

    4. Найти в выводе дебагера SQL-запрос, в котором есть искомое слово. Должен выглядеть примерно так:

    SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND (((wp_posts.post_title LIKE '%котег%') OR (wp_posts.post_content LIKE '%котег%'))) AND wp_posts.post_type IN ('post', 'page', 'attachment') AND (wp_posts.post_status = 'publish' OR wp_posts.post_author = 1 AND wp_posts.post_status = 'private') ORDER BY wp_posts.post_title LIKE '%котег%' DESC, wp_posts.post_date DESC LIMIT 0, 10

    5. Скопировать его и выполнить в phpmyadmin.

    Так можно определить 1) насколько корректный запрос генерирует движок и 2) ищется ли слово в базе.

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

    сорри, только сегодня добрался до этого вопроса.

    Плагин поставил, но где увидеть вывод SQL-запроса?

    поставил второй плагин — Debug Bar Console, появилась консоль дебагера. Делаю запрос на поиск, но в консоли записи не появляются.

    Самому сделать запрос сложно

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

    Похоже где-то птичка то ли лишняя, то ли не хватает. Как найти эту птичку, где она может быть?

    кодировку базы данных смотрите.
    и чтобы совпадало с прописанным в wp-config.php

    ок, а если не совпадет, ее можно просто вручную поменять?

    похоже трабл, часть таблиц cp1251_general_ci, а несколько utf8_general_ci

    В конфиге cp1251

    и кстати, эти таблицы, которые на utf8_general_ci, они от плагина остались. Из можно просто удалить в PHP MyAdmin?

    удалил таблицы, осталось в базе кодировка cp1251_general_ci, в конфиге cp1251.

    Это нормально или все-таки надо делать полностью одинаковым название кодировки?

    перебил везде кодировку, оставил только cp1251_general_ci и в базе данных, и в конфиге. Поиск увы не изменился, находит по английским словам, русские ничего не находит.

    Где еще могут быть глюки с кодировкой?

    может быть здесь еще играет роль, что в php admin пишет, что

    MySQL-кодировка: UTF-8 Unicode (utf8)
    Сопоставление соединения с MySQL utf8_unicode_ci

    Т.е. кодировка базы cp1251_general_ci, а MySQL — utf8_unicode_ci Подскажите, плз

    в wp-config.php что написано?

    define('DB_CHARSET', 'utf8');
    define('DB_COLLATE', 'utf8_general_ci');

    это при UTF8 кодировке.

    честно говоря — я понятия не имею, как нынче wordpress завести на кодировке, отличной от UTF8. у него даже в опциях выбор кодировки пропал давным давно, так как UTF8 это уже стандарт.

    в конфиге так

    define('DB_CHARSET', 'cp1251');
      define('DB_COLLATE', '');

    как тут получилась эта кодировка тоже не могу вспомнить, все вроде ставилось по умолчанию. Давно это было

    У меня тоже. Предполагаю, что это связано с кодировкой.

Просмотр 15 ответов — с 1 по 15 (всего 23)
  • Тема «на сайте пропал поиск» закрыта для новых ответов.