2012-09-01 2 views
0

많은 뉴스 사이트에서 일반적인 연습은 URL에 ID와 슬러그를 모두 포함시키는 것입니다. ID는 실제 기사를 조회하는 데 사용되며 슬러그는 SEO 용도로 포함됩니다. 이렇게하면 이전의 책갈피를 쓸모 없게 만들지 않고도 기사 제목의 변경 사항과 일치하도록 슬러그를 변경할 수 있습니다.MongoDB와 Django-nonrel에서의 현명한 URL 패턴

URL에 MongoDB ObjectId를 사용하면 매우 긴 URL (http://www.mysite.com/article-504119a051e2726c9aa28ea1/my-article-title.html)이 생성되므로 성가신 편입니다. 더 나은 해결책이 있습니까 ??

답변

2

귀하의 사용 사례에 더 적합한 선택이 있다면 MongoDB의 default ObjectID을 사용할 필요가 없습니다. 예를 들어 타임 스탬프 또는 증분 카운터 (How to make an auto-incrementing id field 참조)와 같은 더 짧은 값을 사용하여 사용자 지정 _id 필드를 정의 할 수 있습니다. 유스 케이스가 기사를 게시하고 매분마다 수백 개가 없다면 임의의 값으로 연결된 유닉스 시간 스탬프를 사용하여 _id에 대한 합당한 고유성을 얻을 수 있습니다.

슬러그가 고유하거나 (이 제한 사항을 수락 할 수있는 경우) 더 짧은 URL의 경우 슬러그를 _id으로 잠재적으로 사용할 수 있습니다. _id에 대한주의 사항은 변경할 수 없으므로 별도로 색인 된 slug 필드를 사용하면 유연성이 향상됩니다.

SEO 용 슬러그를 사용하려는 목표를 감안할 때 대안 슬러그가 제공되면 현재의 "표준 URL"(정확한 슬러그 필드 포함)로 302 리디렉션되도록 약간의 기교를 추가하는 것이 좋습니다. 그렇지 않으면 URL의 id 부분 만 선택하면 중복 콘텐츠에 대한 잠재적 인 SEO 처벌을받을 수 있습니다.