Facebook fbclid 오염 — 방지할 수 있을까요?

저는 Discourse의 영구 링크(permalinks) 기능을 정말 좋아합니다.

예를 들어, 저는 https://fortmactech.com/riverbreak에서 사진과 영상을 수집하고 있는데, 이 링크는 실제 주제의 긴 URL로 이동합니다.

제가 겪고 있는 문제는 이 링크를 Facebook에 게시했을 때, 누군가가 링크를 클릭하면 Facebook이 URL 끝에 fbclid 같은 불필요한 파라미터를 붙여 넣는다는 것입니다. 그러면 URL은 다음과 같은 형태가 됩니다:

https://fortmactech.com/riverbreak?fbclid=IwAR1E9PoBxuWURZRJlA4D0VrnESbfjGfC2xKuvVJzCRUmIJy7ZRKMkkH8I-U

그리고 Discourse에서 404 오류가 발생합니다.

Discourse가 fbclid 파라미터를 무시하게 만드는 방법이 있을까요?

이것은 아마도 영구 링크 정규화(Permalinks Normalization) 설정으로 처리할 수 있을 것 같은데, 정규식(regex)을 어떻게 작성해야 할지 모르겠습니다. 기본적으로 ?fbclid= 이후의 모든 문자를 제거하는 방식이 맞을 것 같습니다.

저도 이 문제에 관심이 있습니다. 이 문제로 인해 Google Analytics 데이터가 오염되고 있습니다.

그래서 Cloudflare 페이지 규칙으로 해결했습니다:

Screen Shot 2021-04-14 at 9.27.33 AM

하지만 가능하면 Discourse 레벨에서 처리하는 것이 더 좋습니다.

https://fortmactech.com/riverbreak을 https://fortmactech.com/t/river-drone-videos-photos-2021/818으로 어떻게 전달(forwarding)하고 있나요?

주제 URL에 쿼리 매개변수를 추가해도 문제가 발생하지 않는 것으로 보입니다. 예를 들어, 아래 URL은 정상적으로 작동해야 합니다: https://fortmactech.com/t/river-drone-videos-photos-2021/818?fbclid=IwAR1E9PoBxuWURZRJlA4D0VrnESbfjGfC2xKuvVJzCRUmIJy7ZRKMkkH8I-U. 따라서 이 문제는 https://fortmactech.com/riverbreak에 설정된 리다이렉트와 관련이 있는 것으로 보입니다.

Cloudflare를 사용하여 이제 어느 정도 해결했습니다. 404 오류가 발생하는 것을 확인하고 싶으시면 Cloudflare 페이지 규칙을 잠시 비활성화해 두었습니다.

예시로 이 링크를 시도해 보세요:

https://fortmactech.com/riverbreak?fbclid=IwAR1E9PoBxuWURZRJlA4D0VrnESbfjGfC2xKuvVJzCRUmIJy7ZRKMkkH8I-U

 

관리자 / 설정 / 영구링크(Permalinks)에 이렇게 추가했습니다:

Screen Shot 2021-04-14 at 10.30.21 AM

 

추가된 후의 모습은 다음과 같습니다:

 

 

그리고 결과는 이렇습니다:

 

뒤에 슬래시(/)를 붙여서도 시도해 보았습니다.

Discourse에 도달하기 이전에 Cloudflare 페이지 규칙으로 fbclid 부분을 제거하면 정상적으로 작동합니다.

이것이 Discourse의 “영구링크 정규화(Permalinks Normalization)” 기능의 용도인가요? 해당 설정을 사용하여 ? 이후의 모든 내용을 제거할 수 있을까요?

자세한 설명 감사합니다. 쿼리 파라미터가 Discourse의 영구 링크 리다이렉트를 깨뜨리는 것 같습니다. 이것이 의도된 동작인지 확실하지 않습니다.

그건 당연히 예상되는 부분이고, 예를 들어 forum.php?topic_id=1234와 같은 영구 링크(permalink)에 널리 사용됩니다.

그렇군요. 영구 링크 코드가 URL을 분석하기 이전에 들어온 URL을 "변환"하는 방법이 있나요? 그게 “영구 링크 정규화(Permalinks Normalization)” 기능인가요?

네, 바로 그게 퍼malink 정규화의 목적입니다 :smiley:

Permalinks Normalization 설정을 사용하여 ?fbclid= 및 그 이후의 내용을 제거하는 방법을 예시해 주실 수 있나요? 감사합니다 :slight_smile: