Установил модуль Pathauto для генерации синонимов. Задал шаблоны генерации для материалов [node:content-type:machine-name]/[node:title]. В итоге генерируется адрес со слешем на конце и без для одной и той же страницы:
- /os/5-udivitelnyh-zastavok
- /os/5-udivitelnyh-zastavok/
Мне не нужен второй вариант. Да и SEO рекомендует для конкретной страницы, а не раздела, использовать адреса без слеша на конце.
Редирект 301 со страницы без слеша на страницу с / использую c модулем Global Redirect, так как другого решения пока не нашёл.
Может есть вариант как заставить Drupal использовать для ноды только один синоним страницы и удалить слеш в конце URL? Подскажите, пожалуйста.
Комментарии
admin/config/search/path/settings
смотрите настройки
Slash (/)
Remove
admin/config/system/globalredirect
Deslash
If enabled, this option will remove the trailing slash from requests. This stops requests such as example.com/node/1/ failing to match the corresponding alias and can cause duplicate content. On the other hand, if you require certain requests to have a trailing slash, this feature can cause problems so may need to be disabled.
Установить галку.
По умолчанию стоит Remove
Так я ж написал что использую Global Redirect, которые перенаправляет страницы без слеша на страницы со слешем в конце. Где найти в Drupal саму генерацию слеша в конце URL и удалить, а не создавать редирект 301?
Добрый день, Всем
включил модуль
admin/config/system/globalredirect
там сразу стояла галочка на Удаление слеша
все заработало, через .htaccess удаление слеша не срабатывало, перепробывал кучу всего (результата 0)
100% не уверен, но что бы сделать то, что Вы хотите без модуля, Вам надо будет лезть в ядро Друпал. Где именно делается данная коррекция я не знаю. В любом случае лезть в ядро Друпал - не есть Гуд. Но если Вы так хотите, то ждите ответа от разработчиков Друпала.
Как вариант - есть возможность это делать в .htaccess (мне первый попавшийся результат запроса в Google). Я лично не делал. Мне за глаза хватает модуля Global Redirect.
Нигде не найти. Посмотрите список синонимов - там нет нигде слэшей в конце. Если они откуда-то берутся, то только из-за того, что вы где-то вручную поставили этот слэш.
.htaccess максимум опять даст 301 редирект как и модуль Global Redirect.
Да не может быть, чтобы я руками проставил на 80 страницах слеш в конце адреса.
Где-то в ядре нужно поправить, не могу найти где.
Да-да, это ядро виновато, точно вам говорю)
Никто не подскажет где в ядре найти багу?
Эта бага в мозге сеошника.
нет никакого бага
www.drupal.ru/node/129918/
www.drupal.ru/node/129918
Стандартное поведение. и сеошные приблуды.
Не нужно касаться СЕО.
Вопрос звучит как из этого:
www.drupal.ru/node/129918/
оставить только ссылку такого:
www.drupal.ru/node/129918
вида?
вам уже объяснили
http://c2n.me/3Ch3QsS.png
Если бы это работало, не задавал бы вопросов.
Другого способа нет?
это работает. специально проверил на чистом друпале и боевом сайте.
почему это не работает у вас, вопрос отдельный
Ну я уже писал что редирект 301 не нужен. А по другому модуль Global Redirect не убирает слеши в конце урла.
А почему не нужен? Вы хотите со страницы со слэшэм 404-ю отдавать?
а вы головой подумайте. как оно иначе будет работать?
кстати, лишу вас сна.
www.drupal.ru/node/129918?dasdsadjkasldjaslkdsakldjsak также считывается друпалом.
а в страницы таксономии сделанные через views, вообще что угодно можно в урле забивать в конце.. и работает.
Ну причём тут 404...
Страницы вьюса, таксономии - это отдельный вопрос. Вы куда-то в сторону уходите не отвечая по существу.
При создании материала создаётся две страницы: одна со слешем, вторая без.
Должна создаваться только одна страница. У меня есть примеры сайта, на котором создаётся именно одна страница без слеша на конце и на надо говорить что там редиректы 301 и с головой у меня не так.
Ну ерунду же вы пишете, право. Страница создается одна. У нее есть id, есть канонический урл, который решает проблему всевозможных дублей. Что вы проблему-то придумали на ровном месте?
Варианты вам уже предложили, можно элементарно через .htaccess решить - https://moz.com/community/q/how-to-remove-trailing-slashes-in-urls-using..., если вам так это важно.
Давайте по порядку. Вы утверждаете, что создаются две страницы. Объясните нам, не сведущим, где вторая? Где вы её нашли? В базе, в списке синонимов или ещё где-то?
вебмастер гугла, яндекса, да и любое ПО для анализа сайта с легкостью находит две страницы.
https://support.google.com/webmasters/answer/139066?hl=en
Значит у вас где-то явно прописаны страницы со слэшем и без. Гугл сам по себе не полезет проверять, есть ли ещё какие-то ссылки, он только видит, то, что явно указано. Проверьте каноникалы и другие метатеги, меню и т.д. И вообще, дайте ссыль на сайт, посмотрим коллективным разумом.
Да никто и не спорит, есть id, задана канонический урл. Только не пониманию как он может решить проблему дублей?
Да сколько раз писать то..301 редирект не выход.
Канонический урл как раз и решает проблему дублей - https://webmasters.googleblog.com/2013/04/5-common-mistakes-with-relcano...
Но если вы все же хотите редиректить с урла со слешем на без него или наоборот, то для этого как раз и нужен 301 редирект. А дубли вида /node/1 вас не волнуют?:)
Попробую задать абсолютный адрес для канонической ссылки.
Нет не волнуют, их нет вообще. Pathauto справляется на ура.
Это не pathauto, а globalredirect как раз делает. Причем используя 301 редирект, который вы так не любите:)
globalredirect включен или нет адреса вида /node/1 редиректятся на заданные синонимы. Хватит Вам писать про 301 редирект и globalredirect.
Посмотрю что скажет гугл на абсолютный адрес canonical после апдейта.
Сообщите, пожалуйста, каким образом происходит редирект на сервере с обычных путей типа /node/1 на синонимы?
Думаю, Вы итак знаете ответ на этот вопрос или догадываетесь.
Не хочу с Вами спорить, я здесь не эа тем, чтобы выяснять каким образом происходит редирект на сервере...
Давайте все сначала. Скиньте ссылку на сайт, как вас уже попросили, или покажите скринами, где у вас выводятся ссылки со слешем в конце? Как вам уже справедливо заметили в выше, друпал и pathauto не генерирует синонимы со слешем в конце.
Товарищ vvolka, поясните по хардкору:
1. Вы знаете что такое 301 редирект и зачем он нужен?
2. Что в вашей терминологии означает «генерируется адрес со слешем». Где генерируется? Где выводится?
3. Если
идиотпользователь добавит слэш в конец ссылки - что блджад должно произойти? Выдать 404?Сайт userello.ru.
Сейчас галка Удаление слеша в модуле GlobalRedirect снята
Практически для любой статьи есть две ссылки
http://userello.ru/gadget/chto-takoe-bystroe-zaryadnoe-ustroystvo-quick-...
http://userello.ru/gadget/chto-takoe-bystroe-zaryadnoe-ustroystvo-quick-...
Вот скриншот из Screaming Frog. Другие аналогичные сервисы показывают также два адреса.
http://c2n.me/3CiqArr
Если галку Удаление слеша поставить то для http://userello.ru/gadget/chto-takoe-bystroe-zaryadnoe-ustroystvo-quick-... происходит 301 редирект на http://userello.ru/gadget/chto-takoe-bystroe-zaryadnoe-ustroystvo-quick-...
А вот сайт uniqpage.ru.
У него также установлен модуль GlobalRedirect, галка Удаление слеша снята и Screaming Frog и другие сервисы выдают адреса без ссылок на конце, редиректа на 301 нет.
Вот скриншот из Screaming Frog.
http://c2n.me/3CirJiR
Поэтому и возникает вопрос как сделать так же.
На втором сайте у вас .html в конце. В коде первого сайта у вас нет нигде ссылок со слешем в конце, отсюда вопрос - с чего вы взяли, что Друпал их генерит? И еще - у вас нет rel=canonical в исходнике.
35 комментов ради этого?
надеюсь вопросов больше нет?

А вот прикол, я прошёл по ссылке без слэша и слэша в коде не нашёл.
html задан в шаблонах pathauto. Для первого и второго сайта ставлю html или нет в шаблонах, поведение одинаковое.
Как это нет. Например, по ссылке http://userello.ru/gadget/chto-takoe-bystroe-zaryadnoe-ustroystvo-quick-... в исходнике
Простите, но реально надоело тратить на вас время. Вам уже ответили несколько человек. Я так и не понял чем вас не устраивают предложенные решения.
хоть в лоб хоть по лбу.
вы сами нагенерили ссылок с конечным слешем.
поискових их схавал, но у него мозгов хватает чтобы считать тег canonical + 301 редирект.
поэтому, проблемы нет.
http://uniqpage.ru/portfolio/ , http://uniqpage.ru/portfolio/transrental-arenda-avto.html/ - доступны со слэшэм. Приятных вам сновидений.
Что вы, это все друпал нагенерил) В ядре убрать надо!
Спасибо за советы всем.
Так и не понял как вы получили скрин исходника. Перекопал всё что можно: меню, шаблоны, термины, синонимы
нигде нет слеша. Ума не дам как это я нагенерил ссылок с конечным слешем.
http://c2n.me/3CiyObP
Просто хочу разобраться, а не читать что у Вас нет времени или что мозгов у Вас много.
Сюда задают вопросы, чтобы как раз и воспользоваться Вашими мозгами и получить понятные ответ.
Вам ответили.
http://userello.ru/gadget
http://c2n.me/3CiBf3X.jpg
Нашёл, благодаря dgastudio #.
Большое спасибо, Вам!
Здравствуйте. Как решили?
Можно подробно? Верхняя ссылка в лучшем ответе не работает.