Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#364] Add canonical url #365

Merged
merged 5 commits into from
Nov 23, 2023
Merged

[#364] Add canonical url #365

merged 5 commits into from
Nov 23, 2023

Conversation

jespy666
Copy link
Contributor

@jespy666 jespy666 commented Nov 16, 2023

@jespy666 jespy666 changed the title Add canonical url [#364] Add canonical url Nov 16, 2023
@fey
Copy link
Collaborator

fey commented Nov 22, 2023

@jespy666 если у нас сменится домен (вряд ли но все же), то придется править и код.
Плюс домен - это обычно какая-то константа, которая есть в приложении и ее можно использовать.
Плюс смотрите у нас ссылки страниц содержат query params, т.е. почти везде ссылка на страницу создается по одному подобию - просто берется текущая ссылка и вставляется без query param

@jespy666
Copy link
Contributor Author

@fey Принял, на данный момент сформировал URL c помошью HttpRequest.build_absolute_uri(), в параметр location как раз передал путь без параметров, жду ревью)

@fey fey requested a review from sgmdlt November 22, 2023 05:31
@fey
Copy link
Collaborator

fey commented Nov 22, 2023

@sgmdlt посмотри прчик.

@jespy666
Copy link
Contributor Author

@fey можете переслать последний комментарий? Не отображается вложение

@fey
Copy link
Collaborator

fey commented Nov 22, 2023

@jespy666
"можно на всех страницах прописать тег canonical сам на себя - а на параметрических - соответствующие страницы без параметров"
@jespy666 т.е. можно убрать дублирование и вшить в базовй шаблон каноникал урл, чтобы он в одном месте задавался.

@jespy666
Copy link
Contributor Author

@fey Имеется ввиду, что в базовом шаблоне сделать {% block canonical_url %}, а в шаблонах параметрических страниц уже задавать в этот блок урл без параметров?

@fey
Copy link
Collaborator

fey commented Nov 22, 2023

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

@fey
Copy link
Collaborator

fey commented Nov 22, 2023

т.е. мы опускаем условие if canonical_url и логику формирования этого урла выносим куда-то выше, в общее место (не знаю, можно ли в джанге использовать функции-хелперы во вьюхе, но в рельсе например можно).

@jespy666
Copy link
Contributor Author

@fey Могу предложить еще один вариант, добавить логику формирования canonical в templatetags, а в базовом шаблоне один раз вызываем наш тег шаблона и передаем в значение canonical_url. Итого:

  1. URL формируется в одном месте (в templatetags)
  2. Для обычных страниц получаем обычный URL
  3. Для параметризованых страниц получаем canonical без параметров

@fey
Copy link
Collaborator

fey commented Nov 22, 2023

Ну вы код присылайте. Посмотрим))

@sgmdlt
Copy link
Collaborator

sgmdlt commented Nov 23, 2023

Салют, поправьте ошибку линтера и все оки

@jespy666
Copy link
Contributor Author

@sgmdlt Привет, поправил

@sgmdlt sgmdlt merged commit bf6f08a into Hexlet:main Nov 23, 2023
1 check passed
DREU007 pushed a commit to DREU007/hexlet-friends that referenced this pull request Nov 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants