- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Привет! :)
Есть собственная разработка движка. Недавно пришел к выводу, что удобно хранить всю древовидную структуру сайта в БД, для универсального построения заголовка title, трек-бара (пути типа "Главная -> Каталог -> Продукция тип 1 -> Продукт 1..."), меню и прочих полезностей, связанных с ЧПУ-адресацией сайта типа http://site.ru/catalog/products1/pr1/. Так сделано в серьёзных движках.
Вопрос в-следующем: как грамотно организовать эту самую адресацию ЧПУ (http://site.ru/catalog/products1/pr1/)? На первый взгляд, все просто: новый уровень = новый параметр через слэш, но: представим ситуацию, когда на странице есть 2 разбиения на подстраницы [фотогалерея Стр. 1 2 3 4 ..], [новость Стр 1 2 3 ..]. Как тогда передать в URL адресацию подстраниц для данного раздела? Как разделить 2 этих постраничных разбиения?... Просьба AJAX не предлагать.. не добрался до него еще..
Привет.
Я делаю так:
http://www.sitename.ru/catalogue/categoryname/page2/ — это вторая страница
http://www.sitename.ru/catalogue/categoryname/2/ — это товар с кодом(id) равным 2.
С http://www.sitename.ru/catalogue/categoryname/page1/ редирект на http://www.sitename.ru/catalogue/categoryname/
Хотя на самом деле разбивка на страницы — штука неудобная, по возможности стараюсь от нее избавляться. Так для новостей можно использовать деление по дате (показывая, например, анонсы за год).
можно так:
sitename.ru/category50-p2/
sitename.ru/category50-p3/
...
sitename.ru/category50-p3/item100/
новый уровень = новый параметр через слэш
а потом меняется структура рубрик и возникают траблы связанные с изменением адресации, появлением дубликатов и т.п.
Спасибо.. Хороший вроде вариант..
/_№_/ - id'шники,
/page_№_/ - подстраницы
Подстраницы всегда в конце, если они есть.. Если пользователь захочет вернуться на уровень вверх, то попадет снова на первую подстраницу разделения... Иначе, он мог бы нажать "назад"
А вот по-поводу редиректа? С http://www.sitename.ru/catalogue/categoryname/page1/ на http://www.sitename.ru/catalogue/categoryname/ ... А красиво ли это? ... Поисковики что будут думать?... Какой редирект (303, 304) им нужно дать, чтобы они не индексировали URL/page1/, а индексировали сразу URL? И еще по поводу редиректа, слышал, что ссылку у страницы "Главная" нужно делать в виде "/" = http://sitename.ru, но по структуре это что-то вроде http://sitename.ru/main/... Тоесть тут опять речь о редиректе? как его правильно сделать для поисковиков, ведь ссыолка будет светится http://sitename.ru/main/, а хотелось бы чтобы поисковик считал, что это http://sitename.ru...
И еще вопросик.. Некоторые сайты подставляют в конец своих ЧПУ ".htm" : http://sitename/cat/1.htm Оправдано ли это?
2dmitcat: Можно конечно и так, у меня вообще было так: http://sitename.ru/m-catalog/item-1.htm
т.е. ключ-значение/ Но хочется красивее...
Какой редирект (303, 304) им нужно дать, чтобы они не индексировали URL/page1/, а индексировали сразу URL?
Мне кажется логичным 301 Moved Permanently. И индексировать поисковики там ничего не смогут, так как вы отдаете заголовок и все. А чтобы вообще обезопасить себя от недоразумений, не используйте ссылки с /page1/ в принципе. Если совсем редиректам не доверяете, отдавайте 404 Not found для /page1/.
Про главную ничего не понял, если честно. По структуре и по логике главная должна отзываться на URI — /
Ну про главную я и имел ввиду, что ее надо показывать как "/", хотя она также структурно является разделом сайта. Так почему бы не обобщить этот принцип и на первую страницу при страничном разбиении. Ссылка на первую страницу фактически ссылка на раздел без идентификатора страницы...
А почему так страшны дубликаты (одинаковая страница по 2м различным адресам)? Я понимаю что это не хорошо, но всё же?
Так почему бы не обобщить этот принцип и на первую страницу при страничном разбиении.
В связи с тем, что основная цель rewrite-эмуляции системы каталогов в URL — обеспечение навигации через адресную строку, т.е. если вы будете использовать /category/page1/ для отображения первой страницы, то вам нечего будет показывать для /саtegory/.
На самом деле это дело вкуса: я бы вообще в большинстве случаев отказался от разбивки на пронумерованные страницы, т.к. прощелкивать их, выискивая нужное, — мучение.
Я делаю так:
http://www.sitename.ru/catalogue/categoryname/page2/ — это вторая страница
http://www.sitename.ru/catalogue/categoryname/2/ — это товар с кодом(id) равным 2.
Николай, а зачем в урл вводить лишние элементы, такие как /catalogue/categoryname?
Ведь по-любому выборка из базы идет по конечному ID
Оно конечно понятно, что на вкус и цвет - товарисчей нет... но все же? :)
Мне кажется, что так и проще и легче запоминается адрес:
http://www.sitename.ru/categoryname/ (http://www.sitename.ru/category2/)
http://www.sitename.ru/2/ (http://www.sitename.ru/id2/)
Затем, что если делать rewrite, то делать тотально. У меня на сайтах есть страницы:
/about-company/
/contacts/
/news/
/news/2007/
/articles/
/articles/btl/
…
/catalogue/
/catalogue/categoryname/
…
Я не считаю, что замена урлов типа «index.php?category=1&product=2» на что-то условное без «.php?…» должна быть самоцелью. Я хочу, чтобы мой пользователь, если ему взбредет в голову, мог удалить часть урла в адресной строке и перейти на уровень выше в моей страничной иерархии.
Что же касается самого кода, то с некоторых пор я отказался от стопки rewrite-правил в .htaccess в пользу единого бутстартера и механизма роутинга, т.е. я делаю что-то вроде RewriteRule ^(.*)$ start.php?route=$1 и всё.
PS: Кстати, вроде была толковая заметка на тему ЧПУ. То ли у Лебедева, то ли у Якоба Нильсена.
С точки зрения логики урлов site.ru/cat1/ - это раздел и по запросу должен выдавать стартовую страницу раздела.
В разделе мы можем хранить например страницы:
site.ru/cat1/page1.html
site.ru/cat1/page2.html
или подразделы:
site.ru/cat1/subcat1/
site.ru/cat1/subcat2/
которые в свою очередь содержат страницу по умолчанию, страницу или более глубокий подраздел.
Это, на мой взгляд и есть человеко-понятные URL
Если страница содержит слишком много материала, и удобней выводить ее частями, то можно использовать на свое усмотрение:
site.ru/cat1/page1-1.html
site.ru/cat1/page1-2.html
или мне более нравится такой вариант:
site.ru/cat1/page1.html?1
site.ru/cat1/page1.html?2
Анализ URI предпочитаю производить так:
в .htaccess что-то вроде
RewriteRule ^(.*)$ index.php?path=$1
а в пхп уже анализируем $_REQUEST['path'] по своему усмотрению.