Manuals
RU EN

Продукты · 66

Фильтр объявлений по городу

Продукты 6 мин чтения

Фильтр объявлений по городу в скрипте доски сужает ленту до нужного региона. Без него локальная площадка превращается в свалку «со всей страны», а пользователь из Твери видит лоты из Владивостока и закрывает сайт. Для сценария «как Авито» город — must-have, не второстепенная опция.

Старт доски — мануал, обзор движка — скрипт доски.

Справочник, а не строка «введите город»

Свободный ввод даёт «Москва», «москва», «г. Москва», «Мск» — и фильтр ломается. Нужен справочник:

  • регион / область;
  • город;
  • опционально район или метро для крупных городов;
  • синонимы для поиска в админке при добавлении.

На старте региональной доски хватает 1 области и 10–30 населённых пунктов. Не импортируйте всю страну «на вырост» — авторы будут путаться, SEO размажется по пустым страницам.

Где хранится выбор пользователя

Обычно город пишут в cookie/сессию и показывают в шапке. Поведение, которое ожидаю:

  1. Выбрал город → лента и рубрики фильтруются.
  2. Обновил страницу → выбор сохранился.
  3. Открыл прямую ссылку рубрики с городом в URL → фильтр совпадает с URL.
  4. «Все города» — осознанная опция, не дефолт для локального проекта.

Если ЧПУ вида /city/tver/nedvizhimost/ — следите, чтобы пустые комбинации отдавали нормальную заглушку и noindex, а не тысячи тонких страниц.

SEO. Индексируйте только города, которые реально наполняете. Технические комбинации рубрика×город без объявлений лучше закрыть от индекса, иначе поисковик тащит пустышки.

Поле города в объявлении

При подаче город обязателен. Автоподстановка из профиля автора экономит время, но должна переопределяться — человек продаёт дачу в области, а живёт в центре. На карточке город виден сразу под ценой или в параметрах; в списке — в мета-строке превью.

Смена города у уже одобренного объявления: либо лёгкая правка, либо снова модерация — решите заранее. Для недвижимости смена локации критична, для «продам диван» менее.

Админка: как не утонуть в справочнике

  • Включайте/выключайте города без удаления (чтобы не бить старые карточки).
  • Счётчик активных объявлений по городу — видно, куда звать авторов.
  • Массовая замена «город удалён → соседний» при чистке справочника.
  • Запрет подачи в выключенный город.

Модератору в очереди город должен быть виден без открытия карточки — часть спама отсекается по несоответствию «рубрика Работа + город курорт в другом часовом поясе» на локальной доске.

Типичные баги, которые я ловлю на приёмке

  1. Фильтр есть в UI, но SQL не учитывает city_id — «для галочки».
  2. VIP-блок на главной игнорирует выбранный город.
  3. Поиск по строке ищет глобально, а рубрика — локально; пользователь теряется.
  4. После логина город сбрасывается на дефолт из профиля.
  5. Мобильное меню города обрезает длинные названия и нельзя выбрать.

Прогон: два города, по два объявления, переключение в шапке, проверка главной, рубрики, поиска и VIP. Пока VIP чужого города торчит в витрине — к приёмке не подписываюсь. VIP — здесь.

Связь с «аналогом Авито»

Привычка выбирать город — из крупных классифайдов. На своём сайте это же ожидание: аналог Авито. Площадка под ключ должна отдавать справочник уже заполненным под регион заказчика — площадка.

Фильтр по городу — маленькая сущность с большим влиянием на доверие. Справочник, стабильная сессия, честные ЧПУ и VIP в том же городе. Сделайте это до рекламы — локальный трафик перестанет отваливаться на первом клике.

Мультигород и «вся область»

Когда площадка растёт на область, появляется запрос «показывать соседние города». Делаю это явно: переключатель «только мой город» / «+50 км» / «область», а не тихая подмешка чужих лотов в выдачу. Иначе житель райцентра видит объявления областного центра и думает, что фильтр сломан. Для VIP правило жёсткое: слот городской витрины только своего city_id. Областной VIP — отдельный тариф и отдельный блок, если вообще нужен.

  • Не смешивать city_id в одном SQL без метки в UI.
  • В карточке всегда писать город текстом, даже если фильтр уже выбран.
  • В sitemap городские ленты — только с контентом.

Импорт справочника и опечатки

Импорт «всех городов РФ» ради галочки я больше не делаю на старте. Тянем область из нормального справочника, вычищаем дубли, проверяем склонения в шаблонах («в Твери» vs «в Тверь»), если скрипт это умеет. Опечатки вроде двух «Калининградов» ловят по счётчику объявлений и по жалобам авторов «меня не находят». Слияние городов — операция с бэкапом: у карточек меняется city_id, ЧПУ старого города закрываете редиректом или 410 по ситуации.

В админке подачи модератор должен иметь быструю смену города, если автор ошибся. Без этого очередь копится из мелочи. И да: геолокация браузера как подсказка — ок, как единственный способ выбрать город — нет; люди с VPN и «определились не там» будут злиться. Всегда оставляйте ручной выбор списком.

Реклама и посадочные по городам

Для контекста удобны посадочные /city/... с живой лентой. Не ведите платный трафик на город, где три объявления — будет дорогой отказ. Сначала наполнение, потом кампания. В метрике смотрите не только визиты, а подачу объявлений и клики по контактам в разрезе города. Так видно, где фильтр реально работает на бизнес, а где справочник мёртвый груз.

Если города два-три, иногда проще поддомены или явный выбор на входе без иллюзии «вся страна». Фильтр объявлений по городу в скрипте доски — базовая гигиена классифайда. Сделайте справочник узким, сессию стабильной, VIP городским, ЧПУ честными — и локальный пользователь перестанет уходить на первом экране из-за чужих регионов в ленте.

Связка фильтра с кабинетом автора

В кабинете список объявлений тоже фильтруйте по городу, если автор ведёт несколько точек. При подаче подставляйте последний выбранный город, но давайте сменить. В статистике админки «объявления по городам» помогает решать, куда ехать за авторами лично. Фильтр объявлений по городу — не только UX шапки, а управленческая ось локальной площадки.

Если закрываете город на паузу, не удаляйте его из справочника: переведите в inactive, карточки спрячьте из публички, ЧПУ отдайте понятную заглушку. Жёсткое удаление ломает старые ссылки из Telegram и рекламы. Аккуратная деактивация сохраняет историю и нервы. Так справочник остаётся живым инструментом, а не свалкой мёртвых id.

Частые вопросы

Фильтр объявлений по городу скрипт?

Фильтр по городу — базовый сценарий классифайда вроде Авито.

Сколько времени занимает «Фильтр объявлений по городу»?

Ориентир по тексту мануала — около 6 мин. На практике зависит от хостинга и подготовки базы.

Нужен ли отдельный сервер?

Для большинства скриптов достаточно хостинга или VDS с PHP и MySQL. Подбор сервера — в разделе VDS и требованиях к PHP/MySQL.

Скрипт доски объявлений php?

Разбор рядом в мануале по этому запросу. скрипт доски объявлений php

Купить скрипт классифайда под ключ?

Разбор рядом в мануале по этому запросу. купить скрипт классифайда под ключ

Раздел
Скрипт доски объявлений

Запуск и настройка площадки объявлений на своём домене.