- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте
Допустим, существует некий сайт c четкой структурой УРЛ-ов:
http://www.site.ru/
http://www.site.ru/tovary/
http://www.site.ru/tovary/sumki/
http://www.site.ru/tovary/sumki/women/
http://www.site.ru/tovary/sumki/women/model555/
В браузере запрашивается урл:
http://www.site.ru/tovary/sumki/women/*******/
проверям: существует? значит открываем. Не существует - делаем 301й редирект на http://www.site.ru/tovary/sumki/women/
http://www.site.ru/tovary/sumki/******/
проверям: существует? значит открываем. Не существует - делаем 301й редирект на http://www.site.ru/tovary/sumki/
http://www.site.ru/tovary/******/
проверям: существует? значит открываем. Не существует - делаем 301й редирект на http://www.site.ru/tovary/
http://www.site.ru/*****/
проверям: существует? значит открываем. Не существует - делаем 301й редирект на http://www.site.ru/
Что это дает:
- для многостраничных сайтов со сложной структурой возможность сохранить весь приобретенный вес страниц (например, в случае с ИМ - исчезают старые товары, страница становится неактивной, отправляет на 404-ю)
Подводные камни (их как-то надо обойти):
1. Последний слеш.
http://www.site.ru/tovary/sumki/women/model555
лучше все-таки редиректить на http://www.site.ru/tovary/sumki/women/model555/ , а не на http://www.site.ru/tovary/sumki/women/ (если model555 существует)
2. Перестановка параметров
http://www.site.ru/tovary/women/sumki/
лучше все-таки редиректить на http://www.site.ru/tovary/sumki/women/, а не на http://www.site.ru/tovary/
----------------------
Уважаемые знатоки, внимание вопросы:
1. Есть ли среду существующих CMS такая, которая позволяет работать с 301м редиректом подобным образом?
2. Можно ли создать универсальный скрипт для такой обработки 301-го редиректа, который подходил бы для любого сайта, или в каждом случае нужно заморачиваться отдельно?
---------------------
Спасибо, буду очень признателен за ваши мысли по этому поводу.
пишется обработчик 404-й ошибки, в нем:
1. сопоставляем "REQUEST_URI" с урлами подкатегорий / категорий и т.д., если ничего не нашли, то для 301-го выбираем главную
1.1 ну или тупо обрезаем урл до ближайшего справа слеша. это тоже работает.
2. изменяем хеадер страницы с 404-го на 301-й
3. отсылаем сам 301-й редирект на нужную страницу
работает все замечательно, браузер увидит один 301-й.
ps: не забывайте в этот скрипт добавить исключения для проверки "вебмастера" гугла/яндекса, иначе проверку можно не пройти. :)
буду очень признателен за ваши мысли по этому поводу.
На 404 должно отдаваться 404 и никак иначе.
Саму страницу 404 можно оформить как угодно (для шопа, например, вывести предполагаемые предложения юзеру - "похоже, вы искали..", "похожие товары" и тд). Вплоть до 301 по таймауту.
1. Насчет популярных CMS не скажу, т.к. не пользуюсь. Но делается это элементарно. Например, мне сразу стало понятно, как это можно сделать в используемом мной движке: либо в обработчике 404-ой движка, либо непосредственно в модуле, отвечающем за ветку tovary, чтобы перехватить 404-ую (в последнем случае реализовать перенаправление с tovary на главную не получится, но в реальных условиях это и не нужно – с полным исчезновением ветки tovary, думаю, вы погорячились).
2. Возможно, достаточно универсальным решением как раз и будет реализация через обработчик 404-ой в CMS (в используемом мной движке именно этот обработчик отвечает за отправку 404-го заголовка, т.е. поставить условие на отправку другого заголовка вообще не проблема). Еще как вариант можно попробовать внедрить фильтр до детекта на 404-ую, но тут проблема в том, что тогда вам самому как-то придется определять наличие/отсутствие искомого объекта.
2. Можно ли создать универсальный скрипт для такой обработки 301-го редиректа, который подходил бы для любого сайта, или в каждом случае нужно заморачиваться отдельно?
Можно.. Плата за универсальность - "костыльность" + потенциальная нагрузка.
Добавить "прокладку", которая будет выполняться перед основным скриптом и обрабатывать редиректы. Для получения самих редиректов можно:
1. опрашивать CMS на лету на наличие страницы по указанному URL
2. опрашивать CMS по команде (крон/обновление базы и тд) и сохранять в "кэш" (промежуточное хранилище)
3. комбинировать.. (проверять кэш.. при отсутствии в кэше - обращаться к CMS, сохранять результат в кэш)
ivan-lev, есть еще вариант "универсального костыля" при помощи буферизации вывода пхп
1. включаем буферизацию и устанавливаем коллбек на себя
2. отдаем управление сторонней CMS, скрипту, кому угодно
3. получаем управление по колбеку, анализируем, если 200 - ничего не делаем, если 404 - чистим буфер(то что CMS-ка туда вывела), переписываем хеадер на 301 и делаем сам 301-й куда нужно.
Результат можно закешировать, чтобы лишний раз не дергать CMS-ку.
Если лень писать код для кеширования, то можно настроить кеширование 301-х ответов прямо в nginx-е, он это хорошо умеет делать.
ivan-lev, есть еще вариант "универсального костыля" при помощи буферизации вывода пхп
Почему "ещё"? Суть та же самая, вопрос в методе реализации "прокладки".
Я представлял как "прокладку" с "дополнительным" HEAD HTTP-запросом к CMS-ке (кэшировать результат) и флагом (передавать в заголовке, например) "не обрабатывать редирект".
В варианте с ob_.. главное, чтоб сами заголовки не "утекли".. ))